diff --git a/Project Undercover/Assets/Models.meta b/Project Undercover/Assets/Animation.meta similarity index 67% rename from Project Undercover/Assets/Models.meta rename to Project Undercover/Assets/Animation.meta index 979ba46..35295d3 100644 --- a/Project Undercover/Assets/Models.meta +++ b/Project Undercover/Assets/Animation.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: cb288d82f67d27a49bf14e1ab68d86e6 +guid: 3ab83fe7cd8f9544f9a8de5a5cfe304c folderAsset: yes -timeCreated: 1505311868 +timeCreated: 1505977769 licenseType: Free DefaultImporter: userData: diff --git a/Project Undercover/Assets/Animation/HandShake.anim b/Project Undercover/Assets/Animation/HandShake.anim new file mode 100644 index 0000000..6d2847e --- /dev/null +++ b/Project Undercover/Assets/Animation/HandShake.anim @@ -0,0 +1,2008 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: HandShake + serializedVersion: 6 + m_Legacy: 1 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: {x: 0, y: 0, z: 0, w: 1} + inSlope: {x: -0.17123753, y: 0, z: 0, w: -0.00024318694} + outSlope: {x: -0.17123753, y: 0, z: 0, w: -0.00024318694} + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: {x: -0.0028539589, y: 0, z: 0, w: 0.99999595} + inSlope: {x: -0.3330858, y: 0, z: 0, w: -0.001848936} + outSlope: {x: -0.3330858, y: 0, z: 0, w: -0.001848936} + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: {x: -0.011102861, y: 0, z: 0, w: 0.99993837} + inSlope: {x: -0.64265656, y: 0, z: 0, w: -0.0087189665} + outSlope: {x: -0.64265656, y: 0, z: 0, w: -0.0087189665} + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: {x: -0.024275847, y: 0, z: 0, w: 0.9997053} + inSlope: {x: -0.92385364, y: 0, z: 0, w: -0.024493933} + outSlope: {x: -0.92385364, y: 0, z: 0, w: -0.024493933} + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: {x: -0.041897982, y: 0, z: 0, w: 0.9991219} + inSlope: {x: -1.1763425, y: 0, z: 0, w: -0.05168081} + outSlope: {x: -1.1763425, y: 0, z: 0, w: -0.05168081} + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: {x: -0.06348726, y: 0, z: 0, w: 0.9979826} + inSlope: {x: -1.399626, y: 0, z: 0, w: -0.091511615} + outSlope: {x: -1.399626, y: 0, z: 0, w: -0.091511615} + tangentMode: 0 + - serializedVersion: 2 + time: 0.1 + value: {x: -0.08855218, y: 0, z: 0, w: 0.9960715} + inSlope: {x: -1.593092, y: 0, z: 0, w: -0.14407577} + outSlope: {x: -1.593092, y: 0, z: 0, w: -0.14407577} + tangentMode: 0 + - serializedVersion: 2 + time: 0.11666667 + value: {x: -0.11659032, y: 0, z: 0, w: 0.9931801} + inSlope: {x: -1.7560911, y: 0, z: 0, w: -0.20844516} + outSlope: {x: -1.7560911, y: 0, z: 0, w: -0.20844516} + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: {x: -0.14708856, y: 0, z: 0, w: 0.98912334} + inSlope: {x: -1.8880339, y: 0, z: 0, w: -0.28279957} + outSlope: {x: -1.8880339, y: 0, z: 0, w: -0.28279957} + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: {x: -0.1795248, y: 0, z: 0, w: 0.98375344} + inSlope: {x: -1.988487, y: 0, z: 0, w: -0.36456588} + outSlope: {x: -1.988487, y: 0, z: 0, w: -0.36456588} + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: {x: -0.21337146, y: 0, z: 0, w: 0.97697115} + inSlope: {x: -2.0572634, y: 0, z: 0, w: -0.4505718} + outSlope: {x: -2.0572634, y: 0, z: 0, w: -0.4505718} + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: {x: -0.24810024, y: 0, z: 0, w: 0.9687344} + inSlope: {x: -2.0944943, y: 0, z: 0, w: -0.5372018} + outSlope: {x: -2.0944943, y: 0, z: 0, w: -0.5372018} + tangentMode: 0 + - serializedVersion: 2 + time: 0.2 + value: {x: -0.28318793, y: 0, z: 0, w: 0.9590644} + inSlope: {x: -2.100679, y: 0, z: 0, w: -0.620547} + outSlope: {x: -2.100679, y: 0, z: 0, w: -0.620547} + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666667 + value: {x: -0.31812286, y: 0, z: 0, w: 0.9480495} + inSlope: {x: -2.076707, y: 0, z: 0, w: -0.6965787} + outSlope: {x: -2.076707, y: 0, z: 0, w: -0.6965787} + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333333 + value: {x: -0.35241148, y: 0, z: 0, w: 0.93584514} + inSlope: {x: -2.023835, y: 0, z: 0, w: -0.7613022} + outSlope: {x: -2.023835, y: 0, z: 0, w: -0.7613022} + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: {x: -0.38558403, y: 0, z: 0, w: 0.92267275} + inSlope: {x: -1.9436477, y: 0, z: 0, w: -0.8109101} + outSlope: {x: -1.9436477, y: 0, z: 0, w: -0.8109101} + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: {x: -0.41719976, y: 0, z: 0, w: 0.9088148} + inSlope: {x: -1.8379786, y: 0, z: 0, w: -0.8419143} + outSlope: {x: -1.8379786, y: 0, z: 0, w: -0.8419143} + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: {x: -0.44685003, y: 0, z: 0, w: 0.8946089} + inSlope: {x: -1.7087955, y: 0, z: 0, w: -0.851277} + outSlope: {x: -1.7087955, y: 0, z: 0, w: -0.851277} + tangentMode: 0 + - serializedVersion: 2 + time: 0.30000004 + value: {x: -0.47415966, y: 0, z: 0, w: 0.88043886} + inSlope: {x: -1.5580654, y: 0, z: 0, w: -0.8365052} + outSlope: {x: -1.5580654, y: 0, z: 0, w: -0.8365052} + tangentMode: 0 + - serializedVersion: 2 + time: 0.31666672 + value: {x: -0.4987856, y: 0, z: 0, w: 0.8667254} + inSlope: {x: -1.3876219, y: 0, z: 0, w: -0.7957392} + outSlope: {x: -1.3876219, y: 0, z: 0, w: -0.7957392} + tangentMode: 0 + - serializedVersion: 2 + time: 0.3333334 + value: {x: -0.52041376, y: 0, z: 0, w: 0.8539142} + inSlope: {x: -1.1989938, y: 0, z: 0, w: -0.72782934} + outSlope: {x: -1.1989938, y: 0, z: 0, w: -0.72782934} + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000008 + value: {x: -0.5387521, y: 0, z: 0, w: 0.8424644} + inSlope: {x: -0.9932444, y: 0, z: 0, w: -0.63238746} + outSlope: {x: -0.9932444, y: 0, z: 0, w: -0.63238746} + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666676 + value: {x: -0.55352193, y: 0, z: 0, w: 0.8328346} + inSlope: {x: -0.77082515, y: 0, z: 0, w: -0.50983745} + outSlope: {x: -0.77082515, y: 0, z: 0, w: -0.50983745} + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333344 + value: {x: -0.5644463, y: 0, z: 0, w: 0.8254698} + inSlope: {x: -0.5314328, y: 0, z: 0, w: -0.3614685} + outSlope: {x: -0.5314328, y: 0, z: 0, w: -0.3614685} + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000013 + value: {x: -0.5712364, y: 0, z: 0, w: 0.82078564} + inSlope: {x: -0.27390516, y: 0, z: 0, w: -0.18953188} + outSlope: {x: -0.27390516, y: 0, z: 0, w: -0.18953188} + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166668 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: -0.07020229, y: 0, z: 0, w: -0.049007494} + outSlope: {x: -0.07020229, y: 0, z: 0, w: -0.049007494} + tangentMode: 0 + - serializedVersion: 2 + time: 0.4333335 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000017 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.46666685 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333353 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.5000002 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166668 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.5333335 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.55000013 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666668 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0, y: 0, z: 0, w: 0} + outSlope: {x: 0, y: 0, z: 0, w: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.58333343 + value: {x: -0.57357645, y: 0, z: 0, w: 0.81915206} + inSlope: {x: 0.070205994, y: 0, z: 0, w: 0.04900937} + outSlope: {x: 0.070205994, y: 0, z: 0, w: 0.04900937} + tangentMode: 0 + - serializedVersion: 2 + time: 0.6000001 + value: {x: -0.57123625, y: 0, z: 0, w: 0.8207857} + inSlope: {x: 0.27390924, y: 0, z: 0, w: 0.1895358} + outSlope: {x: 0.27390924, y: 0, z: 0, w: 0.1895358} + tangentMode: 0 + - serializedVersion: 2 + time: 0.61666673 + value: {x: -0.56444615, y: 0, z: 0, w: 0.8254699} + inSlope: {x: 0.5314355, y: 0, z: 0, w: 0.36147094} + outSlope: {x: 0.5314355, y: 0, z: 0, w: 0.36147094} + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: {x: -0.55352175, y: 0, z: 0, w: 0.8328347} + inSlope: {x: 0.77082825, y: 0, z: 0, w: 0.50983655} + outSlope: {x: 0.77082825, y: 0, z: 0, w: 0.50983655} + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: {x: -0.5387519, y: 0, z: 0, w: 0.84246445} + inSlope: {x: 0.9932462, y: 0, z: 0, w: 0.6323886} + outSlope: {x: 0.9932462, y: 0, z: 0, w: 0.6323886} + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: {x: -0.5204136, y: 0, z: 0, w: 0.8539143} + inSlope: {x: 1.1989951, y: 0, z: 0, w: 0.72783244} + outSlope: {x: 1.1989951, y: 0, z: 0, w: 0.72783244} + tangentMode: 0 + - serializedVersion: 2 + time: 0.68333334 + value: {x: -0.49878544, y: 0, z: 0, w: 0.8667255} + inSlope: {x: 1.3876233, y: 0, z: 0, w: 0.7957406} + outSlope: {x: 1.3876233, y: 0, z: 0, w: 0.7957406} + tangentMode: 0 + - serializedVersion: 2 + time: 0.7 + value: {x: -0.4741595, y: 0, z: 0, w: 0.880439} + inSlope: {x: 1.5580636, y: 0, z: 0, w: 0.83650315} + outSlope: {x: 1.5580636, y: 0, z: 0, w: 0.83650315} + tangentMode: 0 + - serializedVersion: 2 + time: 0.71666664 + value: {x: -0.44685003, y: 0, z: 0, w: 0.8946089} + inSlope: {x: 1.7087932, y: 0, z: 0, w: 0.85127497} + outSlope: {x: 1.7087932, y: 0, z: 0, w: 0.85127497} + tangentMode: 0 + - serializedVersion: 2 + time: 0.7333333 + value: {x: -0.4171998, y: 0, z: 0, w: 0.9088148} + inSlope: {x: 1.83798, y: 0, z: 0, w: 0.84191406} + outSlope: {x: 1.83798, y: 0, z: 0, w: 0.84191406} + tangentMode: 0 + - serializedVersion: 2 + time: 0.74999994 + value: {x: -0.3855841, y: 0, z: 0, w: 0.9226727} + inSlope: {x: 1.9436486, y: 0, z: 0, w: 0.81091124} + outSlope: {x: 1.9436486, y: 0, z: 0, w: 0.81091124} + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666666 + value: {x: -0.35241157, y: 0, z: 0, w: 0.93584514} + inSlope: {x: 2.0238342, y: 0, z: 0, w: 0.7613028} + outSlope: {x: 2.0238342, y: 0, z: 0, w: 0.7613028} + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333324 + value: {x: -0.318123, y: 0, z: 0, w: 0.9480494} + inSlope: {x: 2.076707, y: 0, z: 0, w: 0.69657755} + outSlope: {x: 2.076707, y: 0, z: 0, w: 0.69657755} + tangentMode: 0 + - serializedVersion: 2 + time: 0.7999999 + value: {x: -0.28318807, y: 0, z: 0, w: 0.95906436} + inSlope: {x: 2.100679, y: 0, z: 0, w: 0.62054753} + outSlope: {x: 2.100679, y: 0, z: 0, w: 0.62054753} + tangentMode: 0 + - serializedVersion: 2 + time: 0.81666654 + value: {x: -0.24810044, y: 0, z: 0, w: 0.9687343} + inSlope: {x: 2.094493, y: 0, z: 0, w: 0.53720224} + outSlope: {x: 2.094493, y: 0, z: 0, w: 0.53720224} + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333332 + value: {x: -0.21337171, y: 0, z: 0, w: 0.9769711} + inSlope: {x: 2.057263, y: 0, z: 0, w: 0.4505722} + outSlope: {x: 2.057263, y: 0, z: 0, w: 0.4505722} + tangentMode: 0 + - serializedVersion: 2 + time: 0.84999985 + value: {x: -0.17952508, y: 0, z: 0, w: 0.9837534} + inSlope: {x: 1.988487, y: 0, z: 0, w: 0.3645662} + outSlope: {x: 1.988487, y: 0, z: 0, w: 0.3645662} + tangentMode: 0 + - serializedVersion: 2 + time: 0.8666665 + value: {x: -0.14708887, y: 0, z: 0, w: 0.9891233} + inSlope: {x: 1.8880358, y: 0, z: 0, w: 0.28279987} + outSlope: {x: 1.8880358, y: 0, z: 0, w: 0.28279987} + tangentMode: 0 + - serializedVersion: 2 + time: 0.88333315 + value: {x: -0.11659061, y: 0, z: 0, w: 0.99318004} + inSlope: {x: 1.7560935, y: 0, z: 0, w: 0.20844719} + outSlope: {x: 1.7560935, y: 0, z: 0, w: 0.20844719} + tangentMode: 0 + - serializedVersion: 2 + time: 0.8999998 + value: {x: -0.088552475, y: 0, z: 0, w: 0.9960715} + inSlope: {x: 1.5930927, y: 0, z: 0, w: 0.14407767} + outSlope: {x: 1.5930927, y: 0, z: 0, w: 0.14407767} + tangentMode: 0 + - serializedVersion: 2 + time: 0.91666645 + value: {x: -0.063487574, y: 0, z: 0, w: 0.9979826} + inSlope: {x: 1.3996307, y: 0, z: 0, w: 0.0915117} + outSlope: {x: 1.3996307, y: 0, z: 0, w: 0.0915117} + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333331 + value: {x: -0.041898165, y: 0, z: 0, w: 0.9991219} + inSlope: {x: 1.1763467, y: 0, z: 0, w: 0.051680855} + outSlope: {x: 1.1763467, y: 0, z: 0, w: 0.051680855} + tangentMode: 0 + - serializedVersion: 2 + time: 0.94999975 + value: {x: -0.024276057, y: 0, z: 0, w: 0.9997053} + inSlope: {x: 0.9238552, y: 0, z: 0, w: 0.024493955} + outSlope: {x: 0.9238552, y: 0, z: 0, w: 0.024493955} + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666664 + value: {x: -0.011103023, y: 0, z: 0, w: 0.99993837} + inSlope: {x: 0.6426631, y: 0, z: 0, w: 0.008718976} + outSlope: {x: 0.6426631, y: 0, z: 0, w: 0.008718976} + tangentMode: 0 + - serializedVersion: 2 + time: 0.98333305 + value: {x: -0.0028539726, y: 0, z: 0, w: 0.99999595} + inSlope: {x: 0.33308947, y: 0, z: 0, w: 0.0018489356} + outSlope: {x: 0.33308947, y: 0, z: 0, w: 0.0018489356} + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: {x: 0, y: 0, z: 0, w: 1} + inSlope: {x: 0.17123546, y: 0, z: 0, w: 0.00024318283} + outSlope: {x: 0.17123546, y: 0, z: 0, w: 0.00024318283} + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: -0.17123753 + outSlope: -0.17123753 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: -0.0028539589 + inSlope: -0.3330858 + outSlope: -0.3330858 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.011102861 + inSlope: -0.64265656 + outSlope: -0.64265656 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: -0.024275847 + inSlope: -0.92385364 + outSlope: -0.92385364 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.041897982 + inSlope: -1.1763425 + outSlope: -1.1763425 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: -0.06348726 + inSlope: -1.399626 + outSlope: -1.399626 + tangentMode: 0 + - serializedVersion: 2 + time: 0.1 + value: -0.08855218 + inSlope: -1.593092 + outSlope: -1.593092 + tangentMode: 0 + - serializedVersion: 2 + time: 0.11666667 + value: -0.11659032 + inSlope: -1.7560911 + outSlope: -1.7560911 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.14708856 + inSlope: -1.8880339 + outSlope: -1.8880339 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: -0.1795248 + inSlope: -1.988487 + outSlope: -1.988487 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.21337146 + inSlope: -2.0572634 + outSlope: -2.0572634 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: -0.24810024 + inSlope: -2.0944943 + outSlope: -2.0944943 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2 + value: -0.28318793 + inSlope: -2.100679 + outSlope: -2.100679 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666667 + value: -0.31812286 + inSlope: -2.076707 + outSlope: -2.076707 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333333 + value: -0.35241148 + inSlope: -2.023835 + outSlope: -2.023835 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: -0.38558403 + inSlope: -1.9436477 + outSlope: -1.9436477 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.41719976 + inSlope: -1.8379786 + outSlope: -1.8379786 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: -0.44685003 + inSlope: -1.7087955 + outSlope: -1.7087955 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30000004 + value: -0.47415966 + inSlope: -1.5580654 + outSlope: -1.5580654 + tangentMode: 0 + - serializedVersion: 2 + time: 0.31666672 + value: -0.4987856 + inSlope: -1.3876219 + outSlope: -1.3876219 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3333334 + value: -0.52041376 + inSlope: -1.1989938 + outSlope: -1.1989938 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000008 + value: -0.5387521 + inSlope: -0.9932444 + outSlope: -0.9932444 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666676 + value: -0.55352193 + inSlope: -0.77082515 + outSlope: -0.77082515 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333344 + value: -0.5644463 + inSlope: -0.5314328 + outSlope: -0.5314328 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000013 + value: -0.5712364 + inSlope: -0.27390516 + outSlope: -0.27390516 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166668 + value: -0.57357645 + inSlope: -0.07020229 + outSlope: -0.07020229 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4333335 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000017 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46666685 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333353 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5000002 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166668 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5333335 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55000013 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666668 + value: -0.57357645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.58333343 + value: -0.57357645 + inSlope: 0.070205994 + outSlope: 0.070205994 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6000001 + value: -0.57123625 + inSlope: 0.27390924 + outSlope: 0.27390924 + tangentMode: 0 + - serializedVersion: 2 + time: 0.61666673 + value: -0.56444615 + inSlope: 0.5314355 + outSlope: 0.5314355 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.55352175 + inSlope: 0.77082825 + outSlope: 0.77082825 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: -0.5387519 + inSlope: 0.9932462 + outSlope: 0.9932462 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.5204136 + inSlope: 1.1989951 + outSlope: 1.1989951 + tangentMode: 0 + - serializedVersion: 2 + time: 0.68333334 + value: -0.49878544 + inSlope: 1.3876233 + outSlope: 1.3876233 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7 + value: -0.4741595 + inSlope: 1.5580636 + outSlope: 1.5580636 + tangentMode: 0 + - serializedVersion: 2 + time: 0.71666664 + value: -0.44685003 + inSlope: 1.7087932 + outSlope: 1.7087932 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7333333 + value: -0.4171998 + inSlope: 1.83798 + outSlope: 1.83798 + tangentMode: 0 + - serializedVersion: 2 + time: 0.74999994 + value: -0.3855841 + inSlope: 1.9436486 + outSlope: 1.9436486 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666666 + value: -0.35241157 + inSlope: 2.0238342 + outSlope: 2.0238342 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333324 + value: -0.318123 + inSlope: 2.076707 + outSlope: 2.076707 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7999999 + value: -0.28318807 + inSlope: 2.100679 + outSlope: 2.100679 + tangentMode: 0 + - serializedVersion: 2 + time: 0.81666654 + value: -0.24810044 + inSlope: 2.094493 + outSlope: 2.094493 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333332 + value: -0.21337171 + inSlope: 2.057263 + outSlope: 2.057263 + tangentMode: 0 + - serializedVersion: 2 + time: 0.84999985 + value: -0.17952508 + inSlope: 1.988487 + outSlope: 1.988487 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8666665 + value: -0.14708887 + inSlope: 1.8880358 + outSlope: 1.8880358 + tangentMode: 0 + - serializedVersion: 2 + time: 0.88333315 + value: -0.11659061 + inSlope: 1.7560935 + outSlope: 1.7560935 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8999998 + value: -0.088552475 + inSlope: 1.5930927 + outSlope: 1.5930927 + tangentMode: 0 + - serializedVersion: 2 + time: 0.91666645 + value: -0.063487574 + inSlope: 1.3996307 + outSlope: 1.3996307 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333331 + value: -0.041898165 + inSlope: 1.1763467 + outSlope: 1.1763467 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94999975 + value: -0.024276057 + inSlope: 0.9238552 + outSlope: 0.9238552 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666664 + value: -0.011103023 + inSlope: 0.6426631 + outSlope: 0.6426631 + tangentMode: 0 + - serializedVersion: 2 + time: 0.98333305 + value: -0.0028539726 + inSlope: 0.33308947 + outSlope: 0.33308947 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0.17123546 + outSlope: 0.17123546 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalRotation.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.11666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.31666672 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000008 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666676 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333344 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000013 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000017 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46666685 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333353 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55000013 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.58333343 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6000001 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.61666673 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.68333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.71666664 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.74999994 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666666 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333324 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7999999 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.81666654 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333332 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.84999985 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8666665 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.88333315 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8999998 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.91666645 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333331 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94999975 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666664 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.98333305 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalRotation.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.11666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.31666672 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000008 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666676 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333344 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000013 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000017 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46666685 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333353 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55000013 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.58333343 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6000001 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.61666673 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.68333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.71666664 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.74999994 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666666 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333324 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7999999 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.81666654 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333332 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.84999985 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8666665 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.88333315 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8999998 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.91666645 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333331 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94999975 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666664 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.98333305 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalRotation.z + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: -0.00024318694 + outSlope: -0.00024318694 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0.99999595 + inSlope: -0.001848936 + outSlope: -0.001848936 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.99993837 + inSlope: -0.0087189665 + outSlope: -0.0087189665 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0.9997053 + inSlope: -0.024493933 + outSlope: -0.024493933 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.9991219 + inSlope: -0.05168081 + outSlope: -0.05168081 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0.9979826 + inSlope: -0.091511615 + outSlope: -0.091511615 + tangentMode: 0 + - serializedVersion: 2 + time: 0.1 + value: 0.9960715 + inSlope: -0.14407577 + outSlope: -0.14407577 + tangentMode: 0 + - serializedVersion: 2 + time: 0.11666667 + value: 0.9931801 + inSlope: -0.20844516 + outSlope: -0.20844516 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.98912334 + inSlope: -0.28279957 + outSlope: -0.28279957 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0.98375344 + inSlope: -0.36456588 + outSlope: -0.36456588 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.97697115 + inSlope: -0.4505718 + outSlope: -0.4505718 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0.9687344 + inSlope: -0.5372018 + outSlope: -0.5372018 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2 + value: 0.9590644 + inSlope: -0.620547 + outSlope: -0.620547 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666667 + value: 0.9480495 + inSlope: -0.6965787 + outSlope: -0.6965787 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333333 + value: 0.93584514 + inSlope: -0.7613022 + outSlope: -0.7613022 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0.92267275 + inSlope: -0.8109101 + outSlope: -0.8109101 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.9088148 + inSlope: -0.8419143 + outSlope: -0.8419143 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0.8946089 + inSlope: -0.851277 + outSlope: -0.851277 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30000004 + value: 0.88043886 + inSlope: -0.8365052 + outSlope: -0.8365052 + tangentMode: 0 + - serializedVersion: 2 + time: 0.31666672 + value: 0.8667254 + inSlope: -0.7957392 + outSlope: -0.7957392 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3333334 + value: 0.8539142 + inSlope: -0.72782934 + outSlope: -0.72782934 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000008 + value: 0.8424644 + inSlope: -0.63238746 + outSlope: -0.63238746 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666676 + value: 0.8328346 + inSlope: -0.50983745 + outSlope: -0.50983745 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333344 + value: 0.8254698 + inSlope: -0.3614685 + outSlope: -0.3614685 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000013 + value: 0.82078564 + inSlope: -0.18953188 + outSlope: -0.18953188 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166668 + value: 0.81915206 + inSlope: -0.049007494 + outSlope: -0.049007494 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4333335 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000017 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46666685 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333353 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5000002 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166668 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5333335 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55000013 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666668 + value: 0.81915206 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.58333343 + value: 0.81915206 + inSlope: 0.04900937 + outSlope: 0.04900937 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6000001 + value: 0.8207857 + inSlope: 0.1895358 + outSlope: 0.1895358 + tangentMode: 0 + - serializedVersion: 2 + time: 0.61666673 + value: 0.8254699 + inSlope: 0.36147094 + outSlope: 0.36147094 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.8328347 + inSlope: 0.50983655 + outSlope: 0.50983655 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0.84246445 + inSlope: 0.6323886 + outSlope: 0.6323886 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.8539143 + inSlope: 0.72783244 + outSlope: 0.72783244 + tangentMode: 0 + - serializedVersion: 2 + time: 0.68333334 + value: 0.8667255 + inSlope: 0.7957406 + outSlope: 0.7957406 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7 + value: 0.880439 + inSlope: 0.83650315 + outSlope: 0.83650315 + tangentMode: 0 + - serializedVersion: 2 + time: 0.71666664 + value: 0.8946089 + inSlope: 0.85127497 + outSlope: 0.85127497 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7333333 + value: 0.9088148 + inSlope: 0.84191406 + outSlope: 0.84191406 + tangentMode: 0 + - serializedVersion: 2 + time: 0.74999994 + value: 0.9226727 + inSlope: 0.81091124 + outSlope: 0.81091124 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666666 + value: 0.93584514 + inSlope: 0.7613028 + outSlope: 0.7613028 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333324 + value: 0.9480494 + inSlope: 0.69657755 + outSlope: 0.69657755 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7999999 + value: 0.95906436 + inSlope: 0.62054753 + outSlope: 0.62054753 + tangentMode: 0 + - serializedVersion: 2 + time: 0.81666654 + value: 0.9687343 + inSlope: 0.53720224 + outSlope: 0.53720224 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333332 + value: 0.9769711 + inSlope: 0.4505722 + outSlope: 0.4505722 + tangentMode: 0 + - serializedVersion: 2 + time: 0.84999985 + value: 0.9837534 + inSlope: 0.3645662 + outSlope: 0.3645662 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8666665 + value: 0.9891233 + inSlope: 0.28279987 + outSlope: 0.28279987 + tangentMode: 0 + - serializedVersion: 2 + time: 0.88333315 + value: 0.99318004 + inSlope: 0.20844719 + outSlope: 0.20844719 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8999998 + value: 0.9960715 + inSlope: 0.14407767 + outSlope: 0.14407767 + tangentMode: 0 + - serializedVersion: 2 + time: 0.91666645 + value: 0.9979826 + inSlope: 0.0915117 + outSlope: 0.0915117 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333331 + value: 0.9991219 + inSlope: 0.051680855 + outSlope: 0.051680855 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94999975 + value: 0.9997053 + inSlope: 0.024493955 + outSlope: 0.024493955 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666664 + value: 0.99993837 + inSlope: 0.008718976 + outSlope: 0.008718976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.98333305 + value: 0.99999595 + inSlope: 0.0018489356 + outSlope: 0.0018489356 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0.00024318283 + outSlope: 0.00024318283 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalRotation.w + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.41666666 + value: -70 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.5833333 + value: -70 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesBaked.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesBaked.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesBaked.z + path: + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Project Undercover/Assets/Animation/HandShake.anim.meta b/Project Undercover/Assets/Animation/HandShake.anim.meta new file mode 100644 index 0000000..86600e7 --- /dev/null +++ b/Project Undercover/Assets/Animation/HandShake.anim.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0d1b4be09a8f56b49ae0c9839f5e5570 +timeCreated: 1505977769 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Audio.meta b/Project Undercover/Assets/Audio.meta new file mode 100644 index 0000000..13fb708 --- /dev/null +++ b/Project Undercover/Assets/Audio.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5242c4426d5340746807b1877e5d95f4 +folderAsset: yes +timeCreated: 1505987639 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Audio/Music.meta b/Project Undercover/Assets/Audio/Music.meta new file mode 100644 index 0000000..a22b537 --- /dev/null +++ b/Project Undercover/Assets/Audio/Music.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 40d44d307b5f45a40a9dd15007d086c2 +folderAsset: yes +timeCreated: 1505987639 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Audio/Music/mainmusic.wav b/Project Undercover/Assets/Audio/Music/mainmusic.wav new file mode 100644 index 0000000..4895f5c Binary files /dev/null and b/Project Undercover/Assets/Audio/Music/mainmusic.wav differ diff --git a/Project Undercover/Assets/Audio/Music/mainmusic.wav.meta b/Project Undercover/Assets/Audio/Music/mainmusic.wav.meta new file mode 100644 index 0000000..a6b9dbf --- /dev/null +++ b/Project Undercover/Assets/Audio/Music/mainmusic.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 4c08f73877bf0b2499ffa79dc92ef7db +timeCreated: 1505987640 +licenseType: Free +AudioImporter: + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Materials/Light.mat b/Project Undercover/Assets/Materials/Light.mat new file mode 100644 index 0000000..b18c40e --- /dev/null +++ b/Project Undercover/Assets/Materials/Light.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Light + m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Project Undercover/Assets/Materials/Light.mat.meta b/Project Undercover/Assets/Materials/Light.mat.meta new file mode 100644 index 0000000..9bf8a41 --- /dev/null +++ b/Project Undercover/Assets/Materials/Light.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 589cb9a3c1f004049a397907ef9631d5 +timeCreated: 1505886045 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/NavMeshes.meta b/Project Undercover/Assets/NavMeshes.meta new file mode 100644 index 0000000..91bdeef --- /dev/null +++ b/Project Undercover/Assets/NavMeshes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 808ef5ffd9b486c4290e3fd56aef73ec +folderAsset: yes +timeCreated: 1505886940 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/NavMeshes/NavMesh.asset b/Project Undercover/Assets/NavMeshes/NavMesh.asset new file mode 100644 index 0000000..c81ff1d Binary files /dev/null and b/Project Undercover/Assets/NavMeshes/NavMesh.asset differ diff --git a/Project Undercover/Assets/NavMeshes/NavMesh.asset.meta b/Project Undercover/Assets/NavMeshes/NavMesh.asset.meta new file mode 100644 index 0000000..4f03872 --- /dev/null +++ b/Project Undercover/Assets/NavMeshes/NavMesh.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d7eb36ff892a3a7438b868633aac89d0 +timeCreated: 1505764510 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin.meta b/Project Undercover/Assets/Plugin.meta new file mode 100644 index 0000000..ae7cdd5 --- /dev/null +++ b/Project Undercover/Assets/Plugin.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1fcf46d4b6bf9454ea18df08e17a920e +folderAsset: yes +timeCreated: 1505887680 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking.meta new file mode 100644 index 0000000..b90b9f5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9181f568e0445cd439c99917503ab6e5 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor.meta new file mode 100644 index 0000000..60a82f6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 079a99fc83b728040b6c06bd4562b9cf +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork.meta new file mode 100644 index 0000000..6561f73 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 66bfa0881bc062540b586572bd1489ea +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/AccountService.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/AccountService.cs new file mode 100644 index 0000000..aecdd09 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/AccountService.cs @@ -0,0 +1,235 @@ +// ---------------------------------------------------------------------------- +// +// Photon Cloud Account Service - Copyright (C) 2012 Exit Games GmbH +// +// +// Provides methods to register a new user-account for the Photon Cloud and +// get the resulting appId. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +#if UNITY_EDITOR + +using System.Net.Security; +using System.Security.Cryptography.X509Certificates; + +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using ExitGames.Client.Photon; +using Newtonsoft.Json; + + +public class AccountService +{ + private const string ServiceUrl = "https://service.exitgames.com/AccountExt/AccountServiceExt.aspx"; + + private Action registrationCallback; // optional (when using async reg) + + public string Message { get; private set; } // msg from server (in case of success, this is the appid) + + protected internal Exception Exception { get; set; } // exceptions in account-server communication + + public string AppId { get; private set; } + + public string AppId2 { get; private set; } + + public int ReturnCode { get; private set; } // 0 = OK. anything else is a error with Message + + public enum Origin : byte { ServerWeb = 1, CloudWeb = 2, Pun = 3, Playmaker = 4 }; + + /// + /// Creates a instance of the Account Service to register Photon Cloud accounts. + /// + public AccountService() + { + WebRequest.DefaultWebProxy = null; + ServicePointManager.ServerCertificateValidationCallback = Validator; + } + + public static bool Validator(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) + { + return true; // any certificate is ok in this case + } + + /// + /// Attempts to create a Photon Cloud Account. + /// Check ReturnCode, Message and AppId to get the result of this attempt. + /// + /// Email of the account. + /// Marks which channel created the new account (if it's new). + /// Defines which type of Photon-service is being requested. + public void RegisterByEmail(string email, Origin origin, string serviceType = null) + { + this.registrationCallback = null; + this.AppId = string.Empty; + this.AppId2 = string.Empty; + this.Message = string.Empty; + this.ReturnCode = -1; + + string result; + try + { + WebRequest req = HttpWebRequest.Create(this.RegistrationUri(email, (byte)origin, serviceType)); + HttpWebResponse resp = req.GetResponse() as HttpWebResponse; + + // now read result + StreamReader reader = new StreamReader(resp.GetResponseStream()); + result = reader.ReadToEnd(); + } + catch (Exception ex) + { + this.Message = "Failed to connect to Cloud Account Service. Please register via account website."; + this.Exception = ex; + return; + } + + this.ParseResult(result); + } + + /// + /// Attempts to create a Photon Cloud Account asynchronously. + /// Once your callback is called, check ReturnCode, Message and AppId to get the result of this attempt. + /// + /// Email of the account. + /// Marks which channel created the new account (if it's new). + /// Defines which type of Photon-service is being requested. + /// Called when the result is available. + public void RegisterByEmailAsync(string email, Origin origin, string serviceType, Action callback = null) + { + this.registrationCallback = callback; + this.AppId = string.Empty; + this.AppId2 = string.Empty; + this.Message = string.Empty; + this.ReturnCode = -1; + + try + { + HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(this.RegistrationUri(email, (byte)origin, serviceType)); + req.Timeout = 5000; + req.BeginGetResponse(this.OnRegisterByEmailCompleted, req); + } + catch (Exception ex) + { + this.Message = "Failed to connect to Cloud Account Service. Please register via account website."; + this.Exception = ex; + if (this.registrationCallback != null) + { + this.registrationCallback(this); + } + } + } + + /// + /// Internal callback with result of async HttpWebRequest (in RegisterByEmailAsync). + /// + /// + private void OnRegisterByEmailCompleted(IAsyncResult ar) + { + try + { + HttpWebRequest request = (HttpWebRequest)ar.AsyncState; + HttpWebResponse response = request.EndGetResponse(ar) as HttpWebResponse; + + if (response != null && response.StatusCode == HttpStatusCode.OK) + { + // no error. use the result + StreamReader reader = new StreamReader(response.GetResponseStream()); + string result = reader.ReadToEnd(); + + this.ParseResult(result); + } + else + { + // a response but some error on server. show message + this.Message = "Failed to connect to Cloud Account Service. Please register via account website."; + } + } + catch (Exception ex) + { + // not even a response. show message + this.Message = "Failed to connect to Cloud Account Service. Please register via account website."; + this.Exception = ex; + } + + if (this.registrationCallback != null) + { + this.registrationCallback(this); + } + } + + /// + /// Creates the service-call Uri, escaping the email for security reasons. + /// + /// Email of the account. + /// 1 = server-web, 2 = cloud-web, 3 = PUN, 4 = playmaker + /// Defines which type of Photon-service is being requested. Options: "", "voice", "chat" + /// Uri to call. + private Uri RegistrationUri(string email, byte origin, string serviceType) + { + if (serviceType == null) + { + serviceType = string.Empty; + } + + string emailEncoded = Uri.EscapeDataString(email); + string uriString = string.Format("{0}?email={1}&origin={2}&serviceType={3}", ServiceUrl, emailEncoded, origin, serviceType); + + return new Uri(uriString); + } + + /// + /// Reads the Json response and applies it to local properties. + /// + /// + private void ParseResult(string result) + { + if (string.IsNullOrEmpty(result)) + { + this.Message = "Server's response was empty. Please register through account website during this service interruption."; + return; + } + + Dictionary values = JsonConvert.DeserializeObject>(result); + if (values == null) + { + this.Message = "Service temporarily unavailable. Please register through account website."; + return; + } + + int returnCodeInt = -1; + string returnCodeString = string.Empty; + string message; + string messageDetailed; + + values.TryGetValue("ReturnCode", out returnCodeString); + values.TryGetValue("Message", out message); + values.TryGetValue("MessageDetailed", out messageDetailed); + + int.TryParse(returnCodeString, out returnCodeInt); + + this.ReturnCode = returnCodeInt; + if (returnCodeInt == 0) + { + // returnCode == 0 means: all ok. message is new AppId + this.AppId = message; + if (PhotonEditorUtils.HasVoice) + { + this.AppId2 = messageDetailed; + } + } + else + { + // any error gives returnCode != 0 + this.AppId = string.Empty; + if (PhotonEditorUtils.HasVoice) + { + this.AppId2 = string.Empty; + } + this.Message = message; + } + } +} +#endif \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/AccountService.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/AccountService.cs.meta new file mode 100644 index 0000000..a070b17 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/AccountService.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 166dfe22956ef0341b28e18d0499e363 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/CullAreaEditor.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/CullAreaEditor.cs new file mode 100644 index 0000000..bf87a4a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/CullAreaEditor.cs @@ -0,0 +1,232 @@ +using UnityEditor; +using UnityEngine; + +[CanEditMultipleObjects] +[CustomEditor(typeof(CullArea))] +public class CullAreaEditor : Editor +{ + private bool alignEditorCamera; + + private CullArea cullArea; + + private enum UP_AXIS_OPTIONS + { + SideScrollerMode = 0, + TopDownOr3DMode = 1 + } + + private UP_AXIS_OPTIONS upAxisOptions; + + public void OnEnable() + { + cullArea = (CullArea) target; + + // Destroying the newly created cull area if there is already one existing + if (FindObjectsOfType().Length > 1) + { + Debug.LogWarning("Destroying newly created cull area because there is already one existing in the scene."); + + DestroyImmediate(cullArea); + + return; + } + + // Prevents the dropdown from resetting + if (cullArea != null) + { + upAxisOptions = cullArea.YIsUpAxis ? UP_AXIS_OPTIONS.SideScrollerMode : UP_AXIS_OPTIONS.TopDownOr3DMode; + } + } + + public override void OnInspectorGUI() + { + EditorGUILayout.BeginVertical(); + + if (Application.isEditor && !Application.isPlaying) + { + OnInspectorGUIEditMode(); + } + else + { + OnInspectorGUIPlayMode(); + } + + EditorGUILayout.EndVertical(); + } + + /// + /// Represents the inspector GUI when edit mode is active. + /// + private void OnInspectorGUIEditMode() + { + EditorGUI.BeginChangeCheck(); + + #region DEFINE_UP_AXIS + + { + EditorGUILayout.BeginVertical(); + EditorGUILayout.LabelField("Select game type", EditorStyles.boldLabel); + upAxisOptions = (UP_AXIS_OPTIONS) EditorGUILayout.EnumPopup("Game type", upAxisOptions); + cullArea.YIsUpAxis = (upAxisOptions == UP_AXIS_OPTIONS.SideScrollerMode); + EditorGUILayout.EndVertical(); + } + + #endregion + + EditorGUILayout.Space(); + + #region SUBDIVISION + + { + EditorGUILayout.BeginVertical(); + EditorGUILayout.LabelField("Set the number of subdivisions", EditorStyles.boldLabel); + cullArea.NumberOfSubdivisions = EditorGUILayout.IntSlider("Number of subdivisions", cullArea.NumberOfSubdivisions, 0, CullArea.MAX_NUMBER_OF_SUBDIVISIONS); + EditorGUILayout.EndVertical(); + + EditorGUILayout.Space(); + + if (cullArea.NumberOfSubdivisions != 0) + { + for (int index = 0; index < cullArea.Subdivisions.Length; ++index) + { + if ((index + 1) <= cullArea.NumberOfSubdivisions) + { + string countMessage = (index + 1) + ". Subdivision: row / column count"; + + EditorGUILayout.BeginVertical(); + cullArea.Subdivisions[index] = EditorGUILayout.Vector2Field(countMessage, cullArea.Subdivisions[index]); + EditorGUILayout.EndVertical(); + + EditorGUILayout.Space(); + } + else + { + cullArea.Subdivisions[index] = new UnityEngine.Vector2(1, 1); + } + } + } + } + + #endregion + + EditorGUILayout.Space(); + + #region UPDATING_MAIN_CAMERA + + { + EditorGUILayout.BeginVertical(); + + EditorGUILayout.LabelField("View and camera options", EditorStyles.boldLabel); + alignEditorCamera = EditorGUILayout.Toggle("Automatically align editor view with grid", alignEditorCamera); + + if (Camera.main != null) + { + if (GUILayout.Button("Align main camera with grid")) + { + Undo.RecordObject(Camera.main.transform, "Align main camera with grid."); + + float yCoord = cullArea.YIsUpAxis ? cullArea.Center.y : Mathf.Max(cullArea.Size.x, cullArea.Size.y); + float zCoord = cullArea.YIsUpAxis ? -Mathf.Max(cullArea.Size.x, cullArea.Size.y) : cullArea.Center.y; + + Camera.main.transform.position = new Vector3(cullArea.Center.x, yCoord, zCoord); + Camera.main.transform.LookAt(cullArea.transform.position); + } + + EditorGUILayout.LabelField("Current main camera position is " + Camera.main.transform.position.ToString()); + } + + EditorGUILayout.EndVertical(); + } + + #endregion + + if (EditorGUI.EndChangeCheck()) + { + cullArea.RecreateCellHierarchy = true; + + AlignEditorView(); + } + } + + /// + /// Represents the inspector GUI when play mode is active. + /// + private void OnInspectorGUIPlayMode() + { + EditorGUILayout.LabelField("No changes allowed when game is running. Please exit play mode first.", EditorStyles.boldLabel); + } + + public void OnSceneGUI() + { + Handles.BeginGUI(); + GUILayout.BeginArea(new Rect(Screen.width - 110, Screen.height - 90, 100, 60)); + + if (GUILayout.Button("Reset position")) + { + cullArea.transform.position = Vector3.zero; + } + + if (GUILayout.Button("Reset scaling")) + { + cullArea.transform.localScale = new Vector3(25.0f, 25.0f, 25.0f); + } + + GUILayout.EndArea(); + Handles.EndGUI(); + + // Checking for changes of the transform + if (cullArea.transform.hasChanged) + { + // Resetting position + float posX = cullArea.transform.position.x; + float posY = cullArea.YIsUpAxis ? cullArea.transform.position.y : 0.0f; + float posZ = !cullArea.YIsUpAxis ? cullArea.transform.position.z : 0.0f; + + cullArea.transform.position = new Vector3(posX, posY, posZ); + + // Resetting scaling + if (cullArea.Size.x < 1.0f || cullArea.Size.y < 1.0f) + { + float scaleX = (cullArea.transform.localScale.x < 1.0f) ? 1.0f : cullArea.transform.localScale.x; + float scaleY = (cullArea.transform.localScale.y < 1.0f) ? 1.0f : cullArea.transform.localScale.y; + float scaleZ = (cullArea.transform.localScale.z < 1.0f) ? 1.0f : cullArea.transform.localScale.z; + + cullArea.transform.localScale = new Vector3(scaleX, scaleY, scaleZ); + + Debug.LogWarning("Scaling on a single axis can not be lower than 1. Resetting..."); + } + + cullArea.RecreateCellHierarchy = true; + + AlignEditorView(); + } + } + + /// + /// Aligns the editor view with the created grid. + /// + private void AlignEditorView() + { + if (!alignEditorCamera) + { + return; + } + + // This creates a temporary game object in order to align the editor view. + // The created game object is destroyed afterwards. + GameObject tmpGo = new GameObject(); + + float yCoord = cullArea.YIsUpAxis ? cullArea.Center.y : Mathf.Max(cullArea.Size.x, cullArea.Size.y); + float zCoord = cullArea.YIsUpAxis ? -Mathf.Max(cullArea.Size.x, cullArea.Size.y) : cullArea.Center.y; + + tmpGo.transform.position = new Vector3(cullArea.Center.x, yCoord, zCoord); + tmpGo.transform.LookAt(cullArea.transform.position); + + if (SceneView.lastActiveSceneView != null) + { + SceneView.lastActiveSceneView.AlignViewToObject(tmpGo.transform); + } + + DestroyImmediate(tmpGo); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/CullAreaEditor.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/CullAreaEditor.cs.meta new file mode 100644 index 0000000..7d72143 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/CullAreaEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: abadaa451a7bff0489078ed9eec61133 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Newtonsoft.Json.dll b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Newtonsoft.Json.dll new file mode 100644 index 0000000..664b5b5 Binary files /dev/null and b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Newtonsoft.Json.dll differ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Newtonsoft.Json.dll.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Newtonsoft.Json.dll.meta new file mode 100644 index 0000000..7686d2f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Newtonsoft.Json.dll.meta @@ -0,0 +1,37 @@ +fileFormatVersion: 2 +guid: 0268f98d7c649564a818b0768fc68d4b +labels: +- ExitGames +- PUN +- Photon +- Networking +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonConverter.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonConverter.cs new file mode 100644 index 0000000..ef44b08 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonConverter.cs @@ -0,0 +1,68 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// Script to convert old RPC attributes into new RPC attributes. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_4_OR_NEWER +#define UNITY_MIN_5_3 +#endif + + +using UnityEngine; +using System.Collections.Generic; +using System.IO; + +public class PhotonConverter : Photon.MonoBehaviour +{ + public static List GetScriptsInFolder(string folder) + { + List scripts = new List(); + + try + { + scripts.AddRange(Directory.GetFiles(folder, "*.cs", SearchOption.AllDirectories)); + scripts.AddRange(Directory.GetFiles(folder, "*.js", SearchOption.AllDirectories)); + scripts.AddRange(Directory.GetFiles(folder, "*.boo", SearchOption.AllDirectories)); + } + catch (System.Exception ex) + { + Debug.Log("Getting script list from folder " + folder + " failed. Exception:\n" + ex.ToString()); + } + + return scripts; + } + + /// default path: "Assets" + public static void ConvertRpcAttribute(string path) + { + if (string.IsNullOrEmpty(path)) + { + path = "Assets"; + } + + List scripts = GetScriptsInFolder(path); + foreach (string file in scripts) + { + string text = File.ReadAllText(file); + string textCopy = text; + if (file.EndsWith("PhotonConverter.cs")) + { + continue; + } + + text = text.Replace("[RPC]", "[PunRPC]"); + text = text.Replace("@RPC", "@PunRPC"); + + if (!text.Equals(textCopy)) + { + File.WriteAllText(file, text); + Debug.Log("Converted RPC to PunRPC in: " + file); + } + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonConverter.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonConverter.cs.meta new file mode 100644 index 0000000..dc6b834 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonConverter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 15757b26cd9b53247be86da9e8da19dd +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditor.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditor.cs new file mode 100644 index 0000000..22a6f22 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditor.cs @@ -0,0 +1,759 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// MenuItems and in-Editor scripts for PhotonNetwork. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using ExitGames.Client.Photon; +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; + + +public class PunWizardText +{ + public string WindowTitle = "PUN Wizard"; + public string SetupWizardWarningTitle = "Warning"; + public string SetupWizardWarningMessage = "You have not yet run the Photon setup wizard! Your game won't be able to connect. See Windows -> Photon Unity Networking."; + public string MainMenuButton = "Main Menu"; + public string SetupWizardTitle = "PUN Setup"; + public string SetupWizardInfo = "Thanks for importing Photon Unity Networking.\nThis window should set you up.\n\n- To use an existing Photon Cloud App, enter your AppId.\n- To register an account or access an existing one, enter the account's mail address.\n- To use Photon OnPremise, skip this step."; + public string EmailOrAppIdLabel = "AppId or Email"; + public string AlreadyRegisteredInfo = "The email is registered so we can't fetch your AppId (without password).\n\nPlease login online to get your AppId and paste it above."; + public string SkipRegistrationInfo = "Skipping? No problem:\nEdit your server settings in the PhotonServerSettings file."; + public string RegisteredNewAccountInfo = "We created a (free) account and fetched you an AppId.\nWelcome. Your PUN project is setup."; + public string AppliedToSettingsInfo = "Your AppId is now applied to this project."; + public string SetupCompleteInfo = "Done!\nAll connection settings can be edited in the PhotonServerSettings now.\nHave a look."; + public string CloseWindowButton = "Close"; + public string SkipButton = "Skip"; + public string SetupButton = "Setup Project"; + public string MobileExportNoteLabel = "Build for mobiles impossible. Get PUN+ or Unity Pro for mobile or use Unity 5."; + public string MobilePunPlusExportNoteLabel = "PUN+ available. Using native sockets for iOS/Android."; + public string CancelButton = "Cancel"; + public string PUNWizardLabel = "PUN Wizard"; + public string SettingsButton = "Settings"; + public string SetupServerCloudLabel = "Setup wizard for setting up your own server or the cloud."; + public string WarningPhotonDisconnect = ""; + public string StartButton = "Start"; + public string LocateSettingsButton = "Locate PhotonServerSettings"; + public string SettingsHighlightLabel = "Highlights the used photon settings file in the project."; + public string DocumentationLabel = "Documentation"; + public string OpenPDFText = "Reference PDF"; + public string OpenPDFTooltip = "Opens the local documentation pdf."; + public string OpenDevNetText = "DevNet / Manual"; + public string OpenDevNetTooltip = "Online documentation for Photon."; + public string OpenCloudDashboardText = "Cloud Dashboard Login"; + public string OpenCloudDashboardTooltip = "Review Cloud App information and statistics."; + public string OpenForumText = "Open Forum"; + public string OpenForumTooltip = "Online support for Photon."; + public string OkButton = "Ok"; + public string OwnHostCloudCompareLabel = "I am not quite sure how 'my own host' compares to 'cloud'."; + public string ComparisonPageButton = "Cloud versus OnPremise"; + public string ConnectionTitle = "Connecting"; + public string ConnectionInfo = "Connecting to the account service..."; + public string ErrorTextTitle = "Error"; + public string IncorrectRPCListTitle = "Warning: RPC-list becoming incompatible!"; + public string IncorrectRPCListLabel = "Your project's RPC-list is full, so we can't add some RPCs just compiled.\n\nBy removing outdated RPCs, the list will be long enough but incompatible with older client builds!\n\nMake sure you change the game version where you use PhotonNetwork.ConnectUsingSettings()."; + public string RemoveOutdatedRPCsLabel = "Remove outdated RPCs"; + public string FullRPCListTitle = "Warning: RPC-list is full!"; + public string FullRPCListLabel = "Your project's RPC-list is too long for PUN.\n\nYou can change PUN's source to use short-typed RPC index. Look for comments 'LIMITS RPC COUNT'\n\nAlternatively, remove some RPC methods (use more parameters per RPC maybe).\n\nAfter a RPC-list refresh, make sure you change the game version where you use PhotonNetwork.ConnectUsingSettings()."; + public string SkipRPCListUpdateLabel = "Skip RPC-list update"; + public string PUNNameReplaceTitle = "Warning: RPC-list Compatibility"; + public string PUNNameReplaceLabel = "PUN replaces RPC names with numbers by using the RPC-list. All clients must use the same list for that.\n\nClearing it most likely makes your client incompatible with previous versions! Change your game version or make sure the RPC-list matches other clients."; + public string RPCListCleared = "Clear RPC-list"; + public string ServerSettingsCleanedWarning = "Cleared the PhotonServerSettings.RpcList! This makes new builds incompatible with older ones. Better change game version in PhotonNetwork.ConnectUsingSettings()."; + public string RpcFoundMessage = "Some code uses the obsolete RPC attribute. PUN now requires the PunRPC attribute to mark remote-callable methods.\nThe Editor can search and replace that code which will modify your source."; + public string RpcFoundDialogTitle = "RPC Attribute Outdated"; + public string RpcReplaceButton = "Replace. I got a backup."; + public string RpcSkipReplace = "Not now."; + public string WizardMainWindowInfo = "This window should help you find important settings for PUN, as well as documentation."; +} + + +[InitializeOnLoad] +public class PhotonEditor : EditorWindow +{ + protected static Type WindowType = typeof (PhotonEditor); + + protected Vector2 scrollPos = Vector2.zero; + + private readonly Vector2 preferredSize = new Vector2(350, 400); + + private static Texture2D BackgroundImage; + + public static PunWizardText CurrentLang = new PunWizardText(); + + + protected static AccountService.Origin RegisterOrigin = AccountService.Origin.Pun; + + protected static string DocumentationLocation = "Assets/Photon Unity Networking/PhotonNetwork-Documentation.pdf"; + + protected static string UrlFreeLicense = "https://www.photonengine.com/dashboard/OnPremise"; + + protected static string UrlDevNet = "http://doc.photonengine.com/en/pun/current"; + + protected static string UrlForum = "http://forum.exitgames.com"; + + protected static string UrlCompare = "http://doc.photonengine.com/en/realtime/current/getting-started/onpremise-or-saas"; + + protected static string UrlHowToSetup = "http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min"; + + protected static string UrlAppIDExplained = "http://doc.photonengine.com/en/realtime/current/getting-started/obtain-your-app-id"; + + protected static string UrlAccountPage = "https://www.photonengine.com/Account/SignIn?email="; // opened in browser + + protected static string UrlCloudDashboard = "https://www.photonengine.com/dashboard?email="; + + + private enum PhotonSetupStates + { + MainUi, + + RegisterForPhotonCloud, + + EmailAlreadyRegistered, + + GoEditPhotonServerSettings + } + + private bool isSetupWizard = false; + + private PhotonSetupStates photonSetupState = PhotonSetupStates.RegisterForPhotonCloud; + + + private bool minimumInput = false; + private bool useMail = false; + private bool useAppId = false; + private bool useSkip = false; + private bool highlightedSettings = false; + private bool close = false; + private string mailOrAppId = string.Empty; + + + private static double lastWarning = 0; + private static bool postCompileActionsDone; + + private static bool isPunPlus; + private static bool androidLibExists; + private static bool iphoneLibExists; + + + // setup once on load + static PhotonEditor() + { + EditorApplication.projectWindowChanged += EditorUpdate; + EditorApplication.hierarchyWindowChanged += EditorUpdate; + EditorApplication.playmodeStateChanged += PlaymodeStateChanged; + EditorApplication.update += OnUpdate; + + // detect optional packages + PhotonEditor.CheckPunPlus(); + } + + // setup per window + public PhotonEditor() + { + minSize = this.preferredSize; + } + + [MenuItem("Window/Photon Unity Networking/PUN Wizard &p", false, 0)] + protected static void MenuItemOpenWizard() + { + PhotonEditor win = GetWindow(WindowType, false, CurrentLang.WindowTitle, true) as PhotonEditor; + win.photonSetupState = PhotonSetupStates.MainUi; + win.isSetupWizard = false; + } + + [MenuItem("Window/Photon Unity Networking/Highlight Server Settings %#&p", false, 1)] + protected static void MenuItemHighlightSettings() + { + HighlightSettings(); + } + + /// Creates an Editor window, showing the cloud-registration wizard for Photon (entry point to setup PUN). + protected static void ShowRegistrationWizard() + { + PhotonEditor win = GetWindow(WindowType, false, CurrentLang.WindowTitle, true) as PhotonEditor; + win.photonSetupState = PhotonSetupStates.RegisterForPhotonCloud; + win.isSetupWizard = true; + } + + + // called 100 times / sec + private static void OnUpdate() + { + // after a compile, check RPCs to create a cache-list + if (!postCompileActionsDone && !EditorApplication.isCompiling && !EditorApplication.isPlayingOrWillChangePlaymode && PhotonNetwork.PhotonServerSettings != null) + { + #if UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_3_AND_NEWER + if (EditorApplication.isUpdating) + { + return; + } + #endif + + PhotonEditor.UpdateRpcList(); + postCompileActionsDone = true; // on compile, this falls back to false (without actively doing anything) + + #if UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_3_AND_NEWER + PhotonEditor.ImportWin8Support(); + #endif + } + } + + + // called in editor, opens wizard for initial setup, keeps scene PhotonViews up to date and closes connections when compiling (to avoid issues) + private static void EditorUpdate() + { + if (PhotonNetwork.PhotonServerSettings == null) + { + PhotonNetwork.CreateSettings(); + } + if (PhotonNetwork.PhotonServerSettings == null) + { + return; + } + + // serverSetting is null when the file gets deleted. otherwise, the wizard should only run once and only if hosting option is not (yet) set + if (!PhotonNetwork.PhotonServerSettings.DisableAutoOpenWizard && PhotonNetwork.PhotonServerSettings.HostType == ServerSettings.HostingOption.NotSet) + { + ShowRegistrationWizard(); + PhotonNetwork.PhotonServerSettings.DisableAutoOpenWizard = true; + PhotonEditor.SaveSettings(); + } + + // Workaround for TCP crash. Plus this surpresses any other recompile errors. + if (EditorApplication.isCompiling) + { + if (PhotonNetwork.connected) + { + if (lastWarning > EditorApplication.timeSinceStartup - 3) + { + // Prevent error spam + Debug.LogWarning(CurrentLang.WarningPhotonDisconnect); + lastWarning = EditorApplication.timeSinceStartup; + } + + PhotonNetwork.Disconnect(); + } + } + } + + + // called in editor on change of play-mode (used to show a message popup that connection settings are incomplete) + private static void PlaymodeStateChanged() + { + if (EditorApplication.isPlaying || !EditorApplication.isPlayingOrWillChangePlaymode) + { + return; + } + + if (PhotonNetwork.PhotonServerSettings.HostType == ServerSettings.HostingOption.NotSet) + { + EditorUtility.DisplayDialog(CurrentLang.SetupWizardWarningTitle, CurrentLang.SetupWizardWarningMessage, CurrentLang.OkButton); + } + } + + + #region GUI and Wizard + + // Window Update() callback. On-demand, when Window is open + protected void Update() + { + if (this.close) + { + Close(); + } + } + + protected virtual void OnGUI() + { + if (BackgroundImage == null) + { + BackgroundImage = AssetDatabase.LoadAssetAtPath("Assets/Photon Unity Networking/Editor/PhotonNetwork/background.jpg", typeof(Texture2D)) as Texture2D; + } + + PhotonSetupStates oldGuiState = this.photonSetupState; // used to fix an annoying Editor input field issue: wont refresh until focus is changed. + + GUI.SetNextControlName(""); + this.scrollPos = GUILayout.BeginScrollView(this.scrollPos); + + + if (this.photonSetupState == PhotonSetupStates.MainUi) + { + UiMainWizard(); + } + else + { + UiSetupApp(); + } + + + GUILayout.EndScrollView(); + + if (oldGuiState != this.photonSetupState) + { + GUI.FocusControl(""); + } + } + + + protected virtual void UiSetupApp() + { + GUI.skin.label.wordWrap = true; + if (!this.isSetupWizard) + { + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(CurrentLang.MainMenuButton, GUILayout.ExpandWidth(false))) + { + this.photonSetupState = PhotonSetupStates.MainUi; + } + + GUILayout.EndHorizontal(); + } + + + // setup header + UiTitleBox(CurrentLang.SetupWizardTitle, BackgroundImage); + + // setup info text + GUI.skin.label.richText = true; + GUILayout.Label(CurrentLang.SetupWizardInfo); + + // input of appid or mail + EditorGUILayout.Separator(); + GUILayout.Label(CurrentLang.EmailOrAppIdLabel); + this.mailOrAppId = EditorGUILayout.TextField(this.mailOrAppId).Trim(); // note: we trim all input + + if (this.mailOrAppId.Contains("@")) + { + // this should be a mail address + this.minimumInput = (this.mailOrAppId.Length >= 5 && this.mailOrAppId.Contains(".")); + this.useMail = this.minimumInput; + this.useAppId = false; + } + else + { + // this should be an appId + this.minimumInput = ServerSettings.IsAppId(this.mailOrAppId); + this.useMail = false; + this.useAppId = this.minimumInput; + } + + // button to skip setup + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(CurrentLang.SkipButton, GUILayout.Width(100))) + { + this.photonSetupState = PhotonSetupStates.GoEditPhotonServerSettings; + this.useSkip = true; + this.useMail = false; + this.useAppId = false; + } + + // SETUP button + EditorGUI.BeginDisabledGroup(!this.minimumInput); + if (GUILayout.Button(CurrentLang.SetupButton, GUILayout.Width(100))) + { + this.useSkip = false; + GUIUtility.keyboardControl = 0; + if (this.useMail) + { + RegisterWithEmail(this.mailOrAppId); // sets state + } + if (this.useAppId) + { + this.photonSetupState = PhotonSetupStates.GoEditPhotonServerSettings; + Undo.RecordObject(PhotonNetwork.PhotonServerSettings, "Update PhotonServerSettings for PUN"); + PhotonNetwork.PhotonServerSettings.UseCloud(this.mailOrAppId); + PhotonEditor.SaveSettings(); + } + } + EditorGUI.EndDisabledGroup(); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + + + // existing account needs to fetch AppId online + if (this.photonSetupState == PhotonSetupStates.EmailAlreadyRegistered) + { + // button to open dashboard and get the AppId + GUILayout.Space(15); + GUILayout.Label(CurrentLang.AlreadyRegisteredInfo); + + + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(new GUIContent(CurrentLang.OpenCloudDashboardText, CurrentLang.OpenCloudDashboardTooltip), GUILayout.Width(205))) + { + Application.OpenURL(UrlCloudDashboard + Uri.EscapeUriString(this.mailOrAppId)); + this.mailOrAppId = ""; + } + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + } + + + if (this.photonSetupState == PhotonSetupStates.GoEditPhotonServerSettings) + { + if (!this.highlightedSettings) + { + this.highlightedSettings = true; + HighlightSettings(); + } + + GUILayout.Space(15); + if (this.useSkip) + { + GUILayout.Label(CurrentLang.SkipRegistrationInfo); + } + else if (this.useMail) + { + GUILayout.Label(CurrentLang.RegisteredNewAccountInfo); + } + else if (this.useAppId) + { + GUILayout.Label(CurrentLang.AppliedToSettingsInfo); + } + + + // setup-complete info + GUILayout.Space(15); + GUILayout.Label(CurrentLang.SetupCompleteInfo); + + + // close window (done) + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + if (GUILayout.Button(CurrentLang.CloseWindowButton, GUILayout.Width(205))) + { + this.close = true; + } + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + } + GUI.skin.label.richText = false; + } + + private void UiTitleBox(string title, Texture2D bgIcon) + { + GUIStyle bgStyle = new GUIStyle(GUI.skin.GetStyle("Label")); + bgStyle.normal.background = bgIcon; + bgStyle.fontSize = 22; + bgStyle.fontStyle = FontStyle.Bold; + + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + Rect scale = GUILayoutUtility.GetLastRect(); + scale.height = 30; + + GUI.Label(scale, title, bgStyle); + GUILayout.Space(scale.height+5); + } + + protected virtual void UiMainWizard() + { + GUILayout.Space(15); + + // title + UiTitleBox(CurrentLang.PUNWizardLabel, BackgroundImage); + + // wizard info text + GUILayout.Label(CurrentLang.WizardMainWindowInfo); + GUILayout.Space(15); + + + // pun+ info + if (isPunPlus) + { + GUILayout.Label(CurrentLang.MobilePunPlusExportNoteLabel); + GUILayout.Space(15); + } +#if !(UNITY_5_0 || UNITY_5 || UNITY_5_3_AND_NEWER) + else if (!InternalEditorUtility.HasAdvancedLicenseOnBuildTarget(BuildTarget.Android) || !InternalEditorUtility.HasAdvancedLicenseOnBuildTarget(BuildTarget.iOS)) + { + GUILayout.Label(CurrentLang.MobileExportNoteLabel); + GUILayout.Space(15); + } +#endif + + // settings button + GUILayout.BeginHorizontal(); + GUILayout.Label(CurrentLang.SettingsButton, EditorStyles.boldLabel, GUILayout.Width(100)); + GUILayout.BeginVertical(); + if (GUILayout.Button(new GUIContent(CurrentLang.LocateSettingsButton, CurrentLang.SettingsHighlightLabel))) + { + HighlightSettings(); + } + if (GUILayout.Button(new GUIContent(CurrentLang.OpenCloudDashboardText, CurrentLang.OpenCloudDashboardTooltip))) + { + Application.OpenURL(UrlCloudDashboard + Uri.EscapeUriString(this.mailOrAppId)); + } + if (GUILayout.Button(new GUIContent(CurrentLang.SetupButton, CurrentLang.SetupServerCloudLabel))) + { + this.photonSetupState = PhotonSetupStates.RegisterForPhotonCloud; + } + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + GUILayout.Space(15); + + + EditorGUILayout.Separator(); + + + // documentation + GUILayout.BeginHorizontal(); + GUILayout.Label(CurrentLang.DocumentationLabel, EditorStyles.boldLabel, GUILayout.Width(100)); + GUILayout.BeginVertical(); + if (GUILayout.Button(new GUIContent(CurrentLang.OpenPDFText, CurrentLang.OpenPDFTooltip))) + { + EditorUtility.OpenWithDefaultApp(DocumentationLocation); + } + + if (GUILayout.Button(new GUIContent(CurrentLang.OpenDevNetText, CurrentLang.OpenDevNetTooltip))) + { + Application.OpenURL(UrlDevNet); + } + + GUI.skin.label.wordWrap = true; + GUILayout.Label(CurrentLang.OwnHostCloudCompareLabel); + if (GUILayout.Button(CurrentLang.ComparisonPageButton)) + { + Application.OpenURL(UrlCompare); + } + + + if (GUILayout.Button(new GUIContent(CurrentLang.OpenForumText, CurrentLang.OpenForumTooltip))) + { + Application.OpenURL(UrlForum); + } + + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + } + + #endregion + + + protected virtual void RegisterWithEmail(string email) + { + EditorUtility.DisplayProgressBar(CurrentLang.ConnectionTitle, CurrentLang.ConnectionInfo, 0.5f); + + string accountServiceType = string.Empty; + if (PhotonEditorUtils.HasVoice) + { + accountServiceType = "voice"; + } + + + AccountService client = new AccountService(); + client.RegisterByEmail(email, RegisterOrigin, accountServiceType); // this is the synchronous variant using the static RegisterOrigin. "result" is in the client + + EditorUtility.ClearProgressBar(); + if (client.ReturnCode == 0) + { + this.mailOrAppId = client.AppId; + PhotonNetwork.PhotonServerSettings.UseCloud(this.mailOrAppId, 0); + if (PhotonEditorUtils.HasVoice) + { + PhotonNetwork.PhotonServerSettings.VoiceAppID = client.AppId2; + } + PhotonEditor.SaveSettings(); + + this.photonSetupState = PhotonSetupStates.GoEditPhotonServerSettings; + } + else + { + PhotonNetwork.PhotonServerSettings.HostType = ServerSettings.HostingOption.PhotonCloud; + PhotonEditor.SaveSettings(); + + Debug.LogWarning(client.Message + " ReturnCode: " + client.ReturnCode); + if (client.Message.Contains("registered")) + { + this.photonSetupState = PhotonSetupStates.EmailAlreadyRegistered; + } + else + { + EditorUtility.DisplayDialog(CurrentLang.ErrorTextTitle, client.Message, CurrentLang.OkButton); + this.photonSetupState = PhotonSetupStates.RegisterForPhotonCloud; + } + } + } + + + protected internal static bool CheckPunPlus() + { + androidLibExists = File.Exists("Assets/Plugins/Android/armeabi-v7a/libPhotonSocketPlugin.so") && + File.Exists("Assets/Plugins/Android/x86/libPhotonSocketPlugin.so"); + + + iphoneLibExists = File.Exists("Assets/Plugins/IOS/libPhotonSocketPlugin.a"); + + isPunPlus = androidLibExists || iphoneLibExists; + return isPunPlus; + } + + + private static void ImportWin8Support() + { + if (EditorApplication.isCompiling || EditorApplication.isPlayingOrWillChangePlaymode) + { + return; // don't import while compiling + } + + #if UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_3_AND_NEWER + const string win8Package = "Assets/Plugins/Photon3Unity3D-Win8.unitypackage"; + + bool win8LibsExist = File.Exists("Assets/Plugins/WP8/Photon3Unity3D.dll") && File.Exists("Assets/Plugins/Metro/Photon3Unity3D.dll"); + if (!win8LibsExist && File.Exists(win8Package)) + { + AssetDatabase.ImportPackage(win8Package, false); + } + #endif + } + + + // Pings PhotonServerSettings and makes it selected (show in Inspector) + private static void HighlightSettings() + { + Selection.objects = new UnityEngine.Object[] { PhotonNetwork.PhotonServerSettings }; + EditorGUIUtility.PingObject(PhotonNetwork.PhotonServerSettings); + } + + + // Marks settings object as dirty, so it gets saved. + // unity 5.3 changes the usecase for SetDirty(). but here we don't modify a scene object! so it's ok to use + private static void SaveSettings() + { + EditorUtility.SetDirty(PhotonNetwork.PhotonServerSettings); + } + + + #region RPC List Handling + + public static void UpdateRpcList() + { + List additionalRpcs = new List(); + HashSet currentRpcs = new HashSet(); + + var types = GetAllSubTypesInScripts(typeof(MonoBehaviour)); + + int countOldRpcs = 0; + foreach (var mono in types) + { + MethodInfo[] methods = mono.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + + foreach (MethodInfo method in methods) + { + bool isOldRpc = false; + #pragma warning disable 618 + // we let the Editor check for outdated RPC attributes in code. that should not cause a compile warning + if (method.IsDefined(typeof (RPC), false)) + { + countOldRpcs++; + isOldRpc = true; + } + #pragma warning restore 618 + + if (isOldRpc || method.IsDefined(typeof(PunRPC), false)) + { + currentRpcs.Add(method.Name); + + if (!additionalRpcs.Contains(method.Name) && !PhotonNetwork.PhotonServerSettings.RpcList.Contains(method.Name)) + { + additionalRpcs.Add(method.Name); + } + } + } + } + + if (additionalRpcs.Count > 0) + { + // LIMITS RPC COUNT + if (additionalRpcs.Count + PhotonNetwork.PhotonServerSettings.RpcList.Count >= byte.MaxValue) + { + if (currentRpcs.Count <= byte.MaxValue) + { + bool clearList = EditorUtility.DisplayDialog(CurrentLang.IncorrectRPCListTitle, CurrentLang.IncorrectRPCListLabel, CurrentLang.RemoveOutdatedRPCsLabel, CurrentLang.CancelButton); + if (clearList) + { + PhotonNetwork.PhotonServerSettings.RpcList.Clear(); + PhotonNetwork.PhotonServerSettings.RpcList.AddRange(currentRpcs); + } + else + { + return; + } + } + else + { + EditorUtility.DisplayDialog(CurrentLang.FullRPCListTitle, CurrentLang.FullRPCListLabel, CurrentLang.SkipRPCListUpdateLabel); + return; + } + } + + additionalRpcs.Sort(); + Undo.RecordObject(PhotonNetwork.PhotonServerSettings, "Update PUN RPC-list"); + PhotonNetwork.PhotonServerSettings.RpcList.AddRange(additionalRpcs); + PhotonEditor.SaveSettings(); + } + + if (countOldRpcs > 0) + { + bool convertRPCs = EditorUtility.DisplayDialog(CurrentLang.RpcFoundDialogTitle, CurrentLang.RpcFoundMessage, CurrentLang.RpcReplaceButton, CurrentLang.RpcSkipReplace); + if (convertRPCs) + { + PhotonConverter.ConvertRpcAttribute(""); + } + } + } + + public static void ClearRpcList() + { + bool clearList = EditorUtility.DisplayDialog(CurrentLang.PUNNameReplaceTitle, CurrentLang.PUNNameReplaceLabel, CurrentLang.RPCListCleared, CurrentLang.CancelButton); + if (clearList) + { + PhotonNetwork.PhotonServerSettings.RpcList.Clear(); + Debug.LogWarning(CurrentLang.ServerSettingsCleanedWarning); + } + } + + public static System.Type[] GetAllSubTypesInScripts(System.Type aBaseClass) + { + var result = new System.Collections.Generic.List(); + System.Reflection.Assembly[] AS = System.AppDomain.CurrentDomain.GetAssemblies(); + foreach (var A in AS) + { + // this skips all but the Unity-scripted assemblies for RPC-list creation. You could remove this to search all assemblies in project + if (!A.FullName.StartsWith("Assembly-")) + { + // Debug.Log("Skipping Assembly: " + A); + continue; + } + + //Debug.Log("Assembly: " + A.FullName); + System.Type[] types = A.GetTypes(); + foreach (var T in types) + { + if (T.IsSubclassOf(aBaseClass)) + { + result.Add(T); + } + } + } + return result.ToArray(); + } + + #endregion + +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditor.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditor.cs.meta new file mode 100644 index 0000000..beda65a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dabbbed2a74eac44dac281f20d706ba8 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditorUtils.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditorUtils.cs new file mode 100644 index 0000000..98690f3 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditorUtils.cs @@ -0,0 +1,70 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// Unity Editor Utils +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEditor; + + +namespace ExitGames.Client.Photon +{ + [InitializeOnLoad] + public class PhotonEditorUtils + { + /// True if the ChatClient of the Photon Chat API is available. If so, the editor may (e.g.) show additional options in settings. + public static bool HasChat; + /// True if the VoiceClient of the Photon Voice API is available. If so, the editor may (e.g.) show additional options in settings. + public static bool HasVoice; + /// True if the PhotonEditorUtils checked the available products / APIs. If so, the editor may (e.g.) show additional options in settings. + public static bool HasCheckedProducts; + + static PhotonEditorUtils() + { + HasVoice = Type.GetType("ExitGames.Client.Photon.Voice.VoiceClient, Assembly-CSharp") != null || Type.GetType("ExitGames.Client.Photon.Voice.VoiceClient, Assembly-CSharp-firstpass") != null; + HasChat = Type.GetType("ExitGames.Client.Photon.Chat.ChatClient, Assembly-CSharp") != null || Type.GetType("ExitGames.Client.Photon.Chat.ChatClient, Assembly-CSharp-firstpass") != null; + PhotonEditorUtils.HasCheckedProducts = true; + } + + + public static void MountScriptingDefineSymbolToAllTargets(string defineSymbol) + { + foreach (BuildTargetGroup _group in Enum.GetValues(typeof(BuildTargetGroup))) + { + if (_group == BuildTargetGroup.Unknown) continue; + + List _defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(_group).Split(';').Select(d => d.Trim()).ToList(); + + if (!_defineSymbols.Contains(defineSymbol)) + { + _defineSymbols.Add(defineSymbol); + PlayerSettings.SetScriptingDefineSymbolsForGroup(_group, string.Join(";", _defineSymbols.ToArray())); + } + } + } + + public static void UnMountScriptingDefineSymbolToAllTargets(string defineSymbol) + { + foreach (BuildTargetGroup _group in Enum.GetValues(typeof(BuildTargetGroup))) + { + if (_group == BuildTargetGroup.Unknown) continue; + + List _defineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(_group).Split(';').Select(d => d.Trim()).ToList(); + + if (_defineSymbols.Contains(defineSymbol)) + { + _defineSymbols.Remove(defineSymbol); + PlayerSettings.SetScriptingDefineSymbolsForGroup(_group, string.Join(";", _defineSymbols.ToArray())); + } + } + } + + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditorUtils.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditorUtils.cs.meta new file mode 100644 index 0000000..130b4d0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonEditorUtils.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42183086715e14a19a573546af09b321 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonGUI.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonGUI.cs new file mode 100644 index 0000000..1753a7d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonGUI.cs @@ -0,0 +1,281 @@ +using UnityEngine; +using UnityEditor; +using System.Collections; + +using Photon.Pun; + +public class PhotonGUI +{ + #region Styles + static GUIStyle m_DefaultTitleStyle; + public static GUIStyle DefaultTitleStyle + { + get + { + if( m_DefaultTitleStyle == null ) + { + m_DefaultTitleStyle = new GUIStyle(); + m_DefaultTitleStyle.border = new RectOffset( 2, 2, 2, 1 ); + m_DefaultTitleStyle.margin = new RectOffset( 5, 5, 5, 0 ); + m_DefaultTitleStyle.padding = new RectOffset( 5, 5, 0, 0 ); + m_DefaultTitleStyle.alignment = TextAnchor.MiddleLeft; + m_DefaultTitleStyle.normal.background = ReorderableListResources.texTitleBackground; + m_DefaultTitleStyle.normal.textColor = EditorGUIUtility.isProSkin + ? new Color( 0.8f, 0.8f, 0.8f ) + : new Color( 0.2f, 0.2f, 0.2f ); + } + + return m_DefaultTitleStyle; + } + } + + static GUIStyle m_DefaultContainerStyle; + public static GUIStyle DefaultContainerStyle + { + get + { + if( m_DefaultContainerStyle == null ) + { + m_DefaultContainerStyle = new GUIStyle(); + m_DefaultContainerStyle.border = new RectOffset( 2, 2, 1, 2 ); + m_DefaultContainerStyle.margin = new RectOffset( 5, 5, 5, 5 ); + m_DefaultContainerStyle.padding = new RectOffset( 1, 1, 2, 2 ); + m_DefaultContainerStyle.normal.background = ReorderableListResources.texContainerBackground; + } + + return m_DefaultContainerStyle; + } + } + + static GUIStyle m_DefaultAddButtonStyle; + public static GUIStyle DefaultAddButtonStyle + { + get + { + if( m_DefaultAddButtonStyle == null ) + { + m_DefaultAddButtonStyle = new GUIStyle(); + m_DefaultAddButtonStyle.fixedWidth = 30; + m_DefaultAddButtonStyle.fixedHeight = 16; + m_DefaultAddButtonStyle.normal.background = ReorderableListResources.texAddButton; + m_DefaultAddButtonStyle.active.background = ReorderableListResources.texAddButtonActive; + } + + return m_DefaultAddButtonStyle; + } + } + + static GUIStyle m_DefaultRemoveButtonStyle; + public static GUIStyle DefaultRemoveButtonStyle + { + get + { + if( m_DefaultRemoveButtonStyle == null ) + { + m_DefaultRemoveButtonStyle = new GUIStyle(); + m_DefaultRemoveButtonStyle.fixedWidth = 30; + m_DefaultRemoveButtonStyle.fixedHeight = 20; + m_DefaultRemoveButtonStyle.active.background = ReorderableListResources.CreatePixelTexture( "Dark Pixel (List GUI)", new Color32( 18, 18, 18, 255 ) ); + m_DefaultRemoveButtonStyle.imagePosition = ImagePosition.ImageOnly; + m_DefaultRemoveButtonStyle.alignment = TextAnchor.MiddleCenter; + } + + return m_DefaultRemoveButtonStyle; + } + } + + static GUIStyle m_DefaultContainerRowStyle; + public static GUIStyle DefaultContainerRowStyle + { + get + { + if( m_DefaultContainerRowStyle == null ) + { + m_DefaultContainerRowStyle = new GUIStyle(); + m_DefaultContainerRowStyle.border = new RectOffset( 2, 2, 2, 2 ); + + m_DefaultContainerRowStyle.margin = new RectOffset( 5, 5, 5, 5 ); + m_DefaultContainerRowStyle.padding = new RectOffset( 1, 1, 2, 2 ); + m_DefaultContainerRowStyle.normal.background = ReorderableListResources.texContainerBackground; + } + + return m_DefaultContainerRowStyle; + } + } + + static GUIStyle m_FoldoutBold; + public static GUIStyle FoldoutBold + { + get + { + if( m_FoldoutBold == null ) + { + m_FoldoutBold = new GUIStyle( EditorStyles.foldout ); + m_FoldoutBold.fontStyle = FontStyle.Bold; + } + + return m_FoldoutBold; + } + } + + static GUIStyle m_RichLabel; + public static GUIStyle RichLabel + { + get + { + if( m_RichLabel == null ) + { + m_RichLabel = new GUIStyle( GUI.skin.label ); + m_RichLabel.richText = true; + m_RichLabel.wordWrap = true; + } + + return m_RichLabel; + } + } + #endregion + + static Texture2D m_HelpIcon; + public static Texture2D HelpIcon + { + get + { + if( m_HelpIcon == null ) + { + m_HelpIcon = AssetDatabase.LoadAssetAtPath( "Assets/Photon Unity Networking/Editor/PhotonNetwork/help.png", typeof( Texture2D ) ) as Texture2D; + } + + return m_HelpIcon; + } + } + + #region Interface + public static void ContainerHeader( string headline ) + { + DoContainerHeader( headline, 27, 0 ); + } + + public static bool ContainerHeaderToggle( string headline, bool toggle ) + { + return DoContainerHeaderToggle( headline, toggle ); + } + + public static bool ContainerHeaderFoldout( string headline, bool foldout ) + { + return DoContainerHeaderFoldout( headline, foldout ); + } + + public static Rect ContainerBody( float height ) + { + return DoContainerBody( height ); + } + + public static bool AddButton() + { + Rect controlRect = EditorGUILayout.GetControlRect( false, DefaultAddButtonStyle.fixedHeight - 5 ); + controlRect.yMin -= 5; + controlRect.yMax -= 5; + + Rect addButtonRect = new Rect( controlRect.xMax - DefaultAddButtonStyle.fixedWidth, + controlRect.yMin, + DefaultAddButtonStyle.fixedWidth, + DefaultAddButtonStyle.fixedHeight ); + + return GUI.Button( addButtonRect, "", DefaultAddButtonStyle ); + } + + public static void DrawSplitter( Rect position ) + { + ReorderableListResources.DrawTexture( position, ReorderableListResources.texItemSplitter ); + } + + public static void DrawGizmoOptions( + Rect position, + string label, + SerializedProperty gizmoEnabledProperty, + SerializedProperty gizmoColorProperty, + SerializedProperty gizmoTypeProperty, + SerializedProperty gizmoSizeProperty ) + { + float height = EditorGUIUtility.singleLineHeight; + float flexibleWidth = Mathf.Max( 40, position.width - EditorGUIUtility.labelWidth - 20 - 75 - 5 - 40 - 5 ); + + Rect labelRect = new Rect( position.xMin, position.yMin, EditorGUIUtility.labelWidth, height ); + GUI.Label( labelRect, label ); + + Rect enabledRect = new Rect( labelRect.xMax, labelRect.yMin, 20, height ); + EditorGUI.PropertyField( enabledRect, gizmoEnabledProperty, GUIContent.none ); + + bool oldGUIEnabled = GUI.enabled; + GUI.enabled = gizmoEnabledProperty.boolValue; + + Rect colorRect = new Rect( enabledRect.xMax + 5, labelRect.yMin, 70, height ); + EditorGUI.PropertyField( colorRect, gizmoColorProperty, GUIContent.none ); + + Rect typeRect = new Rect( colorRect.xMax + 5, labelRect.yMin, flexibleWidth * 0.7f, height ); + EditorGUI.PropertyField( typeRect, gizmoTypeProperty, GUIContent.none ); + + Rect sizeLabelRect = new Rect( typeRect.xMax + 10, labelRect.yMin, 30, height ); + GUI.Label( sizeLabelRect, "Size" ); + + Rect sizeRect = new Rect( sizeLabelRect.xMax + 5, labelRect.yMin, flexibleWidth * 0.3f, height ); + EditorGUI.PropertyField( sizeRect, gizmoSizeProperty, GUIContent.none ); + + GUI.enabled = oldGUIEnabled; + } + + #endregion + + #region Implementation + static Rect DoContainerBody( float height ) + { + Rect controlRect = EditorGUILayout.GetControlRect( false, height ); + controlRect.yMin -= 3; + controlRect.yMax -= 2; + + int controlID = GUIUtility.GetControlID( FocusType.Passive, controlRect ); + + if( Event.current.type == EventType.Repaint ) + { + PhotonGUI.DefaultContainerStyle.Draw( controlRect, GUIContent.none, controlID ); + } + + return controlRect; + } + + static bool DoContainerHeaderToggle( string headline, bool toggle ) + { + Rect rect = DoContainerHeader( headline, 27, 15 ); + Rect toggleRect = new Rect( rect.xMin + 5, rect.yMin + 5, EditorGUIUtility.labelWidth, rect.height ); + + return EditorGUI.Toggle( toggleRect, toggle ); + } + + + static bool DoContainerHeaderFoldout( string headline, bool foldout ) + { + Rect rect = DoContainerHeader( "", 27, 0f ); + Rect foldoutRect = new Rect( rect.xMin + 15, rect.yMin + 5, rect.width, rect.height ); + + return EditorGUI.Foldout( foldoutRect, foldout, headline, FoldoutBold ); + } + + static Rect DoContainerHeader( string headline, float height, float contentOffset ) + { + GUILayout.Space( 5 ); + Rect controlRect = EditorGUILayout.GetControlRect( false, height ); + + int controlID = GUIUtility.GetControlID( FocusType.Passive, controlRect ); + + if( Event.current.type == EventType.Repaint ) + { + PhotonGUI.DefaultTitleStyle.Draw( controlRect, GUIContent.none, controlID ); + + Rect labelRect = new Rect( controlRect.xMin + 5 + contentOffset, controlRect.yMin + 5, controlRect.width, controlRect.height ); + GUI.Label( labelRect, headline, EditorStyles.boldLabel ); + } + + return controlRect; + } + #endregion +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonGUI.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonGUI.cs.meta new file mode 100644 index 0000000..247a4eb --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonGUI.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d2cadb1ccf05074e8ce96b1393846cf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewHandler.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewHandler.cs new file mode 100644 index 0000000..b35e29a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewHandler.cs @@ -0,0 +1,193 @@ +#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_4_OR_NEWER +#define UNITY_MIN_5_3 +#endif + +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using UnityEditor; +using UnityEngine; +using System.Collections; +using Debug = UnityEngine.Debug; +using UnityEditor.SceneManagement; + +[InitializeOnLoad] +public class PhotonViewHandler : EditorWindow +{ + private static bool CheckSceneForStuckHandlers = true; + + static PhotonViewHandler() + { + // hierarchyWindowChanged is called on hierarchy changed and on save. It's even called when hierarchy-window is closed and if a prefab with instances is changed. + // this is not called when you edit a instance's value but: on save + EditorApplication.hierarchyWindowChanged += HierarchyChange; + } + + // this method corrects the IDs for photonviews in the scene and in prefabs + // make sure prefabs always use viewID 0 + // make sure instances never use a owner + // this is a editor class that should only run if not playing + internal static void HierarchyChange() + { + if (Application.isPlaying) + { + //Debug.Log("HierarchyChange ignored, while running."); + CheckSceneForStuckHandlers = true; // done once AFTER play mode. + return; + } + + if (CheckSceneForStuckHandlers) + { + CheckSceneForStuckHandlers = false; + PhotonNetwork.InternalCleanPhotonMonoFromSceneIfStuck(); + } + + HashSet pvInstances = new HashSet(); + HashSet usedInstanceViewNumbers = new HashSet(); + bool fixedSomeId = false; + + //// the following code would be an option if we only checked scene objects (but we can check all PVs) + //PhotonView[] pvObjects = GameObject.FindSceneObjectsOfType(typeof(PhotonView)) as PhotonView[]; + //Debug.Log("HierarchyChange. PV Count: " + pvObjects.Length); + + string levelName = SceneManagerHelper.ActiveSceneName; + #if UNITY_EDITOR + levelName = SceneManagerHelper.EditorActiveSceneName; + #endif + int minViewIdInThisScene = PunSceneSettings.MinViewIdForScene(levelName); + //Debug.Log("Level '" + Application.loadedLevelName + "' has a minimum ViewId of: " + minViewIdInThisScene); + + PhotonView[] pvObjects = Resources.FindObjectsOfTypeAll(typeof(PhotonView)) as PhotonView[]; + + foreach (PhotonView view in pvObjects) + { + // first pass: fix prefabs to viewID 0 if they got a view number assigned (cause they should not have one!) + if (EditorUtility.IsPersistent(view.gameObject)) + { + if (view.viewID != 0 || view.prefixBackup != -1 || view.instantiationId != -1) + { + Debug.LogWarning("PhotonView on persistent object being fixed (id and prefix must be 0). Was: " + view); + view.viewID = 0; + view.prefixBackup = -1; + view.instantiationId = -1; + EditorUtility.SetDirty(view); // even in Unity 5.3+ it's OK to SetDirty() for non-scene objects. + fixedSomeId = true; + } + } + else + { + // keep all scene-instanced PVs for later re-check + pvInstances.Add(view); + } + } + + Dictionary idPerObject = new Dictionary(); + + // second pass: check all used-in-scene viewIDs for duplicate viewIDs (only checking anything non-prefab) + // scene-PVs must have user == 0 (scene/room) and a subId != 0 + foreach (PhotonView view in pvInstances) + { + if (view.ownerId > 0) + { + Debug.Log("Re-Setting Owner ID of: " + view); + } + view.ownerId = 0; // simply make sure no owner is set (cause room always uses 0) + view.prefix = -1; // TODO: prefix could be settable via inspector per scene?! + + if (view.viewID != 0) + { + if (view.viewID < minViewIdInThisScene || usedInstanceViewNumbers.Contains(view.viewID)) + { + view.viewID = 0; // avoid duplicates and negative values by assigning 0 as (temporary) number to be fixed in next pass + } + else + { + usedInstanceViewNumbers.Add(view.viewID); // builds a list of currently used viewIDs + + int instId = 0; + if (idPerObject.TryGetValue(view.gameObject, out instId)) + { + view.instantiationId = instId; + } + else + { + view.instantiationId = view.viewID; + idPerObject[view.gameObject] = view.instantiationId; + } + } + } + + } + + // third pass: anything that's now 0 must get a new (not yet used) ID (starting at 0) + int lastUsedId = (minViewIdInThisScene > 0) ? minViewIdInThisScene - 1 : 0; + + foreach (PhotonView view in pvInstances) + { + if (view.viewID == 0) + { + Undo.RecordObject(view, "Automatic viewID change for: "+view.gameObject.name); + + // Debug.LogWarning("setting scene ID: " + view.gameObject.name + " ID: " + view.subId.ID + " scene ID: " + view.GetSceneID() + " IsPersistent: " + EditorUtility.IsPersistent(view.gameObject) + " IsSceneViewIDFree: " + IsSceneViewIDFree(view.subId.ID, view)); + int nextViewId = PhotonViewHandler.GetID(lastUsedId, usedInstanceViewNumbers); + + view.viewID = nextViewId; + + int instId = 0; + if (idPerObject.TryGetValue(view.gameObject, out instId)) + { + view.instantiationId = instId; + } + else + { + view.instantiationId = view.viewID; + idPerObject[view.gameObject] = nextViewId; + } + + lastUsedId = nextViewId; + fixedSomeId = true; + + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(view); + #endif + } + } + + + if (fixedSomeId) + { + //Debug.LogWarning("Some subId was adjusted."); // this log is only interesting for Exit Games + } + } + + // TODO fail if no ID was available anymore + // TODO look up lower numbers if offset hits max?! + public static int GetID(int idOffset, HashSet usedInstanceViewNumbers) + { + while (idOffset < PhotonNetwork.MAX_VIEW_IDS) + { + idOffset++; + if (!usedInstanceViewNumbers.Contains(idOffset)) + { + break; + } + } + + return idOffset; + } + + //TODO: check if this can be internal protected (as source in editor AND as dll) + public static void LoadAllScenesToFix() + { + string[] scenes = System.IO.Directory.GetFiles(".", "*.unity", SearchOption.AllDirectories); + + foreach (string scene in scenes) + { + EditorSceneManager.OpenScene(scene); + PhotonViewHandler.HierarchyChange();//NOTE: most likely on load also triggers a hierarchy change + EditorSceneManager.SaveOpenScenes(); + } + + Debug.Log("Corrected scene views where needed."); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewHandler.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewHandler.cs.meta new file mode 100644 index 0000000..74dfe3f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 57b538e62a0ca6248bfd354def935e57 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewInspector.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewInspector.cs new file mode 100644 index 0000000..be24170 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewInspector.cs @@ -0,0 +1,276 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// Custom inspector for the PhotonView component. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_4_OR_NEWER +#define UNITY_MIN_5_3 +#endif + + +using System; +using UnityEditor; +using UnityEngine; + +using Photon.Pun; + + +[CustomEditor(typeof (PhotonView))] +public class PhotonViewInspector : Editor +{ + private PhotonView m_Target; + + public override void OnInspectorGUI() + { + this.m_Target = (PhotonView)target; + bool isProjectPrefab = EditorUtility.IsPersistent(this.m_Target.gameObject); + + if (this.m_Target.ObservedComponents == null) + { + this.m_Target.ObservedComponents = new System.Collections.Generic.List(); + } + + if (this.m_Target.ObservedComponents.Count == 0) + { + this.m_Target.ObservedComponents.Add(null); + } + + EditorGUILayout.BeginHorizontal(); + // Owner + if (isProjectPrefab) + { + EditorGUILayout.LabelField("Owner:", "Set at runtime"); + } + else if (!this.m_Target.isOwnerActive) + { + EditorGUILayout.LabelField("Owner", "Scene"); + } + else + { + PhotonPlayer owner = this.m_Target.owner; + string ownerInfo = (owner != null) ? owner.NickName : ""; + + if (string.IsNullOrEmpty(ownerInfo)) + { + ownerInfo = ""; + } + + EditorGUILayout.LabelField("Owner", "[" + this.m_Target.ownerId + "] " + ownerInfo); + } + + // ownership requests + EditorGUI.BeginDisabledGroup(Application.isPlaying); + OwnershipOption own = (OwnershipOption)EditorGUILayout.EnumPopup(this.m_Target.ownershipTransfer, GUILayout.Width(100)); + if (own != this.m_Target.ownershipTransfer) + { + // jf: fixed 5 and up prefab not accepting changes if you quit Unity straight after change. + // not touching the define nor the rest of the code to avoid bringing more problem than solving. + EditorUtility.SetDirty(this.m_Target); + + Undo.RecordObject(this.m_Target, "Change PhotonView Ownership Transfer"); + this.m_Target.ownershipTransfer = own; + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.EndHorizontal(); + + + // View ID + if (isProjectPrefab) + { + EditorGUILayout.LabelField("View ID", "Set at runtime"); + } + else if (EditorApplication.isPlaying) + { + EditorGUILayout.LabelField("View ID", this.m_Target.viewID.ToString()); + } + else + { + int idValue = EditorGUILayout.IntField("View ID [1.." + (PhotonNetwork.MAX_VIEW_IDS - 1) + "]", this.m_Target.viewID); + if (this.m_Target.viewID != idValue) + { + Undo.RecordObject(this.m_Target, "Change PhotonView viewID"); + this.m_Target.viewID = idValue; + } + } + + // Locally Controlled + if (EditorApplication.isPlaying) + { + string masterClientHint = PhotonNetwork.isMasterClient ? "(master)" : ""; + EditorGUILayout.Toggle("Controlled locally: " + masterClientHint, this.m_Target.isMine); + } + + // ViewSynchronization (reliability) + if (this.m_Target.synchronization == ViewSynchronization.Off) + { + GUI.color = Color.grey; + } + + EditorGUILayout.PropertyField(serializedObject.FindProperty("synchronization"), new GUIContent("Observe option:")); + + if (this.m_Target.synchronization != ViewSynchronization.Off && this.m_Target.ObservedComponents.FindAll(item => item != null).Count == 0) + { + GUILayout.BeginVertical(GUI.skin.box); + GUILayout.Label("Warning", EditorStyles.boldLabel); + GUILayout.Label("Setting the synchronization option only makes sense if you observe something."); + GUILayout.EndVertical(); + } + + DrawSpecificTypeSerializationOptions(); + + GUI.color = Color.white; + DrawObservedComponentsList(); + + // Cleanup: save and fix look + if (GUI.changed) + { + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + PhotonViewHandler.HierarchyChange(); // TODO: check if needed + } + + GUI.color = Color.white; + #if !UNITY_MIN_5_3 + EditorGUIUtility.LookLikeControls(); + #endif + } + + private void DrawSpecificTypeSerializationOptions() + { + if (this.m_Target.ObservedComponents.FindAll(item => item != null && item.GetType() == typeof (Transform)).Count > 0) + { + this.m_Target.onSerializeTransformOption = (OnSerializeTransform)EditorGUILayout.EnumPopup("Transform Serialization:", this.m_Target.onSerializeTransformOption); + } + else if (this.m_Target.ObservedComponents.FindAll(item => item != null && item.GetType() == typeof (Rigidbody)).Count > 0 || + this.m_Target.ObservedComponents.FindAll(item => item != null && item.GetType() == typeof (Rigidbody2D)).Count > 0) + { + this.m_Target.onSerializeRigidBodyOption = (OnSerializeRigidBody)EditorGUILayout.EnumPopup("Rigidbody Serialization:", this.m_Target.onSerializeRigidBodyOption); + } + } + + + private int GetObservedComponentsCount() + { + int count = 0; + + for (int i = 0; i < this.m_Target.ObservedComponents.Count; ++i) + { + if (this.m_Target.ObservedComponents[i] != null) + { + count++; + } + } + + return count; + } + + private void DrawObservedComponentsList() + { + GUILayout.Space(5); + SerializedProperty listProperty = serializedObject.FindProperty("ObservedComponents"); + + if (listProperty == null) + { + return; + } + + float containerElementHeight = 22; + float containerHeight = listProperty.arraySize*containerElementHeight; + + bool isOpen = PhotonGUI.ContainerHeaderFoldout("Observed Components (" + GetObservedComponentsCount() + ")", serializedObject.FindProperty("ObservedComponentsFoldoutOpen").boolValue); + serializedObject.FindProperty("ObservedComponentsFoldoutOpen").boolValue = isOpen; + + if (isOpen == false) + { + containerHeight = 0; + } + + //Texture2D statsIcon = AssetDatabase.LoadAssetAtPath( "Assets/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewStats.png", typeof( Texture2D ) ) as Texture2D; + + Rect containerRect = PhotonGUI.ContainerBody(containerHeight); + bool wasObservedComponentsEmpty = this.m_Target.ObservedComponents.FindAll(item => item != null).Count == 0; + if (isOpen == true) + { + for (int i = 0; i < listProperty.arraySize; ++i) + { + Rect elementRect = new Rect(containerRect.xMin, containerRect.yMin + containerElementHeight*i, containerRect.width, containerElementHeight); + { + Rect texturePosition = new Rect(elementRect.xMin + 6, elementRect.yMin + elementRect.height/2f - 1, 9, 5); + ReorderableListResources.DrawTexture(texturePosition, ReorderableListResources.texGrabHandle); + + Rect propertyPosition = new Rect(elementRect.xMin + 20, elementRect.yMin + 3, elementRect.width - 45, 16); + EditorGUI.PropertyField(propertyPosition, listProperty.GetArrayElementAtIndex(i), new GUIContent()); + + //Debug.Log( listProperty.GetArrayElementAtIndex( i ).objectReferenceValue.GetType() ); + //Rect statsPosition = new Rect( propertyPosition.xMax + 7, propertyPosition.yMin, statsIcon.width, statsIcon.height ); + //ReorderableListResources.DrawTexture( statsPosition, statsIcon ); + + Rect removeButtonRect = new Rect(elementRect.xMax - PhotonGUI.DefaultRemoveButtonStyle.fixedWidth, + elementRect.yMin + 2, + PhotonGUI.DefaultRemoveButtonStyle.fixedWidth, + PhotonGUI.DefaultRemoveButtonStyle.fixedHeight); + + GUI.enabled = listProperty.arraySize > 1; + if (GUI.Button(removeButtonRect, new GUIContent(ReorderableListResources.texRemoveButton), PhotonGUI.DefaultRemoveButtonStyle)) + { + listProperty.DeleteArrayElementAtIndex(i); + } + GUI.enabled = true; + + if (i < listProperty.arraySize - 1) + { + texturePosition = new Rect(elementRect.xMin + 2, elementRect.yMax, elementRect.width - 4, 1); + PhotonGUI.DrawSplitter(texturePosition); + } + } + } + } + + if (PhotonGUI.AddButton()) + { + listProperty.InsertArrayElementAtIndex(Mathf.Max(0, listProperty.arraySize - 1)); + } + + serializedObject.ApplyModifiedProperties(); + + bool isObservedComponentsEmpty = this.m_Target.ObservedComponents.FindAll(item => item != null).Count == 0; + + if (wasObservedComponentsEmpty == true && isObservedComponentsEmpty == false && this.m_Target.synchronization == ViewSynchronization.Off) + { + Undo.RecordObject(this.m_Target, "Change PhotonView"); + this.m_Target.synchronization = ViewSynchronization.UnreliableOnChange; + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + serializedObject.Update(); + } + + if (wasObservedComponentsEmpty == false && isObservedComponentsEmpty == true) + { + Undo.RecordObject(this.m_Target, "Change PhotonView"); + this.m_Target.synchronization = ViewSynchronization.Off; + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + serializedObject.Update(); + } + } + + private static GameObject GetPrefabParent(GameObject mp) + { + #if UNITY_2_6_1 || UNITY_2_6 || UNITY_3_0 || UNITY_3_0_0 || UNITY_3_1 || UNITY_3_2 || UNITY_3_3 || UNITY_3_4 + // Unity 3.4 and older use EditorUtility + return (EditorUtility.GetPrefabParent(mp) as GameObject); + #else + // Unity 3.5 uses PrefabUtility + return PrefabUtility.GetPrefabParent(mp) as GameObject; + #endif + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewInspector.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewInspector.cs.meta new file mode 100644 index 0000000..200b1ee --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PhotonViewInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e73a30c46df19194f873ea7a9ce12753 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettings.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettings.cs new file mode 100644 index 0000000..264e195 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettings.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.IO; +using UnityEditor; +using UnityEngine; + +[Serializable] +public class SceneSetting +{ + public string sceneName; + public int minViewId; +} + +public class PunSceneSettings : ScriptableObject +{ + [SerializeField] public List MinViewIdPerScene = new List(); + + private const string SceneSettingsFileName = "PunSceneSettingsFile.asset"; + + // we use the path to PunSceneSettings.cs as path to create a scene settings file + private static string punSceneSettingsCsPath; + public static string PunSceneSettingsCsPath + { + get + { + if (!string.IsNullOrEmpty(punSceneSettingsCsPath)) + { + return punSceneSettingsCsPath; + } + + // Unity 4.3.4 does not yet have AssetDatabase.FindAssets(). Would be easier. + var result = Directory.GetFiles(Application.dataPath, "PunSceneSettings.cs", SearchOption.AllDirectories); + if (result.Length >= 1) + { + punSceneSettingsCsPath = Path.GetDirectoryName(result[0]); + punSceneSettingsCsPath = punSceneSettingsCsPath.Replace('\\', '/'); + punSceneSettingsCsPath = punSceneSettingsCsPath.Replace(Application.dataPath, "Assets"); + + // AssetDatabase paths have to use '/' and are relative to the project's folder. Always. + punSceneSettingsCsPath = punSceneSettingsCsPath + "/" + SceneSettingsFileName; + } + + return punSceneSettingsCsPath; + } + } + + + private static PunSceneSettings instanceField; + public static PunSceneSettings Instance + { + get + { + if (instanceField != null) + { + return instanceField; + } + + instanceField = (PunSceneSettings)AssetDatabase.LoadAssetAtPath(PunSceneSettingsCsPath, typeof(PunSceneSettings)); + if (instanceField == null) + { + instanceField = ScriptableObject.CreateInstance(); + AssetDatabase.CreateAsset(instanceField, PunSceneSettingsCsPath); + } + + return instanceField; + } + } + + + public static int MinViewIdForScene(string scene) + { + if (string.IsNullOrEmpty(scene)) + { + return 0; + } + + PunSceneSettings pss = Instance; + if (pss == null) + { + Debug.LogError("pss cant be null"); + return 0; + } + + foreach (SceneSetting setting in pss.MinViewIdPerScene) + { + if (setting.sceneName.Equals(scene)) + { + return setting.minViewId; + } + } + return 0; + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettings.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettings.cs.meta new file mode 100644 index 0000000..065e2d8 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettings.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fc3284eace5a64d4bb516df7d7effdb9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettingsFile.asset b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettingsFile.asset new file mode 100644 index 0000000..8954fa8 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettingsFile.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fc3284eace5a64d4bb516df7d7effdb9, type: 3} + m_Name: PunSceneSettingsFile + m_EditorClassIdentifier: + MinViewIdPerScene: [] diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettingsFile.asset.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettingsFile.asset.meta new file mode 100644 index 0000000..5125fa9 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/PunSceneSettingsFile.asset.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d0aacb83307022d449e90a09d28222ae diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ReorderableListResources.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ReorderableListResources.cs new file mode 100644 index 0000000..b2185d8 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ReorderableListResources.cs @@ -0,0 +1,237 @@ +// Copyright (c) 2012-2013 Rotorz Limited. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +using UnityEngine; +using UnityEditor; + +using System; + +namespace Photon.Pun +{ + + /// + /// Resources to assist with reorderable list control. + /// + internal static class ReorderableListResources + { + + static ReorderableListResources() + { + GenerateSpecialTextures(); + LoadResourceAssets(); + } + + #region Texture Resources + + private enum ResourceName + { + add_button = 0, + add_button_active, + container_background, + grab_handle, + remove_button, + remove_button_active, + title_background, + } + + /// + /// Resource assets for light skin. + /// + /// + /// Resource assets are PNG images which have been encoded using a base-64 + /// string so that actual asset files are not necessary. + /// + private static string[] s_LightSkin = { + "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAQCAYAAAABOs/SAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAW0lEQVRIS+3NywnAQAhF0anI4mzVCmzBBl7QEBgGE5JFhBAXd+OHM5gZZgYRKcktNxu+HRFF2e6qhtOjtQM7K/tZ+xY89wSbazg9eqOfw6oag4rcChjY8coAjA2l1RxFDY8IFAAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAQCAYAAAABOs/SAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGlJREFUeNpiFBER+f/jxw8GNjY2BnqAX79+MXBwcDAwMQwQGHoWnzp1CoxHjo8pBSykBi8+MTMzs2HmY2QfwXxKii9HExdZgNwgHuFB/efPH7pZCLOL8f///wyioqL/6enbL1++MAIEGABvGSLA+9GPZwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAMElEQVQYV2P4//8/Q1FR0X8YBvHBAp8+ffp/+fJlMA3igwUfPnwIFgDRYEFM7f8ZAG1EOYL9INrfAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAIElEQVQYV2P49OnTf0KYobCw8D8hzPD/P2FMLesK/wMAs5yJpK+6aN4AAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAIAAADq9gq6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABVJREFUeNpiVFZWZsAGmBhwAIAAAwAURgBt4C03ZwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAIAAADq9gq6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABVJREFUeNpivHPnDgM2wMSAAwAEGAB8VgKYlvqkBwAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEFJREFUeNpi/P//P0NxcfF/BgRgZP78+fN/VVVVhpCQEAZjY2OGs2fPNrCApBwdHRkePHgAVwoWnDVrFgMyAAgwAAt4E1dCq1obAAAAAElFTkSuQmCC" + }; + /// + /// Resource assets for dark skin. + /// + /// + /// Resource assets are PNG images which have been encoded using a base-64 + /// string so that actual asset files are not necessary. + /// + private static string[] s_DarkSkin = { + "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAQCAYAAAABOs/SAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIBJREFUeNpiVFZW/u/i4sLw4sULBnoACQkJhj179jAwMQwQGHoWl5aWgvHI8TGlgIXU4MUn1t3dPcx8HB8fD2cvXLgQQ0xHR4c2FmMzmBTLhl5QYwt2cn1MtsXkWjg4gvrt27fgWoMeAGQXCDD+//+fQUVF5T89fXvnzh1GgAADAFmSI1Ed3FqgAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAQCAYAAAABOs/SAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHlJREFUeNpiFBER+f/jxw8GNjY2BnqAX79+MXBwcDAwMQwQGHoWv3nzBoxHjo8pBSykBi8+MWAOGWY+5uLigrO/ffuGIYbMppnF5Fg2tFM1yKfk+pbkoKZGEA+OVP3nzx+6WQizi/H///8MoqKi/+np2y9fvjACBBgAoTYjgvihfz0AAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpi/P//P4OKisp/Bii4c+cOIwtIwMXFheHFixcMEhISYAVMINm3b9+CBUA0CDCiazc0NGQECDAAdH0YelA27kgAAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACRJREFUeNpizM3N/c9AADAqKysTVMTi5eXFSFAREFPHOoAAAwBCfwcAO8g48QAAAABJRU5ErkJggg==", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi/P//PwM+wHL06FG8KpgYCABGZWVlvCYABBgA7/sHvGw+cz8AAAAASUVORK5CYII=", + "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi/P//PwM+wPKfgAomBgKAhYuLC68CgAADAAxjByOjCHIRAAAAAElFTkSuQmCC", + "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAECAYAAABGM/VAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADtJREFUeNpi/P//P4OKisp/Bii4c+cOIwtIQE9Pj+HLly9gQRCfBcQACbx69QqmmAEseO/ePQZkABBgAD04FXsmmijSAAAAAElFTkSuQmCC" + }; + + /// + /// Gets light or dark texture "add_button.png". + /// + public static Texture2D texAddButton + { + get { return s_Cached[ (int)ResourceName.add_button ]; } + } + /// + /// Gets light or dark texture "add_button_active.png". + /// + public static Texture2D texAddButtonActive + { + get { return s_Cached[ (int)ResourceName.add_button_active ]; } + } + /// + /// Gets light or dark texture "container_background.png". + /// + public static Texture2D texContainerBackground + { + get { return s_Cached[ (int)ResourceName.container_background ]; } + } + /// + /// Gets light or dark texture "grab_handle.png". + /// + public static Texture2D texGrabHandle + { + get { return s_Cached[ (int)ResourceName.grab_handle ]; } + } + /// + /// Gets light or dark texture "remove_button.png". + /// + public static Texture2D texRemoveButton + { + get { return s_Cached[ (int)ResourceName.remove_button ]; } + } + /// + /// Gets light or dark texture "remove_button_active.png". + /// + public static Texture2D texRemoveButtonActive + { + get { return s_Cached[ (int)ResourceName.remove_button_active ]; } + } + /// + /// Gets light or dark texture "title_background.png". + /// + public static Texture2D texTitleBackground + { + get { return s_Cached[ (int)ResourceName.title_background ]; } + } + + #endregion + + #region Generated Resources + + public static Texture2D texItemSplitter { get; private set; } + + /// + /// Generate special textures. + /// + private static void GenerateSpecialTextures() + { + var splitterColor = EditorGUIUtility.isProSkin + ? new Color( 1f, 1f, 1f, 0.14f ) + : new Color( 0.59f, 0.59f, 0.59f, 0.55f ) + ; + texItemSplitter = CreatePixelTexture( "(Generated) Item Splitter", splitterColor ); + } + + /// + /// Create 1x1 pixel texture of specified color. + /// + /// Name for texture object. + /// Pixel color. + /// + /// The new Texture2D instance. + /// + public static Texture2D CreatePixelTexture( string name, Color color ) + { + var tex = new Texture2D( 1, 1, TextureFormat.ARGB32, false, true ); + tex.name = name; + tex.hideFlags = HideFlags.HideAndDontSave; + tex.filterMode = FilterMode.Point; + tex.SetPixel( 0, 0, color ); + tex.Apply(); + return tex; + } + + #endregion + + #region Load PNG from Base-64 Encoded String + + private static Texture2D[] s_Cached; + + /// + /// Read textures from base-64 encoded strings. Automatically selects assets based + /// upon whether the light or dark (pro) skin is active. + /// + private static void LoadResourceAssets() + { + var skin = EditorGUIUtility.isProSkin ? s_DarkSkin : s_LightSkin; + s_Cached = new Texture2D[ skin.Length ]; + + for( int i = 0; i < s_Cached.Length; ++i ) + { + // Get image data (PNG) from base64 encoded strings. + byte[] imageData = Convert.FromBase64String( skin[ i ] ); + + // Gather image size from image data. + int texWidth, texHeight; + GetImageSize( imageData, out texWidth, out texHeight ); + + // Generate texture asset. + var tex = new Texture2D( texWidth, texHeight, TextureFormat.ARGB32, false, true ); + tex.hideFlags = HideFlags.HideAndDontSave; + tex.name = "(Generated) ReorderableList:" + i; + tex.filterMode = FilterMode.Point; + tex.LoadImage( imageData ); + + s_Cached[ i ] = tex; + } + + s_LightSkin = null; + s_DarkSkin = null; + } + + /// + /// Read width and height if PNG file in pixels. + /// + /// PNG image data. + /// Width of image in pixels. + /// Height of image in pixels. + private static void GetImageSize( byte[] imageData, out int width, out int height ) + { + width = ReadInt( imageData, 3 + 15 ); + height = ReadInt( imageData, 3 + 15 + 2 + 2 ); + } + + private static int ReadInt( byte[] imageData, int offset ) + { + return ( imageData[ offset ] << 8 ) | imageData[ offset + 1 ]; + } + + #endregion + + #region GUI Helper + private static GUIStyle s_TempStyle = new GUIStyle(); + + /// + /// Draw texture using to workaround bug in Unity where + /// flickers when embedded inside a property drawer. + /// + /// Position of which to draw texture in space of GUI. + /// Texture. + public static void DrawTexture( Rect position, Texture2D texture ) + { + if( Event.current.type != EventType.Repaint ) + return; + + s_TempStyle.normal.background = texture; + + s_TempStyle.Draw( position, GUIContent.none, false, false, false, false ); + } + #endregion + + } + +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ReorderableListResources.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ReorderableListResources.cs.meta new file mode 100644 index 0000000..7f43a21 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ReorderableListResources.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60c609ded101b0a468fb5cf27b31cf27 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ServerSettingsInspector.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ServerSettingsInspector.cs new file mode 100644 index 0000000..4d919fd --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ServerSettingsInspector.cs @@ -0,0 +1,350 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// This is a custom editor for the ServerSettings scriptable object. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using ExitGames.Client.Photon; +using UnityEditor; +using UnityEngine; + + +[CustomEditor(typeof (ServerSettings))] +public class ServerSettingsInspector : Editor +{ + private bool showMustHaveRegion; + private CloudRegionCode lastUsedRegion; + private ServerConnection lastServer; + + + [ExecuteInEditMode] + public void OnEnable() + { + this.lastUsedRegion = ServerSettings.BestRegionCodeInPreferences; + EditorApplication.update += this.OnUpdate; + } + + + public void OnDisable() + { + EditorApplication.update -= this.OnUpdate; + } + + + private void OnUpdate() + { + if (this.lastUsedRegion != ServerSettings.BestRegionCodeInPreferences) + { + this.lastUsedRegion = ServerSettings.BestRegionCodeInPreferences; + Repaint(); + } + // this won't repaint when we disconnect but it's "good enough" to update when we connect and switch servers. + if (Application.isPlaying && this.lastServer != PhotonNetwork.Server) + { + this.lastServer = PhotonNetwork.Server; + Repaint(); + } + } + + + public override void OnInspectorGUI() + { + ServerSettings settings = (ServerSettings) target; + Undo.RecordObject(settings, "Edit PhotonServerSettings"); + settings.HostType = (ServerSettings.HostingOption) EditorGUILayout.EnumPopup("Hosting", settings.HostType); + EditorGUI.indentLevel = 1; + + switch (settings.HostType) + { + case ServerSettings.HostingOption.BestRegion: + case ServerSettings.HostingOption.PhotonCloud: + // region selection + if (settings.HostType == ServerSettings.HostingOption.PhotonCloud) + { + settings.PreferredRegion = (CloudRegionCode)EditorGUILayout.EnumPopup("Region", settings.PreferredRegion); + } + else + { + string _regionFeedback = "Prefs:"+ServerSettings.BestRegionCodeInPreferences.ToString(); + + // the NameServer does not have a region itself. it's global (although it has regional instances) + if (PhotonNetwork.connected && PhotonNetwork.Server != ServerConnection.NameServer) + { + _regionFeedback = "Current:" + PhotonNetwork.CloudRegion + " " + _regionFeedback; + } + + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.PrefixLabel (" "); + Rect rect = GUILayoutUtility.GetRect(new GUIContent(_regionFeedback),"Label"); + int indentLevel = EditorGUI.indentLevel; + EditorGUI.indentLevel = 0; + EditorGUI.LabelField (rect, _regionFeedback); + EditorGUI.indentLevel = indentLevel; + + rect.x += rect.width-39; + rect.width = 39; + + rect.height -=2; + if (GUI.Button(rect,"Reset",EditorStyles.miniButton)) + { + ServerSettings.ResetBestRegionCodeInPreferences(); + } + EditorGUILayout.EndHorizontal (); + + + + CloudRegionFlag valRegions = (CloudRegionFlag)EditorGUILayout.EnumMaskField("Enabled Regions", settings.EnabledRegions); + + if (valRegions != settings.EnabledRegions) + { + settings.EnabledRegions = valRegions; + this.showMustHaveRegion = valRegions == 0; + } + if (this.showMustHaveRegion) + { + EditorGUILayout.HelpBox("You should enable at least two regions for 'Best Region' hosting.", MessageType.Warning); + } + + + + + } + + // appid + string valAppId = EditorGUILayout.TextField("AppId", settings.AppID); + if (valAppId != settings.AppID) + { + settings.AppID = valAppId.Trim(); + } + if (!ServerSettings.IsAppId(settings.AppID)) + { + EditorGUILayout.HelpBox("PUN needs an AppId (GUID).\nFind it online in the Dashboard.", MessageType.Warning); + } + + // protocol + ConnectionProtocol valProtocol = settings.Protocol; + valProtocol = (ConnectionProtocol) EditorGUILayout.EnumPopup("Protocol", valProtocol); + settings.Protocol = (ConnectionProtocol) valProtocol; + #if UNITY_WEBGL + EditorGUILayout.HelpBox("WebGL always use Secure WebSockets as protocol.\nThis setting gets ignored in current export.", MessageType.Warning); + #endif + break; + + case ServerSettings.HostingOption.SelfHosted: + // address and port (depends on protocol below) + bool hidePort = false; + if (settings.Protocol == ConnectionProtocol.Udp && (settings.ServerPort == 4530 || settings.ServerPort == 0)) + { + settings.ServerPort = 5055; + } + else if (settings.Protocol == ConnectionProtocol.Tcp && (settings.ServerPort == 5055 || settings.ServerPort == 0)) + { + settings.ServerPort = 4530; + } + #if RHTTP + if (settings.Protocol == ConnectionProtocol.RHttp) + { + settings.ServerPort = 0; + hidePort = true; + } + #endif + settings.ServerAddress = EditorGUILayout.TextField("Server Address", settings.ServerAddress); + settings.ServerAddress = settings.ServerAddress.Trim(); + if (!hidePort) + { + settings.ServerPort = EditorGUILayout.IntField("Server Port", settings.ServerPort); + } + // protocol + valProtocol = settings.Protocol; + valProtocol = (ConnectionProtocol)EditorGUILayout.EnumPopup("Protocol", valProtocol); + settings.Protocol = (ConnectionProtocol)valProtocol; + #if UNITY_WEBGL + EditorGUILayout.HelpBox("WebGL always use Secure WebSockets as protocol.\nThis setting gets ignored in current export.", MessageType.Warning); + #endif + + // appid + settings.AppID = EditorGUILayout.TextField("AppId", settings.AppID); + settings.AppID = settings.AppID.Trim(); + break; + + case ServerSettings.HostingOption.OfflineMode: + EditorGUI.indentLevel = 0; + EditorGUILayout.HelpBox("In 'Offline Mode', the client does not communicate with a server.\nAll settings are hidden currently.", MessageType.Info); + break; + + case ServerSettings.HostingOption.NotSet: + EditorGUI.indentLevel = 0; + EditorGUILayout.HelpBox("Hosting is 'Not Set'.\nConnectUsingSettings() will not be able to connect.\nSelect another option or run the PUN Wizard.", MessageType.Info); + break; + + default: + DrawDefaultInspector(); + break; + } + + if (PhotonEditor.CheckPunPlus()) + { + settings.Protocol = ConnectionProtocol.Udp; + EditorGUILayout.HelpBox("You seem to use PUN+.\nPUN+ only supports reliable UDP so the protocol is locked.", MessageType.Info); + } + + + + // CHAT SETTINGS + if (PhotonEditorUtils.HasChat) + { + GUILayout.Space(5); + EditorGUI.indentLevel = 0; + EditorGUILayout.LabelField("Photon Chat Settings"); + EditorGUI.indentLevel = 1; + string valChatAppid = EditorGUILayout.TextField("Chat AppId", settings.ChatAppID); + if (valChatAppid != settings.ChatAppID) + { + settings.ChatAppID = valChatAppid.Trim(); + } + if (!ServerSettings.IsAppId(settings.ChatAppID)) + { + EditorGUILayout.HelpBox("Photon Chat needs an AppId (GUID).\nFind it online in the Dashboard.", MessageType.Warning); + } + + EditorGUI.indentLevel = 0; + } + + + + // VOICE SETTINGS + if (PhotonEditorUtils.HasVoice) + { + GUILayout.Space(5); + EditorGUI.indentLevel = 0; + EditorGUILayout.LabelField("Photon Voice Settings"); + EditorGUI.indentLevel = 1; + switch (settings.HostType) + { + case ServerSettings.HostingOption.BestRegion: + case ServerSettings.HostingOption.PhotonCloud: + // voice appid + string valVoiceAppId = EditorGUILayout.TextField("Voice AppId", settings.VoiceAppID); + if (valVoiceAppId != settings.VoiceAppID) + { + settings.VoiceAppID = valVoiceAppId.Trim(); + } + if (!ServerSettings.IsAppId(settings.VoiceAppID)) + { + EditorGUILayout.HelpBox("Photon Voice needs an AppId (GUID).\nFind it online in the Dashboard.", MessageType.Warning); + } + break; + case ServerSettings.HostingOption.SelfHosted: + if (settings.VoiceServerPort == 0) + { + settings.VoiceServerPort = 5055; + } + settings.VoiceServerPort = EditorGUILayout.IntField("Server Port UDP", settings.VoiceServerPort); + break; + case ServerSettings.HostingOption.OfflineMode: + case ServerSettings.HostingOption.NotSet: + break; + } + EditorGUI.indentLevel = 0; + } + + + + // PUN Client Settings + GUILayout.Space(5); + EditorGUI.indentLevel = 0; + EditorGUILayout.LabelField("Client Settings"); + EditorGUI.indentLevel = 1; + //EditorGUILayout.LabelField("game version"); + settings.JoinLobby = EditorGUILayout.Toggle("Auto-Join Lobby", settings.JoinLobby); + settings.EnableLobbyStatistics = EditorGUILayout.Toggle("Enable Lobby Stats", settings.EnableLobbyStatistics); + + // Pun Logging Level + PhotonLogLevel _PunLogging = (PhotonLogLevel)EditorGUILayout.EnumPopup("Pun Logging", settings.PunLogging); + if (EditorApplication.isPlaying && PhotonNetwork.logLevel!=_PunLogging) + { + PhotonNetwork.logLevel = _PunLogging; + } + settings.PunLogging = _PunLogging; + + // Network Logging Level + DebugLevel _DebugLevel = (DebugLevel)EditorGUILayout.EnumPopup("Network Logging", settings.NetworkLogging); + if (EditorApplication.isPlaying && settings.NetworkLogging!=_DebugLevel) + { + settings.NetworkLogging = _DebugLevel; + } + settings.NetworkLogging = _DebugLevel; + + + //EditorGUILayout.LabelField("automaticallySyncScene"); + //EditorGUILayout.LabelField("autoCleanUpPlayerObjects"); + //EditorGUILayout.LabelField("lobby stats"); + //EditorGUILayout.LabelField("sendrate / serialize rate"); + //EditorGUILayout.LabelField("quick resends"); + //EditorGUILayout.LabelField("max resends"); + //EditorGUILayout.LabelField("enable crc checking"); + + + // Application settings + GUILayout.Space(5); + EditorGUI.indentLevel = 0; + EditorGUILayout.LabelField("Build Settings"); + EditorGUI.indentLevel = 1; + + settings.RunInBackground = EditorGUILayout.Toggle("Run In Background", settings.RunInBackground); + + + // RPC-shortcut list + GUILayout.Space(5); + EditorGUI.indentLevel = 0; + SerializedObject sObj = new SerializedObject(target); + SerializedProperty sRpcs = sObj.FindProperty("RpcList"); + EditorGUILayout.PropertyField(sRpcs, true); + sObj.ApplyModifiedProperties(); + + GUILayout.BeginHorizontal(); + GUILayout.Space(20); + if (GUILayout.Button("Refresh RPCs")) + { + PhotonEditor.UpdateRpcList(); + Repaint(); + } + if (GUILayout.Button("Clear RPCs")) + { + PhotonEditor.ClearRpcList(); + } + if (GUILayout.Button("Log HashCode")) + { + Debug.Log("RPC-List HashCode: " + RpcListHashCode() + ". Make sure clients that send each other RPCs have the same RPC-List."); + } + GUILayout.Space(20); + GUILayout.EndHorizontal(); + + + //SerializedProperty sp = serializedObject.FindProperty("RpcList"); + //EditorGUILayout.PropertyField(sp, true); + + if (GUI.changed) + { + EditorUtility.SetDirty(target); // even in Unity 5.3+ it's OK to SetDirty() for non-scene objects. + } + } + + private int RpcListHashCode() + { + // this is a hashcode generated to (more) easily compare this Editor's RPC List with some other + int hashCode = PhotonNetwork.PhotonServerSettings.RpcList.Count + 1; + foreach (string s in PhotonNetwork.PhotonServerSettings.RpcList) + { + int h1 = s.GetHashCode(); + hashCode = ((h1 << 5) + h1) ^ hashCode; + } + + return hashCode; + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ServerSettingsInspector.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ServerSettingsInspector.cs.meta new file mode 100644 index 0000000..d9f769d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/ServerSettingsInspector.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 21239ba77ac4b534f958e8617ef13ede +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views.meta new file mode 100644 index 0000000..d7070bf --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 00aec890a2a7844469d962ba13bc026b +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonAnimatorViewEditor.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonAnimatorViewEditor.cs new file mode 100644 index 0000000..53b904d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonAnimatorViewEditor.cs @@ -0,0 +1,349 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// This is a custom editor for the AnimatorView component. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + + +#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_4_OR_NEWER +#define UNITY_MIN_5_3 +#endif + + +using UnityEditor; +using UnityEngine; +using System.Collections.Generic; + +#if UNITY_4_0 || UNITY_4_0_1 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 +using UnityEditorInternal; +#elif UNITY_5 || UNITY_5_0 || UNITY_2017 +using UnityEditor.Animations; +#endif + +[CustomEditor(typeof (PhotonAnimatorView))] +public class PhotonAnimatorViewEditor : Editor +{ + private Animator m_Animator; + private PhotonAnimatorView m_Target; + + #if UNITY_4_0 || UNITY_4_0_1 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_2017 + private AnimatorController m_Controller; +#endif + + private const string TRIGGER_HELP_URL = "https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/animatorviewtriggerhelp/"; + + public override void OnInspectorGUI() + { + //base.OnInspectorGUI(); + + if (this.m_Animator == null) + { + GUILayout.BeginVertical(GUI.skin.box); + GUILayout.Label("GameObject doesn't have an Animator component to synchronize"); + GUILayout.EndVertical(); + return; + } + + DrawWeightInspector(); + + if (GetLayerCount() == 0) + { + GUILayout.BeginVertical(GUI.skin.box); + GUILayout.Label("Animator doesn't have any layers setup to synchronize"); + GUILayout.EndVertical(); + } + + DrawParameterInspector(); + + if (GetParameterCount() == 0) + { + GUILayout.BeginVertical(GUI.skin.box); + GUILayout.Label("Animator doesn't have any parameters setup to synchronize"); + GUILayout.EndVertical(); + } + + serializedObject.ApplyModifiedProperties(); + + //GUILayout.Label( "m_SynchronizeLayers " + serializedObject.FindProperty( "m_SynchronizeLayers" ).arraySize ); + //GUILayout.Label( "m_SynchronizeParameters " + serializedObject.FindProperty( "m_SynchronizeParameters" ).arraySize ); + } + + + private int GetLayerCount() + { + #if UNITY_5 || UNITY_5_0 || UNITY_2017 + return (this.m_Controller == null) ? 0 : this.m_Controller.layers.Length; + #else + return (this.m_Controller == null) ? 0 : this.m_Controller.layerCount; + #endif + } + + + #if UNITY_5 || UNITY_5_0 || UNITY_2017 + private RuntimeAnimatorController GetEffectiveController(Animator animator) + { + RuntimeAnimatorController controller = animator.runtimeAnimatorController; + + AnimatorOverrideController overrideController = controller as AnimatorOverrideController; + while (overrideController != null) + { + controller = overrideController.runtimeAnimatorController; + overrideController = controller as AnimatorOverrideController; + } + + return controller; + } +#endif + + + private void OnEnable() + { + this.m_Target = (PhotonAnimatorView) target; + this.m_Animator = this.m_Target.GetComponent(); + +#if UNITY_4_0 || UNITY_4_0_1 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 + this.m_Controller = AnimatorController.GetEffectiveAnimatorController(this.m_Animator); +#elif UNITY_5 || UNITY_5_0 || UNITY_2017 + this.m_Controller = this.GetEffectiveController(this.m_Animator) as AnimatorController; +#endif + + CheckIfStoredParametersExist(); + } + + private void DrawWeightInspector() + { + SerializedProperty foldoutProperty = serializedObject.FindProperty("ShowLayerWeightsInspector"); + foldoutProperty.boolValue = PhotonGUI.ContainerHeaderFoldout("Synchronize Layer Weights", foldoutProperty.boolValue); + + if (foldoutProperty.boolValue == false) + { + return; + } + + float lineHeight = 20; + Rect containerRect = PhotonGUI.ContainerBody(this.GetLayerCount()*lineHeight); + + for (int i = 0; i < this.GetLayerCount(); ++i) + { + if (this.m_Target.DoesLayerSynchronizeTypeExist(i) == false) + { + this.m_Target.SetLayerSynchronized(i, PhotonAnimatorView.SynchronizeType.Disabled); + + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + } + + PhotonAnimatorView.SynchronizeType syncType = this.m_Target.GetLayerSynchronizeType(i); + + Rect elementRect = new Rect(containerRect.xMin, containerRect.yMin + i*lineHeight, containerRect.width, lineHeight); + + Rect labelRect = new Rect(elementRect.xMin + 5, elementRect.yMin + 2, EditorGUIUtility.labelWidth - 5, elementRect.height); + GUI.Label(labelRect, "Layer " + i); + + Rect popupRect = new Rect(elementRect.xMin + EditorGUIUtility.labelWidth, elementRect.yMin + 2, elementRect.width - EditorGUIUtility.labelWidth - 5, EditorGUIUtility.singleLineHeight); + syncType = (PhotonAnimatorView.SynchronizeType) EditorGUI.EnumPopup(popupRect, syncType); + + if (i < this.GetLayerCount() - 1) + { + Rect splitterRect = new Rect(elementRect.xMin + 2, elementRect.yMax, elementRect.width - 4, 1); + PhotonGUI.DrawSplitter(splitterRect); + } + + if (syncType != this.m_Target.GetLayerSynchronizeType(i)) + { + Undo.RecordObject(target, "Modify Synchronize Layer Weights"); + this.m_Target.SetLayerSynchronized(i, syncType); + + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + } + } + } + + private int GetParameterCount() + { + #if UNITY_4_0 || UNITY_4_0_1 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 + return (this.m_Controller == null) ? 0 : this.m_Controller.parameterCount; + #elif UNITY_5 || UNITY_5_0 || UNITY_2017 + return (this.m_Controller == null) ? 0 : this.m_Controller.parameters.Length; + #else + return (m_Animator == null) ? 0 : m_Animator.parameters.Length; + #endif + } + + private AnimatorControllerParameter GetAnimatorControllerParameter(int i) + { + #if UNITY_4_0 || UNITY_4_0_1 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 + return this.m_Controller.GetParameter(i); + #elif UNITY_5 || UNITY_5_0 || UNITY_2017 + return this.m_Controller.parameters[i]; + #else + return m_Animator.parameters[i]; + #endif + } + + private bool DoesParameterExist(string name) + { + for (int i = 0; i < this.GetParameterCount(); ++i) + { + if (GetAnimatorControllerParameter(i).name == name) + { + return true; + } + } + + return false; + } + + private void CheckIfStoredParametersExist() + { + var syncedParams = this.m_Target.GetSynchronizedParameters(); + List paramsToRemove = new List(); + + for (int i = 0; i < syncedParams.Count; ++i) + { + string parameterName = syncedParams[i].Name; + if (DoesParameterExist(parameterName) == false) + { + Debug.LogWarning("Parameter '" + this.m_Target.GetSynchronizedParameters()[i].Name + "' doesn't exist anymore. Removing it from the list of synchronized parameters"); + paramsToRemove.Add(parameterName); + } + } + if (paramsToRemove.Count > 0) + { + foreach (string param in paramsToRemove) + { + this.m_Target.GetSynchronizedParameters().RemoveAll(item => item.Name == param); + } + + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + } + } + + + private void DrawParameterInspector() + { + // flag to expose a note in Interface if one or more trigger(s) are synchronized + bool isUsingTriggers = false; + + SerializedProperty foldoutProperty = serializedObject.FindProperty("ShowParameterInspector"); + foldoutProperty.boolValue = PhotonGUI.ContainerHeaderFoldout("Synchronize Parameters", foldoutProperty.boolValue); + + if (foldoutProperty.boolValue == false) + { + return; + } + + float lineHeight = 20; + Rect containerRect = PhotonGUI.ContainerBody(GetParameterCount()*lineHeight); + + for (int i = 0; i < GetParameterCount(); i++) + { + AnimatorControllerParameter parameter = null; + parameter = GetAnimatorControllerParameter(i); + + string defaultValue = ""; + + if (parameter.type == AnimatorControllerParameterType.Bool) + { + if (Application.isPlaying && m_Animator.gameObject.activeInHierarchy) + { + defaultValue += m_Animator.GetBool(parameter.name); + }else{ + defaultValue += parameter.defaultBool.ToString(); + } + } + else if (parameter.type == AnimatorControllerParameterType.Float) + { + if (Application.isPlaying && m_Animator.gameObject.activeInHierarchy) + { + defaultValue += m_Animator.GetFloat(parameter.name).ToString("0.00"); + }else{ + defaultValue += parameter.defaultFloat.ToString(); + } + } + else if (parameter.type == AnimatorControllerParameterType.Int) + { + if (Application.isPlaying && m_Animator.gameObject.activeInHierarchy) + { + defaultValue += m_Animator.GetInteger(parameter.name); + }else{ + defaultValue += parameter.defaultInt.ToString(); + } + } + else if (parameter.type == AnimatorControllerParameterType.Trigger) + { + if (Application.isPlaying && m_Animator.gameObject.activeInHierarchy) + { + defaultValue += m_Animator.GetBool(parameter.name); + }else{ + defaultValue += parameter.defaultBool.ToString(); + } + } + + if (this.m_Target.DoesParameterSynchronizeTypeExist(parameter.name) == false) + { + this.m_Target.SetParameterSynchronized(parameter.name, (PhotonAnimatorView.ParameterType) parameter.type, PhotonAnimatorView.SynchronizeType.Disabled); + + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + } + + PhotonAnimatorView.SynchronizeType value = this.m_Target.GetParameterSynchronizeType(parameter.name); + + // check if using trigger and actually synchronizing it + if (value!=PhotonAnimatorView.SynchronizeType.Disabled &¶meter.type == AnimatorControllerParameterType.Trigger) + { + isUsingTriggers = true; + } + + Rect elementRect = new Rect(containerRect.xMin, containerRect.yMin + i*lineHeight, containerRect.width, lineHeight); + + Rect labelRect = new Rect(elementRect.xMin + 5, elementRect.yMin + 2, EditorGUIUtility.labelWidth - 5, elementRect.height); + GUI.Label(labelRect, parameter.name + " (" + defaultValue + ")"); + + Rect popupRect = new Rect(elementRect.xMin + EditorGUIUtility.labelWidth, elementRect.yMin + 2, elementRect.width - EditorGUIUtility.labelWidth - 5, EditorGUIUtility.singleLineHeight); + value = (PhotonAnimatorView.SynchronizeType) EditorGUI.EnumPopup(popupRect, value); + + if (i < GetParameterCount() - 1) + { + Rect splitterRect = new Rect(elementRect.xMin + 2, elementRect.yMax, elementRect.width - 4, 1); + PhotonGUI.DrawSplitter(splitterRect); + } + + + + if (value != this.m_Target.GetParameterSynchronizeType(parameter.name)) + { + Undo.RecordObject(target, "Modify Synchronize Parameter " + parameter.name); + this.m_Target.SetParameterSynchronized(parameter.name, (PhotonAnimatorView.ParameterType) parameter.type, value); + + #if !UNITY_MIN_5_3 + EditorUtility.SetDirty(this.m_Target); + #endif + } + } + + // display note when synchronized triggers are detected. + if (isUsingTriggers) + { + GUILayout.BeginHorizontal(GUI.skin.box); + GUILayout.Label("When using triggers, make sure this component is last in the stack"); + if (GUILayout.Button(PhotonGUI.HelpIcon,GUIStyle.none,GUILayout.Width(16)) ) + { + Application.OpenURL(TRIGGER_HELP_URL); + } + GUILayout.EndHorizontal(); + } + + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonAnimatorViewEditor.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonAnimatorViewEditor.cs.meta new file mode 100644 index 0000000..c6e48af --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonAnimatorViewEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3f61bade114730459f7ad45f5f292c1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbody2DViewEditor.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbody2DViewEditor.cs new file mode 100644 index 0000000..257eaa8 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbody2DViewEditor.cs @@ -0,0 +1,21 @@ +using UnityEditor; +using UnityEngine; + +[CustomEditor(typeof (PhotonRigidbody2DView))] +public class PhotonRigidbody2DViewEditor : Editor +{ + public override void OnInspectorGUI() + { + PhotonGUI.ContainerHeader("Options"); + + Rect containerRect = PhotonGUI.ContainerBody(EditorGUIUtility.singleLineHeight*2 + 10); + + Rect propertyRect = new Rect(containerRect.xMin + 5, containerRect.yMin + 5, containerRect.width, EditorGUIUtility.singleLineHeight); + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_SynchronizeVelocity"), new GUIContent("Synchronize Velocity")); + + propertyRect.y += EditorGUIUtility.singleLineHeight; + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_SynchronizeAngularVelocity"), new GUIContent("Synchronize Angular Velocity")); + + serializedObject.ApplyModifiedProperties(); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbody2DViewEditor.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbody2DViewEditor.cs.meta new file mode 100644 index 0000000..9e50961 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbody2DViewEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a82e8e86b9eecb40ac3f6ebc949f6ef +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbodyViewEditor.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbodyViewEditor.cs new file mode 100644 index 0000000..b01fbe6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbodyViewEditor.cs @@ -0,0 +1,21 @@ +using UnityEditor; +using UnityEngine; + +[CustomEditor(typeof (PhotonRigidbodyView))] +public class PhotonRigidbodyViewEditor : Editor +{ + public override void OnInspectorGUI() + { + PhotonGUI.ContainerHeader("Options"); + + Rect containerRect = PhotonGUI.ContainerBody(EditorGUIUtility.singleLineHeight*2 + 10); + + Rect propertyRect = new Rect(containerRect.xMin + 5, containerRect.yMin + 5, containerRect.width, EditorGUIUtility.singleLineHeight); + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_SynchronizeVelocity"), new GUIContent("Synchronize Velocity")); + + propertyRect.y += EditorGUIUtility.singleLineHeight; + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_SynchronizeAngularVelocity"), new GUIContent("Synchronize Angular Velocity")); + + serializedObject.ApplyModifiedProperties(); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbodyViewEditor.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbodyViewEditor.cs.meta new file mode 100644 index 0000000..b4fa5b9 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonRigidbodyViewEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4bcfebc9a2f1074488adedd1fe84e6c9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonTransformViewEditor.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonTransformViewEditor.cs new file mode 100644 index 0000000..9adb890 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonTransformViewEditor.cs @@ -0,0 +1,434 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// This is a custom editor for the TransformView component. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + + +#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_4_OR_NEWER +#define UNITY_MIN_5_3 +#endif + + +using UnityEditor; +using UnityEngine; + +[CustomEditor(typeof (PhotonTransformView))] +public class PhotonTransformViewEditor : Editor +{ + //private PhotonTransformView m_Target; + + private SerializedProperty m_SynchronizePositionProperty; + private SerializedProperty m_SynchronizeRotationProperty; + private SerializedProperty m_SynchronizeScaleProperty; + + private bool m_InterpolateHelpOpen; + private bool m_ExtrapolateHelpOpen; + private bool m_InterpolateRotationHelpOpen; + private bool m_InterpolateScaleHelpOpen; + + private const int EDITOR_LINE_HEIGHT = 20; + + private const string INTERPOLATE_TOOLTIP = + "Choose between synchronizing the value directly (by disabling interpolation) or smoothly move it towards the newest update."; + + private const string INTERPOLATE_HELP = + "You can use interpolation to smoothly move your GameObject towards a new position that is received via the network. " + + "This helps to reduce the stuttering movement that results because the network updates only arrive 10 times per second.\n" + + "As a side effect, the GameObject is always lagging behind the actual position a little bit. This can be addressed with extrapolation."; + + private const string EXTRAPOLATE_TOOLTIP = "Extrapolation is used to predict where the GameObject actually is"; + + private const string EXTRAPOLATE_HELP = + "Whenever you deal with network values, all values you receive will be a little bit out of date since that data needs " + + "to reach you first. You can use extrapolation to try to predict where the player actually is, based on the movement data you have received.\n" + + + "This has to be tweaked carefully for each specific game in order to insure the optimal prediction. Sometimes it is very easy to extrapolate states, because " + + + "the GameObject behaves very predictable (for example for vehicles). Other times it can be very hard because the user input is translated directly to the game " + + "and you cannot really predict what the user is going to do (for example in fighting games)"; + + private const string INTERPOLATE_HELP_URL = "http://doc.exitgames.com/en/pun/current/tutorials/rpg-movement"; + private const string EXTRAPOLATE_HELP_URL = "http://doc.exitgames.com/en/pun/current/tutorials/rpg-movement"; + + public void OnEnable() + { + SetupSerializedProperties(); + } + + public override void OnInspectorGUI() + { + serializedObject.Update (); + + //this.m_Target = (PhotonTransformView) target; + + DrawIsPlayingWarning(); + GUI.enabled = !Application.isPlaying; + + DrawSynchronizePositionHeader(); + DrawSynchronizePositionData(); + + GUI.enabled = !Application.isPlaying; + DrawSynchronizeRotationHeader(); + DrawSynchronizeRotationData(); + + GUI.enabled = !Application.isPlaying; + DrawSynchronizeScaleHeader(); + DrawSynchronizeScaleData(); + + serializedObject.ApplyModifiedProperties(); + + GUI.enabled = true; + } + + private void DrawIsPlayingWarning() + { + if (Application.isPlaying == false) + { + return; + } + + GUILayout.BeginVertical(GUI.skin.box); + { + GUILayout.Label("Editing is disabled in play mode so the two objects don't go out of sync"); + } + GUILayout.EndVertical(); + } + + private void SetupSerializedProperties() + { + this.m_SynchronizePositionProperty = serializedObject.FindProperty("m_PositionModel.SynchronizeEnabled"); + this.m_SynchronizeRotationProperty = serializedObject.FindProperty("m_RotationModel.SynchronizeEnabled"); + this.m_SynchronizeScaleProperty = serializedObject.FindProperty("m_ScaleModel.SynchronizeEnabled"); + } + + private void DrawSynchronizePositionHeader() + { + DrawHeader("Synchronize Position", this.m_SynchronizePositionProperty); + } + + private void DrawSynchronizePositionData() + { + if (this.m_SynchronizePositionProperty == null || this.m_SynchronizePositionProperty.boolValue == false) + { + return; + } + + SerializedProperty interpolatePositionProperty = serializedObject.FindProperty("m_PositionModel.InterpolateOption"); + PhotonTransformViewPositionModel.InterpolateOptions interpolateOption = (PhotonTransformViewPositionModel.InterpolateOptions)interpolatePositionProperty.enumValueIndex; + + SerializedProperty extrapolatePositionProperty = serializedObject.FindProperty("m_PositionModel.ExtrapolateOption"); + PhotonTransformViewPositionModel.ExtrapolateOptions extrapolateOption = (PhotonTransformViewPositionModel.ExtrapolateOptions)extrapolatePositionProperty.enumValueIndex; + + float containerHeight = 155; + + switch (interpolateOption) + { + case PhotonTransformViewPositionModel.InterpolateOptions.FixedSpeed: + case PhotonTransformViewPositionModel.InterpolateOptions.Lerp: + containerHeight += EDITOR_LINE_HEIGHT; + break; + /*case PhotonTransformViewPositionModel.InterpolateOptions.MoveTowardsComplex: + containerHeight += EDITOR_LINE_HEIGHT*3; + break;*/ + } + + if (extrapolateOption != PhotonTransformViewPositionModel.ExtrapolateOptions.Disabled) + { + containerHeight += EDITOR_LINE_HEIGHT; + } + + switch (extrapolateOption) + { + case PhotonTransformViewPositionModel.ExtrapolateOptions.FixedSpeed: + containerHeight += EDITOR_LINE_HEIGHT; + break; + } + + if (this.m_InterpolateHelpOpen == true) + { + containerHeight += GetInterpolateHelpBoxHeight(); + } + + if (this.m_ExtrapolateHelpOpen == true) + { + containerHeight += GetExtrapolateHelpBoxHeight(); + } + + // removed Gizmo Options. -3 lines, -1 splitter + containerHeight -= EDITOR_LINE_HEIGHT * 2; + + Rect rect = PhotonGUI.ContainerBody(containerHeight); + + Rect propertyRect = new Rect(rect.xMin + 5, rect.yMin + 2, rect.width - 10, EditorGUIUtility.singleLineHeight); + + DrawTeleport(ref propertyRect); + DrawSplitter(ref propertyRect); + + DrawSynchronizePositionDataInterpolation(ref propertyRect, interpolatePositionProperty, interpolateOption); + DrawSplitter(ref propertyRect); + + DrawSynchronizePositionDataExtrapolation(ref propertyRect, extrapolatePositionProperty, extrapolateOption); + DrawSplitter(ref propertyRect); + + DrawSynchronizePositionDataGizmos(ref propertyRect); + } + + private float GetInterpolateHelpBoxHeight() + { + return PhotonGUI.RichLabel.CalcHeight(new GUIContent(INTERPOLATE_HELP), Screen.width - 54) + 35; + } + + private float GetExtrapolateHelpBoxHeight() + { + return PhotonGUI.RichLabel.CalcHeight(new GUIContent(EXTRAPOLATE_HELP), Screen.width - 54) + 35; + } + + private void DrawSplitter(ref Rect propertyRect) + { + Rect splitterRect = new Rect(propertyRect.xMin - 3, propertyRect.yMin, propertyRect.width + 6, 1); + PhotonGUI.DrawSplitter(splitterRect); + + propertyRect.y += 5; + } + + private void DrawSynchronizePositionDataGizmos(ref Rect propertyRect) + { + GUI.enabled = true; + /*PhotonGUI.DrawGizmoOptions(propertyRect, "Synchronized Position Gizmo", + serializedObject.FindProperty("m_PositionModel.DrawNetworkGizmo"), + serializedObject.FindProperty("m_PositionModel.NetworkGizmoColor"), + serializedObject.FindProperty("m_PositionModel.NetworkGizmoType"), + serializedObject.FindProperty("m_PositionModel.NetworkGizmoSize")); + propertyRect.y += EDITOR_LINE_HEIGHT; + + PhotonGUI.DrawGizmoOptions(propertyRect, "Extrapolated Position Gizmo", + serializedObject.FindProperty("m_PositionModel.DrawExtrapolatedGizmo"), + serializedObject.FindProperty("m_PositionModel.ExtrapolatedGizmoColor"), + serializedObject.FindProperty("m_PositionModel.ExtrapolatedGizmoType"), + serializedObject.FindProperty("m_PositionModel.ExtrapolatedGizmoSize")); + propertyRect.y += EDITOR_LINE_HEIGHT;*/ + + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.DrawErrorGizmo"), + new GUIContent("Draw synchronized position error")); + propertyRect.y += EDITOR_LINE_HEIGHT; + } + + private void DrawHelpBox(ref Rect propertyRect, bool isOpen, float height, string helpText, string url) + { + if (isOpen == true) + { + Rect helpRect = new Rect(propertyRect.xMin, propertyRect.yMin, propertyRect.width, height - 5); + GUI.BeginGroup(helpRect, GUI.skin.box); + GUI.Label(new Rect(5, 5, propertyRect.width - 10, height - 30), helpText, PhotonGUI.RichLabel); + if (GUI.Button(new Rect(5, height - 30, propertyRect.width - 10, 20), "Read more in our documentation")) + { + Application.OpenURL(url); + } + GUI.EndGroup(); + + propertyRect.y += height; + } + } + + private void DrawPropertyWithHelpIcon(ref Rect propertyRect, ref bool isHelpOpen, SerializedProperty property, string tooltip) + { + Rect propertyFieldRect = new Rect(propertyRect.xMin, propertyRect.yMin, propertyRect.width - 20, propertyRect.height); + string propertyName = ObjectNames.NicifyVariableName(property.name); + EditorGUI.PropertyField(propertyFieldRect, property, new GUIContent(propertyName, tooltip)); + + Rect helpIconRect = new Rect(propertyFieldRect.xMax + 5, propertyFieldRect.yMin, 20, propertyFieldRect.height); + isHelpOpen = GUI.Toggle(helpIconRect, isHelpOpen, PhotonGUI.HelpIcon, GUIStyle.none); + + propertyRect.y += EDITOR_LINE_HEIGHT; + } + + private void DrawSynchronizePositionDataExtrapolation(ref Rect propertyRect, SerializedProperty extrapolatePositionProperty, PhotonTransformViewPositionModel.ExtrapolateOptions extrapolateOption) + { + DrawPropertyWithHelpIcon(ref propertyRect, ref this.m_ExtrapolateHelpOpen, extrapolatePositionProperty, EXTRAPOLATE_TOOLTIP); + DrawHelpBox(ref propertyRect, this.m_ExtrapolateHelpOpen, GetExtrapolateHelpBoxHeight(), EXTRAPOLATE_HELP, EXTRAPOLATE_HELP_URL); + + if (extrapolateOption != PhotonTransformViewPositionModel.ExtrapolateOptions.Disabled) + { + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.ExtrapolateIncludingRoundTripTime")); + propertyRect.y += EDITOR_LINE_HEIGHT; + } + + switch (extrapolateOption) + { + case PhotonTransformViewPositionModel.ExtrapolateOptions.FixedSpeed: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.ExtrapolateSpeed")); + propertyRect.y += EDITOR_LINE_HEIGHT; + break; + } + } + + private void DrawTeleport(ref Rect propertyRect) + { + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.TeleportEnabled"), + new GUIContent("Enable teleport for great distances")); + propertyRect.y += EDITOR_LINE_HEIGHT; + + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.TeleportIfDistanceGreaterThan"), + new GUIContent("Teleport if distance greater than")); + propertyRect.y += EDITOR_LINE_HEIGHT; + } + + private void DrawSynchronizePositionDataInterpolation(ref Rect propertyRect, SerializedProperty interpolatePositionProperty, + PhotonTransformViewPositionModel.InterpolateOptions interpolateOption) + { + DrawPropertyWithHelpIcon(ref propertyRect, ref this.m_InterpolateHelpOpen, interpolatePositionProperty, INTERPOLATE_TOOLTIP); + DrawHelpBox(ref propertyRect, this.m_InterpolateHelpOpen, GetInterpolateHelpBoxHeight(), INTERPOLATE_HELP, INTERPOLATE_HELP_URL); + + switch (interpolateOption) + { + case PhotonTransformViewPositionModel.InterpolateOptions.FixedSpeed: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.InterpolateMoveTowardsSpeed"), + new GUIContent("MoveTowards Speed")); + propertyRect.y += EDITOR_LINE_HEIGHT; + break; + + case PhotonTransformViewPositionModel.InterpolateOptions.Lerp: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.InterpolateLerpSpeed"), new GUIContent("Lerp Speed")); + propertyRect.y += EDITOR_LINE_HEIGHT; + break; + + /*case PhotonTransformViewPositionModel.InterpolateOptions.MoveTowardsComplex: + Rect curveRect = new Rect(propertyRect.xMin, propertyRect.yMin, propertyRect.width - 100, propertyRect.height); + EditorGUI.PropertyField(curveRect, serializedObject.FindProperty("m_PositionModel.InterpolateSpeedCurve"), new GUIContent("MoveTowards Speed Curve")); + + Rect labelRect = new Rect(propertyRect.xMax - 95, propertyRect.yMin, 10, propertyRect.height); + GUI.Label(labelRect, "x"); + + Rect multiplierRect = new Rect(propertyRect.xMax - 80, propertyRect.yMin, 80, propertyRect.height); + EditorGUI.PropertyField(multiplierRect, serializedObject.FindProperty("m_PositionModel.InterpolateMoveTowardsSpeed"), GUIContent.none); + propertyRect.y += EDITOR_LINE_HEIGHT; + + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.InterpolateMoveTowardsAcceleration"), + new GUIContent("Acceleration")); + propertyRect.y += EDITOR_LINE_HEIGHT; + + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_PositionModel.InterpolateMoveTowardsDeceleration"), + new GUIContent("Deceleration")); + propertyRect.y += EDITOR_LINE_HEIGHT; + break;*/ + } + } + + private void DrawSynchronizeRotationHeader() + { + DrawHeader("Synchronize Rotation", this.m_SynchronizeRotationProperty); + } + + private void DrawSynchronizeRotationData() + { + if (this.m_SynchronizeRotationProperty == null || this.m_SynchronizeRotationProperty.boolValue == false) + { + return; + } + + SerializedProperty interpolateRotationProperty = serializedObject.FindProperty("m_RotationModel.InterpolateOption"); + PhotonTransformViewRotationModel.InterpolateOptions interpolateOption = + (PhotonTransformViewRotationModel.InterpolateOptions) interpolateRotationProperty.enumValueIndex; + + float containerHeight = 20; + + switch (interpolateOption) + { + case PhotonTransformViewRotationModel.InterpolateOptions.RotateTowards: + case PhotonTransformViewRotationModel.InterpolateOptions.Lerp: + containerHeight += EDITOR_LINE_HEIGHT; + break; + } + + if (this.m_InterpolateRotationHelpOpen == true) + { + containerHeight += GetInterpolateHelpBoxHeight(); + } + + Rect rect = PhotonGUI.ContainerBody(containerHeight); + Rect propertyRect = new Rect(rect.xMin + 5, rect.yMin + 2, rect.width - 10, EditorGUIUtility.singleLineHeight); + + DrawPropertyWithHelpIcon(ref propertyRect, ref this.m_InterpolateRotationHelpOpen, interpolateRotationProperty, INTERPOLATE_TOOLTIP); + DrawHelpBox(ref propertyRect, this.m_InterpolateRotationHelpOpen, GetInterpolateHelpBoxHeight(), INTERPOLATE_HELP, INTERPOLATE_HELP_URL); + + switch (interpolateOption) + { + case PhotonTransformViewRotationModel.InterpolateOptions.RotateTowards: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_RotationModel.InterpolateRotateTowardsSpeed"), + new GUIContent("RotateTowards Speed")); + break; + case PhotonTransformViewRotationModel.InterpolateOptions.Lerp: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_RotationModel.InterpolateLerpSpeed"), new GUIContent("Lerp Speed")); + break; + } + } + + private void DrawSynchronizeScaleHeader() + { + DrawHeader("Synchronize Scale", this.m_SynchronizeScaleProperty); + } + + private void DrawSynchronizeScaleData() + { + if (this.m_SynchronizeScaleProperty == null || this.m_SynchronizeScaleProperty.boolValue == false) + { + return; + } + + SerializedProperty interpolateScaleProperty = serializedObject.FindProperty("m_ScaleModel.InterpolateOption"); + PhotonTransformViewScaleModel.InterpolateOptions interpolateOption = (PhotonTransformViewScaleModel.InterpolateOptions) interpolateScaleProperty.enumValueIndex; + + float containerHeight = EDITOR_LINE_HEIGHT; + + switch (interpolateOption) + { + case PhotonTransformViewScaleModel.InterpolateOptions.MoveTowards: + case PhotonTransformViewScaleModel.InterpolateOptions.Lerp: + containerHeight += EDITOR_LINE_HEIGHT; + break; + } + + if (this.m_InterpolateScaleHelpOpen == true) + { + containerHeight += GetInterpolateHelpBoxHeight(); + } + + Rect rect = PhotonGUI.ContainerBody(containerHeight); + Rect propertyRect = new Rect(rect.xMin + 5, rect.yMin + 2, rect.width - 10, EditorGUIUtility.singleLineHeight); + + DrawPropertyWithHelpIcon(ref propertyRect, ref this.m_InterpolateScaleHelpOpen, interpolateScaleProperty, INTERPOLATE_TOOLTIP); + DrawHelpBox(ref propertyRect, this.m_InterpolateScaleHelpOpen, GetInterpolateHelpBoxHeight(), INTERPOLATE_HELP, INTERPOLATE_HELP_URL); + + switch (interpolateOption) + { + case PhotonTransformViewScaleModel.InterpolateOptions.MoveTowards: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_ScaleModel.InterpolateMoveTowardsSpeed"), + new GUIContent("MoveTowards Speed")); + break; + case PhotonTransformViewScaleModel.InterpolateOptions.Lerp: + EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_ScaleModel.InterpolateLerpSpeed"), new GUIContent("Lerp Speed")); + break; + } + } + + private void DrawHeader(string label, SerializedProperty property) + { + if (property == null) + { + return; + } + + bool newValue = PhotonGUI.ContainerHeaderToggle(label, property.boolValue); + + if (newValue != property.boolValue) + { + property.boolValue = newValue; + property.serializedObject.ApplyModifiedProperties(); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonTransformViewEditor.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonTransformViewEditor.cs.meta new file mode 100644 index 0000000..58d59ef --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/Views/PhotonTransformViewEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22292ca8ffb574945bedfaf49266672e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/background.jpg b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/background.jpg new file mode 100644 index 0000000..74d3ce8 Binary files /dev/null and b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/background.jpg differ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/background.jpg.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/background.jpg.meta new file mode 100644 index 0000000..48f073e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/background.jpg.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 1faa1cf0448470c4ebbb23b97759ab50 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/help.png b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/help.png new file mode 100644 index 0000000..a421667 Binary files /dev/null and b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/help.png differ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/help.png.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/help.png.meta new file mode 100644 index 0000000..cb312ac --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Editor/PhotonNetwork/help.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 9f1212502533cb34188dd6ef094188cb +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonCloud-icon.png b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonCloud-icon.png new file mode 100644 index 0000000..aff02a4 Binary files /dev/null and b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonCloud-icon.png differ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonCloud-icon.png.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonCloud-icon.png.meta new file mode 100644 index 0000000..173f520 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonCloud-icon.png.meta @@ -0,0 +1,38 @@ +fileFormatVersion: 2 +guid: 8425b95fef16c3f4194e3a20e245cb67 +labels: +- ExitGames +- PUN +- Photon +- Networking +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + textureFormat: -1 + maxTextureSize: 128 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: 2 + buildTargetSettings: [] diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.chm b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.chm new file mode 100644 index 0000000..778897d Binary files /dev/null and b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.chm differ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.chm.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.chm.meta new file mode 100644 index 0000000..1e4153f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.chm.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d93cfd57d52f80543b09a3f2ce724f84 diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.pdf b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.pdf new file mode 100644 index 0000000..93d2bd2 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.pdf @@ -0,0 +1,100442 @@ +%PDF-1.5 +% +1 0 obj +<< /S /GoTo /D (chapter.1) >> +endobj +4 0 obj +(\376\377\0001\000\040\000M\000a\000i\000n\000\040\000P\000a\000g\000e) +endobj +5 0 obj +<< /S /GoTo /D (chapter.2) >> +endobj +8 0 obj +(\376\377\0002\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +9 0 obj +<< /S /GoTo /D (section.2.1) >> +endobj +12 0 obj +(\376\377\0002\000.\0001\000\040\000P\000h\000o\000t\000o\000n) +endobj +13 0 obj +<< /S /GoTo /D (subsection.2.1.1) >> +endobj +16 0 obj +(\376\377\0002\000.\0001\000.\0001\000\040\000M\000a\000s\000t\000e\000r\000\040\000S\000e\000r\000v\000e\000r\000\040\000A\000n\000d\000\040\000L\000o\000b\000b\000y) +endobj +17 0 obj +<< /S /GoTo /D (subsection.2.1.2) >> +endobj +20 0 obj +(\376\377\0002\000.\0001\000.\0002\000\040\000R\000e\000m\000o\000t\000e\000\040\000P\000r\000o\000c\000e\000d\000u\000r\000e\000\040\000C\000a\000l\000l\000s) +endobj +21 0 obj +<< /S /GoTo /D (subsection.2.1.3) >> +endobj +24 0 obj +(\376\377\0002\000.\0001\000.\0003\000\040\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000i\000n\000g\000\040\000N\000e\000t\000w\000o\000r\000k\000e\000d\000\040\000O\000b\000j\000e\000c\000t\000s) +endobj +25 0 obj +<< /S /GoTo /D (chapter.3) >> +endobj +28 0 obj +(\376\377\0003\000\040\000N\000e\000t\000w\000o\000r\000k\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000\040\000G\000U\000I) +endobj +29 0 obj +<< /S /GoTo /D (chapter.4) >> +endobj +32 0 obj +(\376\377\0004\000\040\000N\000e\000t\000w\000o\000r\000k\000\040\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s\000\040\000G\000U\000I) +endobj +33 0 obj +<< /S /GoTo /D (chapter.5) >> +endobj +36 0 obj +(\376\377\0005\000\040\000P\000u\000b\000l\000i\000c\000\040\000A\000P\000I\000\040\000M\000o\000d\000u\000l\000e) +endobj +37 0 obj +<< /S /GoTo /D (chapter.6) >> +endobj +40 0 obj +(\376\377\0006\000\040\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +41 0 obj +<< /S /GoTo /D (section.6.1) >> +endobj +44 0 obj +(\376\377\0006\000.\0001\000\040\000P\000u\000b\000l\000i\000c\000\040\000A\000P\000I) +endobj +45 0 obj +<< /S /GoTo /D (subsection.6.1.1) >> +endobj +48 0 obj +(\376\377\0006\000.\0001\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +49 0 obj +<< /S /GoTo /D (subsection.6.1.2) >> +endobj +52 0 obj +(\376\377\0006\000.\0001\000.\0002\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +53 0 obj +<< /S /GoTo /D (subsubsection.6.1.2.1) >> +endobj +56 0 obj +(\376\377\0006\000.\0001\000.\0002\000.\0001\000\040\000C\000l\000i\000e\000n\000t\000S\000t\000a\000t\000e) +endobj +57 0 obj +<< /S /GoTo /D (subsubsection.6.1.2.2) >> +endobj +60 0 obj +(\376\377\0006\000.\0001\000.\0002\000.\0002\000\040\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000C\000a\000u\000s\000e) +endobj +61 0 obj +<< /S /GoTo /D (subsubsection.6.1.2.3) >> +endobj +64 0 obj +(\376\377\0006\000.\0001\000.\0002\000.\0003\000\040\000P\000h\000o\000t\000o\000n\000L\000o\000g\000L\000e\000v\000e\000l) +endobj +65 0 obj +<< /S /GoTo /D (subsubsection.6.1.2.4) >> +endobj +68 0 obj +(\376\377\0006\000.\0001\000.\0002\000.\0004\000\040\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000M\000e\000s\000s\000a\000g\000e) +endobj +69 0 obj +<< /S /GoTo /D (subsubsection.6.1.2.5) >> +endobj +72 0 obj +(\376\377\0006\000.\0001\000.\0002\000.\0005\000\040\000P\000h\000o\000t\000o\000n\000T\000a\000r\000g\000e\000t\000s) +endobj +73 0 obj +<< /S /GoTo /D (subsection.6.1.3) >> +endobj +76 0 obj +(\376\377\0006\000.\0001\000.\0003\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +77 0 obj +<< /S /GoTo /D (subsubsection.6.1.3.1) >> +endobj +80 0 obj +(\376\377\0006\000.\0001\000.\0003\000.\0001\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +81 0 obj +<< /S /GoTo /D (section.6.2) >> +endobj +84 0 obj +(\376\377\0006\000.\0002\000\040\000O\000p\000t\000i\000o\000n\000a\000l\000\040\000G\000u\000i\000\040\000E\000l\000e\000m\000e\000n\000t\000s) +endobj +85 0 obj +<< /S /GoTo /D (subsection.6.2.1) >> +endobj +88 0 obj +(\376\377\0006\000.\0002\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +89 0 obj +<< /S /GoTo /D (chapter.7) >> +endobj +92 0 obj +(\376\377\0007\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +93 0 obj +<< /S /GoTo /D (section.7.1) >> +endobj +96 0 obj +(\376\377\0007\000.\0001\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s) +endobj +97 0 obj +<< /S /GoTo /D (section.7.2) >> +endobj +100 0 obj +(\376\377\0007\000.\0002\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t) +endobj +101 0 obj +<< /S /GoTo /D (section.7.3) >> +endobj +104 0 obj +(\376\377\0007\000.\0003\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000G\000U\000I) +endobj +105 0 obj +<< /S /GoTo /D (subsection.7.3.1) >> +endobj +108 0 obj +(\376\377\0007\000.\0003\000.\0001\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +109 0 obj +<< /S /GoTo /D (subsubsection.7.3.1.1) >> +endobj +112 0 obj +(\376\377\0007\000.\0003\000.\0001\000.\0001\000\040\000G\000i\000z\000m\000o\000T\000y\000p\000e) +endobj +113 0 obj +<< /S /GoTo /D (section.7.4) >> +endobj +116 0 obj +(\376\377\0007\000.\0004\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n) +endobj +117 0 obj +<< /S /GoTo /D (section.7.5) >> +endobj +120 0 obj +(\376\377\0007\000.\0005\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t) +endobj +121 0 obj +<< /S /GoTo /D (subsection.7.5.1) >> +endobj +124 0 obj +(\376\377\0007\000.\0005\000.\0001\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +125 0 obj +<< /S /GoTo /D (subsubsection.7.5.1.1) >> +endobj +128 0 obj +(\376\377\0007\000.\0005\000.\0001\000.\0001\000\040\000C\000h\000a\000t\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000C\000a\000u\000s\000e) +endobj +129 0 obj +<< /S /GoTo /D (subsubsection.7.5.1.2) >> +endobj +132 0 obj +(\376\377\0007\000.\0005\000.\0001\000.\0002\000\040\000C\000h\000a\000t\000S\000t\000a\000t\000e) +endobj +133 0 obj +<< /S /GoTo /D (subsubsection.7.5.1.3) >> +endobj +136 0 obj +(\376\377\0007\000.\0005\000.\0001\000.\0003\000\040\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000T\000y\000p\000e) +endobj +137 0 obj +<< /S /GoTo /D (section.7.6) >> +endobj +140 0 obj +(\376\377\0007\000.\0006\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000P\000h\000o\000t\000o\000n) +endobj +141 0 obj +<< /S /GoTo /D (subsection.7.6.1) >> +endobj +144 0 obj +(\376\377\0007\000.\0006\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +145 0 obj +<< /S /GoTo /D (subsubsection.7.6.1.1) >> +endobj +148 0 obj +(\376\377\0007\000.\0006\000.\0001\000.\0001\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +149 0 obj +<< /S /GoTo /D (section.7.7) >> +endobj +152 0 obj +(\376\377\0007\000.\0007\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000U\000n\000i\000t\000y\000E\000n\000g\000i\000n\000e) +endobj +153 0 obj +<< /S /GoTo /D (section.7.8) >> +endobj +156 0 obj +(\376\377\0007\000.\0008\000\040\000P\000a\000c\000k\000a\000g\000e\000\040\000U\000n\000i\000t\000y\000E\000n\000g\000i\000n\000e\000.\000S\000c\000e\000n\000e\000M\000a\000n\000a\000g\000e\000m\000e\000n\000t) +endobj +157 0 obj +<< /S /GoTo /D (chapter.8) >> +endobj +160 0 obj +(\376\377\0008\000\040\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +161 0 obj +<< /S /GoTo /D (section.8.1) >> +endobj +164 0 obj +(\376\377\0008\000.\0001\000\040\000A\000c\000t\000o\000r\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +165 0 obj +<< /S /GoTo /D (subsection.8.1.1) >> +endobj +168 0 obj +(\376\377\0008\000.\0001\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +169 0 obj +<< /S /GoTo /D (subsection.8.1.2) >> +endobj +172 0 obj +(\376\377\0008\000.\0001\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +173 0 obj +<< /S /GoTo /D (subsubsection.8.1.2.1) >> +endobj +176 0 obj +(\376\377\0008\000.\0001\000.\0002\000.\0001\000\040\000I\000s\000I\000n\000a\000c\000t\000i\000v\000e) +endobj +177 0 obj +<< /S /GoTo /D (subsubsection.8.1.2.2) >> +endobj +180 0 obj +(\376\377\0008\000.\0001\000.\0002\000.\0002\000\040\000P\000l\000a\000y\000e\000r\000N\000a\000m\000e) +endobj +181 0 obj +<< /S /GoTo /D (subsubsection.8.1.2.3) >> +endobj +184 0 obj +(\376\377\0008\000.\0001\000.\0002\000.\0003\000\040\000U\000s\000e\000r\000I\000d) +endobj +185 0 obj +<< /S /GoTo /D (section.8.2) >> +endobj +188 0 obj +(\376\377\0008\000.\0002\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000V\000a\000l\000u\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +189 0 obj +<< /S /GoTo /D (subsection.8.2.1) >> +endobj +192 0 obj +(\376\377\0008\000.\0002\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +193 0 obj +<< /S /GoTo /D (subsection.8.2.2) >> +endobj +196 0 obj +(\376\377\0008\000.\0002\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +197 0 obj +<< /S /GoTo /D (subsubsection.8.2.2.1) >> +endobj +200 0 obj +(\376\377\0008\000.\0002\000.\0002\000.\0001\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000V\000a\000l\000u\000e\000s) +endobj +201 0 obj +<< /S /GoTo /D (subsubsection.8.2.2.2) >> +endobj +204 0 obj +(\376\377\0008\000.\0002\000.\0002\000.\0002\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000V\000a\000l\000u\000e\000s) +endobj +205 0 obj +<< /S /GoTo /D (subsection.8.2.3) >> +endobj +208 0 obj +(\376\377\0008\000.\0002\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +209 0 obj +<< /S /GoTo /D (subsubsection.8.2.3.1) >> +endobj +212 0 obj +(\376\377\0008\000.\0002\000.\0003\000.\0001\000\040\000A\000d\000d\000A\000u\000t\000h\000P\000a\000r\000a\000m\000e\000t\000e\000r) +endobj +213 0 obj +<< /S /GoTo /D (subsubsection.8.2.3.2) >> +endobj +216 0 obj +(\376\377\0008\000.\0002\000.\0003\000.\0002\000\040\000S\000e\000t\000A\000u\000t\000h\000P\000o\000s\000t\000D\000a\000t\000a) +endobj +217 0 obj +<< /S /GoTo /D (subsubsection.8.2.3.3) >> +endobj +220 0 obj +(\376\377\0008\000.\0002\000.\0003\000.\0003\000\040\000S\000e\000t\000A\000u\000t\000h\000P\000o\000s\000t\000D\000a\000t\000a) +endobj +221 0 obj +<< /S /GoTo /D (subsubsection.8.2.3.4) >> +endobj +224 0 obj +(\376\377\0008\000.\0002\000.\0003\000.\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +225 0 obj +<< /S /GoTo /D (subsection.8.2.4) >> +endobj +228 0 obj +(\376\377\0008\000.\0002\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +229 0 obj +<< /S /GoTo /D (subsubsection.8.2.4.1) >> +endobj +232 0 obj +(\376\377\0008\000.\0002\000.\0004\000.\0001\000\040\000A\000u\000t\000h\000G\000e\000t\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s) +endobj +233 0 obj +<< /S /GoTo /D (subsubsection.8.2.4.2) >> +endobj +236 0 obj +(\376\377\0008\000.\0002\000.\0004\000.\0002\000\040\000A\000u\000t\000h\000P\000o\000s\000t\000D\000a\000t\000a) +endobj +237 0 obj +<< /S /GoTo /D (subsubsection.8.2.4.3) >> +endobj +240 0 obj +(\376\377\0008\000.\0002\000.\0004\000.\0003\000\040\000A\000u\000t\000h\000T\000y\000p\000e) +endobj +241 0 obj +<< /S /GoTo /D (subsubsection.8.2.4.4) >> +endobj +244 0 obj +(\376\377\0008\000.\0002\000.\0004\000.\0004\000\040\000T\000o\000k\000e\000n) +endobj +245 0 obj +<< /S /GoTo /D (subsubsection.8.2.4.5) >> +endobj +248 0 obj +(\376\377\0008\000.\0002\000.\0004\000.\0005\000\040\000U\000s\000e\000r\000I\000d) +endobj +249 0 obj +<< /S /GoTo /D (section.8.3) >> +endobj +252 0 obj +(\376\377\0008\000.\0003\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000V\000a\000l\000u\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +253 0 obj +<< /S /GoTo /D (subsection.8.3.1) >> +endobj +256 0 obj +(\376\377\0008\000.\0003\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +257 0 obj +<< /S /GoTo /D (subsection.8.3.2) >> +endobj +260 0 obj +(\376\377\0008\000.\0003\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +261 0 obj +<< /S /GoTo /D (subsubsection.8.3.2.1) >> +endobj +264 0 obj +(\376\377\0008\000.\0003\000.\0002\000.\0001\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000V\000a\000l\000u\000e\000s) +endobj +265 0 obj +<< /S /GoTo /D (subsubsection.8.3.2.2) >> +endobj +268 0 obj +(\376\377\0008\000.\0003\000.\0002\000.\0002\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000V\000a\000l\000u\000e\000s) +endobj +269 0 obj +<< /S /GoTo /D (subsection.8.3.3) >> +endobj +272 0 obj +(\376\377\0008\000.\0003\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +273 0 obj +<< /S /GoTo /D (subsubsection.8.3.3.1) >> +endobj +276 0 obj +(\376\377\0008\000.\0003\000.\0003\000.\0001\000\040\000A\000d\000d\000A\000u\000t\000h\000P\000a\000r\000a\000m\000e\000t\000e\000r) +endobj +277 0 obj +<< /S /GoTo /D (subsubsection.8.3.3.2) >> +endobj +280 0 obj +(\376\377\0008\000.\0003\000.\0003\000.\0002\000\040\000S\000e\000t\000A\000u\000t\000h\000P\000o\000s\000t\000D\000a\000t\000a) +endobj +281 0 obj +<< /S /GoTo /D (subsubsection.8.3.3.3) >> +endobj +284 0 obj +(\376\377\0008\000.\0003\000.\0003\000.\0003\000\040\000S\000e\000t\000A\000u\000t\000h\000P\000o\000s\000t\000D\000a\000t\000a) +endobj +285 0 obj +<< /S /GoTo /D (subsubsection.8.3.3.4) >> +endobj +288 0 obj +(\376\377\0008\000.\0003\000.\0003\000.\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +289 0 obj +<< /S /GoTo /D (subsection.8.3.4) >> +endobj +292 0 obj +(\376\377\0008\000.\0003\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +293 0 obj +<< /S /GoTo /D (subsubsection.8.3.4.1) >> +endobj +296 0 obj +(\376\377\0008\000.\0003\000.\0004\000.\0001\000\040\000A\000u\000t\000h\000G\000e\000t\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s) +endobj +297 0 obj +<< /S /GoTo /D (subsubsection.8.3.4.2) >> +endobj +300 0 obj +(\376\377\0008\000.\0003\000.\0004\000.\0002\000\040\000A\000u\000t\000h\000P\000o\000s\000t\000D\000a\000t\000a) +endobj +301 0 obj +<< /S /GoTo /D (subsubsection.8.3.4.3) >> +endobj +304 0 obj +(\376\377\0008\000.\0003\000.\0004\000.\0003\000\040\000A\000u\000t\000h\000T\000y\000p\000e) +endobj +305 0 obj +<< /S /GoTo /D (subsubsection.8.3.4.4) >> +endobj +308 0 obj +(\376\377\0008\000.\0003\000.\0004\000.\0004\000\040\000T\000o\000k\000e\000n) +endobj +309 0 obj +<< /S /GoTo /D (subsubsection.8.3.4.5) >> +endobj +312 0 obj +(\376\377\0008\000.\0003\000.\0004\000.\0005\000\040\000U\000s\000e\000r\000I\000d) +endobj +313 0 obj +<< /S /GoTo /D (section.8.4) >> +endobj +316 0 obj +(\376\377\0008\000.\0004\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000C\000h\000a\000n\000n\000e\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +317 0 obj +<< /S /GoTo /D (subsection.8.4.1) >> +endobj +320 0 obj +(\376\377\0008\000.\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +321 0 obj +<< /S /GoTo /D (subsection.8.4.2) >> +endobj +324 0 obj +(\376\377\0008\000.\0004\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +325 0 obj +<< /S /GoTo /D (subsubsection.8.4.2.1) >> +endobj +328 0 obj +(\376\377\0008\000.\0004\000.\0002\000.\0001\000\040\000C\000h\000a\000t\000C\000h\000a\000n\000n\000e\000l) +endobj +329 0 obj +<< /S /GoTo /D (subsection.8.4.3) >> +endobj +332 0 obj +(\376\377\0008\000.\0004\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +333 0 obj +<< /S /GoTo /D (subsubsection.8.4.3.1) >> +endobj +336 0 obj +(\376\377\0008\000.\0004\000.\0003\000.\0001\000\040\000A\000d\000d) +endobj +337 0 obj +<< /S /GoTo /D (subsubsection.8.4.3.2) >> +endobj +340 0 obj +(\376\377\0008\000.\0004\000.\0003\000.\0002\000\040\000A\000d\000d) +endobj +341 0 obj +<< /S /GoTo /D (subsubsection.8.4.3.3) >> +endobj +344 0 obj +(\376\377\0008\000.\0004\000.\0003\000.\0003\000\040\000C\000l\000e\000a\000r\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +345 0 obj +<< /S /GoTo /D (subsubsection.8.4.3.4) >> +endobj +348 0 obj +(\376\377\0008\000.\0004\000.\0003\000.\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +349 0 obj +<< /S /GoTo /D (subsubsection.8.4.3.5) >> +endobj +352 0 obj +(\376\377\0008\000.\0004\000.\0003\000.\0005\000\040\000T\000r\000u\000n\000c\000a\000t\000e\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +353 0 obj +<< /S /GoTo /D (subsection.8.4.4) >> +endobj +356 0 obj +(\376\377\0008\000.\0004\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +357 0 obj +<< /S /GoTo /D (subsubsection.8.4.4.1) >> +endobj +360 0 obj +(\376\377\0008\000.\0004\000.\0004\000.\0001\000\040\000M\000e\000s\000s\000a\000g\000e\000L\000i\000m\000i\000t) +endobj +361 0 obj +<< /S /GoTo /D (subsubsection.8.4.4.2) >> +endobj +364 0 obj +(\376\377\0008\000.\0004\000.\0004\000.\0002\000\040\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +365 0 obj +<< /S /GoTo /D (subsubsection.8.4.4.3) >> +endobj +368 0 obj +(\376\377\0008\000.\0004\000.\0004\000.\0003\000\040\000N\000a\000m\000e) +endobj +369 0 obj +<< /S /GoTo /D (subsubsection.8.4.4.4) >> +endobj +372 0 obj +(\376\377\0008\000.\0004\000.\0004\000.\0004\000\040\000S\000e\000n\000d\000e\000r\000s) +endobj +373 0 obj +<< /S /GoTo /D (subsection.8.4.5) >> +endobj +376 0 obj +(\376\377\0008\000.\0004\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +377 0 obj +<< /S /GoTo /D (subsubsection.8.4.5.1) >> +endobj +380 0 obj +(\376\377\0008\000.\0004\000.\0005\000.\0001\000\040\000I\000s\000P\000r\000i\000v\000a\000t\000e) +endobj +381 0 obj +<< /S /GoTo /D (subsubsection.8.4.5.2) >> +endobj +384 0 obj +(\376\377\0008\000.\0004\000.\0005\000.\0002\000\040\000M\000e\000s\000s\000a\000g\000e\000C\000o\000u\000n\000t) +endobj +385 0 obj +<< /S /GoTo /D (section.8.5) >> +endobj +388 0 obj +(\376\377\0008\000.\0005\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +389 0 obj +<< /S /GoTo /D (subsection.8.5.1) >> +endobj +392 0 obj +(\376\377\0008\000.\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +393 0 obj +<< /S /GoTo /D (subsection.8.5.2) >> +endobj +396 0 obj +(\376\377\0008\000.\0005\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +397 0 obj +<< /S /GoTo /D (subsubsection.8.5.2.1) >> +endobj +400 0 obj +(\376\377\0008\000.\0005\000.\0002\000.\0001\000\040\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t) +endobj +401 0 obj +<< /S /GoTo /D (subsection.8.5.3) >> +endobj +404 0 obj +(\376\377\0008\000.\0005\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +405 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.1) >> +endobj +408 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\000\040\000A\000d\000d\000F\000r\000i\000e\000n\000d\000s) +endobj +409 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.2) >> +endobj +412 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0002\000\040\000C\000a\000n\000C\000h\000a\000t\000I\000n\000C\000h\000a\000n\000n\000e\000l) +endobj +413 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.3) >> +endobj +416 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0003\000\040\000C\000o\000n\000n\000e\000c\000t) +endobj +417 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.4) >> +endobj +420 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0004\000\040\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t) +endobj +421 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.5) >> +endobj +424 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0005\000\040\000G\000e\000t\000P\000r\000i\000v\000a\000t\000e\000C\000h\000a\000n\000n\000e\000l\000N\000a\000m\000e\000B\000y\000U\000s\000e\000r) +endobj +425 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.6) >> +endobj +428 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0006\000\040\000P\000u\000b\000l\000i\000s\000h\000M\000e\000s\000s\000a\000g\000e) +endobj +429 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.7) >> +endobj +432 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0007\000\040\000R\000e\000m\000o\000v\000e\000F\000r\000i\000e\000n\000d\000s) +endobj +433 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.8) >> +endobj +436 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0008\000\040\000S\000e\000n\000d\000A\000c\000k\000s\000O\000n\000l\000y) +endobj +437 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.9) >> +endobj +440 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0009\000\040\000S\000e\000n\000d\000P\000r\000i\000v\000a\000t\000e\000M\000e\000s\000s\000a\000g\000e) +endobj +441 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.10) >> +endobj +444 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0000\000\040\000S\000e\000n\000d\000P\000r\000i\000v\000a\000t\000e\000M\000e\000s\000s\000a\000g\000e) +endobj +445 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.11) >> +endobj +448 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0001\000\040\000S\000e\000r\000v\000i\000c\000e) +endobj +449 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.12) >> +endobj +452 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0002\000\040\000S\000e\000t\000O\000n\000l\000i\000n\000e\000S\000t\000a\000t\000u\000s) +endobj +453 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.13) >> +endobj +456 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0003\000\040\000S\000e\000t\000O\000n\000l\000i\000n\000e\000S\000t\000a\000t\000u\000s) +endobj +457 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.14) >> +endobj +460 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0004\000\040\000S\000t\000o\000p\000T\000h\000r\000e\000a\000d) +endobj +461 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.15) >> +endobj +464 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0005\000\040\000S\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +465 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.16) >> +endobj +468 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0006\000\040\000S\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +469 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.17) >> +endobj +472 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0007\000\040\000T\000r\000y\000G\000e\000t\000C\000h\000a\000n\000n\000e\000l) +endobj +473 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.18) >> +endobj +476 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0008\000\040\000T\000r\000y\000G\000e\000t\000C\000h\000a\000n\000n\000e\000l) +endobj +477 0 obj +<< /S /GoTo /D (subsubsection.8.5.3.19) >> +endobj +480 0 obj +(\376\377\0008\000.\0005\000.\0003\000.\0001\0009\000\040\000U\000n\000s\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +481 0 obj +<< /S /GoTo /D (subsection.8.5.4) >> +endobj +484 0 obj +(\376\377\0008\000.\0005\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +485 0 obj +<< /S /GoTo /D (subsubsection.8.5.4.1) >> +endobj +488 0 obj +(\376\377\0008\000.\0005\000.\0004\000.\0001\000\040\000c\000h\000a\000t\000P\000e\000e\000r) +endobj +489 0 obj +<< /S /GoTo /D (subsubsection.8.5.4.2) >> +endobj +492 0 obj +(\376\377\0008\000.\0005\000.\0004\000.\0002\000\040\000M\000e\000s\000s\000a\000g\000e\000L\000i\000m\000i\000t) +endobj +493 0 obj +<< /S /GoTo /D (subsubsection.8.5.4.3) >> +endobj +496 0 obj +(\376\377\0008\000.\0005\000.\0004\000.\0003\000\040\000P\000r\000i\000v\000a\000t\000e\000C\000h\000a\000n\000n\000e\000l\000s) +endobj +497 0 obj +<< /S /GoTo /D (subsubsection.8.5.4.4) >> +endobj +500 0 obj +(\376\377\0008\000.\0005\000.\0004\000.\0004\000\040\000P\000u\000b\000l\000i\000c\000C\000h\000a\000n\000n\000e\000l\000s) +endobj +501 0 obj +<< /S /GoTo /D (subsection.8.5.5) >> +endobj +504 0 obj +(\376\377\0008\000.\0005\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +505 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.1) >> +endobj +508 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0001\000\040\000A\000p\000p\000I\000d) +endobj +509 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.2) >> +endobj +512 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0002\000\040\000A\000p\000p\000V\000e\000r\000s\000i\000o\000n) +endobj +513 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.3) >> +endobj +516 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0003\000\040\000A\000u\000t\000h\000V\000a\000l\000u\000e\000s) +endobj +517 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.4) >> +endobj +520 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0004\000\040\000C\000a\000n\000C\000h\000a\000t) +endobj +521 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.5) >> +endobj +524 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0005\000\040\000C\000h\000a\000t\000R\000e\000g\000i\000o\000n) +endobj +525 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.6) >> +endobj +528 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0006\000\040\000D\000e\000b\000u\000g\000O\000u\000t) +endobj +529 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.7) >> +endobj +532 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0007\000\040\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000e\000d\000C\000a\000u\000s\000e) +endobj +533 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.8) >> +endobj +536 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0008\000\040\000F\000r\000o\000n\000t\000e\000n\000d\000A\000d\000d\000r\000e\000s\000s) +endobj +537 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.9) >> +endobj +540 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0009\000\040\000N\000a\000m\000e\000S\000e\000r\000v\000e\000r\000A\000d\000d\000r\000e\000s\000s) +endobj +541 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.10) >> +endobj +544 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0001\0000\000\040\000S\000o\000c\000k\000e\000t\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000C\000o\000n\000f\000i\000g) +endobj +545 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.11) >> +endobj +548 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0001\0001\000\040\000S\000t\000a\000t\000e) +endobj +549 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.12) >> +endobj +552 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0001\0002\000\040\000T\000r\000a\000n\000s\000p\000o\000r\000t\000P\000r\000o\000t\000o\000c\000o\000l) +endobj +553 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.13) >> +endobj +556 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0001\0003\000\040\000U\000s\000e\000B\000a\000c\000k\000g\000r\000o\000u\000n\000d\000W\000o\000r\000k\000e\000r\000F\000o\000r\000S\000e\000n\000d\000i\000n\000g) +endobj +557 0 obj +<< /S /GoTo /D (subsubsection.8.5.5.14) >> +endobj +560 0 obj +(\376\377\0008\000.\0005\000.\0005\000.\0001\0004\000\040\000U\000s\000e\000r\000I\000d) +endobj +561 0 obj +<< /S /GoTo /D (section.8.6) >> +endobj +564 0 obj +(\376\377\0008\000.\0006\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000E\000v\000e\000n\000t\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +565 0 obj +<< /S /GoTo /D (subsection.8.6.1) >> +endobj +568 0 obj +(\376\377\0008\000.\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +569 0 obj +<< /S /GoTo /D (subsection.8.6.2) >> +endobj +572 0 obj +(\376\377\0008\000.\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +573 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.1) >> +endobj +576 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0001\000\040\000C\000h\000a\000t\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +577 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.2) >> +endobj +580 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0002\000\040\000F\000r\000i\000e\000n\000d\000s\000L\000i\000s\000t) +endobj +581 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.3) >> +endobj +584 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0003\000\040\000P\000r\000i\000v\000a\000t\000e\000M\000e\000s\000s\000a\000g\000e) +endobj +585 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.4) >> +endobj +588 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0004\000\040\000S\000t\000a\000t\000u\000s\000U\000p\000d\000a\000t\000e) +endobj +589 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.5) >> +endobj +592 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0005\000\040\000S\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +593 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.6) >> +endobj +596 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0006\000\040\000U\000n\000s\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +597 0 obj +<< /S /GoTo /D (subsubsection.8.6.2.7) >> +endobj +600 0 obj +(\376\377\0008\000.\0006\000.\0002\000.\0007\000\040\000U\000s\000e\000r\000s) +endobj +601 0 obj +<< /S /GoTo /D (section.8.7) >> +endobj +604 0 obj +(\376\377\0008\000.\0007\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000O\000p\000e\000r\000a\000t\000i\000o\000n\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +605 0 obj +<< /S /GoTo /D (subsection.8.7.1) >> +endobj +608 0 obj +(\376\377\0008\000.\0007\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +609 0 obj +<< /S /GoTo /D (subsection.8.7.2) >> +endobj +612 0 obj +(\376\377\0008\000.\0007\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +613 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.1) >> +endobj +616 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0001\000\040\000A\000d\000d\000F\000r\000i\000e\000n\000d\000s) +endobj +617 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.2) >> +endobj +620 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0002\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000e) +endobj +621 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.3) >> +endobj +624 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0003\000\040\000C\000h\000a\000n\000n\000e\000l\000H\000i\000s\000t\000o\000r\000y) +endobj +625 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.4) >> +endobj +628 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0004\000\040\000P\000u\000b\000l\000i\000s\000h) +endobj +629 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.5) >> +endobj +632 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0005\000\040\000R\000e\000m\000o\000v\000e\000F\000r\000i\000e\000n\000d\000s) +endobj +633 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.6) >> +endobj +636 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0006\000\040\000S\000e\000n\000d\000P\000r\000i\000v\000a\000t\000e) +endobj +637 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.7) >> +endobj +640 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0007\000\040\000S\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +641 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.8) >> +endobj +644 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0008\000\040\000U\000n\000s\000u\000b\000s\000c\000r\000i\000b\000e) +endobj +645 0 obj +<< /S /GoTo /D (subsubsection.8.7.2.9) >> +endobj +648 0 obj +(\376\377\0008\000.\0007\000.\0002\000.\0009\000\040\000U\000p\000d\000a\000t\000e\000S\000t\000a\000t\000u\000s) +endobj +649 0 obj +<< /S /GoTo /D (section.8.8) >> +endobj +652 0 obj +(\376\377\0008\000.\0008\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000P\000a\000r\000a\000m\000e\000t\000e\000r\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +653 0 obj +<< /S /GoTo /D (subsection.8.8.1) >> +endobj +656 0 obj +(\376\377\0008\000.\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +657 0 obj +<< /S /GoTo /D (subsection.8.8.2) >> +endobj +660 0 obj +(\376\377\0008\000.\0008\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +661 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.1) >> +endobj +664 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\000\040\000C\000h\000a\000n\000n\000e\000l) +endobj +665 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.2) >> +endobj +668 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0002\000\040\000C\000h\000a\000n\000n\000e\000l\000s) +endobj +669 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.3) >> +endobj +672 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0003\000\040\000C\000h\000a\000n\000n\000e\000l\000U\000s\000e\000r\000C\000o\000u\000n\000t) +endobj +673 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.4) >> +endobj +676 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0004\000\040\000F\000r\000i\000e\000n\000d\000s) +endobj +677 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.5) >> +endobj +680 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0005\000\040\000H\000i\000s\000t\000o\000r\000y\000L\000e\000n\000g\000t\000h) +endobj +681 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.6) >> +endobj +684 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0006\000\040\000M\000e\000s\000s\000a\000g\000e) +endobj +685 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.7) >> +endobj +688 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0007\000\040\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +689 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.8) >> +endobj +692 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0008\000\040\000M\000s\000g\000I\000d) +endobj +693 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.9) >> +endobj +696 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0009\000\040\000M\000s\000g\000I\000d\000s) +endobj +697 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.10) >> +endobj +700 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0000\000\040\000S\000e\000c\000r\000e\000t) +endobj +701 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.11) >> +endobj +704 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0001\000\040\000S\000e\000n\000d\000e\000r) +endobj +705 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.12) >> +endobj +708 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0002\000\040\000S\000e\000n\000d\000e\000r\000s) +endobj +709 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.13) >> +endobj +712 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0003\000\040\000S\000k\000i\000p\000M\000e\000s\000s\000a\000g\000e) +endobj +713 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.14) >> +endobj +716 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0004\000\040\000S\000t\000a\000t\000u\000s) +endobj +717 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.15) >> +endobj +720 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0005\000\040\000S\000u\000b\000s\000c\000r\000i\000b\000e\000R\000e\000s\000u\000l\000t\000s) +endobj +721 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.16) >> +endobj +724 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0006\000\040\000U\000s\000e\000r\000I\000d) +endobj +725 0 obj +<< /S /GoTo /D (subsubsection.8.8.2.17) >> +endobj +728 0 obj +(\376\377\0008\000.\0008\000.\0002\000.\0001\0007\000\040\000W\000e\000b\000F\000l\000a\000g\000s) +endobj +729 0 obj +<< /S /GoTo /D (section.8.9) >> +endobj +732 0 obj +(\376\377\0008\000.\0009\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000P\000e\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +733 0 obj +<< /S /GoTo /D (subsection.8.9.1) >> +endobj +736 0 obj +(\376\377\0008\000.\0009\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +737 0 obj +<< /S /GoTo /D (subsection.8.9.2) >> +endobj +740 0 obj +(\376\377\0008\000.\0009\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +741 0 obj +<< /S /GoTo /D (subsubsection.8.9.2.1) >> +endobj +744 0 obj +(\376\377\0008\000.\0009\000.\0002\000.\0001\000\040\000C\000h\000a\000t\000P\000e\000e\000r) +endobj +745 0 obj +<< /S /GoTo /D (subsection.8.9.3) >> +endobj +748 0 obj +(\376\377\0008\000.\0009\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +749 0 obj +<< /S /GoTo /D (subsubsection.8.9.3.1) >> +endobj +752 0 obj +(\376\377\0008\000.\0009\000.\0003\000.\0001\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000e\000O\000n\000N\000a\000m\000e\000S\000e\000r\000v\000e\000r) +endobj +753 0 obj +<< /S /GoTo /D (subsubsection.8.9.3.2) >> +endobj +756 0 obj +(\376\377\0008\000.\0009\000.\0003\000.\0002\000\040\000C\000o\000n\000n\000e\000c\000t) +endobj +757 0 obj +<< /S /GoTo /D (subsection.8.9.4) >> +endobj +760 0 obj +(\376\377\0008\000.\0009\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +761 0 obj +<< /S /GoTo /D (subsubsection.8.9.4.1) >> +endobj +764 0 obj +(\376\377\0008\000.\0009\000.\0004\000.\0001\000\040\000N\000a\000m\000e\000S\000e\000r\000v\000e\000r\000H\000o\000s\000t) +endobj +765 0 obj +<< /S /GoTo /D (subsubsection.8.9.4.2) >> +endobj +768 0 obj +(\376\377\0008\000.\0009\000.\0004\000.\0002\000\040\000N\000a\000m\000e\000S\000e\000r\000v\000e\000r\000H\000t\000t\000p) +endobj +769 0 obj +<< /S /GoTo /D (subsection.8.9.5) >> +endobj +772 0 obj +(\376\377\0008\000.\0009\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +773 0 obj +<< /S /GoTo /D (subsubsection.8.9.5.1) >> +endobj +776 0 obj +(\376\377\0008\000.\0009\000.\0005\000.\0001\000\040\000N\000a\000m\000e\000S\000e\000r\000v\000e\000r\000A\000d\000d\000r\000e\000s\000s) +endobj +777 0 obj +<< /S /GoTo /D (section.8.10) >> +endobj +780 0 obj +(\376\377\0008\000.\0001\0000\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000C\000h\000a\000t\000U\000s\000e\000r\000S\000t\000a\000t\000u\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +781 0 obj +<< /S /GoTo /D (subsection.8.10.1) >> +endobj +784 0 obj +(\376\377\0008\000.\0001\0000\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +785 0 obj +<< /S /GoTo /D (subsection.8.10.2) >> +endobj +788 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +789 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.1) >> +endobj +792 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0001\000\040\000A\000w\000a\000y) +endobj +793 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.2) >> +endobj +796 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0002\000\040\000D\000N\000D) +endobj +797 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.3) >> +endobj +800 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0003\000\040\000I\000n\000v\000i\000s\000i\000b\000l\000e) +endobj +801 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.4) >> +endobj +804 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0004\000\040\000L\000F\000G) +endobj +805 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.5) >> +endobj +808 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0005\000\040\000O\000f\000f\000l\000i\000n\000e) +endobj +809 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.6) >> +endobj +812 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0006\000\040\000O\000n\000l\000i\000n\000e) +endobj +813 0 obj +<< /S /GoTo /D (subsubsection.8.10.2.7) >> +endobj +816 0 obj +(\376\377\0008\000.\0001\0000\000.\0002\000.\0007\000\040\000P\000l\000a\000y\000i\000n\000g) +endobj +817 0 obj +<< /S /GoTo /D (section.8.11) >> +endobj +820 0 obj +(\376\377\0008\000.\0001\0001\000\040\000E\000n\000c\000r\000y\000p\000t\000i\000o\000n\000D\000a\000t\000a\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +821 0 obj +<< /S /GoTo /D (subsection.8.11.1) >> +endobj +824 0 obj +(\376\377\0008\000.\0001\0001\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +825 0 obj +<< /S /GoTo /D (subsubsection.8.11.1.1) >> +endobj +828 0 obj +(\376\377\0008\000.\0001\0001\000.\0001\000.\0001\000\040\000M\000o\000d\000e) +endobj +829 0 obj +<< /S /GoTo /D (subsubsection.8.11.1.2) >> +endobj +832 0 obj +(\376\377\0008\000.\0001\0001\000.\0001\000.\0002\000\040\000S\000e\000c\000r\000e\000t\0001) +endobj +833 0 obj +<< /S /GoTo /D (subsubsection.8.11.1.3) >> +endobj +836 0 obj +(\376\377\0008\000.\0001\0001\000.\0001\000.\0003\000\040\000S\000e\000c\000r\000e\000t\0002) +endobj +837 0 obj +<< /S /GoTo /D (section.8.12) >> +endobj +840 0 obj +(\376\377\0008\000.\0001\0002\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000E\000r\000r\000o\000r\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +841 0 obj +<< /S /GoTo /D (subsection.8.12.1) >> +endobj +844 0 obj +(\376\377\0008\000.\0001\0002\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +845 0 obj +<< /S /GoTo /D (subsection.8.12.2) >> +endobj +848 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +849 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.1) >> +endobj +852 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\000\040\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000F\000a\000i\000l\000e\000d) +endobj +853 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.2) >> +endobj +856 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0002\000\040\000G\000a\000m\000e\000C\000l\000o\000s\000e\000d) +endobj +857 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.3) >> +endobj +860 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0003\000\040\000G\000a\000m\000e\000D\000o\000e\000s\000N\000o\000t\000E\000x\000i\000s\000t) +endobj +861 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.4) >> +endobj +864 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0004\000\040\000G\000a\000m\000e\000F\000u\000l\000l) +endobj +865 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.5) >> +endobj +868 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0005\000\040\000G\000a\000m\000e\000I\000d\000A\000l\000r\000e\000a\000d\000y\000E\000x\000i\000s\000t\000s) +endobj +869 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.6) >> +endobj +872 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0006\000\040\000I\000n\000t\000e\000r\000n\000a\000l\000S\000e\000r\000v\000e\000r\000E\000r\000r\000o\000r) +endobj +873 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.7) >> +endobj +876 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0007\000\040\000I\000n\000v\000a\000l\000i\000d\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n) +endobj +877 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.8) >> +endobj +880 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0008\000\040\000I\000n\000v\000a\000l\000i\000d\000O\000p\000e\000r\000a\000t\000i\000o\000n\000C\000o\000d\000e) +endobj +881 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.9) >> +endobj +884 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0009\000\040\000I\000n\000v\000a\000l\000i\000d\000R\000e\000g\000i\000o\000n) +endobj +885 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.10) >> +endobj +888 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\0000\000\040\000M\000a\000x\000C\000c\000u\000R\000e\000a\000c\000h\000e\000d) +endobj +889 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.11) >> +endobj +892 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\0001\000\040\000N\000o\000R\000a\000n\000d\000o\000m\000M\000a\000t\000c\000h\000F\000o\000u\000n\000d) +endobj +893 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.12) >> +endobj +896 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\0002\000\040\000O\000k) +endobj +897 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.13) >> +endobj +900 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\0003\000\040\000O\000p\000e\000r\000a\000t\000i\000o\000n\000N\000o\000t\000A\000l\000l\000o\000w\000e\000d\000I\000n\000C\000u\000r\000r\000e\000n\000t\000S\000t\000a\000t\000e) +endobj +901 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.14) >> +endobj +904 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\0004\000\040\000S\000e\000r\000v\000e\000r\000F\000u\000l\000l) +endobj +905 0 obj +<< /S /GoTo /D (subsubsection.8.12.2.15) >> +endobj +908 0 obj +(\376\377\0008\000.\0001\0002\000.\0002\000.\0001\0005\000\040\000U\000s\000e\000r\000B\000l\000o\000c\000k\000e\000d) +endobj +909 0 obj +<< /S /GoTo /D (section.8.13) >> +endobj +912 0 obj +(\376\377\0008\000.\0001\0003\000\040\000E\000r\000r\000o\000r\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +913 0 obj +<< /S /GoTo /D (subsection.8.13.1) >> +endobj +916 0 obj +(\376\377\0008\000.\0001\0003\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +917 0 obj +<< /S /GoTo /D (subsection.8.13.2) >> +endobj +920 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +921 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.1) >> +endobj +924 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\000\040\000A\000l\000r\000e\000a\000d\000y\000M\000a\000t\000c\000h\000e\000d) +endobj +925 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.2) >> +endobj +928 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000T\000i\000c\000k\000e\000t\000E\000x\000p\000i\000r\000e\000d) +endobj +929 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.3) >> +endobj +932 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0003\000\040\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000F\000a\000i\000l\000e\000d) +endobj +933 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.4) >> +endobj +936 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0004\000\040\000E\000x\000t\000e\000r\000n\000a\000l\000H\000t\000t\000p\000C\000a\000l\000l\000F\000a\000i\000l\000e\000d) +endobj +937 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.5) >> +endobj +940 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0005\000\040\000G\000a\000m\000e\000C\000l\000o\000s\000e\000d) +endobj +941 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.6) >> +endobj +944 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0006\000\040\000G\000a\000m\000e\000D\000o\000e\000s\000N\000o\000t\000E\000x\000i\000s\000t) +endobj +945 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.7) >> +endobj +948 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0007\000\040\000G\000a\000m\000e\000F\000u\000l\000l) +endobj +949 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.8) >> +endobj +952 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0008\000\040\000G\000a\000m\000e\000I\000d\000A\000l\000r\000e\000a\000d\000y\000E\000x\000i\000s\000t\000s) +endobj +953 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.9) >> +endobj +956 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0009\000\040\000H\000t\000t\000p\000L\000i\000m\000i\000t\000R\000e\000a\000c\000h\000e\000d) +endobj +957 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.10) >> +endobj +960 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0000\000\040\000I\000n\000t\000e\000r\000n\000a\000l\000S\000e\000r\000v\000e\000r\000E\000r\000r\000o\000r) +endobj +961 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.11) >> +endobj +964 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0001\000\040\000I\000n\000v\000a\000l\000i\000d\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n) +endobj +965 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.12) >> +endobj +968 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0002\000\040\000I\000n\000v\000a\000l\000i\000d\000E\000n\000c\000r\000y\000p\000t\000i\000o\000n\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s) +endobj +969 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.13) >> +endobj +972 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0003\000\040\000I\000n\000v\000a\000l\000i\000d\000O\000p\000e\000r\000a\000t\000i\000o\000n) +endobj +973 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.14) >> +endobj +976 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0004\000\040\000I\000n\000v\000a\000l\000i\000d\000O\000p\000e\000r\000a\000t\000i\000o\000n\000C\000o\000d\000e) +endobj +977 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.15) >> +endobj +980 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0005\000\040\000I\000n\000v\000a\000l\000i\000d\000R\000e\000g\000i\000o\000n) +endobj +981 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.16) >> +endobj +984 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0006\000\040\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d\000F\000o\000u\000n\000d\000A\000c\000t\000i\000v\000e\000J\000o\000i\000n\000e\000r) +endobj +985 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.17) >> +endobj +988 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0007\000\040\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d\000F\000o\000u\000n\000d\000E\000x\000c\000l\000u\000d\000e\000d\000U\000s\000e\000r\000I\000d) +endobj +989 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.18) >> +endobj +992 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0008\000\040\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d\000F\000o\000u\000n\000d\000I\000n\000a\000c\000t\000i\000v\000e\000J\000o\000i\000n\000e\000r) +endobj +993 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.19) >> +endobj +996 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0001\0009\000\040\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d\000P\000e\000e\000r\000A\000l\000r\000e\000a\000d\000y\000J\000o\000i\000n\000e\000d) +endobj +997 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.20) >> +endobj +1000 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0000\000\040\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d\000W\000i\000t\000h\000R\000e\000j\000o\000i\000n\000e\000r\000N\000o\000t\000F\000o\000u\000n\000d) +endobj +1001 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.21) >> +endobj +1004 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0001\000\040\000M\000a\000x\000C\000c\000u\000R\000e\000a\000c\000h\000e\000d) +endobj +1005 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.22) >> +endobj +1008 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0002\000\040\000N\000o\000R\000a\000n\000d\000o\000m\000M\000a\000t\000c\000h\000F\000o\000u\000n\000d) +endobj +1009 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.23) >> +endobj +1012 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0003\000\040\000O\000k) +endobj +1013 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.24) >> +endobj +1016 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0004\000\040\000O\000p\000e\000r\000a\000t\000i\000o\000n\000N\000o\000t\000A\000l\000l\000o\000w\000e\000d\000I\000n\000C\000u\000r\000r\000e\000n\000t\000S\000t\000a\000t\000e) +endobj +1017 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.25) >> +endobj +1020 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0005\000\040\000P\000l\000u\000g\000i\000n\000M\000i\000s\000m\000a\000t\000c\000h) +endobj +1021 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.26) >> +endobj +1024 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0006\000\040\000P\000l\000u\000g\000i\000n\000R\000e\000p\000o\000r\000t\000e\000d\000E\000r\000r\000o\000r) +endobj +1025 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.27) >> +endobj +1028 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0007\000\040\000S\000e\000r\000v\000e\000r\000F\000u\000l\000l) +endobj +1029 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.28) >> +endobj +1032 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0008\000\040\000S\000l\000o\000t\000E\000r\000r\000o\000r) +endobj +1033 0 obj +<< /S /GoTo /D (subsubsection.8.13.2.29) >> +endobj +1036 0 obj +(\376\377\0008\000.\0001\0003\000.\0002\000.\0002\0009\000\040\000U\000s\000e\000r\000B\000l\000o\000c\000k\000e\000d) +endobj +1037 0 obj +<< /S /GoTo /D (section.8.14) >> +endobj +1040 0 obj +(\376\377\0008\000.\0001\0004\000\040\000E\000v\000e\000n\000t\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1041 0 obj +<< /S /GoTo /D (subsection.8.14.1) >> +endobj +1044 0 obj +(\376\377\0008\000.\0001\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1045 0 obj +<< /S /GoTo /D (subsection.8.14.2) >> +endobj +1048 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1049 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.1) >> +endobj +1052 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0001\000\040\000A\000p\000p\000S\000t\000a\000t\000s) +endobj +1053 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.2) >> +endobj +1056 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0002\000\040\000A\000u\000t\000h\000E\000v\000e\000n\000t) +endobj +1057 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.3) >> +endobj +1060 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0003\000\040\000A\000z\000u\000r\000e\000N\000o\000d\000e\000I\000n\000f\000o) +endobj +1061 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.4) >> +endobj +1064 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0004\000\040\000C\000a\000c\000h\000e\000S\000l\000i\000c\000e\000C\000h\000a\000n\000g\000e\000d) +endobj +1065 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.5) >> +endobj +1068 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0005\000\040\000E\000r\000r\000o\000r\000I\000n\000f\000o) +endobj +1069 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.6) >> +endobj +1072 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0006\000\040\000G\000a\000m\000e\000L\000i\000s\000t) +endobj +1073 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.7) >> +endobj +1076 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0007\000\040\000G\000a\000m\000e\000L\000i\000s\000t\000U\000p\000d\000a\000t\000e) +endobj +1077 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.8) >> +endobj +1080 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0008\000\040\000J\000o\000i\000n) +endobj +1081 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.9) >> +endobj +1084 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0009\000\040\000L\000e\000a\000v\000e) +endobj +1085 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.10) >> +endobj +1088 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0001\0000\000\040\000L\000o\000b\000b\000y\000S\000t\000a\000t\000s) +endobj +1089 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.11) >> +endobj +1092 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0001\0001\000\040\000M\000a\000t\000c\000h) +endobj +1093 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.12) >> +endobj +1096 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0001\0002\000\040\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000C\000h\000a\000n\000g\000e\000d) +endobj +1097 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.13) >> +endobj +1100 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0001\0003\000\040\000Q\000u\000e\000u\000e\000S\000t\000a\000t\000e) +endobj +1101 0 obj +<< /S /GoTo /D (subsubsection.8.14.2.14) >> +endobj +1104 0 obj +(\376\377\0008\000.\0001\0004\000.\0002\000.\0001\0004\000\040\000S\000e\000t\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +1105 0 obj +<< /S /GoTo /D (section.8.15) >> +endobj +1108 0 obj +(\376\377\0008\000.\0001\0005\000\040\000E\000x\000t\000e\000n\000s\000i\000o\000n\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1109 0 obj +<< /S /GoTo /D (subsection.8.15.1) >> +endobj +1112 0 obj +(\376\377\0008\000.\0001\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1113 0 obj +<< /S /GoTo /D (subsection.8.15.2) >> +endobj +1116 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1117 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.1) >> +endobj +1120 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0001\000\040\000A\000l\000m\000o\000s\000t\000E\000q\000u\000a\000l\000s) +endobj +1121 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.2) >> +endobj +1124 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0002\000\040\000A\000l\000m\000o\000s\000t\000E\000q\000u\000a\000l\000s) +endobj +1125 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.3) >> +endobj +1128 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0003\000\040\000A\000l\000m\000o\000s\000t\000E\000q\000u\000a\000l\000s) +endobj +1129 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.4) >> +endobj +1132 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0004\000\040\000A\000l\000m\000o\000s\000t\000E\000q\000u\000a\000l\000s) +endobj +1133 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.5) >> +endobj +1136 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0005\000\040\000C\000o\000n\000t\000a\000i\000n\000s) +endobj +1137 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.6) >> +endobj +1140 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0006\000\040\000G\000e\000t\000C\000a\000c\000h\000e\000d\000P\000a\000r\000e\000m\000e\000t\000e\000r\000s) +endobj +1141 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.7) >> +endobj +1144 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0007\000\040\000G\000e\000t\000P\000h\000o\000t\000o\000n\000V\000i\000e\000w) +endobj +1145 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.8) >> +endobj +1148 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0008\000\040\000G\000e\000t\000P\000h\000o\000t\000o\000n\000V\000i\000e\000w\000s\000I\000n\000C\000h\000i\000l\000d\000r\000e\000n) +endobj +1149 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.9) >> +endobj +1152 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0009\000\040\000M\000e\000r\000g\000e) +endobj +1153 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.10) >> +endobj +1156 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0001\0000\000\040\000M\000e\000r\000g\000e\000S\000t\000r\000i\000n\000g\000K\000e\000y\000s) +endobj +1157 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.11) >> +endobj +1160 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0001\0001\000\040\000S\000t\000r\000i\000p\000K\000e\000y\000s\000W\000i\000t\000h\000N\000u\000l\000l\000V\000a\000l\000u\000e\000s) +endobj +1161 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.12) >> +endobj +1164 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0001\0002\000\040\000S\000t\000r\000i\000p\000T\000o\000S\000t\000r\000i\000n\000g\000K\000e\000y\000s) +endobj +1165 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.13) >> +endobj +1168 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0001\0003\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000F\000u\000l\000l) +endobj +1169 0 obj +<< /S /GoTo /D (subsubsection.8.15.2.14) >> +endobj +1172 0 obj +(\376\377\0008\000.\0001\0005\000.\0002\000.\0001\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000F\000u\000l\000l) +endobj +1173 0 obj +<< /S /GoTo /D (subsection.8.15.3) >> +endobj +1176 0 obj +(\376\377\0008\000.\0001\0005\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1177 0 obj +<< /S /GoTo /D (subsubsection.8.15.3.1) >> +endobj +1180 0 obj +(\376\377\0008\000.\0001\0005\000.\0003\000.\0001\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000O\000f\000M\000e\000t\000h\000o\000d\000s) +endobj +1181 0 obj +<< /S /GoTo /D (section.8.16) >> +endobj +1184 0 obj +(\376\377\0008\000.\0001\0006\000\040\000F\000r\000i\000e\000n\000d\000I\000n\000f\000o\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1185 0 obj +<< /S /GoTo /D (subsection.8.16.1) >> +endobj +1188 0 obj +(\376\377\0008\000.\0001\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1189 0 obj +<< /S /GoTo /D (subsection.8.16.2) >> +endobj +1192 0 obj +(\376\377\0008\000.\0001\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1193 0 obj +<< /S /GoTo /D (subsubsection.8.16.2.1) >> +endobj +1196 0 obj +(\376\377\0008\000.\0001\0006\000.\0002\000.\0001\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +1197 0 obj +<< /S /GoTo /D (subsection.8.16.3) >> +endobj +1200 0 obj +(\376\377\0008\000.\0001\0006\000.\0003\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1201 0 obj +<< /S /GoTo /D (subsubsection.8.16.3.1) >> +endobj +1204 0 obj +(\376\377\0008\000.\0001\0006\000.\0003\000.\0001\000\040\000I\000s\000I\000n\000R\000o\000o\000m) +endobj +1205 0 obj +<< /S /GoTo /D (subsubsection.8.16.3.2) >> +endobj +1208 0 obj +(\376\377\0008\000.\0001\0006\000.\0003\000.\0002\000\040\000I\000s\000O\000n\000l\000i\000n\000e) +endobj +1209 0 obj +<< /S /GoTo /D (subsubsection.8.16.3.3) >> +endobj +1212 0 obj +(\376\377\0008\000.\0001\0006\000.\0003\000.\0003\000\040\000N\000a\000m\000e) +endobj +1213 0 obj +<< /S /GoTo /D (subsubsection.8.16.3.4) >> +endobj +1216 0 obj +(\376\377\0008\000.\0001\0006\000.\0003\000.\0004\000\040\000R\000o\000o\000m) +endobj +1217 0 obj +<< /S /GoTo /D (section.8.17) >> +endobj +1220 0 obj +(\376\377\0008\000.\0001\0007\000\040\000G\000a\000m\000e\000O\000b\000j\000e\000c\000t\000E\000x\000t\000e\000n\000s\000i\000o\000n\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1221 0 obj +<< /S /GoTo /D (subsection.8.17.1) >> +endobj +1224 0 obj +(\376\377\0008\000.\0001\0007\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1225 0 obj +<< /S /GoTo /D (subsection.8.17.2) >> +endobj +1228 0 obj +(\376\377\0008\000.\0001\0007\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1229 0 obj +<< /S /GoTo /D (subsubsection.8.17.2.1) >> +endobj +1232 0 obj +(\376\377\0008\000.\0001\0007\000.\0002\000.\0001\000\040\000G\000e\000t\000A\000c\000t\000i\000v\000e) +endobj +1233 0 obj +<< /S /GoTo /D (section.8.18) >> +endobj +1236 0 obj +(\376\377\0008\000.\0001\0008\000\040\000G\000a\000m\000e\000P\000r\000o\000p\000e\000r\000t\000y\000K\000e\000y\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1237 0 obj +<< /S /GoTo /D (subsection.8.18.1) >> +endobj +1240 0 obj +(\376\377\0008\000.\0001\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1241 0 obj +<< /S /GoTo /D (subsection.8.18.2) >> +endobj +1244 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1245 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.1) >> +endobj +1248 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0001\000\040\000C\000l\000e\000a\000n\000u\000p\000C\000a\000c\000h\000e\000O\000n\000L\000e\000a\000v\000e) +endobj +1249 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.2) >> +endobj +1252 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0002\000\040\000E\000x\000p\000e\000c\000t\000e\000d\000U\000s\000e\000r\000s) +endobj +1253 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.3) >> +endobj +1256 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0003\000\040\000I\000s\000O\000p\000e\000n) +endobj +1257 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.4) >> +endobj +1260 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0004\000\040\000I\000s\000V\000i\000s\000i\000b\000l\000e) +endobj +1261 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.5) >> +endobj +1264 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0005\000\040\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t\000I\000d) +endobj +1265 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.6) >> +endobj +1268 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0006\000\040\000M\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +1269 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.7) >> +endobj +1272 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0007\000\040\000P\000l\000a\000y\000e\000r\000C\000o\000u\000n\000t) +endobj +1273 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.8) >> +endobj +1276 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0008\000\040\000P\000r\000o\000p\000s\000L\000i\000s\000t\000e\000d\000I\000n\000L\000o\000b\000b\000y) +endobj +1277 0 obj +<< /S /GoTo /D (subsubsection.8.18.2.9) >> +endobj +1280 0 obj +(\376\377\0008\000.\0001\0008\000.\0002\000.\0009\000\040\000R\000e\000m\000o\000v\000e\000d) +endobj +1281 0 obj +<< /S /GoTo /D (section.8.19) >> +endobj +1284 0 obj +(\376\377\0008\000.\0001\0009\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000G\000U\000I\000.\000G\000i\000z\000m\000o\000T\000y\000p\000e\000D\000r\000a\000w\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1285 0 obj +<< /S /GoTo /D (subsection.8.19.1) >> +endobj +1288 0 obj +(\376\377\0008\000.\0001\0009\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1289 0 obj +<< /S /GoTo /D (subsubsection.8.19.1.1) >> +endobj +1292 0 obj +(\376\377\0008\000.\0001\0009\000.\0001\000.\0001\000\040\000D\000r\000a\000w) +endobj +1293 0 obj +<< /S /GoTo /D (section.8.20) >> +endobj +1296 0 obj +(\376\377\0008\000.\0002\0000\000\040\000H\000e\000l\000p\000U\000R\000L\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1297 0 obj +<< /S /GoTo /D (subsection.8.20.1) >> +endobj +1300 0 obj +(\376\377\0008\000.\0002\0000\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1301 0 obj +<< /S /GoTo /D (subsection.8.20.2) >> +endobj +1304 0 obj +(\376\377\0008\000.\0002\0000\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1305 0 obj +<< /S /GoTo /D (subsubsection.8.20.2.1) >> +endobj +1308 0 obj +(\376\377\0008\000.\0002\0000\000.\0002\000.\0001\000\040\000H\000e\000l\000p\000U\000R\000L) +endobj +1309 0 obj +<< /S /GoTo /D (section.8.21) >> +endobj +1312 0 obj +(\376\377\0008\000.\0002\0001\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000I\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000L\000i\000s\000t\000e\000n\000e\000r\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1313 0 obj +<< /S /GoTo /D (subsection.8.21.1) >> +endobj +1316 0 obj +(\376\377\0008\000.\0002\0001\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1317 0 obj +<< /S /GoTo /D (subsection.8.21.2) >> +endobj +1320 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1321 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.1) >> +endobj +1324 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0001\000\040\000D\000e\000b\000u\000g\000R\000e\000t\000u\000r\000n) +endobj +1325 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.2) >> +endobj +1328 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0002\000\040\000O\000n\000C\000h\000a\000t\000S\000t\000a\000t\000e\000C\000h\000a\000n\000g\000e) +endobj +1329 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.3) >> +endobj +1332 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0003\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +1333 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.4) >> +endobj +1336 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0004\000\040\000O\000n\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +1337 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.5) >> +endobj +1340 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0005\000\040\000O\000n\000G\000e\000t\000M\000e\000s\000s\000a\000g\000e\000s) +endobj +1341 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.6) >> +endobj +1344 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0006\000\040\000O\000n\000P\000r\000i\000v\000a\000t\000e\000M\000e\000s\000s\000a\000g\000e) +endobj +1345 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.7) >> +endobj +1348 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0007\000\040\000O\000n\000S\000t\000a\000t\000u\000s\000U\000p\000d\000a\000t\000e) +endobj +1349 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.8) >> +endobj +1352 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0008\000\040\000O\000n\000S\000u\000b\000s\000c\000r\000i\000b\000e\000d) +endobj +1353 0 obj +<< /S /GoTo /D (subsubsection.8.21.2.9) >> +endobj +1356 0 obj +(\376\377\0008\000.\0002\0001\000.\0002\000.\0009\000\040\000O\000n\000U\000n\000s\000u\000b\000s\000c\000r\000i\000b\000e\000d) +endobj +1357 0 obj +<< /S /GoTo /D (section.8.22) >> +endobj +1360 0 obj +(\376\377\0008\000.\0002\0002\000\040\000I\000P\000u\000n\000C\000a\000l\000l\000b\000a\000c\000k\000s\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1361 0 obj +<< /S /GoTo /D (subsection.8.22.1) >> +endobj +1364 0 obj +(\376\377\0008\000.\0002\0002\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1365 0 obj +<< /S /GoTo /D (subsection.8.22.2) >> +endobj +1368 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1369 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.1) >> +endobj +1372 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000T\000o\000M\000a\000s\000t\000e\000r) +endobj +1373 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.2) >> +endobj +1376 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000T\000o\000P\000h\000o\000t\000o\000n) +endobj +1377 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.3) >> +endobj +1380 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0003\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000i\000o\000n\000F\000a\000i\000l) +endobj +1381 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.4) >> +endobj +1384 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0004\000\040\000O\000n\000C\000r\000e\000a\000t\000e\000d\000R\000o\000o\000m) +endobj +1385 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.5) >> +endobj +1388 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0005\000\040\000O\000n\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000F\000a\000i\000l\000e\000d) +endobj +1389 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.6) >> +endobj +1392 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0006\000\040\000O\000n\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000R\000e\000s\000p\000o\000n\000s\000e) +endobj +1393 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.7) >> +endobj +1396 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0007\000\040\000O\000n\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000e\000d\000F\000r\000o\000m\000P\000h\000o\000t\000o\000n) +endobj +1397 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.8) >> +endobj +1400 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0008\000\040\000O\000n\000F\000a\000i\000l\000e\000d\000T\000o\000C\000o\000n\000n\000e\000c\000t\000T\000o\000P\000h\000o\000t\000o\000n) +endobj +1401 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.9) >> +endobj +1404 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0009\000\040\000O\000n\000J\000o\000i\000n\000e\000d\000L\000o\000b\000b\000y) +endobj +1405 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.10) >> +endobj +1408 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0000\000\040\000O\000n\000J\000o\000i\000n\000e\000d\000R\000o\000o\000m) +endobj +1409 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.11) >> +endobj +1412 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0001\000\040\000O\000n\000L\000e\000f\000t\000L\000o\000b\000b\000y) +endobj +1413 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.12) >> +endobj +1416 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0002\000\040\000O\000n\000L\000e\000f\000t\000R\000o\000o\000m) +endobj +1417 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.13) >> +endobj +1420 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0003\000\040\000O\000n\000L\000o\000b\000b\000y\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s\000U\000p\000d\000a\000t\000e) +endobj +1421 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.14) >> +endobj +1424 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0004\000\040\000O\000n\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t\000S\000w\000i\000t\000c\000h\000e\000d) +endobj +1425 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.15) >> +endobj +1428 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0005\000\040\000O\000n\000O\000w\000n\000e\000r\000s\000h\000i\000p\000R\000e\000q\000u\000e\000s\000t) +endobj +1429 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.16) >> +endobj +1432 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0006\000\040\000O\000n\000O\000w\000n\000e\000r\000s\000h\000i\000p\000T\000r\000a\000n\000s\000f\000e\000r\000e\000d) +endobj +1433 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.17) >> +endobj +1436 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0007\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m\000F\000a\000i\000l\000e\000d) +endobj +1437 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.18) >> +endobj +1440 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0008\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000C\000u\000s\000t\000o\000m\000R\000o\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000C\000h\000a\000n\000g\000e\000d) +endobj +1441 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.19) >> +endobj +1444 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0001\0009\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e) +endobj +1445 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.20) >> +endobj +1448 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0000\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000J\000o\000i\000n\000R\000o\000o\000m\000F\000a\000i\000l\000e\000d) +endobj +1449 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.21) >> +endobj +1452 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0001\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000M\000a\000x\000C\000c\000c\000u\000R\000e\000a\000c\000h\000e\000d) +endobj +1453 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.22) >> +endobj +1456 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0002\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000A\000c\000t\000i\000v\000i\000t\000y\000C\000h\000a\000n\000g\000e\000d) +endobj +1457 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.23) >> +endobj +1460 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0003\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000C\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +1461 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.24) >> +endobj +1464 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0004\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +1465 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.25) >> +endobj +1468 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0005\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000C\000h\000a\000n\000g\000e\000d) +endobj +1469 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.26) >> +endobj +1472 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0006\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000R\000a\000n\000d\000o\000m\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d) +endobj +1473 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.27) >> +endobj +1476 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0007\000\040\000O\000n\000R\000e\000c\000e\000i\000v\000e\000d\000R\000o\000o\000m\000L\000i\000s\000t\000U\000p\000d\000a\000t\000e) +endobj +1477 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.28) >> +endobj +1480 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0008\000\040\000O\000n\000U\000p\000d\000a\000t\000e\000d\000F\000r\000i\000e\000n\000d\000L\000i\000s\000t) +endobj +1481 0 obj +<< /S /GoTo /D (subsubsection.8.22.2.29) >> +endobj +1484 0 obj +(\376\377\0008\000.\0002\0002\000.\0002\000.\0002\0009\000\040\000O\000n\000W\000e\000b\000R\000p\000c\000R\000e\000s\000p\000o\000n\000s\000e) +endobj +1485 0 obj +<< /S /GoTo /D (section.8.23) >> +endobj +1488 0 obj +(\376\377\0008\000.\0002\0003\000\040\000I\000P\000u\000n\000O\000b\000s\000e\000r\000v\000a\000b\000l\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1489 0 obj +<< /S /GoTo /D (subsection.8.23.1) >> +endobj +1492 0 obj +(\376\377\0008\000.\0002\0003\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1493 0 obj +<< /S /GoTo /D (section.8.24) >> +endobj +1496 0 obj +(\376\377\0008\000.\0002\0004\000\040\000I\000P\000u\000n\000P\000r\000e\000f\000a\000b\000P\000o\000o\000l\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1497 0 obj +<< /S /GoTo /D (subsection.8.24.1) >> +endobj +1500 0 obj +(\376\377\0008\000.\0002\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1501 0 obj +<< /S /GoTo /D (subsection.8.24.2) >> +endobj +1504 0 obj +(\376\377\0008\000.\0002\0004\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1505 0 obj +<< /S /GoTo /D (subsubsection.8.24.2.1) >> +endobj +1508 0 obj +(\376\377\0008\000.\0002\0004\000.\0002\000.\0001\000\040\000D\000e\000s\000t\000r\000o\000y) +endobj +1509 0 obj +<< /S /GoTo /D (subsubsection.8.24.2.2) >> +endobj +1512 0 obj +(\376\377\0008\000.\0002\0004\000.\0002\000.\0002\000\040\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e) +endobj +1513 0 obj +<< /S /GoTo /D (section.8.25) >> +endobj +1516 0 obj +(\376\377\0008\000.\0002\0005\000\040\000P\000h\000o\000t\000o\000n\000.\000M\000o\000n\000o\000B\000e\000h\000a\000v\000i\000o\000u\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1517 0 obj +<< /S /GoTo /D (subsection.8.25.1) >> +endobj +1520 0 obj +(\376\377\0008\000.\0002\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1521 0 obj +<< /S /GoTo /D (subsection.8.25.2) >> +endobj +1524 0 obj +(\376\377\0008\000.\0002\0005\000.\0002\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1525 0 obj +<< /S /GoTo /D (subsubsection.8.25.2.1) >> +endobj +1528 0 obj +(\376\377\0008\000.\0002\0005\000.\0002\000.\0001\000\040\000n\000e\000t\000w\000o\000r\000k\000V\000i\000e\000w) +endobj +1529 0 obj +<< /S /GoTo /D (subsubsection.8.25.2.2) >> +endobj +1532 0 obj +(\376\377\0008\000.\0002\0005\000.\0002\000.\0002\000\040\000p\000h\000o\000t\000o\000n\000V\000i\000e\000w) +endobj +1533 0 obj +<< /S /GoTo /D (section.8.26) >> +endobj +1536 0 obj +(\376\377\0008\000.\0002\0006\000\040\000O\000p\000e\000r\000a\000t\000i\000o\000n\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1537 0 obj +<< /S /GoTo /D (subsection.8.26.1) >> +endobj +1540 0 obj +(\376\377\0008\000.\0002\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1541 0 obj +<< /S /GoTo /D (subsection.8.26.2) >> +endobj +1544 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1545 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.1) >> +endobj +1548 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000e) +endobj +1549 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.2) >> +endobj +1552 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0002\000\040\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000e\000O\000n\000c\000e) +endobj +1553 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.3) >> +endobj +1556 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0003\000\040\000C\000h\000a\000n\000g\000e\000G\000r\000o\000u\000p\000s) +endobj +1557 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.4) >> +endobj +1560 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0004\000\040\000C\000r\000e\000a\000t\000e\000G\000a\000m\000e) +endobj +1561 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.5) >> +endobj +1564 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0005\000\040\000E\000x\000c\000h\000a\000n\000g\000e\000K\000e\000y\000s\000F\000o\000r\000E\000n\000c\000r\000y\000p\000t\000i\000o\000n) +endobj +1565 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.6) >> +endobj +1568 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0006\000\040\000F\000i\000n\000d\000F\000r\000i\000e\000n\000d\000s) +endobj +1569 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.7) >> +endobj +1572 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0007\000\040\000G\000e\000t\000G\000a\000m\000e\000L\000i\000s\000t) +endobj +1573 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.8) >> +endobj +1576 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0008\000\040\000G\000e\000t\000L\000o\000b\000b\000y\000S\000t\000a\000t\000s) +endobj +1577 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.9) >> +endobj +1580 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0009\000\040\000G\000e\000t\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +1581 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.10) >> +endobj +1584 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0000\000\040\000G\000e\000t\000R\000e\000g\000i\000o\000n\000s) +endobj +1585 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.11) >> +endobj +1588 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0001\000\040\000J\000o\000i\000n) +endobj +1589 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.12) >> +endobj +1592 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0002\000\040\000J\000o\000i\000n\000G\000a\000m\000e) +endobj +1593 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.13) >> +endobj +1596 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0003\000\040\000J\000o\000i\000n\000L\000o\000b\000b\000y) +endobj +1597 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.14) >> +endobj +1600 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0004\000\040\000J\000o\000i\000n\000R\000a\000n\000d\000o\000m\000G\000a\000m\000e) +endobj +1601 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.15) >> +endobj +1604 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0005\000\040\000L\000e\000a\000v\000e) +endobj +1605 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.16) >> +endobj +1608 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0006\000\040\000L\000e\000a\000v\000e\000L\000o\000b\000b\000y) +endobj +1609 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.17) >> +endobj +1612 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0007\000\040\000R\000a\000i\000s\000e\000E\000v\000e\000n\000t) +endobj +1613 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.18) >> +endobj +1616 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0008\000\040\000S\000e\000r\000v\000e\000r\000S\000e\000t\000t\000i\000n\000g\000s) +endobj +1617 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.19) >> +endobj +1620 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0001\0009\000\040\000S\000e\000t\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +1621 0 obj +<< /S /GoTo /D (subsubsection.8.26.2.20) >> +endobj +1624 0 obj +(\376\377\0008\000.\0002\0006\000.\0002\000.\0002\0000\000\040\000W\000e\000b\000R\000p\000c) +endobj +1625 0 obj +<< /S /GoTo /D (section.8.27) >> +endobj +1628 0 obj +(\376\377\0008\000.\0002\0007\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000C\000h\000a\000t\000.\000P\000a\000r\000a\000m\000e\000t\000e\000r\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1629 0 obj +<< /S /GoTo /D (subsection.8.27.1) >> +endobj +1632 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1633 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.1) >> +endobj +1636 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0001\000\040\000A\000d\000d\000r\000e\000s\000s) +endobj +1637 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.2) >> +endobj +1640 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0002\000\040\000A\000p\000p\000l\000i\000c\000a\000t\000i\000o\000n\000I\000d) +endobj +1641 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.3) >> +endobj +1644 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0003\000\040\000A\000p\000p\000V\000e\000r\000s\000i\000o\000n) +endobj +1645 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.4) >> +endobj +1648 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0004\000\040\000C\000l\000i\000e\000n\000t\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000D\000a\000t\000a) +endobj +1649 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.5) >> +endobj +1652 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0005\000\040\000C\000l\000i\000e\000n\000t\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000P\000a\000r\000a\000m\000s) +endobj +1653 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.6) >> +endobj +1656 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0006\000\040\000C\000l\000i\000e\000n\000t\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000T\000y\000p\000e) +endobj +1657 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.7) >> +endobj +1660 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0007\000\040\000R\000e\000g\000i\000o\000n) +endobj +1661 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.8) >> +endobj +1664 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0008\000\040\000S\000e\000c\000r\000e\000t) +endobj +1665 0 obj +<< /S /GoTo /D (subsubsection.8.27.1.9) >> +endobj +1668 0 obj +(\376\377\0008\000.\0002\0007\000.\0001\000.\0009\000\040\000U\000s\000e\000r\000I\000d) +endobj +1669 0 obj +<< /S /GoTo /D (section.8.28) >> +endobj +1672 0 obj +(\376\377\0008\000.\0002\0008\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000C\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1673 0 obj +<< /S /GoTo /D (subsection.8.28.1) >> +endobj +1676 0 obj +(\376\377\0008\000.\0002\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1677 0 obj +<< /S /GoTo /D (subsection.8.28.2) >> +endobj +1680 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1681 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.1) >> +endobj +1684 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\000\040\000A\000c\000t\000o\000r\000L\000i\000s\000t) +endobj +1685 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.2) >> +endobj +1688 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\000\040\000A\000c\000t\000o\000r\000N\000r) +endobj +1689 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.3) >> +endobj +1692 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\000\040\000A\000d\000d) +endobj +1693 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.4) >> +endobj +1696 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\000\040\000A\000d\000d\000r\000e\000s\000s) +endobj +1697 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.5) >> +endobj +1700 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\000\040\000A\000p\000p\000l\000i\000c\000a\000t\000i\000o\000n\000I\000d) +endobj +1701 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.6) >> +endobj +1704 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\000\040\000A\000p\000p\000V\000e\000r\000s\000i\000o\000n) +endobj +1705 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.7) >> +endobj +1708 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0007\000\040\000A\000z\000u\000r\000e\000L\000o\000c\000a\000l\000N\000o\000d\000e\000I\000d) +endobj +1709 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.8) >> +endobj +1712 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0008\000\040\000A\000z\000u\000r\000e\000M\000a\000s\000t\000e\000r\000N\000o\000d\000e\000I\000d) +endobj +1713 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.9) >> +endobj +1716 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0009\000\040\000A\000z\000u\000r\000e\000N\000o\000d\000e\000I\000n\000f\000o) +endobj +1717 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.10) >> +endobj +1720 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0000\000\040\000B\000r\000o\000a\000d\000c\000a\000s\000t) +endobj +1721 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.11) >> +endobj +1724 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0001\000\040\000C\000a\000c\000h\000e) +endobj +1725 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.12) >> +endobj +1728 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0002\000\040\000C\000a\000c\000h\000e\000S\000l\000i\000c\000e\000I\000n\000d\000e\000x) +endobj +1729 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.13) >> +endobj +1732 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0003\000\040\000C\000h\000e\000c\000k\000U\000s\000e\000r\000O\000n\000J\000o\000i\000n) +endobj +1733 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.14) >> +endobj +1736 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0004\000\040\000C\000l\000e\000a\000n\000u\000p\000C\000a\000c\000h\000e\000O\000n\000L\000e\000a\000v\000e) +endobj +1737 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.15) >> +endobj +1740 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0005\000\040\000C\000l\000i\000e\000n\000t\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000D\000a\000t\000a) +endobj +1741 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.16) >> +endobj +1744 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0006\000\040\000C\000l\000i\000e\000n\000t\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000P\000a\000r\000a\000m\000s) +endobj +1745 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.17) >> +endobj +1748 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0007\000\040\000C\000l\000i\000e\000n\000t\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000T\000y\000p\000e) +endobj +1749 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.18) >> +endobj +1752 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0008\000\040\000C\000o\000d\000e) +endobj +1753 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.19) >> +endobj +1756 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0001\0009\000\040\000C\000u\000s\000t\000o\000m\000E\000v\000e\000n\000t\000C\000o\000n\000t\000e\000n\000t) +endobj +1757 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.20) >> +endobj +1760 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0000\000\040\000C\000u\000s\000t\000o\000m\000I\000n\000i\000t\000D\000a\000t\000a) +endobj +1761 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.21) >> +endobj +1764 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0001\000\040\000D\000a\000t\000a) +endobj +1765 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.22) >> +endobj +1768 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0002\000\040\000E\000m\000p\000t\000y\000R\000o\000o\000m\000T\000T\000L) +endobj +1769 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.23) >> +endobj +1772 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0003\000\040\000E\000n\000c\000r\000y\000p\000t\000i\000o\000n\000D\000a\000t\000a) +endobj +1773 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.24) >> +endobj +1776 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0004\000\040\000E\000n\000c\000r\000y\000p\000t\000i\000o\000n\000M\000o\000d\000e) +endobj +1777 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.25) >> +endobj +1780 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0005\000\040\000E\000v\000e\000n\000t\000F\000o\000r\000w\000a\000r\000d) +endobj +1781 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.26) >> +endobj +1784 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0006\000\040\000E\000x\000p\000e\000c\000t\000e\000d\000P\000r\000o\000t\000o\000c\000o\000l) +endobj +1785 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.27) >> +endobj +1788 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0007\000\040\000E\000x\000p\000e\000c\000t\000e\000d\000V\000a\000l\000u\000e\000s) +endobj +1789 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.28) >> +endobj +1792 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0008\000\040\000F\000i\000n\000d\000F\000r\000i\000e\000n\000d\000s\000R\000e\000q\000u\000e\000s\000t\000L\000i\000s\000t) +endobj +1793 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.29) >> +endobj +1796 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0002\0009\000\040\000F\000i\000n\000d\000F\000r\000i\000e\000n\000d\000s\000R\000e\000s\000p\000o\000n\000s\000e\000O\000n\000l\000i\000n\000e\000L\000i\000s\000t) +endobj +1797 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.30) >> +endobj +1800 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0000\000\040\000F\000i\000n\000d\000F\000r\000i\000e\000n\000d\000s\000R\000e\000s\000p\000o\000n\000s\000e\000R\000o\000o\000m\000I\000d\000L\000i\000s\000t) +endobj +1801 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.31) >> +endobj +1804 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0001\000\040\000G\000a\000m\000e\000C\000o\000u\000n\000t) +endobj +1805 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.32) >> +endobj +1808 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0002\000\040\000G\000a\000m\000e\000L\000i\000s\000t) +endobj +1809 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.33) >> +endobj +1812 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0003\000\040\000G\000a\000m\000e\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +1813 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.34) >> +endobj +1816 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0004\000\040\000G\000r\000o\000u\000p) +endobj +1817 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.35) >> +endobj +1820 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0005\000\040\000I\000n\000f\000o) +endobj +1821 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.36) >> +endobj +1824 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0006\000\040\000I\000s\000C\000o\000m\000i\000n\000g\000B\000a\000c\000k) +endobj +1825 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.37) >> +endobj +1828 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0007\000\040\000I\000s\000I\000n\000a\000c\000t\000i\000v\000e) +endobj +1829 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.38) >> +endobj +1832 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0008\000\040\000J\000o\000i\000n\000M\000o\000d\000e) +endobj +1833 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.39) >> +endobj +1836 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0003\0009\000\040\000L\000o\000b\000b\000y\000N\000a\000m\000e) +endobj +1837 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.40) >> +endobj +1840 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0000\000\040\000L\000o\000b\000b\000y\000S\000t\000a\000t\000s) +endobj +1841 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.41) >> +endobj +1844 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0001\000\040\000L\000o\000b\000b\000y\000T\000y\000p\000e) +endobj +1845 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.42) >> +endobj +1848 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0002\000\040\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t\000I\000d) +endobj +1849 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.43) >> +endobj +1852 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0003\000\040\000M\000a\000s\000t\000e\000r\000P\000e\000e\000r\000C\000o\000u\000n\000t) +endobj +1853 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.44) >> +endobj +1856 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0004\000\040\000M\000a\000t\000c\000h\000M\000a\000k\000i\000n\000g\000T\000y\000p\000e) +endobj +1857 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.45) >> +endobj +1860 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0005\000\040\000N\000i\000c\000k\000N\000a\000m\000e) +endobj +1861 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.46) >> +endobj +1864 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0006\000\040\000P\000e\000e\000r\000C\000o\000u\000n\000t) +endobj +1865 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.47) >> +endobj +1868 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0007\000\040\000P\000l\000a\000y\000e\000r\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +1869 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.48) >> +endobj +1872 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0008\000\040\000P\000l\000a\000y\000e\000r\000T\000T\000L) +endobj +1873 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.49) >> +endobj +1876 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0004\0009\000\040\000P\000l\000u\000g\000i\000n\000N\000a\000m\000e) +endobj +1877 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.50) >> +endobj +1880 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0000\000\040\000P\000l\000u\000g\000i\000n\000s) +endobj +1881 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.51) >> +endobj +1884 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0001\000\040\000P\000l\000u\000g\000i\000n\000V\000e\000r\000s\000i\000o\000n) +endobj +1885 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.52) >> +endobj +1888 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0002\000\040\000P\000o\000s\000i\000t\000i\000o\000n) +endobj +1889 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.53) >> +endobj +1892 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0003\000\040\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +1893 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.54) >> +endobj +1896 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0004\000\040\000P\000u\000b\000l\000i\000s\000h\000U\000s\000e\000r\000I\000d) +endobj +1897 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.55) >> +endobj +1900 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0005\000\040\000R\000e\000c\000e\000i\000v\000e\000r\000G\000r\000o\000u\000p) +endobj +1901 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.56) >> +endobj +1904 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0006\000\040\000R\000e\000g\000i\000o\000n) +endobj +1905 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.57) >> +endobj +1908 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0007\000\040\000R\000e\000m\000o\000v\000e) +endobj +1909 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.58) >> +endobj +1912 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0008\000\040\000R\000o\000o\000m\000N\000a\000m\000e) +endobj +1913 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.59) >> +endobj +1916 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0005\0009\000\040\000R\000o\000o\000m\000O\000p\000t\000i\000o\000n\000F\000l\000a\000g\000s) +endobj +1917 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.60) >> +endobj +1920 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0000\000\040\000S\000e\000c\000r\000e\000t) +endobj +1921 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.61) >> +endobj +1924 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0001\000\040\000S\000u\000p\000p\000r\000e\000s\000s\000R\000o\000o\000m\000E\000v\000e\000n\000t\000s) +endobj +1925 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.62) >> +endobj +1928 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0002\000\040\000T\000a\000r\000g\000e\000t\000A\000c\000t\000o\000r\000N\000r) +endobj +1929 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.63) >> +endobj +1932 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0003\000\040\000U\000r\000i\000P\000a\000t\000h) +endobj +1933 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.64) >> +endobj +1936 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0004\000\040\000U\000s\000e\000r\000I\000d) +endobj +1937 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.65) >> +endobj +1940 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0005\000\040\000W\000e\000b\000R\000p\000c\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s) +endobj +1941 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.66) >> +endobj +1944 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0006\000\040\000W\000e\000b\000R\000p\000c\000R\000e\000t\000u\000r\000n\000C\000o\000d\000e) +endobj +1945 0 obj +<< /S /GoTo /D (subsubsection.8.28.2.67) >> +endobj +1948 0 obj +(\376\377\0008\000.\0002\0008\000.\0002\000.\0006\0007\000\040\000W\000e\000b\000R\000p\000c\000R\000e\000t\000u\000r\000n\000M\000e\000s\000s\000a\000g\000e) +endobj +1949 0 obj +<< /S /GoTo /D (section.8.29) >> +endobj +1952 0 obj +(\376\377\0008\000.\0002\0009\000\040\000P\000h\000o\000t\000o\000n\000A\000n\000i\000m\000a\000t\000o\000r\000V\000i\000e\000w\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +1953 0 obj +<< /S /GoTo /D (subsection.8.29.1) >> +endobj +1956 0 obj +(\376\377\0008\000.\0002\0009\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +1957 0 obj +<< /S /GoTo /D (subsection.8.29.2) >> +endobj +1960 0 obj +(\376\377\0008\000.\0002\0009\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1961 0 obj +<< /S /GoTo /D (subsubsection.8.29.2.1) >> +endobj +1964 0 obj +(\376\377\0008\000.\0002\0009\000.\0002\000.\0001\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000T\000y\000p\000e) +endobj +1965 0 obj +<< /S /GoTo /D (subsubsection.8.29.2.2) >> +endobj +1968 0 obj +(\376\377\0008\000.\0002\0009\000.\0002\000.\0002\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e) +endobj +1969 0 obj +<< /S /GoTo /D (subsection.8.29.3) >> +endobj +1972 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +1973 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.1) >> +endobj +1976 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0001\000\040\000C\000a\000c\000h\000e\000D\000i\000s\000c\000r\000e\000t\000e\000T\000r\000i\000g\000g\000e\000r\000s) +endobj +1977 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.2) >> +endobj +1980 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0002\000\040\000D\000o\000e\000s\000L\000a\000y\000e\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e\000E\000x\000i\000s\000t) +endobj +1981 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.3) >> +endobj +1984 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0003\000\040\000D\000o\000e\000s\000P\000a\000r\000a\000m\000e\000t\000e\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e\000E\000x\000i\000s\000t) +endobj +1985 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.4) >> +endobj +1988 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0004\000\040\000G\000e\000t\000L\000a\000y\000e\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e) +endobj +1989 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.5) >> +endobj +1992 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0005\000\040\000G\000e\000t\000P\000a\000r\000a\000m\000e\000t\000e\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e) +endobj +1993 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.6) >> +endobj +1996 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0006\000\040\000G\000e\000t\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d\000L\000a\000y\000e\000r\000s) +endobj +1997 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.7) >> +endobj +2000 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0007\000\040\000G\000e\000t\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s) +endobj +2001 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.8) >> +endobj +2004 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0008\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +2005 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.9) >> +endobj +2008 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0009\000\040\000S\000e\000t\000L\000a\000y\000e\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d) +endobj +2009 0 obj +<< /S /GoTo /D (subsubsection.8.29.3.10) >> +endobj +2012 0 obj +(\376\377\0008\000.\0002\0009\000.\0003\000.\0001\0000\000\040\000S\000e\000t\000P\000a\000r\000a\000m\000e\000t\000e\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d) +endobj +2013 0 obj +<< /S /GoTo /D (section.8.30) >> +endobj +2016 0 obj +(\376\377\0008\000.\0003\0000\000\040\000P\000h\000o\000t\000o\000n\000L\000a\000g\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000G\000u\000i\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2017 0 obj +<< /S /GoTo /D (subsection.8.30.1) >> +endobj +2020 0 obj +(\376\377\0008\000.\0003\0000\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2021 0 obj +<< /S /GoTo /D (subsection.8.30.2) >> +endobj +2024 0 obj +(\376\377\0008\000.\0003\0000\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2025 0 obj +<< /S /GoTo /D (subsubsection.8.30.2.1) >> +endobj +2028 0 obj +(\376\377\0008\000.\0003\0000\000.\0002\000.\0001\000\040\000O\000n\000G\000U\000I) +endobj +2029 0 obj +<< /S /GoTo /D (subsubsection.8.30.2.2) >> +endobj +2032 0 obj +(\376\377\0008\000.\0003\0000\000.\0002\000.\0002\000\040\000S\000t\000a\000r\000t) +endobj +2033 0 obj +<< /S /GoTo /D (subsection.8.30.3) >> +endobj +2036 0 obj +(\376\377\0008\000.\0003\0000\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2037 0 obj +<< /S /GoTo /D (subsubsection.8.30.3.1) >> +endobj +2040 0 obj +(\376\377\0008\000.\0003\0000\000.\0003\000.\0001\000\040\000V\000i\000s\000i\000b\000l\000e) +endobj +2041 0 obj +<< /S /GoTo /D (subsubsection.8.30.3.2) >> +endobj +2044 0 obj +(\376\377\0008\000.\0003\0000\000.\0003\000.\0002\000\040\000W\000i\000n\000d\000o\000w\000I\000d) +endobj +2045 0 obj +<< /S /GoTo /D (subsubsection.8.30.3.3) >> +endobj +2048 0 obj +(\376\377\0008\000.\0003\0000\000.\0003\000.\0003\000\040\000W\000i\000n\000d\000o\000w\000R\000e\000c\000t) +endobj +2049 0 obj +<< /S /GoTo /D (subsection.8.30.4) >> +endobj +2052 0 obj +(\376\377\0008\000.\0003\0000\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2053 0 obj +<< /S /GoTo /D (subsubsection.8.30.4.1) >> +endobj +2056 0 obj +(\376\377\0008\000.\0003\0000\000.\0004\000.\0001\000\040\000P\000e\000e\000r) +endobj +2057 0 obj +<< /S /GoTo /D (section.8.31) >> +endobj +2060 0 obj +(\376\377\0008\000.\0003\0001\000\040\000P\000h\000o\000t\000o\000n\000M\000e\000s\000s\000a\000g\000e\000I\000n\000f\000o\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2061 0 obj +<< /S /GoTo /D (subsection.8.31.1) >> +endobj +2064 0 obj +(\376\377\0008\000.\0003\0001\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2065 0 obj +<< /S /GoTo /D (subsection.8.31.2) >> +endobj +2068 0 obj +(\376\377\0008\000.\0003\0001\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2069 0 obj +<< /S /GoTo /D (subsubsection.8.31.2.1) >> +endobj +2072 0 obj +(\376\377\0008\000.\0003\0001\000.\0002\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000M\000e\000s\000s\000a\000g\000e\000I\000n\000f\000o) +endobj +2073 0 obj +<< /S /GoTo /D (subsection.8.31.3) >> +endobj +2076 0 obj +(\376\377\0008\000.\0003\0001\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2077 0 obj +<< /S /GoTo /D (subsubsection.8.31.3.1) >> +endobj +2080 0 obj +(\376\377\0008\000.\0003\0001\000.\0003\000.\0001\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +2081 0 obj +<< /S /GoTo /D (subsection.8.31.4) >> +endobj +2084 0 obj +(\376\377\0008\000.\0003\0001\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2085 0 obj +<< /S /GoTo /D (subsubsection.8.31.4.1) >> +endobj +2088 0 obj +(\376\377\0008\000.\0003\0001\000.\0004\000.\0001\000\040\000p\000h\000o\000t\000o\000n\000V\000i\000e\000w) +endobj +2089 0 obj +<< /S /GoTo /D (subsubsection.8.31.4.2) >> +endobj +2092 0 obj +(\376\377\0008\000.\0003\0001\000.\0004\000.\0002\000\040\000s\000e\000n\000d\000e\000r) +endobj +2093 0 obj +<< /S /GoTo /D (subsection.8.31.5) >> +endobj +2096 0 obj +(\376\377\0008\000.\0003\0001\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2097 0 obj +<< /S /GoTo /D (subsubsection.8.31.5.1) >> +endobj +2100 0 obj +(\376\377\0008\000.\0003\0001\000.\0005\000.\0001\000\040\000t\000i\000m\000e\000s\000t\000a\000m\000p) +endobj +2101 0 obj +<< /S /GoTo /D (section.8.32) >> +endobj +2104 0 obj +(\376\377\0008\000.\0003\0002\000\040\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2105 0 obj +<< /S /GoTo /D (subsection.8.32.1) >> +endobj +2108 0 obj +(\376\377\0008\000.\0003\0002\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2109 0 obj +<< /S /GoTo /D (subsection.8.32.2) >> +endobj +2112 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2113 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.1) >> +endobj +2116 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\000\040\000A\000l\000l\000o\000c\000a\000t\000e\000S\000c\000e\000n\000e\000V\000i\000e\000w\000I\000D) +endobj +2117 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.2) >> +endobj +2120 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\000\040\000A\000l\000l\000o\000c\000a\000t\000e\000V\000i\000e\000w\000I\000D) +endobj +2121 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.3) >> +endobj +2124 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\000\040\000C\000a\000c\000h\000e\000S\000e\000n\000d\000M\000o\000n\000o\000M\000e\000s\000s\000a\000g\000e\000T\000a\000r\000g\000e\000t\000s) +endobj +2125 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.4) >> +endobj +2128 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\000\040\000C\000l\000o\000s\000e\000C\000o\000n\000n\000e\000c\000t\000i\000o\000n) +endobj +2129 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.5) >> +endobj +2132 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\000\040\000C\000o\000n\000n\000e\000c\000t\000T\000o\000B\000e\000s\000t\000C\000l\000o\000u\000d\000S\000e\000r\000v\000e\000r) +endobj +2133 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.6) >> +endobj +2136 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\000\040\000C\000o\000n\000n\000e\000c\000t\000T\000o\000M\000a\000s\000t\000e\000r) +endobj +2137 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.7) >> +endobj +2140 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0007\000\040\000C\000o\000n\000n\000e\000c\000t\000T\000o\000R\000e\000g\000i\000o\000n) +endobj +2141 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.8) >> +endobj +2144 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0008\000\040\000C\000o\000n\000n\000e\000c\000t\000U\000s\000i\000n\000g\000S\000e\000t\000t\000i\000n\000g\000s) +endobj +2145 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.9) >> +endobj +2148 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0009\000\040\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m) +endobj +2149 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.10) >> +endobj +2152 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0000\000\040\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m) +endobj +2153 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.11) >> +endobj +2156 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0001\000\040\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m) +endobj +2157 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.12) >> +endobj +2160 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0002\000\040\000D\000e\000s\000t\000r\000o\000y) +endobj +2161 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.13) >> +endobj +2164 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0003\000\040\000D\000e\000s\000t\000r\000o\000y) +endobj +2165 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.14) >> +endobj +2168 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0004\000\040\000D\000e\000s\000t\000r\000o\000y\000A\000l\000l) +endobj +2169 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.15) >> +endobj +2172 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0005\000\040\000D\000e\000s\000t\000r\000o\000y\000P\000l\000a\000y\000e\000r\000O\000b\000j\000e\000c\000t\000s) +endobj +2173 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.16) >> +endobj +2176 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0006\000\040\000D\000e\000s\000t\000r\000o\000y\000P\000l\000a\000y\000e\000r\000O\000b\000j\000e\000c\000t\000s) +endobj +2177 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.17) >> +endobj +2180 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0007\000\040\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t) +endobj +2181 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.18) >> +endobj +2184 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0008\000\040\000E\000v\000e\000n\000t\000C\000a\000l\000l\000b\000a\000c\000k) +endobj +2185 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.19) >> +endobj +2188 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0001\0009\000\040\000F\000e\000t\000c\000h\000S\000e\000r\000v\000e\000r\000T\000i\000m\000e\000s\000t\000a\000m\000p) +endobj +2189 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.20) >> +endobj +2192 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0000\000\040\000F\000i\000n\000d\000F\000r\000i\000e\000n\000d\000s) +endobj +2193 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.21) >> +endobj +2196 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0001\000\040\000F\000i\000n\000d\000G\000a\000m\000e\000O\000b\000j\000e\000c\000t\000s\000W\000i\000t\000h\000C\000o\000m\000p\000o\000n\000e\000n\000t) +endobj +2197 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.22) >> +endobj +2200 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0002\000\040\000G\000e\000t\000C\000u\000s\000t\000o\000m\000R\000o\000o\000m\000L\000i\000s\000t) +endobj +2201 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.23) >> +endobj +2204 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0003\000\040\000G\000e\000t\000P\000i\000n\000g) +endobj +2205 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.24) >> +endobj +2208 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0004\000\040\000G\000e\000t\000R\000o\000o\000m\000L\000i\000s\000t) +endobj +2209 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.25) >> +endobj +2212 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0005\000\040\000I\000n\000i\000t\000i\000a\000l\000i\000z\000e\000S\000e\000c\000u\000r\000i\000t\000y) +endobj +2213 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.26) >> +endobj +2216 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0006\000\040\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e) +endobj +2217 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.27) >> +endobj +2220 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0007\000\040\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e) +endobj +2221 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.28) >> +endobj +2224 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0008\000\040\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e\000S\000c\000e\000n\000e\000O\000b\000j\000e\000c\000t) +endobj +2225 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.29) >> +endobj +2228 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0002\0009\000\040\000J\000o\000i\000n\000L\000o\000b\000b\000y) +endobj +2229 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.30) >> +endobj +2232 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0000\000\040\000J\000o\000i\000n\000L\000o\000b\000b\000y) +endobj +2233 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.31) >> +endobj +2236 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0001\000\040\000J\000o\000i\000n\000O\000r\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m) +endobj +2237 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.32) >> +endobj +2240 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0002\000\040\000J\000o\000i\000n\000O\000r\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m) +endobj +2241 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.33) >> +endobj +2244 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0003\000\040\000J\000o\000i\000n\000R\000a\000n\000d\000o\000m\000R\000o\000o\000m) +endobj +2245 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.34) >> +endobj +2248 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0004\000\040\000J\000o\000i\000n\000R\000a\000n\000d\000o\000m\000R\000o\000o\000m) +endobj +2249 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.35) >> +endobj +2252 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0005\000\040\000J\000o\000i\000n\000R\000a\000n\000d\000o\000m\000R\000o\000o\000m) +endobj +2253 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.36) >> +endobj +2256 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0006\000\040\000J\000o\000i\000n\000R\000o\000o\000m) +endobj +2257 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.37) >> +endobj +2260 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0007\000\040\000J\000o\000i\000n\000R\000o\000o\000m) +endobj +2261 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.38) >> +endobj +2264 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0008\000\040\000L\000e\000a\000v\000e\000L\000o\000b\000b\000y) +endobj +2265 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.39) >> +endobj +2268 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0003\0009\000\040\000L\000e\000a\000v\000e\000R\000o\000o\000m) +endobj +2269 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.40) >> +endobj +2272 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0000\000\040\000L\000o\000a\000d\000L\000e\000v\000e\000l) +endobj +2273 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.41) >> +endobj +2276 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0001\000\040\000L\000o\000a\000d\000L\000e\000v\000e\000l) +endobj +2277 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.42) >> +endobj +2280 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0002\000\040\000N\000e\000t\000w\000o\000r\000k\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s\000R\000e\000s\000e\000t) +endobj +2281 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.43) >> +endobj +2284 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0003\000\040\000N\000e\000t\000w\000o\000r\000k\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +2285 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.44) >> +endobj +2288 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0004\000\040\000O\000v\000e\000r\000r\000i\000d\000e\000B\000e\000s\000t\000C\000l\000o\000u\000d\000S\000e\000r\000v\000e\000r) +endobj +2289 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.45) >> +endobj +2292 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0005\000\040\000R\000a\000i\000s\000e\000E\000v\000e\000n\000t) +endobj +2293 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.46) >> +endobj +2296 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0006\000\040\000R\000e\000c\000o\000n\000n\000e\000c\000t) +endobj +2297 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.47) >> +endobj +2300 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0007\000\040\000R\000e\000c\000o\000n\000n\000e\000c\000t\000A\000n\000d\000R\000e\000j\000o\000i\000n) +endobj +2301 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.48) >> +endobj +2304 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0008\000\040\000R\000e\000f\000r\000e\000s\000h\000C\000l\000o\000u\000d\000S\000e\000r\000v\000e\000r\000R\000a\000t\000i\000n\000g) +endobj +2305 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.49) >> +endobj +2308 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0004\0009\000\040\000R\000e\000J\000o\000i\000n\000R\000o\000o\000m) +endobj +2309 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.50) >> +endobj +2312 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0000\000\040\000R\000e\000m\000o\000v\000e\000P\000l\000a\000y\000e\000r\000C\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2313 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.51) >> +endobj +2316 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0001\000\040\000R\000e\000m\000o\000v\000e\000R\000P\000C\000s) +endobj +2317 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.52) >> +endobj +2320 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0002\000\040\000R\000e\000m\000o\000v\000e\000R\000P\000C\000s) +endobj +2321 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.53) >> +endobj +2324 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0003\000\040\000R\000e\000m\000o\000v\000e\000R\000P\000C\000s\000I\000n\000G\000r\000o\000u\000p) +endobj +2325 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.54) >> +endobj +2328 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0004\000\040\000S\000e\000n\000d\000O\000u\000t\000g\000o\000i\000n\000g\000C\000o\000m\000m\000a\000n\000d\000s) +endobj +2329 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.55) >> +endobj +2332 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0005\000\040\000S\000e\000t\000I\000n\000t\000e\000r\000e\000s\000t\000G\000r\000o\000u\000p\000s) +endobj +2333 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.56) >> +endobj +2336 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0006\000\040\000S\000e\000t\000I\000n\000t\000e\000r\000e\000s\000t\000G\000r\000o\000u\000p\000s) +endobj +2337 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.57) >> +endobj +2340 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0007\000\040\000S\000e\000t\000L\000e\000v\000e\000l\000P\000r\000e\000f\000i\000x) +endobj +2341 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.58) >> +endobj +2344 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0008\000\040\000S\000e\000t\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t) +endobj +2345 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.59) >> +endobj +2348 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0005\0009\000\040\000S\000e\000t\000P\000l\000a\000y\000e\000r\000C\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2349 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.60) >> +endobj +2352 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0000\000\040\000S\000e\000t\000R\000e\000c\000e\000i\000v\000i\000n\000g\000E\000n\000a\000b\000l\000e\000d) +endobj +2353 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.61) >> +endobj +2356 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0001\000\040\000S\000e\000t\000R\000e\000c\000e\000i\000v\000i\000n\000g\000E\000n\000a\000b\000l\000e\000d) +endobj +2357 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.62) >> +endobj +2360 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0002\000\040\000S\000e\000t\000S\000e\000n\000d\000i\000n\000g\000E\000n\000a\000b\000l\000e\000d) +endobj +2361 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.63) >> +endobj +2364 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0003\000\040\000S\000e\000t\000S\000e\000n\000d\000i\000n\000g\000E\000n\000a\000b\000l\000e\000d) +endobj +2365 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.64) >> +endobj +2368 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0004\000\040\000S\000e\000t\000S\000e\000n\000d\000i\000n\000g\000E\000n\000a\000b\000l\000e\000d) +endobj +2369 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.65) >> +endobj +2372 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0005\000\040\000S\000e\000t\000S\000e\000n\000d\000i\000n\000g\000E\000n\000a\000b\000l\000e\000d) +endobj +2373 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.66) >> +endobj +2376 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0006\000\040\000S\000w\000i\000t\000c\000h\000T\000o\000P\000r\000o\000t\000o\000c\000o\000l) +endobj +2377 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.67) >> +endobj +2380 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0007\000\040\000U\000n\000A\000l\000l\000o\000c\000a\000t\000e\000V\000i\000e\000w\000I\000D) +endobj +2381 0 obj +<< /S /GoTo /D (subsubsection.8.32.2.68) >> +endobj +2384 0 obj +(\376\377\0008\000.\0003\0002\000.\0002\000.\0006\0008\000\040\000W\000e\000b\000R\000p\000c) +endobj +2385 0 obj +<< /S /GoTo /D (subsection.8.32.3) >> +endobj +2388 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2389 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.1) >> +endobj +2392 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\000\040\000B\000a\000c\000k\000g\000r\000o\000u\000n\000d\000T\000i\000m\000e\000o\000u\000t) +endobj +2393 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.2) >> +endobj +2396 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0002\000\040\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e\000I\000n\000R\000o\000o\000m\000O\000n\000l\000y) +endobj +2397 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.3) >> +endobj +2400 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0003\000\040\000l\000o\000g\000L\000e\000v\000e\000l) +endobj +2401 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.4) >> +endobj +2404 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0004\000\040\000M\000A\000X\000\137\000V\000I\000E\000W\000\137\000I\000D\000S) +endobj +2405 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.5) >> +endobj +2408 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0005\000\040\000m\000a\000x\000C\000o\000n\000n\000e\000c\000t\000i\000o\000n\000s) +endobj +2409 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.6) >> +endobj +2412 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0006\000\040\000O\000n\000E\000v\000e\000n\000t\000C\000a\000l\000l) +endobj +2413 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.7) >> +endobj +2416 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0007\000\040\000P\000h\000o\000t\000o\000n\000S\000e\000r\000v\000e\000r\000S\000e\000t\000t\000i\000n\000g\000s) +endobj +2417 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.8) >> +endobj +2420 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0008\000\040\000p\000r\000e\000c\000i\000s\000i\000o\000n\000F\000o\000r\000F\000l\000o\000a\000t\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000a\000t\000i\000o\000n) +endobj +2421 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.9) >> +endobj +2424 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0009\000\040\000p\000r\000e\000c\000i\000s\000i\000o\000n\000F\000o\000r\000Q\000u\000a\000t\000e\000r\000n\000i\000o\000n\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000a\000t\000i\000o\000n) +endobj +2425 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.10) >> +endobj +2428 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0000\000\040\000p\000r\000e\000c\000i\000s\000i\000o\000n\000F\000o\000r\000V\000e\000c\000t\000o\000r\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000a\000t\000i\000o\000n) +endobj +2429 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.11) >> +endobj +2432 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0001\000\040\000P\000r\000e\000f\000a\000b\000C\000a\000c\000h\000e) +endobj +2433 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.12) >> +endobj +2436 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0002\000\040\000S\000e\000n\000d\000M\000o\000n\000o\000M\000e\000s\000s\000a\000g\000e\000T\000a\000r\000g\000e\000t\000s) +endobj +2437 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.13) >> +endobj +2440 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0003\000\040\000S\000e\000n\000d\000M\000o\000n\000o\000M\000e\000s\000s\000a\000g\000e\000T\000a\000r\000g\000e\000t\000T\000y\000p\000e) +endobj +2441 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.14) >> +endobj +2444 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0004\000\040\000S\000t\000a\000r\000t\000R\000p\000c\000s\000A\000s\000C\000o\000r\000o\000u\000t\000i\000n\000e) +endobj +2445 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.15) >> +endobj +2448 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0005\000\040\000U\000s\000e\000P\000r\000e\000f\000a\000b\000C\000a\000c\000h\000e) +endobj +2449 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.16) >> +endobj +2452 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0006\000\040\000U\000s\000e\000R\000p\000c\000M\000o\000n\000o\000B\000e\000h\000a\000v\000i\000o\000u\000r\000C\000a\000c\000h\000e) +endobj +2453 0 obj +<< /S /GoTo /D (subsubsection.8.32.3.17) >> +endobj +2456 0 obj +(\376\377\0008\000.\0003\0002\000.\0003\000.\0001\0007\000\040\000v\000e\000r\000s\000i\000o\000n\000P\000U\000N) +endobj +2457 0 obj +<< /S /GoTo /D (subsection.8.32.4) >> +endobj +2460 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2461 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.1) >> +endobj +2464 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\000\040\000A\000u\000t\000h\000V\000a\000l\000u\000e\000s) +endobj +2465 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.2) >> +endobj +2468 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\000\040\000a\000u\000t\000o\000C\000l\000e\000a\000n\000U\000p\000P\000l\000a\000y\000e\000r\000O\000b\000j\000e\000c\000t\000s) +endobj +2469 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.3) >> +endobj +2472 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\000\040\000a\000u\000t\000o\000J\000o\000i\000n\000L\000o\000b\000b\000y) +endobj +2473 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.4) >> +endobj +2476 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\000\040\000a\000u\000t\000o\000m\000a\000t\000i\000c\000a\000l\000l\000y\000S\000y\000n\000c\000S\000c\000e\000n\000e) +endobj +2477 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.5) >> +endobj +2480 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0005\000\040\000C\000l\000o\000u\000d\000R\000e\000g\000i\000o\000n) +endobj +2481 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.6) >> +endobj +2484 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0006\000\040\000c\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +2485 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.7) >> +endobj +2488 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0007\000\040\000c\000o\000n\000n\000e\000c\000t\000e\000d\000A\000n\000d\000R\000e\000a\000d\000y) +endobj +2489 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.8) >> +endobj +2492 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0008\000\040\000c\000o\000n\000n\000e\000c\000t\000i\000n\000g) +endobj +2493 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.9) >> +endobj +2496 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0009\000\040\000c\000o\000n\000n\000e\000c\000t\000i\000o\000n\000S\000t\000a\000t\000e) +endobj +2497 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.10) >> +endobj +2500 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0000\000\040\000c\000o\000n\000n\000e\000c\000t\000i\000o\000n\000S\000t\000a\000t\000e\000D\000e\000t\000a\000i\000l\000e\000d) +endobj +2501 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.11) >> +endobj +2504 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0001\000\040\000c\000o\000u\000n\000t\000O\000f\000P\000l\000a\000y\000e\000r\000s) +endobj +2505 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.12) >> +endobj +2508 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0002\000\040\000c\000o\000u\000n\000t\000O\000f\000P\000l\000a\000y\000e\000r\000s\000I\000n\000R\000o\000o\000m\000s) +endobj +2509 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.13) >> +endobj +2512 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0003\000\040\000c\000o\000u\000n\000t\000O\000f\000P\000l\000a\000y\000e\000r\000s\000O\000n\000M\000a\000s\000t\000e\000r) +endobj +2513 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.14) >> +endobj +2516 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0004\000\040\000c\000o\000u\000n\000t\000O\000f\000R\000o\000o\000m\000s) +endobj +2517 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.15) >> +endobj +2520 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0005\000\040\000C\000r\000c\000C\000h\000e\000c\000k\000E\000n\000a\000b\000l\000e\000d) +endobj +2521 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.16) >> +endobj +2524 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0006\000\040\000E\000n\000a\000b\000l\000e\000L\000o\000b\000b\000y\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s) +endobj +2525 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.17) >> +endobj +2528 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0007\000\040\000F\000r\000i\000e\000n\000d\000s) +endobj +2529 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.18) >> +endobj +2532 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0008\000\040\000F\000r\000i\000e\000n\000d\000s\000L\000i\000s\000t\000A\000g\000e) +endobj +2533 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.19) >> +endobj +2536 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0001\0009\000\040\000g\000a\000m\000e\000V\000e\000r\000s\000i\000o\000n) +endobj +2537 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.20) >> +endobj +2540 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0000\000\040\000i\000n\000R\000o\000o\000m) +endobj +2541 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.21) >> +endobj +2544 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0001\000\040\000i\000n\000s\000i\000d\000e\000L\000o\000b\000b\000y) +endobj +2545 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.22) >> +endobj +2548 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0002\000\040\000i\000s\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t) +endobj +2549 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.23) >> +endobj +2552 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0003\000\040\000i\000s\000M\000e\000s\000s\000a\000g\000e\000Q\000u\000e\000u\000e\000R\000u\000n\000n\000i\000n\000g) +endobj +2553 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.24) >> +endobj +2556 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0004\000\040\000i\000s\000N\000o\000n\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t\000I\000n\000R\000o\000o\000m) +endobj +2557 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.25) >> +endobj +2560 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0005\000\040\000l\000o\000b\000b\000y) +endobj +2561 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.26) >> +endobj +2564 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0006\000\040\000L\000o\000b\000b\000y\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s) +endobj +2565 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.27) >> +endobj +2568 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0007\000\040\000m\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t) +endobj +2569 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.28) >> +endobj +2572 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0008\000\040\000M\000a\000x\000R\000e\000s\000e\000n\000d\000s\000B\000e\000f\000o\000r\000e\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t) +endobj +2573 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.29) >> +endobj +2576 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0002\0009\000\040\000N\000e\000t\000w\000o\000r\000k\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s\000E\000n\000a\000b\000l\000e\000d) +endobj +2577 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.30) >> +endobj +2580 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0000\000\040\000o\000f\000f\000l\000i\000n\000e\000M\000o\000d\000e) +endobj +2581 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.31) >> +endobj +2584 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0001\000\040\000o\000t\000h\000e\000r\000P\000l\000a\000y\000e\000r\000s) +endobj +2585 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.32) >> +endobj +2588 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0002\000\040\000P\000a\000c\000k\000e\000t\000L\000o\000s\000s\000B\000y\000C\000r\000c\000C\000h\000e\000c\000k) +endobj +2589 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.33) >> +endobj +2592 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0003\000\040\000p\000l\000a\000y\000e\000r) +endobj +2593 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.34) >> +endobj +2596 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0004\000\040\000p\000l\000a\000y\000e\000r\000L\000i\000s\000t) +endobj +2597 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.35) >> +endobj +2600 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0005\000\040\000p\000l\000a\000y\000e\000r\000N\000a\000m\000e) +endobj +2601 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.36) >> +endobj +2604 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0006\000\040\000P\000r\000e\000f\000a\000b\000P\000o\000o\000l) +endobj +2605 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.37) >> +endobj +2608 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0007\000\040\000Q\000u\000i\000c\000k\000R\000e\000s\000e\000n\000d\000s) +endobj +2609 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.38) >> +endobj +2612 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0008\000\040\000R\000e\000s\000e\000n\000t\000R\000e\000l\000i\000a\000b\000l\000e\000C\000o\000m\000m\000a\000n\000d\000s) +endobj +2613 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.39) >> +endobj +2616 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0003\0009\000\040\000r\000o\000o\000m) +endobj +2617 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.40) >> +endobj +2620 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0000\000\040\000s\000e\000n\000d\000R\000a\000t\000e) +endobj +2621 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.41) >> +endobj +2624 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0001\000\040\000s\000e\000n\000d\000R\000a\000t\000e\000O\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2625 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.42) >> +endobj +2628 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0002\000\040\000S\000e\000r\000v\000e\000r) +endobj +2629 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.43) >> +endobj +2632 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0003\000\040\000S\000e\000r\000v\000e\000r\000A\000d\000d\000r\000e\000s\000s) +endobj +2633 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.44) >> +endobj +2636 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0004\000\040\000S\000e\000r\000v\000e\000r\000T\000i\000m\000e\000s\000t\000a\000m\000p) +endobj +2637 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.45) >> +endobj +2640 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0005\000\040\000t\000i\000m\000e) +endobj +2641 0 obj +<< /S /GoTo /D (subsubsection.8.32.4.46) >> +endobj +2644 0 obj +(\376\377\0008\000.\0003\0002\000.\0004\000.\0004\0006\000\040\000u\000n\000r\000e\000l\000i\000a\000b\000l\000e\000C\000o\000m\000m\000a\000n\000d\000s\000L\000i\000m\000i\000t) +endobj +2645 0 obj +<< /S /GoTo /D (section.8.33) >> +endobj +2648 0 obj +(\376\377\0008\000.\0003\0003\000\040\000P\000h\000o\000t\000o\000n\000P\000i\000n\000g\000M\000a\000n\000a\000g\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2649 0 obj +<< /S /GoTo /D (subsection.8.33.1) >> +endobj +2652 0 obj +(\376\377\0008\000.\0003\0003\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2653 0 obj +<< /S /GoTo /D (subsubsection.8.33.1.1) >> +endobj +2656 0 obj +(\376\377\0008\000.\0003\0003\000.\0001\000.\0001\000\040\000P\000i\000n\000g\000S\000o\000c\000k\000e\000t) +endobj +2657 0 obj +<< /S /GoTo /D (subsubsection.8.33.1.2) >> +endobj +2660 0 obj +(\376\377\0008\000.\0003\0003\000.\0001\000.\0002\000\040\000R\000e\000s\000o\000l\000v\000e\000H\000o\000s\000t) +endobj +2661 0 obj +<< /S /GoTo /D (subsection.8.33.2) >> +endobj +2664 0 obj +(\376\377\0008\000.\0003\0003\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2665 0 obj +<< /S /GoTo /D (subsubsection.8.33.2.1) >> +endobj +2668 0 obj +(\376\377\0008\000.\0003\0003\000.\0002\000.\0001\000\040\000A\000t\000t\000e\000m\000p\000t\000s) +endobj +2669 0 obj +<< /S /GoTo /D (subsubsection.8.33.2.2) >> +endobj +2672 0 obj +(\376\377\0008\000.\0003\0003\000.\0002\000.\0002\000\040\000I\000g\000n\000o\000r\000e\000I\000n\000i\000t\000i\000a\000l\000A\000t\000t\000e\000m\000p\000t) +endobj +2673 0 obj +<< /S /GoTo /D (subsubsection.8.33.2.3) >> +endobj +2676 0 obj +(\376\377\0008\000.\0003\0003\000.\0002\000.\0003\000\040\000M\000a\000x\000M\000i\000l\000l\000i\000s\000e\000c\000o\000n\000s\000P\000e\000r\000P\000i\000n\000g) +endobj +2677 0 obj +<< /S /GoTo /D (subsubsection.8.33.2.4) >> +endobj +2680 0 obj +(\376\377\0008\000.\0003\0003\000.\0002\000.\0004\000\040\000U\000s\000e\000N\000a\000t\000i\000v\000e) +endobj +2681 0 obj +<< /S /GoTo /D (subsection.8.33.3) >> +endobj +2684 0 obj +(\376\377\0008\000.\0003\0003\000.\0003\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2685 0 obj +<< /S /GoTo /D (subsubsection.8.33.3.1) >> +endobj +2688 0 obj +(\376\377\0008\000.\0003\0003\000.\0003\000.\0001\000\040\000B\000e\000s\000t\000R\000e\000g\000i\000o\000n) +endobj +2689 0 obj +<< /S /GoTo /D (subsubsection.8.33.3.2) >> +endobj +2692 0 obj +(\376\377\0008\000.\0003\0003\000.\0003\000.\0002\000\040\000D\000o\000n\000e) +endobj +2693 0 obj +<< /S /GoTo /D (section.8.34) >> +endobj +2696 0 obj +(\376\377\0008\000.\0003\0004\000\040\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2697 0 obj +<< /S /GoTo /D (subsection.8.34.1) >> +endobj +2700 0 obj +(\376\377\0008\000.\0003\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2701 0 obj +<< /S /GoTo /D (subsection.8.34.2) >> +endobj +2704 0 obj +(\376\377\0008\000.\0003\0004\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2705 0 obj +<< /S /GoTo /D (subsubsection.8.34.2.1) >> +endobj +2708 0 obj +(\376\377\0008\000.\0003\0004\000.\0002\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r) +endobj +2709 0 obj +<< /S /GoTo /D (subsection.8.34.3) >> +endobj +2712 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2713 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.1) >> +endobj +2716 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0001\000\040\000C\000o\000m\000p\000a\000r\000e\000T\000o) +endobj +2717 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.2) >> +endobj +2720 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0002\000\040\000C\000o\000m\000p\000a\000r\000e\000T\000o) +endobj +2721 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.3) >> +endobj +2724 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0003\000\040\000E\000q\000u\000a\000l\000s) +endobj +2725 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.4) >> +endobj +2728 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0004\000\040\000E\000q\000u\000a\000l\000s) +endobj +2729 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.5) >> +endobj +2732 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0005\000\040\000E\000q\000u\000a\000l\000s) +endobj +2733 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.6) >> +endobj +2736 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0006\000\040\000F\000i\000n\000d) +endobj +2737 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.7) >> +endobj +2740 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0007\000\040\000G\000e\000t) +endobj +2741 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.8) >> +endobj +2744 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0008\000\040\000G\000e\000t\000H\000a\000s\000h\000C\000o\000d\000e) +endobj +2745 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.9) >> +endobj +2748 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0009\000\040\000G\000e\000t\000N\000e\000x\000t) +endobj +2749 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.10) >> +endobj +2752 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0001\0000\000\040\000G\000e\000t\000N\000e\000x\000t\000F\000o\000r) +endobj +2753 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.11) >> +endobj +2756 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0001\0001\000\040\000G\000e\000t\000N\000e\000x\000t\000F\000o\000r) +endobj +2757 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.12) >> +endobj +2760 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0001\0002\000\040\000S\000e\000t\000C\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2761 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.13) >> +endobj +2764 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0001\0003\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +2765 0 obj +<< /S /GoTo /D (subsubsection.8.34.3.14) >> +endobj +2768 0 obj +(\376\377\0008\000.\0003\0004\000.\0003\000.\0001\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000F\000u\000l\000l) +endobj +2769 0 obj +<< /S /GoTo /D (subsection.8.34.4) >> +endobj +2772 0 obj +(\376\377\0008\000.\0003\0004\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2773 0 obj +<< /S /GoTo /D (subsubsection.8.34.4.1) >> +endobj +2776 0 obj +(\376\377\0008\000.\0003\0004\000.\0004\000.\0001\000\040\000I\000s\000L\000o\000c\000a\000l) +endobj +2777 0 obj +<< /S /GoTo /D (subsubsection.8.34.4.2) >> +endobj +2780 0 obj +(\376\377\0008\000.\0003\0004\000.\0004\000.\0002\000\040\000T\000a\000g\000O\000b\000j\000e\000c\000t) +endobj +2781 0 obj +<< /S /GoTo /D (subsection.8.34.5) >> +endobj +2784 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2785 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.1) >> +endobj +2788 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0001\000\040\000A\000l\000l\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2789 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.2) >> +endobj +2792 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0002\000\040\000a\000l\000l\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2793 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.3) >> +endobj +2796 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0003\000\040\000C\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2797 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.4) >> +endobj +2800 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0004\000\040\000c\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +2801 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.5) >> +endobj +2804 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0005\000\040\000I\000D) +endobj +2805 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.6) >> +endobj +2808 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0006\000\040\000I\000s\000I\000n\000a\000c\000t\000i\000v\000e) +endobj +2809 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.7) >> +endobj +2812 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0007\000\040\000i\000s\000I\000n\000a\000c\000t\000i\000v\000e) +endobj +2813 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.8) >> +endobj +2816 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0008\000\040\000i\000s\000L\000o\000c\000a\000l) +endobj +2817 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.9) >> +endobj +2820 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0009\000\040\000I\000s\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t) +endobj +2821 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.10) >> +endobj +2824 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0001\0000\000\040\000i\000s\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t) +endobj +2825 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.11) >> +endobj +2828 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0001\0001\000\040\000n\000a\000m\000e) +endobj +2829 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.12) >> +endobj +2832 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0001\0002\000\040\000N\000i\000c\000k\000N\000a\000m\000e) +endobj +2833 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.13) >> +endobj +2836 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0001\0003\000\040\000U\000s\000e\000r\000I\000d) +endobj +2837 0 obj +<< /S /GoTo /D (subsubsection.8.34.5.14) >> +endobj +2840 0 obj +(\376\377\0008\000.\0003\0004\000.\0005\000.\0001\0004\000\040\000u\000s\000e\000r\000I\000d) +endobj +2841 0 obj +<< /S /GoTo /D (section.8.35) >> +endobj +2844 0 obj +(\376\377\0008\000.\0003\0005\000\040\000P\000h\000o\000t\000o\000n\000R\000i\000g\000i\000d\000b\000o\000d\000y\0002\000D\000V\000i\000e\000w\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2845 0 obj +<< /S /GoTo /D (subsection.8.35.1) >> +endobj +2848 0 obj +(\376\377\0008\000.\0003\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2849 0 obj +<< /S /GoTo /D (subsection.8.35.2) >> +endobj +2852 0 obj +(\376\377\0008\000.\0003\0005\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2853 0 obj +<< /S /GoTo /D (subsubsection.8.35.2.1) >> +endobj +2856 0 obj +(\376\377\0008\000.\0003\0005\000.\0002\000.\0001\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +2857 0 obj +<< /S /GoTo /D (section.8.36) >> +endobj +2860 0 obj +(\376\377\0008\000.\0003\0006\000\040\000P\000h\000o\000t\000o\000n\000R\000i\000g\000i\000d\000b\000o\000d\000y\000V\000i\000e\000w\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2861 0 obj +<< /S /GoTo /D (subsection.8.36.1) >> +endobj +2864 0 obj +(\376\377\0008\000.\0003\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2865 0 obj +<< /S /GoTo /D (subsection.8.36.2) >> +endobj +2868 0 obj +(\376\377\0008\000.\0003\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2869 0 obj +<< /S /GoTo /D (subsubsection.8.36.2.1) >> +endobj +2872 0 obj +(\376\377\0008\000.\0003\0006\000.\0002\000.\0001\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +2873 0 obj +<< /S /GoTo /D (section.8.37) >> +endobj +2876 0 obj +(\376\377\0008\000.\0003\0007\000\040\000P\000h\000o\000t\000o\000n\000S\000t\000a\000t\000s\000G\000u\000i\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2877 0 obj +<< /S /GoTo /D (subsection.8.37.1) >> +endobj +2880 0 obj +(\376\377\0008\000.\0003\0007\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2881 0 obj +<< /S /GoTo /D (subsection.8.37.2) >> +endobj +2884 0 obj +(\376\377\0008\000.\0003\0007\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2885 0 obj +<< /S /GoTo /D (subsubsection.8.37.2.1) >> +endobj +2888 0 obj +(\376\377\0008\000.\0003\0007\000.\0002\000.\0001\000\040\000O\000n\000G\000U\000I) +endobj +2889 0 obj +<< /S /GoTo /D (subsubsection.8.37.2.2) >> +endobj +2892 0 obj +(\376\377\0008\000.\0003\0007\000.\0002\000.\0002\000\040\000S\000t\000a\000r\000t) +endobj +2893 0 obj +<< /S /GoTo /D (subsubsection.8.37.2.3) >> +endobj +2896 0 obj +(\376\377\0008\000.\0003\0007\000.\0002\000.\0003\000\040\000T\000r\000a\000f\000f\000i\000c\000S\000t\000a\000t\000s\000W\000i\000n\000d\000o\000w) +endobj +2897 0 obj +<< /S /GoTo /D (subsubsection.8.37.2.4) >> +endobj +2900 0 obj +(\376\377\0008\000.\0003\0007\000.\0002\000.\0004\000\040\000U\000p\000d\000a\000t\000e) +endobj +2901 0 obj +<< /S /GoTo /D (subsection.8.37.3) >> +endobj +2904 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2905 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.1) >> +endobj +2908 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0001\000\040\000b\000u\000t\000t\000o\000n\000s\000O\000n) +endobj +2909 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.2) >> +endobj +2912 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0002\000\040\000h\000e\000a\000l\000t\000h\000S\000t\000a\000t\000s\000V\000i\000s\000i\000b\000l\000e) +endobj +2913 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.3) >> +endobj +2916 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0003\000\040\000s\000t\000a\000t\000s\000O\000n) +endobj +2917 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.4) >> +endobj +2920 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0004\000\040\000s\000t\000a\000t\000s\000R\000e\000c\000t) +endobj +2921 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.5) >> +endobj +2924 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0005\000\040\000s\000t\000a\000t\000s\000W\000i\000n\000d\000o\000w\000O\000n) +endobj +2925 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.6) >> +endobj +2928 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0006\000\040\000t\000r\000a\000f\000f\000i\000c\000S\000t\000a\000t\000s\000O\000n) +endobj +2929 0 obj +<< /S /GoTo /D (subsubsection.8.37.3.7) >> +endobj +2932 0 obj +(\376\377\0008\000.\0003\0007\000.\0003\000.\0007\000\040\000W\000i\000n\000d\000o\000w\000I\000d) +endobj +2933 0 obj +<< /S /GoTo /D (section.8.38) >> +endobj +2936 0 obj +(\376\377\0008\000.\0003\0008\000\040\000P\000h\000o\000t\000o\000n\000S\000t\000r\000e\000a\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +2937 0 obj +<< /S /GoTo /D (subsection.8.38.1) >> +endobj +2940 0 obj +(\376\377\0008\000.\0003\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +2941 0 obj +<< /S /GoTo /D (subsection.8.38.2) >> +endobj +2944 0 obj +(\376\377\0008\000.\0003\0008\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2945 0 obj +<< /S /GoTo /D (subsubsection.8.38.2.1) >> +endobj +2948 0 obj +(\376\377\0008\000.\0003\0008\000.\0002\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000S\000t\000r\000e\000a\000m) +endobj +2949 0 obj +<< /S /GoTo /D (subsection.8.38.3) >> +endobj +2952 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +2953 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.1) >> +endobj +2956 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\000\040\000P\000e\000e\000k\000N\000e\000x\000t) +endobj +2957 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.2) >> +endobj +2960 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0002\000\040\000R\000e\000c\000e\000i\000v\000e\000N\000e\000x\000t) +endobj +2961 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.3) >> +endobj +2964 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0003\000\040\000S\000e\000n\000d\000N\000e\000x\000t) +endobj +2965 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.4) >> +endobj +2968 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0004\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2969 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.5) >> +endobj +2972 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0005\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2973 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.6) >> +endobj +2976 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0006\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2977 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.7) >> +endobj +2980 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0007\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2981 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.8) >> +endobj +2984 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0008\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2985 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.9) >> +endobj +2988 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0009\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2989 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.10) >> +endobj +2992 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\0000\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2993 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.11) >> +endobj +2996 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\0001\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +2997 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.12) >> +endobj +3000 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\0002\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +3001 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.13) >> +endobj +3004 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\0003\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +3005 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.14) >> +endobj +3008 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\0004\000\040\000S\000e\000t\000R\000e\000a\000d\000S\000t\000r\000e\000a\000m) +endobj +3009 0 obj +<< /S /GoTo /D (subsubsection.8.38.3.15) >> +endobj +3012 0 obj +(\376\377\0008\000.\0003\0008\000.\0003\000.\0001\0005\000\040\000T\000o\000A\000r\000r\000a\000y) +endobj +3013 0 obj +<< /S /GoTo /D (subsection.8.38.4) >> +endobj +3016 0 obj +(\376\377\0008\000.\0003\0008\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3017 0 obj +<< /S /GoTo /D (subsubsection.8.38.4.1) >> +endobj +3020 0 obj +(\376\377\0008\000.\0003\0008\000.\0004\000.\0001\000\040\000C\000o\000u\000n\000t) +endobj +3021 0 obj +<< /S /GoTo /D (subsubsection.8.38.4.2) >> +endobj +3024 0 obj +(\376\377\0008\000.\0003\0008\000.\0004\000.\0002\000\040\000i\000s\000R\000e\000a\000d\000i\000n\000g) +endobj +3025 0 obj +<< /S /GoTo /D (subsubsection.8.38.4.3) >> +endobj +3028 0 obj +(\376\377\0008\000.\0003\0008\000.\0004\000.\0003\000\040\000i\000s\000W\000r\000i\000t\000i\000n\000g) +endobj +3029 0 obj +<< /S /GoTo /D (section.8.39) >> +endobj +3032 0 obj +(\376\377\0008\000.\0003\0009\000\040\000P\000h\000o\000t\000o\000n\000S\000t\000r\000e\000a\000m\000Q\000u\000e\000u\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3033 0 obj +<< /S /GoTo /D (subsection.8.39.1) >> +endobj +3036 0 obj +(\376\377\0008\000.\0003\0009\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3037 0 obj +<< /S /GoTo /D (subsection.8.39.2) >> +endobj +3040 0 obj +(\376\377\0008\000.\0003\0009\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3041 0 obj +<< /S /GoTo /D (subsubsection.8.39.2.1) >> +endobj +3044 0 obj +(\376\377\0008\000.\0003\0009\000.\0002\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000S\000t\000r\000e\000a\000m\000Q\000u\000e\000u\000e) +endobj +3045 0 obj +<< /S /GoTo /D (subsection.8.39.3) >> +endobj +3048 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3049 0 obj +<< /S /GoTo /D (subsubsection.8.39.3.1) >> +endobj +3052 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000.\0001\000\040\000D\000e\000s\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +3053 0 obj +<< /S /GoTo /D (subsubsection.8.39.3.2) >> +endobj +3056 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000.\0002\000\040\000H\000a\000s\000Q\000u\000e\000u\000e\000d\000O\000b\000j\000e\000c\000t\000s) +endobj +3057 0 obj +<< /S /GoTo /D (subsubsection.8.39.3.3) >> +endobj +3060 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000.\0003\000\040\000R\000e\000c\000e\000i\000v\000e\000N\000e\000x\000t) +endobj +3061 0 obj +<< /S /GoTo /D (subsubsection.8.39.3.4) >> +endobj +3064 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000.\0004\000\040\000R\000e\000s\000e\000t) +endobj +3065 0 obj +<< /S /GoTo /D (subsubsection.8.39.3.5) >> +endobj +3068 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000.\0005\000\040\000S\000e\000n\000d\000N\000e\000x\000t) +endobj +3069 0 obj +<< /S /GoTo /D (subsubsection.8.39.3.6) >> +endobj +3072 0 obj +(\376\377\0008\000.\0003\0009\000.\0003\000.\0006\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e) +endobj +3073 0 obj +<< /S /GoTo /D (section.8.40) >> +endobj +3076 0 obj +(\376\377\0008\000.\0004\0000\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3077 0 obj +<< /S /GoTo /D (subsection.8.40.1) >> +endobj +3080 0 obj +(\376\377\0008\000.\0004\0000\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3081 0 obj +<< /S /GoTo /D (subsection.8.40.2) >> +endobj +3084 0 obj +(\376\377\0008\000.\0004\0000\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3085 0 obj +<< /S /GoTo /D (subsubsection.8.40.2.1) >> +endobj +3088 0 obj +(\376\377\0008\000.\0004\0000\000.\0002\000.\0001\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +3089 0 obj +<< /S /GoTo /D (subsubsection.8.40.2.2) >> +endobj +3092 0 obj +(\376\377\0008\000.\0004\0000\000.\0002\000.\0002\000\040\000S\000e\000t\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d\000V\000a\000l\000u\000e\000s) +endobj +3093 0 obj +<< /S /GoTo /D (section.8.41) >> +endobj +3096 0 obj +(\376\377\0008\000.\0004\0001\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000P\000o\000s\000i\000t\000i\000o\000n\000C\000o\000n\000t\000r\000o\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3097 0 obj +<< /S /GoTo /D (subsection.8.41.1) >> +endobj +3100 0 obj +(\376\377\0008\000.\0004\0001\000.\0001\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3101 0 obj +<< /S /GoTo /D (subsubsection.8.41.1.1) >> +endobj +3104 0 obj +(\376\377\0008\000.\0004\0001\000.\0001\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000P\000o\000s\000i\000t\000i\000o\000n\000C\000o\000n\000t\000r\000o\000l) +endobj +3105 0 obj +<< /S /GoTo /D (subsection.8.41.2) >> +endobj +3108 0 obj +(\376\377\0008\000.\0004\0001\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3109 0 obj +<< /S /GoTo /D (subsubsection.8.41.2.1) >> +endobj +3112 0 obj +(\376\377\0008\000.\0004\0001\000.\0002\000.\0001\000\040\000G\000e\000t\000E\000x\000t\000r\000a\000p\000o\000l\000a\000t\000e\000d\000P\000o\000s\000i\000t\000i\000o\000n\000O\000f\000f\000s\000e\000t) +endobj +3113 0 obj +<< /S /GoTo /D (subsubsection.8.41.2.2) >> +endobj +3116 0 obj +(\376\377\0008\000.\0004\0001\000.\0002\000.\0002\000\040\000G\000e\000t\000N\000e\000t\000w\000o\000r\000k\000P\000o\000s\000i\000t\000i\000o\000n) +endobj +3117 0 obj +<< /S /GoTo /D (subsubsection.8.41.2.3) >> +endobj +3120 0 obj +(\376\377\0008\000.\0004\0001\000.\0002\000.\0003\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +3121 0 obj +<< /S /GoTo /D (subsubsection.8.41.2.4) >> +endobj +3124 0 obj +(\376\377\0008\000.\0004\0001\000.\0002\000.\0004\000\040\000S\000e\000t\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d\000V\000a\000l\000u\000e\000s) +endobj +3125 0 obj +<< /S /GoTo /D (subsubsection.8.41.2.5) >> +endobj +3128 0 obj +(\376\377\0008\000.\0004\0001\000.\0002\000.\0005\000\040\000U\000p\000d\000a\000t\000e\000P\000o\000s\000i\000t\000i\000o\000n) +endobj +3129 0 obj +<< /S /GoTo /D (section.8.42) >> +endobj +3132 0 obj +(\376\377\0008\000.\0004\0002\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000P\000o\000s\000i\000t\000i\000o\000n\000M\000o\000d\000e\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3133 0 obj +<< /S /GoTo /D (subsection.8.42.1) >> +endobj +3136 0 obj +(\376\377\0008\000.\0004\0002\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3137 0 obj +<< /S /GoTo /D (subsubsection.8.42.1.1) >> +endobj +3140 0 obj +(\376\377\0008\000.\0004\0002\000.\0001\000.\0001\000\040\000E\000x\000t\000r\000a\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n\000s) +endobj +3141 0 obj +<< /S /GoTo /D (subsubsection.8.42.1.2) >> +endobj +3144 0 obj +(\376\377\0008\000.\0004\0002\000.\0001\000.\0002\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n\000s) +endobj +3145 0 obj +<< /S /GoTo /D (subsection.8.42.2) >> +endobj +3148 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3149 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.1) >> +endobj +3152 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0001\000\040\000D\000r\000a\000w\000E\000r\000r\000o\000r\000G\000i\000z\000m\000o) +endobj +3153 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.2) >> +endobj +3156 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0002\000\040\000E\000x\000t\000r\000a\000p\000o\000l\000a\000t\000e\000I\000n\000c\000l\000u\000d\000i\000n\000g\000R\000o\000u\000n\000d\000T\000r\000i\000p\000T\000i\000m\000e) +endobj +3157 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.3) >> +endobj +3160 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0003\000\040\000E\000x\000t\000r\000a\000p\000o\000l\000a\000t\000e\000N\000u\000m\000b\000e\000r\000O\000f\000S\000t\000o\000r\000e\000d\000P\000o\000s\000i\000t\000i\000o\000n\000s) +endobj +3161 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.4) >> +endobj +3164 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0004\000\040\000E\000x\000t\000r\000a\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n) +endobj +3165 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.5) >> +endobj +3168 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0005\000\040\000E\000x\000t\000r\000a\000p\000o\000l\000a\000t\000e\000S\000p\000e\000e\000d) +endobj +3169 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.6) >> +endobj +3172 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0006\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000L\000e\000r\000p\000S\000p\000e\000e\000d) +endobj +3173 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.7) >> +endobj +3176 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0007\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000M\000o\000v\000e\000T\000o\000w\000a\000r\000d\000s\000A\000c\000c\000e\000l\000e\000r\000a\000t\000i\000o\000n) +endobj +3177 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.8) >> +endobj +3180 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0008\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000M\000o\000v\000e\000T\000o\000w\000a\000r\000d\000s\000D\000e\000c\000e\000l\000e\000r\000a\000t\000i\000o\000n) +endobj +3181 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.9) >> +endobj +3184 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0009\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000M\000o\000v\000e\000T\000o\000w\000a\000r\000d\000s\000S\000p\000e\000e\000d) +endobj +3185 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.10) >> +endobj +3188 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0001\0000\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n) +endobj +3189 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.11) >> +endobj +3192 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0001\0001\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000S\000p\000e\000e\000d\000C\000u\000r\000v\000e) +endobj +3193 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.12) >> +endobj +3196 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0001\0002\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000E\000n\000a\000b\000l\000e\000d) +endobj +3197 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.13) >> +endobj +3200 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0001\0003\000\040\000T\000e\000l\000e\000p\000o\000r\000t\000E\000n\000a\000b\000l\000e\000d) +endobj +3201 0 obj +<< /S /GoTo /D (subsubsection.8.42.2.14) >> +endobj +3204 0 obj +(\376\377\0008\000.\0004\0002\000.\0002\000.\0001\0004\000\040\000T\000e\000l\000e\000p\000o\000r\000t\000I\000f\000D\000i\000s\000t\000a\000n\000c\000e\000G\000r\000e\000a\000t\000e\000r\000T\000h\000a\000n) +endobj +3205 0 obj +<< /S /GoTo /D (section.8.43) >> +endobj +3208 0 obj +(\376\377\0008\000.\0004\0003\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000R\000o\000t\000a\000t\000i\000o\000n\000C\000o\000n\000t\000r\000o\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3209 0 obj +<< /S /GoTo /D (subsection.8.43.1) >> +endobj +3212 0 obj +(\376\377\0008\000.\0004\0003\000.\0001\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3213 0 obj +<< /S /GoTo /D (subsubsection.8.43.1.1) >> +endobj +3216 0 obj +(\376\377\0008\000.\0004\0003\000.\0001\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000R\000o\000t\000a\000t\000i\000o\000n\000C\000o\000n\000t\000r\000o\000l) +endobj +3217 0 obj +<< /S /GoTo /D (subsection.8.43.2) >> +endobj +3220 0 obj +(\376\377\0008\000.\0004\0003\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3221 0 obj +<< /S /GoTo /D (subsubsection.8.43.2.1) >> +endobj +3224 0 obj +(\376\377\0008\000.\0004\0003\000.\0002\000.\0001\000\040\000G\000e\000t\000N\000e\000t\000w\000o\000r\000k\000R\000o\000t\000a\000t\000i\000o\000n) +endobj +3225 0 obj +<< /S /GoTo /D (subsubsection.8.43.2.2) >> +endobj +3228 0 obj +(\376\377\0008\000.\0004\0003\000.\0002\000.\0002\000\040\000G\000e\000t\000R\000o\000t\000a\000t\000i\000o\000n) +endobj +3229 0 obj +<< /S /GoTo /D (subsubsection.8.43.2.3) >> +endobj +3232 0 obj +(\376\377\0008\000.\0004\0003\000.\0002\000.\0003\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +3233 0 obj +<< /S /GoTo /D (section.8.44) >> +endobj +3236 0 obj +(\376\377\0008\000.\0004\0004\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000R\000o\000t\000a\000t\000i\000o\000n\000M\000o\000d\000e\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3237 0 obj +<< /S /GoTo /D (subsection.8.44.1) >> +endobj +3240 0 obj +(\376\377\0008\000.\0004\0004\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3241 0 obj +<< /S /GoTo /D (subsubsection.8.44.1.1) >> +endobj +3244 0 obj +(\376\377\0008\000.\0004\0004\000.\0001\000.\0001\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n\000s) +endobj +3245 0 obj +<< /S /GoTo /D (subsection.8.44.2) >> +endobj +3248 0 obj +(\376\377\0008\000.\0004\0004\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3249 0 obj +<< /S /GoTo /D (subsubsection.8.44.2.1) >> +endobj +3252 0 obj +(\376\377\0008\000.\0004\0004\000.\0002\000.\0001\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000L\000e\000r\000p\000S\000p\000e\000e\000d) +endobj +3253 0 obj +<< /S /GoTo /D (subsubsection.8.44.2.2) >> +endobj +3256 0 obj +(\376\377\0008\000.\0004\0004\000.\0002\000.\0002\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n) +endobj +3257 0 obj +<< /S /GoTo /D (subsubsection.8.44.2.3) >> +endobj +3260 0 obj +(\376\377\0008\000.\0004\0004\000.\0002\000.\0003\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000R\000o\000t\000a\000t\000e\000T\000o\000w\000a\000r\000d\000s\000S\000p\000e\000e\000d) +endobj +3261 0 obj +<< /S /GoTo /D (subsubsection.8.44.2.4) >> +endobj +3264 0 obj +(\376\377\0008\000.\0004\0004\000.\0002\000.\0004\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000E\000n\000a\000b\000l\000e\000d) +endobj +3265 0 obj +<< /S /GoTo /D (section.8.45) >> +endobj +3268 0 obj +(\376\377\0008\000.\0004\0005\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000S\000c\000a\000l\000e\000C\000o\000n\000t\000r\000o\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3269 0 obj +<< /S /GoTo /D (subsection.8.45.1) >> +endobj +3272 0 obj +(\376\377\0008\000.\0004\0005\000.\0001\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3273 0 obj +<< /S /GoTo /D (subsubsection.8.45.1.1) >> +endobj +3276 0 obj +(\376\377\0008\000.\0004\0005\000.\0001\000.\0001\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000S\000c\000a\000l\000e\000C\000o\000n\000t\000r\000o\000l) +endobj +3277 0 obj +<< /S /GoTo /D (subsection.8.45.2) >> +endobj +3280 0 obj +(\376\377\0008\000.\0004\0005\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3281 0 obj +<< /S /GoTo /D (subsubsection.8.45.2.1) >> +endobj +3284 0 obj +(\376\377\0008\000.\0004\0005\000.\0002\000.\0001\000\040\000G\000e\000t\000N\000e\000t\000w\000o\000r\000k\000S\000c\000a\000l\000e) +endobj +3285 0 obj +<< /S /GoTo /D (subsubsection.8.45.2.2) >> +endobj +3288 0 obj +(\376\377\0008\000.\0004\0005\000.\0002\000.\0002\000\040\000G\000e\000t\000S\000c\000a\000l\000e) +endobj +3289 0 obj +<< /S /GoTo /D (subsubsection.8.45.2.3) >> +endobj +3292 0 obj +(\376\377\0008\000.\0004\0005\000.\0002\000.\0003\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +3293 0 obj +<< /S /GoTo /D (section.8.46) >> +endobj +3296 0 obj +(\376\377\0008\000.\0004\0006\000\040\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000S\000c\000a\000l\000e\000M\000o\000d\000e\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3297 0 obj +<< /S /GoTo /D (subsection.8.46.1) >> +endobj +3300 0 obj +(\376\377\0008\000.\0004\0006\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3301 0 obj +<< /S /GoTo /D (subsubsection.8.46.1.1) >> +endobj +3304 0 obj +(\376\377\0008\000.\0004\0006\000.\0001\000.\0001\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n\000s) +endobj +3305 0 obj +<< /S /GoTo /D (subsection.8.46.2) >> +endobj +3308 0 obj +(\376\377\0008\000.\0004\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3309 0 obj +<< /S /GoTo /D (subsubsection.8.46.2.1) >> +endobj +3312 0 obj +(\376\377\0008\000.\0004\0006\000.\0002\000.\0001\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000L\000e\000r\000p\000S\000p\000e\000e\000d) +endobj +3313 0 obj +<< /S /GoTo /D (subsubsection.8.46.2.2) >> +endobj +3316 0 obj +(\376\377\0008\000.\0004\0006\000.\0002\000.\0002\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000M\000o\000v\000e\000T\000o\000w\000a\000r\000d\000s\000S\000p\000e\000e\000d) +endobj +3317 0 obj +<< /S /GoTo /D (subsubsection.8.46.2.3) >> +endobj +3320 0 obj +(\376\377\0008\000.\0004\0006\000.\0002\000.\0003\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000e\000O\000p\000t\000i\000o\000n) +endobj +3321 0 obj +<< /S /GoTo /D (subsubsection.8.46.2.4) >> +endobj +3324 0 obj +(\376\377\0008\000.\0004\0006\000.\0002\000.\0004\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000E\000n\000a\000b\000l\000e\000d) +endobj +3325 0 obj +<< /S /GoTo /D (section.8.47) >> +endobj +3328 0 obj +(\376\377\0008\000.\0004\0007\000\040\000P\000h\000o\000t\000o\000n\000V\000i\000e\000w\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3329 0 obj +<< /S /GoTo /D (subsection.8.47.1) >> +endobj +3332 0 obj +(\376\377\0008\000.\0004\0007\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3333 0 obj +<< /S /GoTo /D (subsection.8.47.2) >> +endobj +3336 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3337 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.1) >> +endobj +3340 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\000\040\000D\000e\000s\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +3341 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.2) >> +endobj +3344 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0002\000\040\000F\000i\000n\000d) +endobj +3345 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.3) >> +endobj +3348 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0003\000\040\000G\000e\000t) +endobj +3349 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.4) >> +endobj +3352 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0004\000\040\000G\000e\000t) +endobj +3353 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.5) >> +endobj +3356 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0005\000\040\000O\000n\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t\000S\000w\000i\000t\000c\000h\000e\000d) +endobj +3357 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.6) >> +endobj +3360 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0006\000\040\000R\000e\000f\000r\000e\000s\000h\000R\000p\000c\000M\000o\000n\000o\000B\000e\000h\000a\000v\000i\000o\000u\000r\000C\000a\000c\000h\000e) +endobj +3361 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.7) >> +endobj +3364 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0007\000\040\000R\000e\000q\000u\000e\000s\000t\000O\000w\000n\000e\000r\000s\000h\000i\000p) +endobj +3365 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.8) >> +endobj +3368 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0008\000\040\000R\000P\000C) +endobj +3369 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.9) >> +endobj +3372 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0009\000\040\000R\000P\000C) +endobj +3373 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.10) >> +endobj +3376 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\0000\000\040\000R\000p\000c\000S\000e\000c\000u\000r\000e) +endobj +3377 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.11) >> +endobj +3380 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\0001\000\040\000R\000p\000c\000S\000e\000c\000u\000r\000e) +endobj +3381 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.12) >> +endobj +3384 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\0002\000\040\000S\000e\000r\000i\000a\000l\000i\000z\000e\000V\000i\000e\000w) +endobj +3385 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.13) >> +endobj +3388 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\0003\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +3389 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.14) >> +endobj +3392 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\0004\000\040\000T\000r\000a\000n\000s\000f\000e\000r\000O\000w\000n\000e\000r\000s\000h\000i\000p) +endobj +3393 0 obj +<< /S /GoTo /D (subsubsection.8.47.2.15) >> +endobj +3396 0 obj +(\376\377\0008\000.\0004\0007\000.\0002\000.\0001\0005\000\040\000T\000r\000a\000n\000s\000f\000e\000r\000O\000w\000n\000e\000r\000s\000h\000i\000p) +endobj +3397 0 obj +<< /S /GoTo /D (subsection.8.47.3) >> +endobj +3400 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3401 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.1) >> +endobj +3404 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0001\000\040\000c\000u\000r\000r\000e\000n\000t\000M\000a\000s\000t\000e\000r\000I\000D) +endobj +3405 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.2) >> +endobj +3408 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0002\000\040\000g\000r\000o\000u\000p) +endobj +3409 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.3) >> +endobj +3412 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0003\000\040\000i\000n\000s\000t\000a\000n\000t\000i\000a\000t\000i\000o\000n\000I\000d) +endobj +3413 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.4) >> +endobj +3416 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0004\000\040\000O\000b\000s\000e\000r\000v\000e\000d\000C\000o\000m\000p\000o\000n\000e\000n\000t\000s) +endobj +3417 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.5) >> +endobj +3420 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0005\000\040\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000R\000i\000g\000i\000d\000B\000o\000d\000y\000O\000p\000t\000i\000o\000n) +endobj +3421 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.6) >> +endobj +3424 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0006\000\040\000o\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000T\000r\000a\000n\000s\000f\000o\000r\000m\000O\000p\000t\000i\000o\000n) +endobj +3425 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.7) >> +endobj +3428 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0007\000\040\000o\000w\000n\000e\000r\000I\000d) +endobj +3429 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.8) >> +endobj +3432 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0008\000\040\000o\000w\000n\000e\000r\000s\000h\000i\000p\000T\000r\000a\000n\000s\000f\000e\000r) +endobj +3433 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.9) >> +endobj +3436 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0009\000\040\000O\000w\000n\000e\000r\000S\000h\000i\000p\000W\000a\000s\000T\000r\000a\000n\000s\000f\000e\000r\000e\000d) +endobj +3437 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.10) >> +endobj +3440 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0001\0000\000\040\000p\000r\000e\000f\000i\000x\000B\000a\000c\000k\000u\000p) +endobj +3441 0 obj +<< /S /GoTo /D (subsubsection.8.47.3.11) >> +endobj +3444 0 obj +(\376\377\0008\000.\0004\0007\000.\0003\000.\0001\0001\000\040\000s\000y\000n\000c\000h\000r\000o\000n\000i\000z\000a\000t\000i\000o\000n) +endobj +3445 0 obj +<< /S /GoTo /D (subsection.8.47.4) >> +endobj +3448 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3449 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.1) >> +endobj +3452 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0001\000\040\000C\000r\000e\000a\000t\000o\000r\000A\000c\000t\000o\000r\000N\000r) +endobj +3453 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.2) >> +endobj +3456 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0002\000\040\000i\000n\000s\000t\000a\000n\000t\000i\000a\000t\000i\000o\000n\000D\000a\000t\000a) +endobj +3457 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.3) >> +endobj +3460 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0003\000\040\000i\000s\000M\000i\000n\000e) +endobj +3461 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.4) >> +endobj +3464 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0004\000\040\000i\000s\000O\000w\000n\000e\000r\000A\000c\000t\000i\000v\000e) +endobj +3465 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.5) >> +endobj +3468 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0005\000\040\000i\000s\000S\000c\000e\000n\000e\000V\000i\000e\000w) +endobj +3469 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.6) >> +endobj +3472 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0006\000\040\000o\000w\000n\000e\000r) +endobj +3473 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.7) >> +endobj +3476 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0007\000\040\000O\000w\000n\000e\000r\000A\000c\000t\000o\000r\000N\000r) +endobj +3477 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.8) >> +endobj +3480 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0008\000\040\000p\000r\000e\000f\000i\000x) +endobj +3481 0 obj +<< /S /GoTo /D (subsubsection.8.47.4.9) >> +endobj +3484 0 obj +(\376\377\0008\000.\0004\0007\000.\0004\000.\0009\000\040\000v\000i\000e\000w\000I\000D) +endobj +3485 0 obj +<< /S /GoTo /D (section.8.48) >> +endobj +3488 0 obj +(\376\377\0008\000.\0004\0008\000\040\000P\000i\000n\000g\000M\000o\000n\000o\000E\000d\000i\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3489 0 obj +<< /S /GoTo /D (subsection.8.48.1) >> +endobj +3492 0 obj +(\376\377\0008\000.\0004\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3493 0 obj +<< /S /GoTo /D (subsection.8.48.2) >> +endobj +3496 0 obj +(\376\377\0008\000.\0004\0008\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3497 0 obj +<< /S /GoTo /D (subsubsection.8.48.2.1) >> +endobj +3500 0 obj +(\376\377\0008\000.\0004\0008\000.\0002\000.\0001\000\040\000D\000i\000s\000p\000o\000s\000e) +endobj +3501 0 obj +<< /S /GoTo /D (subsubsection.8.48.2.2) >> +endobj +3504 0 obj +(\376\377\0008\000.\0004\0008\000.\0002\000.\0002\000\040\000D\000o\000n\000e) +endobj +3505 0 obj +<< /S /GoTo /D (subsubsection.8.48.2.3) >> +endobj +3508 0 obj +(\376\377\0008\000.\0004\0008\000.\0002\000.\0003\000\040\000S\000t\000a\000r\000t\000P\000i\000n\000g) +endobj +3509 0 obj +<< /S /GoTo /D (section.8.49) >> +endobj +3512 0 obj +(\376\377\0008\000.\0004\0009\000\040\000P\000h\000o\000t\000o\000n\000.\000P\000u\000n\000B\000e\000h\000a\000v\000i\000o\000u\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3513 0 obj +<< /S /GoTo /D (subsection.8.49.1) >> +endobj +3516 0 obj +(\376\377\0008\000.\0004\0009\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3517 0 obj +<< /S /GoTo /D (subsection.8.49.2) >> +endobj +3520 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3521 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.1) >> +endobj +3524 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000T\000o\000M\000a\000s\000t\000e\000r) +endobj +3525 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.2) >> +endobj +3528 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000T\000o\000P\000h\000o\000t\000o\000n) +endobj +3529 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.3) >> +endobj +3532 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0003\000\040\000O\000n\000C\000o\000n\000n\000e\000c\000t\000i\000o\000n\000F\000a\000i\000l) +endobj +3533 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.4) >> +endobj +3536 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0004\000\040\000O\000n\000C\000r\000e\000a\000t\000e\000d\000R\000o\000o\000m) +endobj +3537 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.5) >> +endobj +3540 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0005\000\040\000O\000n\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000F\000a\000i\000l\000e\000d) +endobj +3541 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.6) >> +endobj +3544 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0006\000\040\000O\000n\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000R\000e\000s\000p\000o\000n\000s\000e) +endobj +3545 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.7) >> +endobj +3548 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0007\000\040\000O\000n\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000e\000d\000F\000r\000o\000m\000P\000h\000o\000t\000o\000n) +endobj +3549 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.8) >> +endobj +3552 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0008\000\040\000O\000n\000F\000a\000i\000l\000e\000d\000T\000o\000C\000o\000n\000n\000e\000c\000t\000T\000o\000P\000h\000o\000t\000o\000n) +endobj +3553 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.9) >> +endobj +3556 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0009\000\040\000O\000n\000J\000o\000i\000n\000e\000d\000L\000o\000b\000b\000y) +endobj +3557 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.10) >> +endobj +3560 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0000\000\040\000O\000n\000J\000o\000i\000n\000e\000d\000R\000o\000o\000m) +endobj +3561 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.11) >> +endobj +3564 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0001\000\040\000O\000n\000L\000e\000f\000t\000L\000o\000b\000b\000y) +endobj +3565 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.12) >> +endobj +3568 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0002\000\040\000O\000n\000L\000e\000f\000t\000R\000o\000o\000m) +endobj +3569 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.13) >> +endobj +3572 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0003\000\040\000O\000n\000L\000o\000b\000b\000y\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s\000U\000p\000d\000a\000t\000e) +endobj +3573 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.14) >> +endobj +3576 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0004\000\040\000O\000n\000M\000a\000s\000t\000e\000r\000C\000l\000i\000e\000n\000t\000S\000w\000i\000t\000c\000h\000e\000d) +endobj +3577 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.15) >> +endobj +3580 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0005\000\040\000O\000n\000O\000w\000n\000e\000r\000s\000h\000i\000p\000R\000e\000q\000u\000e\000s\000t) +endobj +3581 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.16) >> +endobj +3584 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0006\000\040\000O\000n\000O\000w\000n\000e\000r\000s\000h\000i\000p\000T\000r\000a\000n\000s\000f\000e\000r\000e\000d) +endobj +3585 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.17) >> +endobj +3588 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0007\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000C\000r\000e\000a\000t\000e\000R\000o\000o\000m\000F\000a\000i\000l\000e\000d) +endobj +3589 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.18) >> +endobj +3592 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0008\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000C\000u\000s\000t\000o\000m\000R\000o\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000C\000h\000a\000n\000g\000e\000d) +endobj +3593 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.19) >> +endobj +3596 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0001\0009\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000I\000n\000s\000t\000a\000n\000t\000i\000a\000t\000e) +endobj +3597 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.20) >> +endobj +3600 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0000\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000J\000o\000i\000n\000R\000o\000o\000m\000F\000a\000i\000l\000e\000d) +endobj +3601 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.21) >> +endobj +3604 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0001\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000M\000a\000x\000C\000c\000c\000u\000R\000e\000a\000c\000h\000e\000d) +endobj +3605 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.22) >> +endobj +3608 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0002\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000A\000c\000t\000i\000v\000i\000t\000y\000C\000h\000a\000n\000g\000e\000d) +endobj +3609 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.23) >> +endobj +3612 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0003\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000C\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +3613 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.24) >> +endobj +3616 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0004\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000e\000d) +endobj +3617 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.25) >> +endobj +3620 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0005\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000C\000h\000a\000n\000g\000e\000d) +endobj +3621 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.26) >> +endobj +3624 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0006\000\040\000O\000n\000P\000h\000o\000t\000o\000n\000R\000a\000n\000d\000o\000m\000J\000o\000i\000n\000F\000a\000i\000l\000e\000d) +endobj +3625 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.27) >> +endobj +3628 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0007\000\040\000O\000n\000R\000e\000c\000e\000i\000v\000e\000d\000R\000o\000o\000m\000L\000i\000s\000t\000U\000p\000d\000a\000t\000e) +endobj +3629 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.28) >> +endobj +3632 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0008\000\040\000O\000n\000U\000p\000d\000a\000t\000e\000d\000F\000r\000i\000e\000n\000d\000L\000i\000s\000t) +endobj +3633 0 obj +<< /S /GoTo /D (subsubsection.8.49.2.29) >> +endobj +3636 0 obj +(\376\377\0008\000.\0004\0009\000.\0002\000.\0002\0009\000\040\000O\000n\000W\000e\000b\000R\000p\000c\000R\000e\000s\000p\000o\000n\000s\000e) +endobj +3637 0 obj +<< /S /GoTo /D (section.8.50) >> +endobj +3640 0 obj +(\376\377\0008\000.\0005\0000\000\040\000P\000u\000n\000R\000P\000C\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3641 0 obj +<< /S /GoTo /D (subsection.8.50.1) >> +endobj +3644 0 obj +(\376\377\0008\000.\0005\0000\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3645 0 obj +<< /S /GoTo /D (section.8.51) >> +endobj +3648 0 obj +(\376\377\0008\000.\0005\0001\000\040\000R\000a\000i\000s\000e\000E\000v\000e\000n\000t\000O\000p\000t\000i\000o\000n\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3649 0 obj +<< /S /GoTo /D (subsection.8.51.1) >> +endobj +3652 0 obj +(\376\377\0008\000.\0005\0001\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3653 0 obj +<< /S /GoTo /D (subsection.8.51.2) >> +endobj +3656 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3657 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.1) >> +endobj +3660 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0001\000\040\000C\000a\000c\000h\000i\000n\000g\000O\000p\000t\000i\000o\000n) +endobj +3661 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.2) >> +endobj +3664 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0002\000\040\000D\000e\000f\000a\000u\000l\000t) +endobj +3665 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.3) >> +endobj +3668 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0003\000\040\000E\000n\000c\000r\000y\000p\000t) +endobj +3669 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.4) >> +endobj +3672 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0004\000\040\000F\000o\000r\000w\000a\000r\000d\000T\000o\000W\000e\000b\000h\000o\000o\000k) +endobj +3673 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.5) >> +endobj +3676 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0005\000\040\000I\000n\000t\000e\000r\000e\000s\000t\000G\000r\000o\000u\000p) +endobj +3677 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.6) >> +endobj +3680 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0006\000\040\000R\000e\000c\000e\000i\000v\000e\000r\000s) +endobj +3681 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.7) >> +endobj +3684 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0007\000\040\000S\000e\000q\000u\000e\000n\000c\000e\000C\000h\000a\000n\000n\000e\000l) +endobj +3685 0 obj +<< /S /GoTo /D (subsubsection.8.51.2.8) >> +endobj +3688 0 obj +(\376\377\0008\000.\0005\0001\000.\0002\000.\0008\000\040\000T\000a\000r\000g\000e\000t\000A\000c\000t\000o\000r\000s) +endobj +3689 0 obj +<< /S /GoTo /D (section.8.52) >> +endobj +3692 0 obj +(\376\377\0008\000.\0005\0002\000\040\000R\000e\000g\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3693 0 obj +<< /S /GoTo /D (subsection.8.52.1) >> +endobj +3696 0 obj +(\376\377\0008\000.\0005\0002\000.\0001\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3697 0 obj +<< /S /GoTo /D (subsubsection.8.52.1.1) >> +endobj +3700 0 obj +(\376\377\0008\000.\0005\0002\000.\0001\000.\0001\000\040\000R\000e\000g\000i\000o\000n) +endobj +3701 0 obj +<< /S /GoTo /D (subsubsection.8.52.1.2) >> +endobj +3704 0 obj +(\376\377\0008\000.\0005\0002\000.\0001\000.\0002\000\040\000R\000e\000g\000i\000o\000n) +endobj +3705 0 obj +<< /S /GoTo /D (subsection.8.52.2) >> +endobj +3708 0 obj +(\376\377\0008\000.\0005\0002\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3709 0 obj +<< /S /GoTo /D (subsubsection.8.52.2.1) >> +endobj +3712 0 obj +(\376\377\0008\000.\0005\0002\000.\0002\000.\0001\000\040\000P\000a\000r\000s\000e) +endobj +3713 0 obj +<< /S /GoTo /D (subsubsection.8.52.2.2) >> +endobj +3716 0 obj +(\376\377\0008\000.\0005\0002\000.\0002\000.\0002\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +3717 0 obj +<< /S /GoTo /D (subsection.8.52.3) >> +endobj +3720 0 obj +(\376\377\0008\000.\0005\0002\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3721 0 obj +<< /S /GoTo /D (subsubsection.8.52.3.1) >> +endobj +3724 0 obj +(\376\377\0008\000.\0005\0002\000.\0003\000.\0001\000\040\000C\000l\000u\000s\000t\000e\000r) +endobj +3725 0 obj +<< /S /GoTo /D (subsubsection.8.52.3.2) >> +endobj +3728 0 obj +(\376\377\0008\000.\0005\0002\000.\0003\000.\0002\000\040\000C\000o\000d\000e) +endobj +3729 0 obj +<< /S /GoTo /D (subsubsection.8.52.3.3) >> +endobj +3732 0 obj +(\376\377\0008\000.\0005\0002\000.\0003\000.\0003\000\040\000H\000o\000s\000t\000A\000n\000d\000P\000o\000r\000t) +endobj +3733 0 obj +<< /S /GoTo /D (subsubsection.8.52.3.4) >> +endobj +3736 0 obj +(\376\377\0008\000.\0005\0002\000.\0003\000.\0004\000\040\000P\000i\000n\000g) +endobj +3737 0 obj +<< /S /GoTo /D (section.8.53) >> +endobj +3740 0 obj +(\376\377\0008\000.\0005\0003\000\040\000R\000o\000o\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3741 0 obj +<< /S /GoTo /D (subsection.8.53.1) >> +endobj +3744 0 obj +(\376\377\0008\000.\0005\0003\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3745 0 obj +<< /S /GoTo /D (subsection.8.53.2) >> +endobj +3748 0 obj +(\376\377\0008\000.\0005\0003\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3749 0 obj +<< /S /GoTo /D (subsubsection.8.53.2.1) >> +endobj +3752 0 obj +(\376\377\0008\000.\0005\0003\000.\0002\000.\0001\000\040\000C\000l\000e\000a\000r\000E\000x\000p\000e\000c\000t\000e\000d\000U\000s\000e\000r\000s) +endobj +3753 0 obj +<< /S /GoTo /D (subsubsection.8.53.2.2) >> +endobj +3756 0 obj +(\376\377\0008\000.\0005\0003\000.\0002\000.\0002\000\040\000S\000e\000t\000C\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +3757 0 obj +<< /S /GoTo /D (subsubsection.8.53.2.3) >> +endobj +3760 0 obj +(\376\377\0008\000.\0005\0003\000.\0002\000.\0003\000\040\000S\000e\000t\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000L\000i\000s\000t\000e\000d\000I\000n\000L\000o\000b\000b\000y) +endobj +3761 0 obj +<< /S /GoTo /D (subsubsection.8.53.2.4) >> +endobj +3764 0 obj +(\376\377\0008\000.\0005\0003\000.\0002\000.\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +3765 0 obj +<< /S /GoTo /D (subsubsection.8.53.2.5) >> +endobj +3768 0 obj +(\376\377\0008\000.\0005\0003\000.\0002\000.\0005\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000F\000u\000l\000l) +endobj +3769 0 obj +<< /S /GoTo /D (subsection.8.53.3) >> +endobj +3772 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3773 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.1) >> +endobj +3776 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\000\040\000A\000u\000t\000o\000C\000l\000e\000a\000n\000U\000p) +endobj +3777 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.2) >> +endobj +3780 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0002\000\040\000a\000u\000t\000o\000C\000l\000e\000a\000n\000U\000p) +endobj +3781 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.3) >> +endobj +3784 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0003\000\040\000E\000x\000p\000e\000c\000t\000e\000d\000U\000s\000e\000r\000s) +endobj +3785 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.4) >> +endobj +3788 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0004\000\040\000e\000x\000p\000e\000c\000t\000e\000d\000U\000s\000e\000r\000s) +endobj +3789 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.5) >> +endobj +3792 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0005\000\040\000I\000s\000O\000p\000e\000n) +endobj +3793 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.6) >> +endobj +3796 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0006\000\040\000I\000s\000V\000i\000s\000i\000b\000l\000e) +endobj +3797 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.7) >> +endobj +3800 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0007\000\040\000M\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +3801 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.8) >> +endobj +3804 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0008\000\040\000m\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +3805 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.9) >> +endobj +3808 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0009\000\040\000N\000a\000m\000e) +endobj +3809 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.10) >> +endobj +3812 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0000\000\040\000n\000a\000m\000e) +endobj +3813 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.11) >> +endobj +3816 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0001\000\040\000o\000p\000e\000n) +endobj +3817 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.12) >> +endobj +3820 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0002\000\040\000P\000l\000a\000y\000e\000r\000C\000o\000u\000n\000t) +endobj +3821 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.13) >> +endobj +3824 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0003\000\040\000p\000l\000a\000y\000e\000r\000C\000o\000u\000n\000t) +endobj +3825 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.14) >> +endobj +3828 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000L\000i\000s\000t\000e\000d\000I\000n\000L\000o\000b\000b\000y) +endobj +3829 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.15) >> +endobj +3832 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0005\000\040\000p\000r\000o\000p\000e\000r\000t\000i\000e\000s\000L\000i\000s\000t\000e\000d\000I\000n\000L\000o\000b\000b\000y) +endobj +3833 0 obj +<< /S /GoTo /D (subsubsection.8.53.3.16) >> +endobj +3836 0 obj +(\376\377\0008\000.\0005\0003\000.\0003\000.\0001\0006\000\040\000v\000i\000s\000i\000b\000l\000e) +endobj +3837 0 obj +<< /S /GoTo /D (section.8.54) >> +endobj +3840 0 obj +(\376\377\0008\000.\0005\0004\000\040\000R\000o\000o\000m\000I\000n\000f\000o\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3841 0 obj +<< /S /GoTo /D (subsection.8.54.1) >> +endobj +3844 0 obj +(\376\377\0008\000.\0005\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3845 0 obj +<< /S /GoTo /D (subsection.8.54.2) >> +endobj +3848 0 obj +(\376\377\0008\000.\0005\0004\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3849 0 obj +<< /S /GoTo /D (subsubsection.8.54.2.1) >> +endobj +3852 0 obj +(\376\377\0008\000.\0005\0004\000.\0002\000.\0001\000\040\000E\000q\000u\000a\000l\000s) +endobj +3853 0 obj +<< /S /GoTo /D (subsubsection.8.54.2.2) >> +endobj +3856 0 obj +(\376\377\0008\000.\0005\0004\000.\0002\000.\0002\000\040\000G\000e\000t\000H\000a\000s\000h\000C\000o\000d\000e) +endobj +3857 0 obj +<< /S /GoTo /D (subsubsection.8.54.2.3) >> +endobj +3860 0 obj +(\376\377\0008\000.\0005\0004\000.\0002\000.\0003\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +3861 0 obj +<< /S /GoTo /D (subsubsection.8.54.2.4) >> +endobj +3864 0 obj +(\376\377\0008\000.\0005\0004\000.\0002\000.\0004\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000F\000u\000l\000l) +endobj +3865 0 obj +<< /S /GoTo /D (subsection.8.54.3) >> +endobj +3868 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3869 0 obj +<< /S /GoTo /D (subsubsection.8.54.3.1) >> +endobj +3872 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000.\0001\000\040\000a\000u\000t\000o\000C\000l\000e\000a\000n\000U\000p\000F\000i\000e\000l\000d) +endobj +3873 0 obj +<< /S /GoTo /D (subsubsection.8.54.3.2) >> +endobj +3876 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000.\0002\000\040\000e\000x\000p\000e\000c\000t\000e\000d\000U\000s\000e\000r\000s\000F\000i\000e\000l\000d) +endobj +3877 0 obj +<< /S /GoTo /D (subsubsection.8.54.3.3) >> +endobj +3880 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000.\0003\000\040\000m\000a\000x\000P\000l\000a\000y\000e\000r\000s\000F\000i\000e\000l\000d) +endobj +3881 0 obj +<< /S /GoTo /D (subsubsection.8.54.3.4) >> +endobj +3884 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000.\0004\000\040\000n\000a\000m\000e\000F\000i\000e\000l\000d) +endobj +3885 0 obj +<< /S /GoTo /D (subsubsection.8.54.3.5) >> +endobj +3888 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000.\0005\000\040\000o\000p\000e\000n\000F\000i\000e\000l\000d) +endobj +3889 0 obj +<< /S /GoTo /D (subsubsection.8.54.3.6) >> +endobj +3892 0 obj +(\376\377\0008\000.\0005\0004\000.\0003\000.\0006\000\040\000v\000i\000s\000i\000b\000l\000e\000F\000i\000e\000l\000d) +endobj +3893 0 obj +<< /S /GoTo /D (subsection.8.54.4) >> +endobj +3896 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3897 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.1) >> +endobj +3900 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\000\040\000C\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +3901 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.2) >> +endobj +3904 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0002\000\040\000c\000u\000s\000t\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +3905 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.3) >> +endobj +3908 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0003\000\040\000I\000s\000L\000o\000c\000a\000l\000C\000l\000i\000e\000n\000t\000I\000n\000s\000i\000d\000e) +endobj +3909 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.4) >> +endobj +3912 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0004\000\040\000i\000s\000L\000o\000c\000a\000l\000C\000l\000i\000e\000n\000t\000I\000n\000s\000i\000d\000e) +endobj +3913 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.5) >> +endobj +3916 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0005\000\040\000I\000s\000O\000p\000e\000n) +endobj +3917 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.6) >> +endobj +3920 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0006\000\040\000I\000s\000V\000i\000s\000i\000b\000l\000e) +endobj +3921 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.7) >> +endobj +3924 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0007\000\040\000M\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +3925 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.8) >> +endobj +3928 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0008\000\040\000m\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +3929 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.9) >> +endobj +3932 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0009\000\040\000N\000a\000m\000e) +endobj +3933 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.10) >> +endobj +3936 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\0000\000\040\000n\000a\000m\000e) +endobj +3937 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.11) >> +endobj +3940 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\0001\000\040\000o\000p\000e\000n) +endobj +3941 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.12) >> +endobj +3944 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\0002\000\040\000P\000l\000a\000y\000e\000r\000C\000o\000u\000n\000t) +endobj +3945 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.13) >> +endobj +3948 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\0003\000\040\000p\000l\000a\000y\000e\000r\000C\000o\000u\000n\000t) +endobj +3949 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.14) >> +endobj +3952 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\0004\000\040\000r\000e\000m\000o\000v\000e\000d\000F\000r\000o\000m\000L\000i\000s\000t) +endobj +3953 0 obj +<< /S /GoTo /D (subsubsection.8.54.4.15) >> +endobj +3956 0 obj +(\376\377\0008\000.\0005\0004\000.\0004\000.\0001\0005\000\040\000v\000i\000s\000i\000b\000l\000e) +endobj +3957 0 obj +<< /S /GoTo /D (section.8.55) >> +endobj +3960 0 obj +(\376\377\0008\000.\0005\0005\000\040\000R\000o\000o\000m\000O\000p\000t\000i\000o\000n\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +3961 0 obj +<< /S /GoTo /D (subsection.8.55.1) >> +endobj +3964 0 obj +(\376\377\0008\000.\0005\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +3965 0 obj +<< /S /GoTo /D (subsection.8.55.2) >> +endobj +3968 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3969 0 obj +<< /S /GoTo /D (subsubsection.8.55.2.1) >> +endobj +3972 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000.\0001\000\040\000C\000u\000s\000t\000o\000m\000R\000o\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +3973 0 obj +<< /S /GoTo /D (subsubsection.8.55.2.2) >> +endobj +3976 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000.\0002\000\040\000C\000u\000s\000t\000o\000m\000R\000o\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000F\000o\000r\000L\000o\000b\000b\000y) +endobj +3977 0 obj +<< /S /GoTo /D (subsubsection.8.55.2.3) >> +endobj +3980 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000.\0003\000\040\000E\000m\000p\000t\000y\000R\000o\000o\000m\000T\000t\000l) +endobj +3981 0 obj +<< /S /GoTo /D (subsubsection.8.55.2.4) >> +endobj +3984 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000.\0004\000\040\000M\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +3985 0 obj +<< /S /GoTo /D (subsubsection.8.55.2.5) >> +endobj +3988 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000.\0005\000\040\000P\000l\000a\000y\000e\000r\000T\000t\000l) +endobj +3989 0 obj +<< /S /GoTo /D (subsubsection.8.55.2.6) >> +endobj +3992 0 obj +(\376\377\0008\000.\0005\0005\000.\0002\000.\0006\000\040\000P\000l\000u\000g\000i\000n\000s) +endobj +3993 0 obj +<< /S /GoTo /D (subsection.8.55.3) >> +endobj +3996 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +3997 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.1) >> +endobj +4000 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\000\040\000C\000l\000e\000a\000n\000u\000p\000C\000a\000c\000h\000e\000O\000n\000L\000e\000a\000v\000e) +endobj +4001 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.2) >> +endobj +4004 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0002\000\040\000c\000l\000e\000a\000n\000u\000p\000C\000a\000c\000h\000e\000O\000n\000L\000e\000a\000v\000e) +endobj +4005 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.3) >> +endobj +4008 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0003\000\040\000c\000u\000s\000t\000o\000m\000R\000o\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +4009 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.4) >> +endobj +4012 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0004\000\040\000c\000u\000s\000t\000o\000m\000R\000o\000o\000m\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s\000F\000o\000r\000L\000o\000b\000b\000y) +endobj +4013 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.5) >> +endobj +4016 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0005\000\040\000D\000e\000l\000e\000t\000e\000N\000u\000l\000l\000P\000r\000o\000p\000e\000r\000t\000i\000e\000s) +endobj +4017 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.6) >> +endobj +4020 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0006\000\040\000I\000s\000O\000p\000e\000n) +endobj +4021 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.7) >> +endobj +4024 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0007\000\040\000i\000s\000O\000p\000e\000n) +endobj +4025 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.8) >> +endobj +4028 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0008\000\040\000I\000s\000V\000i\000s\000i\000b\000l\000e) +endobj +4029 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.9) >> +endobj +4032 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0009\000\040\000i\000s\000V\000i\000s\000i\000b\000l\000e) +endobj +4033 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.10) >> +endobj +4036 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\0000\000\040\000m\000a\000x\000P\000l\000a\000y\000e\000r\000s) +endobj +4037 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.11) >> +endobj +4040 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\0001\000\040\000p\000l\000u\000g\000i\000n\000s) +endobj +4041 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.12) >> +endobj +4044 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\0002\000\040\000P\000u\000b\000l\000i\000s\000h\000U\000s\000e\000r\000I\000d) +endobj +4045 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.13) >> +endobj +4048 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\0003\000\040\000p\000u\000b\000l\000i\000s\000h\000U\000s\000e\000r\000I\000d) +endobj +4049 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.14) >> +endobj +4052 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\0004\000\040\000S\000u\000p\000p\000r\000e\000s\000s\000R\000o\000o\000m\000E\000v\000e\000n\000t\000s) +endobj +4053 0 obj +<< /S /GoTo /D (subsubsection.8.55.3.15) >> +endobj +4056 0 obj +(\376\377\0008\000.\0005\0005\000.\0003\000.\0001\0005\000\040\000s\000u\000p\000p\000r\000e\000s\000s\000R\000o\000o\000m\000E\000v\000e\000n\000t\000s) +endobj +4057 0 obj +<< /S /GoTo /D (section.8.56) >> +endobj +4060 0 obj +(\376\377\0008\000.\0005\0006\000\040\000U\000n\000i\000t\000y\000E\000n\000g\000i\000n\000e\000.\000S\000c\000e\000n\000e\000M\000a\000n\000a\000g\000e\000m\000e\000n\000t\000.\000S\000c\000e\000n\000e\000M\000a\000n\000a\000g\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4061 0 obj +<< /S /GoTo /D (subsection.8.56.1) >> +endobj +4064 0 obj +(\376\377\0008\000.\0005\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4065 0 obj +<< /S /GoTo /D (subsection.8.56.2) >> +endobj +4068 0 obj +(\376\377\0008\000.\0005\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4069 0 obj +<< /S /GoTo /D (subsubsection.8.56.2.1) >> +endobj +4072 0 obj +(\376\377\0008\000.\0005\0006\000.\0002\000.\0001\000\040\000L\000o\000a\000d\000S\000c\000e\000n\000e) +endobj +4073 0 obj +<< /S /GoTo /D (subsubsection.8.56.2.2) >> +endobj +4076 0 obj +(\376\377\0008\000.\0005\0006\000.\0002\000.\0002\000\040\000L\000o\000a\000d\000S\000c\000e\000n\000e) +endobj +4077 0 obj +<< /S /GoTo /D (section.8.57) >> +endobj +4080 0 obj +(\376\377\0008\000.\0005\0007\000\040\000S\000c\000e\000n\000e\000M\000a\000n\000a\000g\000e\000r\000H\000e\000l\000p\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4081 0 obj +<< /S /GoTo /D (subsection.8.57.1) >> +endobj +4084 0 obj +(\376\377\0008\000.\0005\0007\000.\0001\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4085 0 obj +<< /S /GoTo /D (subsubsection.8.57.1.1) >> +endobj +4088 0 obj +(\376\377\0008\000.\0005\0007\000.\0001\000.\0001\000\040\000A\000c\000t\000i\000v\000e\000S\000c\000e\000n\000e\000B\000u\000i\000l\000d\000I\000n\000d\000e\000x) +endobj +4089 0 obj +<< /S /GoTo /D (subsubsection.8.57.1.2) >> +endobj +4092 0 obj +(\376\377\0008\000.\0005\0007\000.\0001\000.\0002\000\040\000A\000c\000t\000i\000v\000e\000S\000c\000e\000n\000e\000N\000a\000m\000e) +endobj +4093 0 obj +<< /S /GoTo /D (section.8.58) >> +endobj +4096 0 obj +(\376\377\0008\000.\0005\0008\000\040\000S\000e\000r\000v\000e\000r\000S\000e\000t\000t\000i\000n\000g\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4097 0 obj +<< /S /GoTo /D (subsection.8.58.1) >> +endobj +4100 0 obj +(\376\377\0008\000.\0005\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4101 0 obj +<< /S /GoTo /D (subsection.8.58.2) >> +endobj +4104 0 obj +(\376\377\0008\000.\0005\0008\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4105 0 obj +<< /S /GoTo /D (subsubsection.8.58.2.1) >> +endobj +4108 0 obj +(\376\377\0008\000.\0005\0008\000.\0002\000.\0001\000\040\000H\000o\000s\000t\000i\000n\000g\000O\000p\000t\000i\000o\000n) +endobj +4109 0 obj +<< /S /GoTo /D (subsection.8.58.3) >> +endobj +4112 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4113 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.1) >> +endobj +4116 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0001\000\040\000I\000s\000A\000p\000p\000I\000d) +endobj +4117 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.2) >> +endobj +4120 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0002\000\040\000R\000e\000s\000e\000t\000B\000e\000s\000t\000R\000e\000g\000i\000o\000n\000C\000o\000d\000e\000I\000n\000P\000r\000e\000f\000e\000r\000e\000n\000c\000e\000s) +endobj +4121 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.3) >> +endobj +4124 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0003\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +4125 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.4) >> +endobj +4128 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0004\000\040\000U\000s\000e\000C\000l\000o\000u\000d) +endobj +4129 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.5) >> +endobj +4132 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0005\000\040\000U\000s\000e\000C\000l\000o\000u\000d) +endobj +4133 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.6) >> +endobj +4136 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0006\000\040\000U\000s\000e\000C\000l\000o\000u\000d\000B\000e\000s\000t\000R\000e\000g\000i\000o\000n) +endobj +4137 0 obj +<< /S /GoTo /D (subsubsection.8.58.3.7) >> +endobj +4140 0 obj +(\376\377\0008\000.\0005\0008\000.\0003\000.\0007\000\040\000U\000s\000e\000M\000y\000S\000e\000r\000v\000e\000r) +endobj +4141 0 obj +<< /S /GoTo /D (subsection.8.58.4) >> +endobj +4144 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4145 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.1) >> +endobj +4148 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\000\040\000A\000p\000p\000I\000D) +endobj +4149 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.2) >> +endobj +4152 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0002\000\040\000C\000h\000a\000t\000A\000p\000p\000I\000D) +endobj +4153 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.3) >> +endobj +4156 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0003\000\040\000D\000i\000s\000a\000b\000l\000e\000A\000u\000t\000o\000O\000p\000e\000n\000W\000i\000z\000a\000r\000d) +endobj +4157 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.4) >> +endobj +4160 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0004\000\040\000E\000n\000a\000b\000l\000e\000d\000R\000e\000g\000i\000o\000n\000s) +endobj +4161 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.5) >> +endobj +4164 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0005\000\040\000E\000n\000a\000b\000l\000e\000L\000o\000b\000b\000y\000S\000t\000a\000t\000i\000s\000t\000i\000c\000s) +endobj +4165 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.6) >> +endobj +4168 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0006\000\040\000H\000o\000s\000t\000T\000y\000p\000e) +endobj +4169 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.7) >> +endobj +4172 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0007\000\040\000J\000o\000i\000n\000L\000o\000b\000b\000y) +endobj +4173 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.8) >> +endobj +4176 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0008\000\040\000N\000e\000t\000w\000o\000r\000k\000L\000o\000g\000g\000i\000n\000g) +endobj +4177 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.9) >> +endobj +4180 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0009\000\040\000P\000r\000e\000f\000e\000r\000r\000e\000d\000R\000e\000g\000i\000o\000n) +endobj +4181 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.10) >> +endobj +4184 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0000\000\040\000P\000r\000o\000t\000o\000c\000o\000l) +endobj +4185 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.11) >> +endobj +4188 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0001\000\040\000P\000u\000n\000L\000o\000g\000g\000i\000n\000g) +endobj +4189 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.12) >> +endobj +4192 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0002\000\040\000R\000p\000c\000L\000i\000s\000t) +endobj +4193 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.13) >> +endobj +4196 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0003\000\040\000R\000u\000n\000I\000n\000B\000a\000c\000k\000g\000r\000o\000u\000n\000d) +endobj +4197 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.14) >> +endobj +4200 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0004\000\040\000S\000e\000r\000v\000e\000r\000A\000d\000d\000r\000e\000s\000s) +endobj +4201 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.15) >> +endobj +4204 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0005\000\040\000S\000e\000r\000v\000e\000r\000P\000o\000r\000t) +endobj +4205 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.16) >> +endobj +4208 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0006\000\040\000V\000o\000i\000c\000e\000A\000p\000p\000I\000D) +endobj +4209 0 obj +<< /S /GoTo /D (subsubsection.8.58.4.17) >> +endobj +4212 0 obj +(\376\377\0008\000.\0005\0008\000.\0004\000.\0001\0007\000\040\000V\000o\000i\000c\000e\000S\000e\000r\000v\000e\000r\000P\000o\000r\000t) +endobj +4213 0 obj +<< /S /GoTo /D (subsection.8.58.5) >> +endobj +4216 0 obj +(\376\377\0008\000.\0005\0008\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4217 0 obj +<< /S /GoTo /D (subsubsection.8.58.5.1) >> +endobj +4220 0 obj +(\376\377\0008\000.\0005\0008\000.\0005\000.\0001\000\040\000B\000e\000s\000t\000R\000e\000g\000i\000o\000n\000C\000o\000d\000e\000I\000n\000P\000r\000e\000f\000e\000r\000e\000n\000c\000e\000s) +endobj +4221 0 obj +<< /S /GoTo /D (section.8.59) >> +endobj +4224 0 obj +(\376\377\0008\000.\0005\0009\000\040\000E\000x\000i\000t\000G\000a\000m\000e\000s\000.\000C\000l\000i\000e\000n\000t\000.\000P\000h\000o\000t\000o\000n\000.\000S\000o\000c\000k\000e\000t\000W\000e\000b\000T\000c\000p\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4225 0 obj +<< /S /GoTo /D (subsection.8.59.1) >> +endobj +4228 0 obj +(\376\377\0008\000.\0005\0009\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4229 0 obj +<< /S /GoTo /D (subsection.8.59.2) >> +endobj +4232 0 obj +(\376\377\0008\000.\0005\0009\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4233 0 obj +<< /S /GoTo /D (subsubsection.8.59.2.1) >> +endobj +4236 0 obj +(\376\377\0008\000.\0005\0009\000.\0002\000.\0001\000\040\000S\000o\000c\000k\000e\000t\000W\000e\000b\000T\000c\000p) +endobj +4237 0 obj +<< /S /GoTo /D (subsection.8.59.3) >> +endobj +4240 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4241 0 obj +<< /S /GoTo /D (subsubsection.8.59.3.1) >> +endobj +4244 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000.\0001\000\040\000C\000o\000n\000n\000e\000c\000t) +endobj +4245 0 obj +<< /S /GoTo /D (subsubsection.8.59.3.2) >> +endobj +4248 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000.\0002\000\040\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t) +endobj +4249 0 obj +<< /S /GoTo /D (subsubsection.8.59.3.3) >> +endobj +4252 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000.\0003\000\040\000D\000i\000s\000p\000o\000s\000e) +endobj +4253 0 obj +<< /S /GoTo /D (subsubsection.8.59.3.4) >> +endobj +4256 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000.\0004\000\040\000R\000e\000c\000e\000i\000v\000e) +endobj +4257 0 obj +<< /S /GoTo /D (subsubsection.8.59.3.5) >> +endobj +4260 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000.\0005\000\040\000R\000e\000c\000e\000i\000v\000e\000L\000o\000o\000p) +endobj +4261 0 obj +<< /S /GoTo /D (subsubsection.8.59.3.6) >> +endobj +4264 0 obj +(\376\377\0008\000.\0005\0009\000.\0003\000.\0006\000\040\000S\000e\000n\000d) +endobj +4265 0 obj +<< /S /GoTo /D (section.8.60) >> +endobj +4268 0 obj +(\376\377\0008\000.\0006\0000\000\040\000P\000h\000o\000t\000o\000n\000A\000n\000i\000m\000a\000t\000o\000r\000V\000i\000e\000w\000.\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d\000L\000a\000y\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4269 0 obj +<< /S /GoTo /D (subsection.8.60.1) >> +endobj +4272 0 obj +(\376\377\0008\000.\0006\0000\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4273 0 obj +<< /S /GoTo /D (subsubsection.8.60.1.1) >> +endobj +4276 0 obj +(\376\377\0008\000.\0006\0000\000.\0001\000.\0001\000\040\000L\000a\000y\000e\000r\000I\000n\000d\000e\000x) +endobj +4277 0 obj +<< /S /GoTo /D (subsubsection.8.60.1.2) >> +endobj +4280 0 obj +(\376\377\0008\000.\0006\0000\000.\0001\000.\0002\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e) +endobj +4281 0 obj +<< /S /GoTo /D (section.8.61) >> +endobj +4284 0 obj +(\376\377\0008\000.\0006\0001\000\040\000P\000h\000o\000t\000o\000n\000A\000n\000i\000m\000a\000t\000o\000r\000V\000i\000e\000w\000.\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000d\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4285 0 obj +<< /S /GoTo /D (subsection.8.61.1) >> +endobj +4288 0 obj +(\376\377\0008\000.\0006\0001\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4289 0 obj +<< /S /GoTo /D (subsubsection.8.61.1.1) >> +endobj +4292 0 obj +(\376\377\0008\000.\0006\0001\000.\0001\000.\0001\000\040\000N\000a\000m\000e) +endobj +4293 0 obj +<< /S /GoTo /D (subsubsection.8.61.1.2) >> +endobj +4296 0 obj +(\376\377\0008\000.\0006\0001\000.\0001\000.\0002\000\040\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000e\000T\000y\000p\000e) +endobj +4297 0 obj +<< /S /GoTo /D (subsubsection.8.61.1.3) >> +endobj +4300 0 obj +(\376\377\0008\000.\0006\0001\000.\0001\000.\0003\000\040\000T\000y\000p\000e) +endobj +4301 0 obj +<< /S /GoTo /D (section.8.62) >> +endobj +4304 0 obj +(\376\377\0008\000.\0006\0002\000\040\000T\000y\000p\000e\000d\000L\000o\000b\000b\000y\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4305 0 obj +<< /S /GoTo /D (subsection.8.62.1) >> +endobj +4308 0 obj +(\376\377\0008\000.\0006\0002\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4309 0 obj +<< /S /GoTo /D (subsection.8.62.2) >> +endobj +4312 0 obj +(\376\377\0008\000.\0006\0002\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4313 0 obj +<< /S /GoTo /D (subsubsection.8.62.2.1) >> +endobj +4316 0 obj +(\376\377\0008\000.\0006\0002\000.\0002\000.\0001\000\040\000T\000y\000p\000e\000d\000L\000o\000b\000b\000y) +endobj +4317 0 obj +<< /S /GoTo /D (subsubsection.8.62.2.2) >> +endobj +4320 0 obj +(\376\377\0008\000.\0006\0002\000.\0002\000.\0002\000\040\000T\000y\000p\000e\000d\000L\000o\000b\000b\000y) +endobj +4321 0 obj +<< /S /GoTo /D (subsection.8.62.3) >> +endobj +4324 0 obj +(\376\377\0008\000.\0006\0002\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4325 0 obj +<< /S /GoTo /D (subsubsection.8.62.3.1) >> +endobj +4328 0 obj +(\376\377\0008\000.\0006\0002\000.\0003\000.\0001\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +4329 0 obj +<< /S /GoTo /D (subsection.8.62.4) >> +endobj +4332 0 obj +(\376\377\0008\000.\0006\0002\000.\0004\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4333 0 obj +<< /S /GoTo /D (subsubsection.8.62.4.1) >> +endobj +4336 0 obj +(\376\377\0008\000.\0006\0002\000.\0004\000.\0001\000\040\000D\000e\000f\000a\000u\000l\000t) +endobj +4337 0 obj +<< /S /GoTo /D (subsubsection.8.62.4.2) >> +endobj +4340 0 obj +(\376\377\0008\000.\0006\0002\000.\0004\000.\0002\000\040\000N\000a\000m\000e) +endobj +4341 0 obj +<< /S /GoTo /D (subsubsection.8.62.4.3) >> +endobj +4344 0 obj +(\376\377\0008\000.\0006\0002\000.\0004\000.\0003\000\040\000T\000y\000p\000e) +endobj +4345 0 obj +<< /S /GoTo /D (subsection.8.62.5) >> +endobj +4348 0 obj +(\376\377\0008\000.\0006\0002\000.\0005\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4349 0 obj +<< /S /GoTo /D (subsubsection.8.62.5.1) >> +endobj +4352 0 obj +(\376\377\0008\000.\0006\0002\000.\0005\000.\0001\000\040\000I\000s\000D\000e\000f\000a\000u\000l\000t) +endobj +4353 0 obj +<< /S /GoTo /D (section.8.63) >> +endobj +4356 0 obj +(\376\377\0008\000.\0006\0003\000\040\000T\000y\000p\000e\000d\000L\000o\000b\000b\000y\000I\000n\000f\000o\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4357 0 obj +<< /S /GoTo /D (subsection.8.63.1) >> +endobj +4360 0 obj +(\376\377\0008\000.\0006\0003\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4361 0 obj +<< /S /GoTo /D (subsubsection.8.63.1.1) >> +endobj +4364 0 obj +(\376\377\0008\000.\0006\0003\000.\0001\000.\0001\000\040\000T\000o\000S\000t\000r\000i\000n\000g) +endobj +4365 0 obj +<< /S /GoTo /D (subsection.8.63.2) >> +endobj +4368 0 obj +(\376\377\0008\000.\0006\0003\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000D\000a\000t\000a\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4369 0 obj +<< /S /GoTo /D (subsubsection.8.63.2.1) >> +endobj +4372 0 obj +(\376\377\0008\000.\0006\0003\000.\0002\000.\0001\000\040\000P\000l\000a\000y\000e\000r\000C\000o\000u\000n\000t) +endobj +4373 0 obj +<< /S /GoTo /D (subsubsection.8.63.2.2) >> +endobj +4376 0 obj +(\376\377\0008\000.\0006\0003\000.\0002\000.\0002\000\040\000R\000o\000o\000m\000C\000o\000u\000n\000t) +endobj +4377 0 obj +<< /S /GoTo /D (section.8.64) >> +endobj +4380 0 obj +(\376\377\0008\000.\0006\0004\000\040\000W\000e\000b\000R\000p\000c\000R\000e\000s\000p\000o\000n\000s\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4381 0 obj +<< /S /GoTo /D (subsection.8.64.1) >> +endobj +4384 0 obj +(\376\377\0008\000.\0006\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4385 0 obj +<< /S /GoTo /D (subsection.8.64.2) >> +endobj +4388 0 obj +(\376\377\0008\000.\0006\0004\000.\0002\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4389 0 obj +<< /S /GoTo /D (subsubsection.8.64.2.1) >> +endobj +4392 0 obj +(\376\377\0008\000.\0006\0004\000.\0002\000.\0001\000\040\000W\000e\000b\000R\000p\000c\000R\000e\000s\000p\000o\000n\000s\000e) +endobj +4393 0 obj +<< /S /GoTo /D (subsection.8.64.3) >> +endobj +4396 0 obj +(\376\377\0008\000.\0006\0004\000.\0003\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4397 0 obj +<< /S /GoTo /D (subsubsection.8.64.3.1) >> +endobj +4400 0 obj +(\376\377\0008\000.\0006\0004\000.\0003\000.\0001\000\040\000T\000o\000S\000t\000r\000i\000n\000g\000F\000u\000l\000l) +endobj +4401 0 obj +<< /S /GoTo /D (subsection.8.64.4) >> +endobj +4404 0 obj +(\376\377\0008\000.\0006\0004\000.\0004\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4405 0 obj +<< /S /GoTo /D (subsubsection.8.64.4.1) >> +endobj +4408 0 obj +(\376\377\0008\000.\0006\0004\000.\0004\000.\0001\000\040\000D\000e\000b\000u\000g\000M\000e\000s\000s\000a\000g\000e) +endobj +4409 0 obj +<< /S /GoTo /D (subsubsection.8.64.4.2) >> +endobj +4412 0 obj +(\376\377\0008\000.\0006\0004\000.\0004\000.\0002\000\040\000N\000a\000m\000e) +endobj +4413 0 obj +<< /S /GoTo /D (subsubsection.8.64.4.3) >> +endobj +4416 0 obj +(\376\377\0008\000.\0006\0004\000.\0004\000.\0003\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s) +endobj +4417 0 obj +<< /S /GoTo /D (subsubsection.8.64.4.4) >> +endobj +4420 0 obj +(\376\377\0008\000.\0006\0004\000.\0004\000.\0004\000\040\000R\000e\000t\000u\000r\000n\000C\000o\000d\000e) +endobj +4421 0 obj +<< /S /GoTo /D (chapter.9) >> +endobj +4424 0 obj +(\376\377\0009\000\040\000F\000i\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4425 0 obj +<< /S /GoTo /D (section.9.1) >> +endobj +4428 0 obj +(\376\377\0009\000.\0001\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000\137\000D\000o\000c\000/\000g\000e\000n\000e\000r\000a\000l\000.\000m\000d\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4429 0 obj +<< /S /GoTo /D (section.9.2) >> +endobj +4432 0 obj +(\376\377\0009\000.\0002\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000\137\000D\000o\000c\000/\000m\000a\000i\000n\000.\000m\000d\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4433 0 obj +<< /S /GoTo /D (section.9.3) >> +endobj +4436 0 obj +(\376\377\0009\000.\0003\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000\137\000D\000o\000c\000/\000o\000p\000t\000i\000o\000n\000a\000l\000G\000u\000i\000.\000m\000d\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4437 0 obj +<< /S /GoTo /D (section.9.4) >> +endobj +4440 0 obj +(\376\377\0009\000.\0004\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000\137\000D\000o\000c\000/\000p\000h\000o\000t\000o\000n\000S\000t\000a\000t\000s\000G\000u\000i\000.\000m\000d\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4441 0 obj +<< /S /GoTo /D (section.9.5) >> +endobj +4444 0 obj +(\376\377\0009\000.\0005\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000\137\000D\000o\000c\000/\000p\000u\000b\000l\000i\000c\000A\000p\000i\000.\000m\000d\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4445 0 obj +<< /S /GoTo /D (section.9.6) >> +endobj +4448 0 obj +(\376\377\0009\000.\0006\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000C\000u\000s\000t\000o\000m\000T\000y\000p\000e\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4449 0 obj +<< /S /GoTo /D (subsection.9.6.1) >> +endobj +4452 0 obj +(\376\377\0009\000.\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4453 0 obj +<< /S /GoTo /D (section.9.7) >> +endobj +4456 0 obj +(\376\377\0009\000.\0007\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000E\000n\000u\000m\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4457 0 obj +<< /S /GoTo /D (subsection.9.7.1) >> +endobj +4460 0 obj +(\376\377\0009\000.\0007\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4461 0 obj +<< /S /GoTo /D (subsection.9.7.2) >> +endobj +4464 0 obj +(\376\377\0009\000.\0007\000.\0002\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4465 0 obj +<< /S /GoTo /D (subsubsection.9.7.2.1) >> +endobj +4468 0 obj +(\376\377\0009\000.\0007\000.\0002\000.\0001\000\040\000C\000l\000o\000u\000d\000R\000e\000g\000i\000o\000n\000C\000o\000d\000e) +endobj +4469 0 obj +<< /S /GoTo /D (subsubsection.9.7.2.2) >> +endobj +4472 0 obj +(\376\377\0009\000.\0007\000.\0002\000.\0002\000\040\000C\000l\000o\000u\000d\000R\000e\000g\000i\000o\000n\000F\000l\000a\000g) +endobj +4473 0 obj +<< /S /GoTo /D (subsubsection.9.7.2.3) >> +endobj +4476 0 obj +(\376\377\0009\000.\0007\000.\0002\000.\0003\000\040\000C\000o\000n\000n\000e\000c\000t\000i\000o\000n\000S\000t\000a\000t\000e) +endobj +4477 0 obj +<< /S /GoTo /D (subsubsection.9.7.2.4) >> +endobj +4480 0 obj +(\376\377\0009\000.\0007\000.\0002\000.\0004\000\040\000E\000n\000c\000r\000y\000p\000t\000i\000o\000n\000M\000o\000d\000e) +endobj +4481 0 obj +<< /S /GoTo /D (section.9.8) >> +endobj +4484 0 obj +(\376\377\0009\000.\0008\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000E\000x\000t\000e\000n\000s\000i\000o\000n\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4485 0 obj +<< /S /GoTo /D (subsection.9.8.1) >> +endobj +4488 0 obj +(\376\377\0009\000.\0008\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4489 0 obj +<< /S /GoTo /D (subsubsection.9.8.1.1) >> +endobj +4492 0 obj +(\376\377\0009\000.\0008\000.\0001\000.\0001\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +4493 0 obj +<< /S /GoTo /D (subsubsection.9.8.1.2) >> +endobj +4496 0 obj +(\376\377\0009\000.\0008\000.\0001\000.\0002\000\040\000S\000u\000p\000p\000o\000r\000t\000C\000l\000a\000s\000s\000P\000u\000n) +endobj +4497 0 obj +<< /S /GoTo /D (section.9.9) >> +endobj +4500 0 obj +(\376\377\0009\000.\0009\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000F\000r\000i\000e\000n\000d\000I\000n\000f\000o\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4501 0 obj +<< /S /GoTo /D (section.9.10) >> +endobj +4504 0 obj +(\376\377\0009\000.\0001\0000\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000G\000i\000z\000m\000o\000T\000y\000p\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4505 0 obj +<< /S /GoTo /D (section.9.11) >> +endobj +4508 0 obj +(\376\377\0009\000.\0001\0001\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000L\000o\000a\000d\000b\000a\000l\000a\000n\000c\000i\000n\000g\000P\000e\000e\000r\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4509 0 obj +<< /S /GoTo /D (subsection.9.11.1) >> +endobj +4512 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4513 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.1) >> +endobj +4516 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0001\000\040\000A\000u\000t\000h\000M\000o\000d\000e\000O\000p\000t\000i\000o\000n) +endobj +4517 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.2) >> +endobj +4520 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0002\000\040\000C\000u\000s\000t\000o\000m\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000i\000o\000n\000T\000y\000p\000e) +endobj +4521 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.3) >> +endobj +4524 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0003\000\040\000E\000v\000e\000n\000t\000C\000a\000c\000h\000i\000n\000g) +endobj +4525 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.4) >> +endobj +4528 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0004\000\040\000J\000o\000i\000n\000M\000o\000d\000e) +endobj +4529 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.5) >> +endobj +4532 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0005\000\040\000L\000o\000b\000b\000y\000T\000y\000p\000e) +endobj +4533 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.6) >> +endobj +4536 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0006\000\040\000M\000a\000t\000c\000h\000m\000a\000k\000i\000n\000g\000M\000o\000d\000e) +endobj +4537 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.7) >> +endobj +4540 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0007\000\040\000P\000r\000o\000p\000e\000r\000t\000y\000T\000y\000p\000e\000F\000l\000a\000g) +endobj +4541 0 obj +<< /S /GoTo /D (subsubsection.9.11.1.8) >> +endobj +4544 0 obj +(\376\377\0009\000.\0001\0001\000.\0001\000.\0008\000\040\000R\000e\000c\000e\000i\000v\000e\000r\000G\000r\000o\000u\000p) +endobj +4545 0 obj +<< /S /GoTo /D (section.9.12) >> +endobj +4548 0 obj +(\376\377\0009\000.\0001\0002\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000P\000e\000e\000r\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4549 0 obj +<< /S /GoTo /D (subsection.9.12.1) >> +endobj +4552 0 obj +(\376\377\0009\000.\0001\0002\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4553 0 obj +<< /S /GoTo /D (subsubsection.9.12.1.1) >> +endobj +4556 0 obj +(\376\377\0009\000.\0001\0002\000.\0001\000.\0001\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +4557 0 obj +<< /S /GoTo /D (subsubsection.9.12.1.2) >> +endobj +4560 0 obj +(\376\377\0009\000.\0001\0002\000.\0001\000.\0002\000\040\000S\000u\000p\000p\000o\000r\000t\000C\000l\000a\000s\000s\000P\000u\000n) +endobj +4561 0 obj +<< /S /GoTo /D (subsection.9.12.2) >> +endobj +4564 0 obj +(\376\377\0009\000.\0001\0002\000.\0002\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4565 0 obj +<< /S /GoTo /D (subsubsection.9.12.2.1) >> +endobj +4568 0 obj +(\376\377\0009\000.\0001\0002\000.\0002\000.\0001\000\040\000S\000e\000r\000v\000e\000r\000C\000o\000n\000n\000e\000c\000t\000i\000o\000n) +endobj +4569 0 obj +<< /S /GoTo /D (section.9.13) >> +endobj +4572 0 obj +(\376\377\0009\000.\0001\0003\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000C\000l\000a\000s\000s\000e\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4573 0 obj +<< /S /GoTo /D (subsection.9.13.1) >> +endobj +4576 0 obj +(\376\377\0009\000.\0001\0003\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4577 0 obj +<< /S /GoTo /D (subsection.9.13.2) >> +endobj +4580 0 obj +(\376\377\0009\000.\0001\0003\000.\0002\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4581 0 obj +<< /S /GoTo /D (subsubsection.9.13.2.1) >> +endobj +4584 0 obj +(\376\377\0009\000.\0001\0003\000.\0002\000.\0001\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +4585 0 obj +<< /S /GoTo /D (subsubsection.9.13.2.2) >> +endobj +4588 0 obj +(\376\377\0009\000.\0001\0003\000.\0002\000.\0002\000\040\000S\000u\000p\000p\000o\000r\000t\000C\000l\000a\000s\000s\000P\000u\000n) +endobj +4589 0 obj +<< /S /GoTo /D (section.9.14) >> +endobj +4592 0 obj +(\376\377\0009\000.\0001\0004\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000H\000a\000n\000d\000l\000e\000r\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4593 0 obj +<< /S /GoTo /D (subsection.9.14.1) >> +endobj +4596 0 obj +(\376\377\0009\000.\0001\0004\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4597 0 obj +<< /S /GoTo /D (subsubsection.9.14.1.1) >> +endobj +4600 0 obj +(\376\377\0009\000.\0001\0004\000.\0001\000.\0001\000\040\000D\000e\000b\000u\000g) +endobj +4601 0 obj +<< /S /GoTo /D (subsubsection.9.14.1.2) >> +endobj +4604 0 obj +(\376\377\0009\000.\0001\0004\000.\0001\000.\0002\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +4605 0 obj +<< /S /GoTo /D (subsubsection.9.14.1.3) >> +endobj +4608 0 obj +(\376\377\0009\000.\0001\0004\000.\0001\000.\0003\000\040\000S\000u\000p\000p\000o\000r\000t\000C\000l\000a\000s\000s\000P\000u\000n) +endobj +4609 0 obj +<< /S /GoTo /D (section.9.15) >> +endobj +4612 0 obj +(\376\377\0009\000.\0001\0005\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000L\000a\000g\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000G\000u\000i\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4613 0 obj +<< /S /GoTo /D (subsection.9.15.1) >> +endobj +4616 0 obj +(\376\377\0009\000.\0001\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4617 0 obj +<< /S /GoTo /D (section.9.16) >> +endobj +4620 0 obj +(\376\377\0009\000.\0001\0006\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4621 0 obj +<< /S /GoTo /D (subsection.9.16.1) >> +endobj +4624 0 obj +(\376\377\0009\000.\0001\0006\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4625 0 obj +<< /S /GoTo /D (subsubsection.9.16.1.1) >> +endobj +4628 0 obj +(\376\377\0009\000.\0001\0006\000.\0001\000.\0001\000\040\000D\000e\000b\000u\000g) +endobj +4629 0 obj +<< /S /GoTo /D (subsubsection.9.16.1.2) >> +endobj +4632 0 obj +(\376\377\0009\000.\0001\0006\000.\0001\000.\0002\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +4633 0 obj +<< /S /GoTo /D (section.9.17) >> +endobj +4636 0 obj +(\376\377\0009\000.\0001\0007\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000P\000l\000a\000y\000e\000r\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4637 0 obj +<< /S /GoTo /D (subsection.9.17.1) >> +endobj +4640 0 obj +(\376\377\0009\000.\0001\0007\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4641 0 obj +<< /S /GoTo /D (subsubsection.9.17.1.1) >> +endobj +4644 0 obj +(\376\377\0009\000.\0001\0007\000.\0001\000.\0001\000\040\000H\000a\000s\000h\000t\000a\000b\000l\000e) +endobj +4645 0 obj +<< /S /GoTo /D (section.9.18) >> +endobj +4648 0 obj +(\376\377\0009\000.\0001\0008\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000S\000t\000a\000t\000s\000G\000u\000i\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4649 0 obj +<< /S /GoTo /D (subsection.9.18.1) >> +endobj +4652 0 obj +(\376\377\0009\000.\0001\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4653 0 obj +<< /S /GoTo /D (section.9.19) >> +endobj +4656 0 obj +(\376\377\0009\000.\0001\0009\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000S\000t\000r\000e\000a\000m\000Q\000u\000e\000u\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4657 0 obj +<< /S /GoTo /D (section.9.20) >> +endobj +4660 0 obj +(\376\377\0009\000.\0002\0000\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000h\000o\000t\000o\000n\000V\000i\000e\000w\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4661 0 obj +<< /S /GoTo /D (subsection.9.20.1) >> +endobj +4664 0 obj +(\376\377\0009\000.\0002\0000\000.\0001\000\040\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000\040\000T\000y\000p\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4665 0 obj +<< /S /GoTo /D (subsubsection.9.20.1.1) >> +endobj +4668 0 obj +(\376\377\0009\000.\0002\0000\000.\0001\000.\0001\000\040\000O\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000R\000i\000g\000i\000d\000B\000o\000d\000y) +endobj +4669 0 obj +<< /S /GoTo /D (subsubsection.9.20.1.2) >> +endobj +4672 0 obj +(\376\377\0009\000.\0002\0000\000.\0001\000.\0002\000\040\000O\000n\000S\000e\000r\000i\000a\000l\000i\000z\000e\000T\000r\000a\000n\000s\000f\000o\000r\000m) +endobj +4673 0 obj +<< /S /GoTo /D (subsubsection.9.20.1.3) >> +endobj +4676 0 obj +(\376\377\0009\000.\0002\0000\000.\0001\000.\0003\000\040\000O\000w\000n\000e\000r\000s\000h\000i\000p\000O\000p\000t\000i\000o\000n) +endobj +4677 0 obj +<< /S /GoTo /D (subsubsection.9.20.1.4) >> +endobj +4680 0 obj +(\376\377\0009\000.\0002\0000\000.\0001\000.\0004\000\040\000V\000i\000e\000w\000S\000y\000n\000c\000h\000r\000o\000n\000i\000z\000a\000t\000i\000o\000n) +endobj +4681 0 obj +<< /S /GoTo /D (section.9.21) >> +endobj +4684 0 obj +(\376\377\0009\000.\0002\0001\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000P\000i\000n\000g\000C\000l\000o\000u\000d\000R\000e\000g\000i\000o\000n\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4685 0 obj +<< /S /GoTo /D (subsection.9.21.1) >> +endobj +4688 0 obj +(\376\377\0009\000.\0002\0001\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4689 0 obj +<< /S /GoTo /D (subsubsection.9.21.1.1) >> +endobj +4692 0 obj +(\376\377\0009\000.\0002\0001\000.\0001\000.\0001\000\040\000D\000e\000b\000u\000g) +endobj +4693 0 obj +<< /S /GoTo /D (subsubsection.9.21.1.2) >> +endobj +4696 0 obj +(\376\377\0009\000.\0002\0001\000.\0001\000.\0002\000\040\000S\000u\000p\000p\000o\000r\000t\000C\000l\000a\000s\000s\000P\000u\000n) +endobj +4697 0 obj +<< /S /GoTo /D (section.9.22) >> +endobj +4700 0 obj +(\376\377\0009\000.\0002\0002\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000R\000o\000o\000m\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4701 0 obj +<< /S /GoTo /D (section.9.23) >> +endobj +4704 0 obj +(\376\377\0009\000.\0002\0003\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000R\000o\000o\000m\000I\000n\000f\000o\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4705 0 obj +<< /S /GoTo /D (section.9.24) >> +endobj +4708 0 obj +(\376\377\0009\000.\0002\0004\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000R\000P\000C\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4709 0 obj +<< /S /GoTo /D (subsection.9.24.1) >> +endobj +4712 0 obj +(\376\377\0009\000.\0002\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4713 0 obj +<< /S /GoTo /D (section.9.25) >> +endobj +4716 0 obj +(\376\377\0009\000.\0002\0005\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000S\000e\000r\000v\000e\000r\000S\000e\000t\000t\000i\000n\000g\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4717 0 obj +<< /S /GoTo /D (subsection.9.25.1) >> +endobj +4720 0 obj +(\376\377\0009\000.\0002\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +4721 0 obj +<< /S /GoTo /D (section.9.26) >> +endobj +4724 0 obj +(\376\377\0009\000.\0002\0006\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000S\000o\000c\000k\000e\000t\000W\000e\000b\000T\000c\000p\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4725 0 obj +<< /S /GoTo /D (subsection.9.26.1) >> +endobj +4728 0 obj +(\376\377\0009\000.\0002\0006\000.\0001\000\040\000T\000y\000p\000e\000d\000e\000f\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +4729 0 obj +<< /S /GoTo /D (subsubsection.9.26.1.1) >> +endobj +4732 0 obj +(\376\377\0009\000.\0002\0006\000.\0001\000.\0001\000\040\000S\000u\000p\000p\000o\000r\000t\000C\000l\000a\000s\000s\000P\000u\000n) +endobj +4733 0 obj +<< /S /GoTo /D (section.9.27) >> +endobj +4736 0 obj +(\376\377\0009\000.\0002\0007\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000S\000o\000c\000k\000e\000t\000W\000e\000b\000T\000c\000p\000N\000a\000t\000i\000v\000e\000D\000y\000n\000a\000m\000i\000c\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4737 0 obj +<< /S /GoTo /D (section.9.28) >> +endobj +4740 0 obj +(\376\377\0009\000.\0002\0008\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000A\000n\000i\000m\000a\000t\000o\000r\000V\000i\000e\000w\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4741 0 obj +<< /S /GoTo /D (section.9.29) >> +endobj +4744 0 obj +(\376\377\0009\000.\0002\0009\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000R\000i\000g\000i\000d\000b\000o\000d\000y\0002\000D\000V\000i\000e\000w\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4745 0 obj +<< /S /GoTo /D (section.9.30) >> +endobj +4748 0 obj +(\376\377\0009\000.\0003\0000\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000R\000i\000g\000i\000d\000b\000o\000d\000y\000V\000i\000e\000w\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4749 0 obj +<< /S /GoTo /D (section.9.31) >> +endobj +4752 0 obj +(\376\377\0009\000.\0003\0001\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4753 0 obj +<< /S /GoTo /D (section.9.32) >> +endobj +4756 0 obj +(\376\377\0009\000.\0003\0002\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000P\000o\000s\000i\000t\000i\000o\000n\000C\000o\000n\000t\000r\000o\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4757 0 obj +<< /S /GoTo /D (section.9.33) >> +endobj +4760 0 obj +(\376\377\0009\000.\0003\0003\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000P\000o\000s\000i\000t\000i\000o\000n\000M\000o\000d\000e\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4761 0 obj +<< /S /GoTo /D (section.9.34) >> +endobj +4764 0 obj +(\376\377\0009\000.\0003\0004\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000R\000o\000t\000a\000t\000i\000o\000n\000C\000o\000n\000t\000r\000o\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4765 0 obj +<< /S /GoTo /D (section.9.35) >> +endobj +4768 0 obj +(\376\377\0009\000.\0003\0005\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000R\000o\000t\000a\000t\000i\000o\000n\000M\000o\000d\000e\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4769 0 obj +<< /S /GoTo /D (section.9.36) >> +endobj +4772 0 obj +(\376\377\0009\000.\0003\0006\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000S\000c\000a\000l\000e\000C\000o\000n\000t\000r\000o\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4773 0 obj +<< /S /GoTo /D (section.9.37) >> +endobj +4776 0 obj +(\376\377\0009\000.\0003\0007\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000\040\000U\000n\000i\000t\000y\000\040\000N\000e\000t\000w\000o\000r\000k\000i\000n\000g\000/\000P\000l\000u\000g\000i\000n\000s\000/\000P\000h\000o\000t\000o\000n\000N\000e\000t\000w\000o\000r\000k\000/\000V\000i\000e\000w\000s\000/\000P\000h\000o\000t\000o\000n\000T\000r\000a\000n\000s\000f\000o\000r\000m\000V\000i\000e\000w\000S\000c\000a\000l\000e\000M\000o\000d\000e\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4777 0 obj +<< /S /GoTo /D (section.9.38) >> +endobj +4780 0 obj +(\376\377\0009\000.\0003\0008\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000C\000h\000a\000n\000n\000e\000l\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4781 0 obj +<< /S /GoTo /D (section.9.39) >> +endobj +4784 0 obj +(\376\377\0009\000.\0003\0009\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4785 0 obj +<< /S /GoTo /D (section.9.40) >> +endobj +4788 0 obj +(\376\377\0009\000.\0004\0000\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000D\000i\000s\000c\000o\000n\000n\000e\000c\000t\000C\000a\000u\000s\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4789 0 obj +<< /S /GoTo /D (section.9.41) >> +endobj +4792 0 obj +(\376\377\0009\000.\0004\0001\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000E\000v\000e\000n\000t\000C\000o\000d\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4793 0 obj +<< /S /GoTo /D (section.9.42) >> +endobj +4796 0 obj +(\376\377\0009\000.\0004\0002\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000O\000p\000e\000r\000a\000t\000i\000o\000n\000C\000o\000d\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4797 0 obj +<< /S /GoTo /D (section.9.43) >> +endobj +4800 0 obj +(\376\377\0009\000.\0004\0003\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000P\000a\000r\000a\000m\000e\000t\000e\000r\000C\000o\000d\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4801 0 obj +<< /S /GoTo /D (section.9.44) >> +endobj +4804 0 obj +(\376\377\0009\000.\0004\0004\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000P\000e\000e\000r\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4805 0 obj +<< /S /GoTo /D (section.9.45) >> +endobj +4808 0 obj +(\376\377\0009\000.\0004\0005\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000S\000t\000a\000t\000e\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4809 0 obj +<< /S /GoTo /D (section.9.46) >> +endobj +4812 0 obj +(\376\377\0009\000.\0004\0006\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000C\000h\000a\000t\000U\000s\000e\000r\000S\000t\000a\000t\000u\000s\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4813 0 obj +<< /S /GoTo /D (section.9.47) >> +endobj +4816 0 obj +(\376\377\0009\000.\0004\0007\000\040\000C\000:\000/\000D\000e\000v\000/\000p\000h\000o\000t\000o\000n\000-\000s\000d\000k\000-\000d\000o\000t\000n\000e\000t\000/\000U\000n\000i\000t\000y\000/\000t\000e\000s\000t\000-\000x\000b\0001\000/\000A\000s\000s\000e\000t\000s\000/\000P\000h\000o\000t\000o\000n\000C\000h\000a\000t\000A\000p\000i\000/\000I\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000L\000i\000s\000t\000e\000n\000e\000r\000.\000c\000s\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +4817 0 obj +<< /S /GoTo /D (section*.240) >> +endobj +4820 0 obj +(\376\377\000I\000n\000d\000e\000x) +endobj +4821 0 obj +<< /S /GoTo /D [4822 0 R /Fit] >> +endobj +4824 0 obj +<< +/Length 222 +/Filter /FlateDecode +>> +stream +xڅ=O1 ~d}Z1 1^+;R﹐Ɏ?o6SoSw#`dv кV"gH[xQOiFm<Km|Lj:jV}AJz]!/:)T1r(1&n򘏅~󶆽k!Ղ&ݓ =jf$6̲KvҼH\'otAbľ".O7R +endstream +endobj +4822 0 obj +<< +/Type /Page +/Contents 4824 0 R +/Resources 4823 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4827 0 R +>> +endobj +4825 0 obj +<< +/D [4822 0 R /XYZ 70.866 771.024 null] +>> +endobj +4823 0 obj +<< +/Font << /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +4830 0 obj +<< +/Length 19 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2Ac( +endstream +endobj +4829 0 obj +<< +/Type /Page +/Contents 4830 0 R +/Resources 4828 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4827 0 R +>> +endobj +4828 0 obj +<< +/ProcSet [ /PDF ] +>> +endobj +4862 0 obj +<< +/Length 939 +/Filter /FlateDecode +>> +stream +xMs0"ͱ͇'ɤn/V] M__ mv^b.AXk= fF'DP_F''[ ,`b{xjM4egJg-DGz)b 3Jr'fq=σM% Qf3h!P*ԤmrբdGL"4,j'ANkxK%)6(7˨}=ۖ&. Rf.1xufo{igp>CW2'=PAԮoKfp>h}pwޭ Il#Q^\V`rZ,YY.ޑ{ݫ$˃$TKfG?kMS{~>,+}!ü܇obb+H)" \ϋMyo8P%glj\[Ga0i5 ewWfpNX,7} 0n(R hW9/n55?yud;Yh^J> +)3lM/Y\Z;N^>W@q\@>L|főùlӢ;rɞGY&v΂")n&+NgYJqtMD{$ \72˂YE9BGɋ6x 3-[!:t/$\nX$㥦&sG8㨁I]\ Ƥ +endstream +endobj +4861 0 obj +<< +/Type /Page +/Contents 4862 0 R +/Resources 4860 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4827 0 R +/Annots [ 4831 0 R 4832 0 R 4833 0 R 4834 0 R 4835 0 R 4836 0 R 4837 0 R 4838 0 R 4839 0 R 4840 0 R 4841 0 R 4842 0 R 4843 0 R 4844 0 R 4845 0 R 4846 0 R 4847 0 R 4848 0 R 4849 0 R 4850 0 R 4851 0 R 4852 0 R 4853 0 R 4854 0 R 4855 0 R 4856 0 R 4857 0 R 4858 0 R ] +>> +endobj +4831 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 605.106 130.881 615.635] +/A << /S /GoTo /D (chapter.1) >> +>> +endobj +4832 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 579.247 187.942 587.892] +/A << /S /GoTo /D (chapter.2) >> +>> +endobj +4833 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 561.519 138.125 570.084] +/A << /S /GoTo /D (section.2.1) >> +>> +endobj +4834 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 542.159 243.018 552.634] +/A << /S /GoTo /D (subsection.2.1.1) >> +>> +endobj +4835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 526.207 239.244 534.978] +/A << /S /GoTo /D (subsection.2.1.2) >> +>> +endobj +4836 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 506.74 268.025 517.322] +/A << /S /GoTo /D (subsection.2.1.3) >> +>> +endobj +4837 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 480.88 188.578 489.525] +/A << /S /GoTo /D (chapter.3) >> +>> +endobj +4838 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 453.137 182.786 461.783] +/A << /S /GoTo /D (chapter.4) >> +>> +endobj +4839 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 425.395 164.934 434.04] +/A << /S /GoTo /D (chapter.5) >> +>> +endobj +4840 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 397.652 185.933 406.298] +/A << /S /GoTo /D (chapter.6) >> +>> +endobj +4841 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 379.924 150.893 388.489] +/A << /S /GoTo /D (section.6.1) >> +>> +endobj +4842 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 360.565 221.939 370.833] +/A << /S /GoTo /D (subsection.6.1.1) >> +>> +endobj +4843 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 342.909 276.373 353.177] +/A << /S /GoTo /D (subsection.6.1.2) >> +>> +endobj +4844 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 326.956 226.274 335.727] +/A << /S /GoTo /D (subsubsection.6.1.2.1) >> +>> +endobj +4845 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 309.3 252.68 318.071] +/A << /S /GoTo /D (subsubsection.6.1.2.2) >> +>> +endobj +4846 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 289.833 246.726 300.209] +/A << /S /GoTo /D (subsubsection.6.1.2.3) >> +>> +endobj +4847 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 272.177 292.095 282.553] +/A << /S /GoTo /D (subsubsection.6.1.2.4) >> +>> +endobj +4848 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 254.521 240.154 264.897] +/A << /S /GoTo /D (subsubsection.6.1.2.5) >> +>> +endobj +4849 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 238.677 238.76 247.241] +/A << /S /GoTo /D (subsection.6.1.3) >> +>> +endobj +4850 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 221.021 276.422 229.792] +/A << /S /GoTo /D (subsubsection.6.1.3.1) >> +>> +endobj +4851 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 201.661 199.409 212.136] +/A << /S /GoTo /D (section.6.2) >> +>> +endobj +4852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 184.005 221.939 194.273] +/A << /S /GoTo /D (subsection.6.2.1) >> +>> +endobj +4853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 156.294 204.386 166.683] +/A << /S /GoTo /D (chapter.7) >> +>> +endobj +4854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 138.499 190.398 149.081] +/A << /S /GoTo /D (section.7.1) >> +>> +endobj +4855 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 120.843 215.674 131.425] +/A << /S /GoTo /D (section.7.2) >> +>> +endobj +4856 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 103.187 234.108 113.769] +/A << /S /GoTo /D (section.7.3) >> +>> +endobj +4857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 85.639 276.373 95.907] +/A << /S /GoTo /D (subsection.7.3.1) >> +>> +endobj +4858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 227.18 78.457] +/A << /S /GoTo /D (subsubsection.7.3.1.1) >> +>> +endobj +4863 0 obj +<< +/D [4861 0 R /XYZ 70.866 771.024 null] +>> +endobj +4860 0 obj +<< +/Font << /F73 4864 0 R /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +4907 0 obj +<< +/Length 1217 +/Filter /FlateDecode +>> +stream +xMsF| +:ҁk7;3 OXcAhI·"ug_b3;n:PH.vn4LG{N!::cs9(1Sgϳ'\(7*\#;q{Aa>/럑 f*s`Xٿ(/<}]ް7852sX@7>YII ]G-T1-d~IrcAw9StXix!|R𾚇fP5dh`ʸR֩ ^EI8cALT+$'wX#܆,Z3œ2HR]&z>{xrfs gB 73 +|EݡRqyBWeӼ +]APґnF8=Ht-҇23>GzuOcӕ' +iHKab)̀Tj,_,iތ:}lrRb0 UT>)5^xPSsINj"&2K}:}3:RŽlgHL~*-L\+6!Za# WJTYWIh/^vEh)k/Z$)eI;Ɲtp@J~2UsAf% ó[ U}.YM@dKc&?)7/^Gg`l(roڬ`0] o +}l/ŭO7PVQIKV&YEcdH?,pn## hkK?Йp,ˮ%X88Oq^>TzAw +m":dTi{D@i4^4IPO-e]1t8E8i]K[0je7J[!J'4lZuU+6.1Bvz{s9kx/HR u"VId jY`Q] [AmE +5hIנ=.rۼuT9M,a 9c617*V@b~C*V5?`Yl!=!cZR,]^kw{N"wRϪrOse!+4p!h +endstream +endobj +4906 0 obj +<< +/Type /Page +/Contents 4907 0 R +/Resources 4905 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4827 0 R +/Annots [ 4859 0 R 4866 0 R 4867 0 R 4868 0 R 4869 0 R 4870 0 R 4871 0 R 4872 0 R 4873 0 R 4874 0 R 4875 0 R 4876 0 R 4877 0 R 4878 0 R 4879 0 R 4880 0 R 4881 0 R 4882 0 R 4883 0 R 4884 0 R 4885 0 R 4886 0 R 4887 0 R 4888 0 R 4889 0 R 4890 0 R 4891 0 R 4892 0 R 4893 0 R 4894 0 R 4895 0 R 4896 0 R 4897 0 R 4898 0 R 4899 0 R 4900 0 R 4901 0 R 4902 0 R 4903 0 R ] +>> +endobj +4859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 758.07 246.58 768.652] +/A << /S /GoTo /D (section.7.4) >> +>> +endobj +4866 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 740.195 268.01 750.777] +/A << /S /GoTo /D (section.7.5) >> +>> +endobj +4867 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 722.428 276.373 732.697] +/A << /S /GoTo /D (subsection.7.5.1) >> +>> +endobj +4868 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.257 271.617 715.028] +/A << /S /GoTo /D (subsubsection.7.5.1.1) >> +>> +endobj +4869 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 688.383 222.293 697.154] +/A << /S /GoTo /D (subsubsection.7.5.1.2) >> +>> +endobj +4870 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 668.805 288.715 679.279] +/A << /S /GoTo /D (subsubsection.7.5.1.3) >> +>> +endobj +4871 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 650.822 174.967 661.198] +/A << /S /GoTo /D (section.7.6) >> +>> +endobj +4872 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 633.055 235.693 643.53] +/A << /S /GoTo /D (subsection.7.6.1) >> +>> +endobj +4873 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.884 222.607 625.449] +/A << /S /GoTo /D (subsubsection.7.6.1.1) >> +>> +endobj +4874 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 597.199 194.89 607.575] +/A << /S /GoTo /D (section.7.7) >> +>> +endobj +4875 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 579.324 274.995 589.906] +/A << /S /GoTo /D (section.7.8) >> +>> +endobj +4876 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 552.371 178.473 561.017] +/A << /S /GoTo /D (chapter.8) >> +>> +endobj +4877 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 532.721 240.349 543.196] +/A << /S /GoTo /D (section.8.1) >> +>> +endobj +4878 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 514.847 221.939 525.115] +/A << /S /GoTo /D (subsection.8.1.1) >> +>> +endobj +4879 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 498.676 258.682 507.241] +/A << /S /GoTo /D (subsection.8.1.2) >> +>> +endobj +4880 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 480.801 220.07 489.366] +/A << /S /GoTo /D (subsubsection.8.1.2.1) >> +>> +endobj +4881 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 461.223 231.296 471.491] +/A << /S /GoTo /D (subsubsection.8.1.2.2) >> +>> +endobj +4882 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 445.052 208.826 453.617] +/A << /S /GoTo /D (subsubsection.8.1.2.3) >> +>> +endobj +4883 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 427.178 385.485 435.949] +/A << /S /GoTo /D (section.8.2) >> +>> +endobj +4884 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 407.599 221.939 417.868] +/A << /S /GoTo /D (subsection.8.2.1) >> +>> +endobj +4885 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 391.428 303.298 400.199] +/A << /S /GoTo /D (subsection.8.2.2) >> +>> +endobj +4886 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 373.554 265.753 382.119] +/A << /S /GoTo /D (subsubsection.8.2.2.1) >> +>> +endobj +4887 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 355.679 265.753 364.244] +/A << /S /GoTo /D (subsubsection.8.2.2.2) >> +>> +endobj +4888 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 337.805 274.131 346.369] +/A << /S /GoTo /D (subsection.8.2.3) >> +>> +endobj +4889 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 319.93 257.952 328.495] +/A << /S /GoTo /D (subsubsection.8.2.3.1) >> +>> +endobj +4890 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 302.056 250.483 310.827] +/A << /S /GoTo /D (subsubsection.8.2.3.2) >> +>> +endobj +4891 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 284.181 250.483 292.952] +/A << /S /GoTo /D (subsubsection.8.2.3.3) >> +>> +endobj +4892 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.495 215.362 275.077] +/A << /S /GoTo /D (subsubsection.8.2.3.4) >> +>> +endobj +4893 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 246.728 238.616 256.997] +/A << /S /GoTo /D (subsection.8.2.4) >> +>> +endobj +4894 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 230.557 260.938 239.328] +/A << /S /GoTo /D (subsubsection.8.2.4.1) >> +>> +endobj +4895 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 212.683 237.025 221.247] +/A << /S /GoTo /D (subsubsection.8.2.4.2) >> +>> +endobj +4896 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.105 219.451 203.373] +/A << /S /GoTo /D (subsubsection.8.2.4.3) >> +>> +endobj +4897 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 176.934 206.083 185.498] +/A << /S /GoTo /D (subsubsection.8.2.4.4) >> +>> +endobj +4898 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 159.059 208.826 167.624] +/A << /S /GoTo /D (subsubsection.8.2.4.5) >> +>> +endobj +4899 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 141.184 261.536 149.955] +/A << /S /GoTo /D (section.8.3) >> +>> +endobj +4900 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 121.606 221.939 131.875] +/A << /S /GoTo /D (subsection.8.3.1) >> +>> +endobj +4901 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 105.435 303.298 114.206] +/A << /S /GoTo /D (subsection.8.3.2) >> +>> +endobj +4902 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.561 265.753 96.125] +/A << /S /GoTo /D (subsubsection.8.3.2.1) >> +>> +endobj +4903 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 265.753 78.251] +/A << /S /GoTo /D (subsubsection.8.3.2.2) >> +>> +endobj +4905 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +4950 0 obj +<< +/Length 1143 +/Filter /FlateDecode +>> +stream +xKsH|9mIf筙(6^6&'W +mU@rHo4!0޻Qﳀ n@@hѕy0&!|8=?;9^^AJ( Y3s=@* ~)䌚)Co?vI`!TB +ǔb}sO-q%qw3gaq(u#.=9JC^8Ytf7QA^.1E$V894; p+I.'u@ Y#*3ŷM_ך0>SFW33!BՇsBXB,, lvZ:V!F6pHTNo`+m3}RbrD-O_LZk!q3H5;e&I`,.̊yű`iQ:eRM/3<:YMĦX:~sWfc{';}$Iڱb% +}ܣ)/Eՠ\um'GG.㸋,t>rYO0SZWCGhEb92Lu84i[ P8>jK۠L &_ixfzL*HjHنdh>  tUyO4Ve_467=VA23LyM زQO6[k&>-qL|Vg if}=~5Եk ތvdRM; ݺߐ*5 (|g?YxYPpI%sQmx]@v285,cvJ(gb 6 s1$a,ĀgnzHU-$JǛr$_5)ᩕ!Qy',K>owv٤!u5\e@eCaVsc=7&jZUB5)gޖ;D5A \n5R(G8jb:QklCq0e,Ɵn5l~5 +endstream +endobj +4949 0 obj +<< +/Type /Page +/Contents 4950 0 R +/Resources 4948 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4827 0 R +/Annots [ 4904 0 R 4908 0 R 4909 0 R 4910 0 R 4911 0 R 4912 0 R 4913 0 R 4914 0 R 4915 0 R 4916 0 R 4917 0 R 4918 0 R 4919 0 R 4920 0 R 4921 0 R 4922 0 R 4923 0 R 4924 0 R 4925 0 R 4926 0 R 4927 0 R 4928 0 R 4929 0 R 4930 0 R 4931 0 R 4932 0 R 4933 0 R 4934 0 R 4935 0 R 4936 0 R 4937 0 R 4938 0 R 4939 0 R 4940 0 R 4941 0 R 4942 0 R 4943 0 R 4944 0 R 4945 0 R 4946 0 R ] +>> +endobj +4904 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 759.881 274.131 768.446] +/A << /S /GoTo /D (subsection.8.3.3) >> +>> +endobj +4908 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 257.952 750.748] +/A << /S /GoTo /D (subsubsection.8.3.3.1) >> +>> +endobj +4909 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 250.483 733.257] +/A << /S /GoTo /D (subsubsection.8.3.3.2) >> +>> +endobj +4910 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 250.483 715.56] +/A << /S /GoTo /D (subsubsection.8.3.3.3) >> +>> +endobj +4911 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.281 215.362 697.863] +/A << /S /GoTo /D (subsubsection.8.3.3.4) >> +>> +endobj +4912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 669.691 238.616 679.959] +/A << /S /GoTo /D (subsection.8.3.4) >> +>> +endobj +4913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 260.938 662.468] +/A << /S /GoTo /D (subsubsection.8.3.4.1) >> +>> +endobj +4914 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 237.025 644.565] +/A << /S /GoTo /D (subsubsection.8.3.4.2) >> +>> +endobj +4915 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 219.451 626.867] +/A << /S /GoTo /D (subsubsection.8.3.4.3) >> +>> +endobj +4916 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 206.083 609.17] +/A << /S /GoTo /D (subsubsection.8.3.4.4) >> +>> +endobj +4917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 208.826 591.473] +/A << /S /GoTo /D (subsubsection.8.3.4.5) >> +>> +endobj +4918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 565.211 354.48 573.982] +/A << /S /GoTo /D (section.8.4) >> +>> +endobj +4919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 545.81 221.939 556.078] +/A << /S /GoTo /D (subsection.8.4.1) >> +>> +endobj +4920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 529.816 303.298 538.587] +/A << /S /GoTo /D (subsection.8.4.2) >> +>> +endobj +4921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 234.748 520.89] +/A << /S /GoTo /D (subsubsection.8.4.2.1) >> +>> +endobj +4922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 494.421 274.131 502.986] +/A << /S /GoTo /D (subsection.8.4.3) >> +>> +endobj +4923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 198.372 485.289] +/A << /S /GoTo /D (subsubsection.8.4.3.1) >> +>> +endobj +4924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 198.372 467.592] +/A << /S /GoTo /D (subsubsection.8.4.3.2) >> +>> +endobj +4925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.518 244.7 450.1] +/A << /S /GoTo /D (subsubsection.8.4.3.3) >> +>> +endobj +4926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.821 256.222 432.403] +/A << /S /GoTo /D (subsubsection.8.4.3.4) >> +>> +endobj +4927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.124 257.719 414.5] +/A << /S /GoTo /D (subsubsection.8.4.3.5) >> +>> +endobj +4928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 388.238 258.682 396.802] +/A << /S /GoTo /D (subsection.8.4.4) >> +>> +endobj +4929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.729 237.724 379.105] +/A << /S /GoTo /D (subsubsection.8.4.4.1) >> +>> +endobj +4930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 223.28 361.408] +/A << /S /GoTo /D (subsubsection.8.4.4.2) >> +>> +endobj +4931 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 206.334 343.71] +/A << /S /GoTo /D (subsubsection.8.4.4.3) >> +>> +endobj +4932 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 215.811 326.219] +/A << /S /GoTo /D (subsubsection.8.4.4.4) >> +>> +endobj +4933 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 298.047 238.616 308.316] +/A << /S /GoTo /D (subsection.8.4.5) >> +>> +endobj +4934 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 217.209 290.618] +/A << /S /GoTo /D (subsubsection.8.4.5.1) >> +>> +endobj +4935 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 242.719 273.127] +/A << /S /GoTo /D (subsubsection.8.4.5.2) >> +>> +endobj +4936 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 246.659 344.007 255.43] +/A << /S /GoTo /D (section.8.5) >> +>> +endobj +4937 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 227.258 221.939 237.527] +/A << /S /GoTo /D (subsection.8.5.1) >> +>> +endobj +4938 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 211.265 303.298 220.036] +/A << /S /GoTo /D (subsection.8.5.2) >> +>> +endobj +4939 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 224.275 202.338] +/A << /S /GoTo /D (subsubsection.8.5.2.1) >> +>> +endobj +4940 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 175.87 274.131 184.435] +/A << /S /GoTo /D (subsection.8.5.3) >> +>> +endobj +4941 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 227.996 166.737] +/A << /S /GoTo /D (subsubsection.8.5.3.1) >> +>> +endobj +4942 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 258.669 149.246] +/A << /S /GoTo /D (subsubsection.8.5.3.2) >> +>> +endobj +4943 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 215.811 131.549] +/A << /S /GoTo /D (subsubsection.8.5.3.3) >> +>> +endobj +4944 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 226.768 113.645] +/A << /S /GoTo /D (subsubsection.8.5.3.4) >> +>> +endobj +4945 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 311.382 96.154] +/A << /S /GoTo /D (subsubsection.8.5.3.5) >> +>> +endobj +4946 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.875 248.018 78.251] +/A << /S /GoTo /D (subsubsection.8.5.3.6) >> +>> +endobj +4948 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +4993 0 obj +<< +/Length 1257 +/Filter /FlateDecode +>> +stream +xKw8,aa$.u=mI"1é mG`bd&m:MƼl|u^]3ws2z=q̉#dw7@0pC4t/i!\uvtzt:(FH_jLrt :ցZsJ|p.Fztn<77{7T3`sP=WCacP7՗8̪oѹ])~p[oLj&}pfC뒤Ɂ{@όiVʲ`,+r$X8{,?|=F0z4~p:3E%A @2OVTa!Q՞OHAZ\g3F׶I4xН{P6}:5ܩtP_w'*qvH +O d2t۹}mq}W2-\AdV,U(*d6[dmyJ0dy.78!lw2 +`~_ neŨtKz% ⺬.6<սOXɪ+w;(3UE[:XXe{)mK`J?OgaE~ /x6 b-kVŸ?G[/mjj- }2PUX1PBSAqMarN"SS]6muJeE:B,K|fbq,U]ۘtؙmER/*\-TcMo%B;-ڶ + x WlJY,YY^"n+.3:Ě&EUfNI] ]@z\*ؚk{%UA0{ S]euEVlEE2#^j]I8YZsuSڪJUl7IV6 *˕CBU1M$#;{FVUU`r +u;"GᾺLgU*aEU۠l]p%>hMݸn\&{ƦG(:vUܗ)ę~'`z9QJa" -mvI&ªWSf ˎrWH>)gqԬ۞keFQn% _ +endstream +endobj +4992 0 obj +<< +/Type /Page +/Contents 4993 0 R +/Resources 4991 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 4827 0 R +/Annots [ 4947 0 R 4951 0 R 4952 0 R 4953 0 R 4954 0 R 4955 0 R 4956 0 R 4957 0 R 4958 0 R 4959 0 R 4960 0 R 4961 0 R 4962 0 R 4963 0 R 4964 0 R 4965 0 R 4966 0 R 4967 0 R 4968 0 R 4969 0 R 4970 0 R 4971 0 R 4972 0 R 4973 0 R 4974 0 R 4975 0 R 4976 0 R 4977 0 R 4978 0 R 4979 0 R 4980 0 R 4981 0 R 4982 0 R 4983 0 R 4984 0 R 4985 0 R 4986 0 R 4987 0 R 4988 0 R 4989 0 R ] +>> +endobj +4947 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 245.068 768.446] +/A << /S /GoTo /D (subsubsection.8.5.3.7) >> +>> +endobj +4951 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.48 241.042 750.955] +/A << /S /GoTo /D (subsubsection.8.5.3.8) >> +>> +endobj +4952 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.675 267.546 733.257] +/A << /S /GoTo /D (subsubsection.8.5.3.9) >> +>> +endobj +4953 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 704.978 267.546 715.56] +/A << /S /GoTo /D (subsubsection.8.5.3.10) >> +>> +endobj +4954 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 212.583 697.863] +/A << /S /GoTo /D (subsubsection.8.5.3.11) >> +>> +endobj +4955 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 247.21 680.165] +/A << /S /GoTo /D (subsubsection.8.5.3.12) >> +>> +endobj +4956 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 247.21 662.468] +/A << /S /GoTo /D (subsubsection.8.5.3.13) >> +>> +endobj +4957 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 229.269 644.771] +/A << /S /GoTo /D (subsubsection.8.5.3.14) >> +>> +endobj +4958 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 222.419 627.074] +/A << /S /GoTo /D (subsubsection.8.5.3.15) >> +>> +endobj +4959 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 222.419 609.376] +/A << /S /GoTo /D (subsubsection.8.5.3.16) >> +>> +endobj +4960 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 242.405 591.679] +/A << /S /GoTo /D (subsubsection.8.5.3.17) >> +>> +endobj +4961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 242.405 573.982] +/A << /S /GoTo /D (subsubsection.8.5.3.18) >> +>> +endobj +4962 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 232.381 556.078] +/A << /S /GoTo /D (subsubsection.8.5.3.19) >> +>> +endobj +4963 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 529.816 258.682 538.381] +/A << /S /GoTo /D (subsection.8.5.4) >> +>> +endobj +4964 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 217.855 520.683] +/A << /S /GoTo /D (subsubsection.8.5.4.1) >> +>> +endobj +4965 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.61 237.724 502.986] +/A << /S /GoTo /D (subsubsection.8.5.4.2) >> +>> +endobj +4966 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 248.107 485.495] +/A << /S /GoTo /D (subsubsection.8.5.4.3) >> +>> +endobj +4967 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 244.53 467.798] +/A << /S /GoTo /D (subsubsection.8.5.4.4) >> +>> +endobj +4968 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 439.626 238.616 449.894] +/A << /S /GoTo /D (subsection.8.5.5) >> +>> +endobj +4969 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.929 205.849 432.197] +/A << /S /GoTo /D (subsubsection.8.5.5.1) >> +>> +endobj +4970 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.231 228.05 414.5] +/A << /S /GoTo /D (subsubsection.8.5.5.2) >> +>> +endobj +4971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 227.377 396.802] +/A << /S /GoTo /D (subsubsection.8.5.5.3) >> +>> +endobj +4972 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 370.54 217.801 379.311] +/A << /S /GoTo /D (subsubsection.8.5.5.4) >> +>> +endobj +4973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 229.762 361.614] +/A << /S /GoTo /D (subsubsection.8.5.5.5) >> +>> +endobj +4974 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.334 223.109 343.917] +/A << /S /GoTo /D (subsubsection.8.5.5.6) >> +>> +endobj +4975 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 262.651 326.219] +/A << /S /GoTo /D (subsubsection.8.5.5.7) >> +>> +endobj +4976 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 250.788 308.316] +/A << /S /GoTo /D (subsubsection.8.5.5.8) >> +>> +endobj +4977 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 265.672 290.825] +/A << /S /GoTo /D (subsubsection.8.5.5.9) >> +>> +endobj +4978 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 296.677 273.127] +/A << /S /GoTo /D (subsubsection.8.5.5.10) >> +>> +endobj +4979 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 203.357 255.43] +/A << /S /GoTo /D (subsubsection.8.5.5.11) >> +>> +endobj +4980 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 252.868 237.527] +/A << /S /GoTo /D (subsubsection.8.5.5.12) >> +>> +endobj +4981 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.453 320.59 220.036] +/A << /S /GoTo /D (subsubsection.8.5.5.13) >> +>> +endobj +4982 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 208.826 202.132] +/A << /S /GoTo /D (subsubsection.8.5.5.14) >> +>> +endobj +4983 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 175.87 365.221 184.641] +/A << /S /GoTo /D (section.8.6) >> +>> +endobj +4984 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 156.469 221.939 166.737] +/A << /S /GoTo /D (subsection.8.6.1) >> +>> +endobj +4985 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 140.475 258.682 149.04] +/A << /S /GoTo /D (subsection.8.6.2) >> +>> +endobj +4986 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 120.967 242.217 131.549] +/A << /S /GoTo /D (subsubsection.8.6.2.1) >> +>> +endobj +4987 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 225.997 113.645] +/A << /S /GoTo /D (subsubsection.8.6.2.2) >> +>> +endobj +4988 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.572 246.61 95.948] +/A << /S /GoTo /D (subsubsection.8.6.2.3) >> +>> +endobj +4989 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 236.747 78.457] +/A << /S /GoTo /D (subsubsection.8.6.2.4) >> +>> +endobj +4991 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5036 0 obj +<< +/Length 1123 +/Filter /FlateDecode +>> +stream +xKw8 + 4kwS3I3YtaB| +&# jm ~xЛz;~?@2zC Ā!o{b4 >y~9I{'޿=d߅Z!xy#bA(#ԎFfްwVUV^UGʵ#E*>V}D$XOvXZwݗ S=Q{-CӰ".&:\Vx9"nb+jԛ0C^tޔq1|MY4W:YR.ofmdwj G&YE>"+uWKNZ!1P6dLT\wo0Excs+j>*IG&ln:L6! Bƹǧ~%^MKeҹN̰0 疗[dQvV\%'MmªBo.y Yo7)RbU[gZWjȃzzm +Z'YC"YmqZAlo:|:,\e.0AqDe@l_Vʨe2Gʠ•N•e U2Ո$u1SUTpGu0XdiZ@#P"4a)VX/Xҩi\$>su4ma'ꭱ\O[SPuz+8OG`З6Roc Q T#Nc6TBUknXm а iK ֪YM+k}|䘗eq N-y7ļDOL΢iS5gw^zUݚػӅNzbĞ 8l{bEM7uŜo+};e!|ۻ`a9[K3eѰlfD=3m{@r`PWcsFW#0(3edjQ Uwm7/O ,%C| WHܺ mFܗ|)?)Iq;Ok Bvl +endstream +endobj +5035 0 obj +<< +/Type /Page +/Contents 5036 0 R +/Resources 5034 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5037 0 R +/Annots [ 4990 0 R 4994 0 R 4995 0 R 4996 0 R 4997 0 R 4998 0 R 4999 0 R 5000 0 R 5001 0 R 5002 0 R 5003 0 R 5004 0 R 5005 0 R 5006 0 R 5007 0 R 5008 0 R 5009 0 R 5010 0 R 5011 0 R 5012 0 R 5013 0 R 5014 0 R 5015 0 R 5016 0 R 5017 0 R 5018 0 R 5019 0 R 5020 0 R 5021 0 R 5022 0 R 5023 0 R 5024 0 R 5025 0 R 5026 0 R 5027 0 R 5028 0 R 5029 0 R 5030 0 R 5031 0 R 5032 0 R ] +>> +endobj +4990 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 222.419 768.652] +/A << /S /GoTo /D (subsubsection.8.6.2.5) >> +>> +endobj +4994 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 232.381 750.748] +/A << /S /GoTo /D (subsubsection.8.6.2.6) >> +>> +endobj +4995 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 205.832 733.051] +/A << /S /GoTo /D (subsubsection.8.6.2.7) >> +>> +endobj +4996 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 705.085 381.8 715.56] +/A << /S /GoTo /D (section.8.7) >> +>> +endobj +4997 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 687.388 221.939 697.656] +/A << /S /GoTo /D (subsection.8.7.1) >> +>> +endobj +4998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 671.394 258.682 679.959] +/A << /S /GoTo /D (subsection.8.7.2) >> +>> +endobj +4999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 227.996 662.262] +/A << /S /GoTo /D (subsubsection.8.7.2.1) >> +>> +endobj +5000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 231.995 644.565] +/A << /S /GoTo /D (subsubsection.8.7.2.2) >> +>> +endobj +5001 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 243.974 627.074] +/A << /S /GoTo /D (subsubsection.8.7.2.3) >> +>> +endobj +5002 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 211.642 609.17] +/A << /S /GoTo /D (subsubsection.8.7.2.4) >> +>> +endobj +5003 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 245.068 591.473] +/A << /S /GoTo /D (subsubsection.8.7.2.5) >> +>> +endobj +5004 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 231.17 573.982] +/A << /S /GoTo /D (subsubsection.8.7.2.6) >> +>> +endobj +5005 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 222.419 556.284] +/A << /S /GoTo /D (subsubsection.8.7.2.7) >> +>> +endobj +5006 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 232.381 538.381] +/A << /S /GoTo /D (subsubsection.8.7.2.8) >> +>> +endobj +5007 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 236.747 520.89] +/A << /S /GoTo /D (subsubsection.8.7.2.9) >> +>> +endobj +5008 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 494.421 383.925 503.192] +/A << /S /GoTo /D (section.8.8) >> +>> +endobj +5009 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 475.021 221.939 485.289] +/A << /S /GoTo /D (subsection.8.8.1) >> +>> +endobj +5010 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 459.027 258.682 467.592] +/A << /S /GoTo /D (subsection.8.8.2) >> +>> +endobj +5011 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 215.811 450.1] +/A << /S /GoTo /D (subsubsection.8.8.2.1) >> +>> +endobj +5012 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 220.294 432.403] +/A << /S /GoTo /D (subsubsection.8.8.2.2) >> +>> +endobj +5013 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 258.661 414.706] +/A << /S /GoTo /D (subsubsection.8.8.2.3) >> +>> +endobj +5014 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 212.045 396.802] +/A << /S /GoTo /D (subsubsection.8.8.2.4) >> +>> +endobj +5015 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.729 238.002 379.105] +/A << /S /GoTo /D (subsubsection.8.8.2.5) >> +>> +endobj +5016 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 218.797 361.408] +/A << /S /GoTo /D (subsubsection.8.8.2.6) >> +>> +endobj +5017 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.334 223.28 343.71] +/A << /S /GoTo /D (subsubsection.8.8.2.7) >> +>> +endobj +5018 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.637 206.836 326.013] +/A << /S /GoTo /D (subsubsection.8.8.2.8) >> +>> +endobj +5019 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 297.94 211.319 308.316] +/A << /S /GoTo /D (subsubsection.8.8.2.9) >> +>> +endobj +5020 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 208.333 290.825] +/A << /S /GoTo /D (subsubsection.8.8.2.10) >> +>> +endobj +5021 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.356 211.328 273.127] +/A << /S /GoTo /D (subsubsection.8.8.2.11) >> +>> +endobj +5022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 215.811 255.43] +/A << /S /GoTo /D (subsubsection.8.8.2.12) >> +>> +endobj +5023 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.151 236.236 237.733] +/A << /S /GoTo /D (subsubsection.8.8.2.13) >> +>> +endobj +5024 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 207.84 220.036] +/A << /S /GoTo /D (subsubsection.8.8.2.14) >> +>> +endobj +5025 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 252.312 202.338] +/A << /S /GoTo /D (subsubsection.8.8.2.15) >> +>> +endobj +5026 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 208.826 184.435] +/A << /S /GoTo /D (subsubsection.8.8.2.16) >> +>> +endobj +5027 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.361 222.509 166.737] +/A << /S /GoTo /D (subsubsection.8.8.2.17) >> +>> +endobj +5028 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 140.475 339.578 149.246] +/A << /S /GoTo /D (section.8.9) >> +>> +endobj +5029 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 121.074 221.939 131.343] +/A << /S /GoTo /D (subsection.8.9.1) >> +>> +endobj +5030 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 105.081 303.298 113.852] +/A << /S /GoTo /D (subsection.8.9.2) >> +>> +endobj +5031 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 219.846 96.154] +/A << /S /GoTo /D (subsubsection.8.9.2.1) >> +>> +endobj +5032 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 69.686 274.131 78.251] +/A << /S /GoTo /D (subsection.8.9.3) >> +>> +endobj +5034 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5080 0 obj +<< +/Length 1249 +/Filter /FlateDecode +>> +stream +xK{8,aa$t\&}&N&qW.(( O0t7ɿ 13l@[Ư?hZ:}~;c̵7@0fqid]8vL?Y>YOG>7:!u +Zy! +g/ЊԹO'3PPqb]M\_ F^pMAL tT _a5XM9Mo$dn_$&ֈVuӷ449SB|A R=6ٞ/2@ pJ(,Z#!6,\g"W2e51o`j*c<0ބ1y9*<}mW(1%zPk +x(\pz(\nm"Ue6k4y(ǎvH^R\8{m$+dH==r;=K,&YO@8k_dw> +endobj +5033 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 294.319 768.652] +/A << /S /GoTo /D (subsubsection.8.9.3.1) >> +>> +endobj +5038 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 215.811 750.955] +/A << /S /GoTo /D (subsubsection.8.9.3.2) >> +>> +endobj +5039 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 724.486 258.682 733.051] +/A << /S /GoTo /D (subsection.8.9.4) >> +>> +endobj +5040 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 251.219 715.56] +/A << /S /GoTo /D (subsubsection.8.9.4.1) >> +>> +endobj +5041 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.388 249.228 697.863] +/A << /S /GoTo /D (subsubsection.8.9.4.2) >> +>> +endobj +5042 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 669.691 238.616 679.959] +/A << /S /GoTo /D (subsection.8.9.5) >> +>> +endobj +5043 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 265.672 662.468] +/A << /S /GoTo /D (subsubsection.8.9.5.1) >> +>> +endobj +5044 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 636 365.436 644.771] +/A << /S /GoTo /D (section.8.10) >> +>> +endobj +5045 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 616.599 221.939 626.867] +/A << /S /GoTo /D (subsection.8.10.1) >> +>> +endobj +5046 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 600.605 258.682 609.17] +/A << /S /GoTo /D (subsection.8.10.2) >> +>> +endobj +5047 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 203.581 591.473] +/A << /S /GoTo /D (subsubsection.8.10.2.1) >> +>> +endobj +5048 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 201.842 573.775] +/A << /S /GoTo /D (subsubsection.8.10.2.2) >> +>> +endobj +5049 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 214.448 556.078] +/A << /S /GoTo /D (subsubsection.8.10.2.3) >> +>> +endobj +5050 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 199.86 538.587] +/A << /S /GoTo /D (subsubsection.8.10.2.4) >> +>> +endobj +5051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 208.333 520.89] +/A << /S /GoTo /D (subsubsection.8.10.2.5) >> +>> +endobj +5052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 208.333 503.192] +/A << /S /GoTo /D (subsubsection.8.10.2.6) >> +>> +endobj +5053 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 474.913 211.552 485.289] +/A << /S /GoTo /D (subsubsection.8.10.2.7) >> +>> +endobj +5054 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 457.323 285.655 467.798] +/A << /S /GoTo /D (section.8.11) >> +>> +endobj +5055 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 441.329 258.682 449.894] +/A << /S /GoTo /D (subsection.8.11.1) >> +>> +endobj +5056 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 204.845 432.197] +/A << /S /GoTo /D (subsubsection.8.11.1.1) >> +>> +endobj +5057 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 213.318 414.706] +/A << /S /GoTo /D (subsubsection.8.11.1.2) >> +>> +endobj +5058 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 213.318 397.009] +/A << /S /GoTo /D (subsubsection.8.11.1.3) >> +>> +endobj +5059 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 370.54 343.505 379.311] +/A << /S /GoTo /D (section.8.12) >> +>> +endobj +5060 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 351.139 221.939 361.408] +/A << /S /GoTo /D (subsection.8.12.1) >> +>> +endobj +5061 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 335.146 258.682 343.71] +/A << /S /GoTo /D (subsection.8.12.2) >> +>> +endobj +5062 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 293.826 326.219] +/A << /S /GoTo /D (subsubsection.8.12.2.1) >> +>> +endobj +5063 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 234.739 308.522] +/A << /S /GoTo /D (subsubsection.8.12.2.2) >> +>> +endobj +5064 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 261.144 290.825] +/A << /S /GoTo /D (subsubsection.8.12.2.3) >> +>> +endobj +5065 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.356 221.28 273.127] +/A << /S /GoTo /D (subsubsection.8.12.2.4) >> +>> +endobj +5066 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 244.956 268.622 255.43] +/A << /S /GoTo /D (subsubsection.8.12.2.5) >> +>> +endobj +5067 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 258.92 237.733] +/A << /S /GoTo /D (subsubsection.8.12.2.6) >> +>> +endobj +5068 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 264.479 219.829] +/A << /S /GoTo /D (subsubsection.8.12.2.7) >> +>> +endobj +5069 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 268.64 202.338] +/A << /S /GoTo /D (subsubsection.8.12.2.8) >> +>> +endobj +5070 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.059 236.335 184.435] +/A << /S /GoTo /D (subsubsection.8.12.2.9) >> +>> +endobj +5071 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 251.183 166.944] +/A << /S /GoTo /D (subsubsection.8.12.2.10) >> +>> +endobj +5072 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 277.328 149.04] +/A << /S /GoTo /D (subsubsection.8.12.2.11) >> +>> +endobj +5073 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 193.88 131.549] +/A << /S /GoTo /D (subsubsection.8.12.2.12) >> +>> +endobj +5074 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.377 325.127 113.852] +/A << /S /GoTo /D (subsubsection.8.12.2.13) >> +>> +endobj +5075 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 223.316 96.154] +/A << /S /GoTo /D (subsubsection.8.12.2.14) >> +>> +endobj +5076 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 232.883 78.251] +/A << /S /GoTo /D (subsubsection.8.12.2.15) >> +>> +endobj +5078 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5123 0 obj +<< +/Length 1238 +/Filter /FlateDecode +>> +stream +xKs6,aa*n]4NjL`p@ILckc$`">5u:rF܀YK5[w=}|i!D\ oյdv_(O n`ei;by0뱼sj!ZUSLC=Q?ؙ(.)2NE^;]2y;6/xrZ]D:]{- xP< @`u!uI@]t))ab~Q!v2IձC͚*W|t(BʣŔg"l1`Z>t[D)'ixu^Fz#9*RIT*rDE9K&`cd]~|ڄw``WF {q + UKQBlga^/YbxNy/M\?(=|KKE+C@ewHf:vd[sJmm-)[2MĐm>>=B† َsvdeL38 +\Tt/L569144V,*70niwʥMRploEw=6 RWuNgQCqKRI~$X}=^ζęr>"O"T.][\:FǦD"2J1yq@  ]d+k:PTdOdA] 0a=YhG"RP\lE9UEgr\r YOI*8Ֆ#޸OJF$Ӌ''i;ۏ$N( +E#wtp.&Iv̧j7.!ӕKZuF>6L^=cU"r[:YQ)4)iV`fضbR5tde2$r?SLǀ[jd?I#Tx 4ݲWEnLu3 w', +>"+], WC6-쩍QDwfJ u]eJ<'EcQ[Wھ/ԕ_?v"2&hc']"_v3^bС<@jGWv{RuT2SzZ~ޝJlrb=,9ⱺ!?ԉ:QO\% # +endstream +endobj +5122 0 obj +<< +/Type /Page +/Contents 5123 0 R +/Resources 5121 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5037 0 R +/Annots [ 5077 0 R 5081 0 R 5082 0 R 5083 0 R 5084 0 R 5085 0 R 5086 0 R 5087 0 R 5088 0 R 5089 0 R 5090 0 R 5091 0 R 5092 0 R 5093 0 R 5094 0 R 5095 0 R 5096 0 R 5097 0 R 5098 0 R 5099 0 R 5100 0 R 5101 0 R 5102 0 R 5103 0 R 5104 0 R 5105 0 R 5106 0 R 5107 0 R 5108 0 R 5109 0 R 5110 0 R 5111 0 R 5112 0 R 5113 0 R 5114 0 R 5115 0 R 5116 0 R 5117 0 R 5118 0 R 5119 0 R ] +>> +endobj +5077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 759.881 219.556 768.652] +/A << /S /GoTo /D (section.8.13) >> +>> +endobj +5081 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 740.48 221.939 750.748] +/A << /S /GoTo /D (subsection.8.13.1) >> +>> +endobj +5082 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 724.486 258.682 733.051] +/A << /S /GoTo /D (subsection.8.13.2) >> +>> +endobj +5083 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 705.085 247.202 715.354] +/A << /S /GoTo /D (subsubsection.8.13.2.1) >> +>> +endobj +5084 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.388 292.92 697.656] +/A << /S /GoTo /D (subsubsection.8.13.2.2) >> +>> +endobj +5085 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 293.826 680.165] +/A << /S /GoTo /D (subsubsection.8.13.2.3) >> +>> +endobj +5086 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 271.383 662.468] +/A << /S /GoTo /D (subsubsection.8.13.2.4) >> +>> +endobj +5087 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 234.739 644.771] +/A << /S /GoTo /D (subsubsection.8.13.2.5) >> +>> +endobj +5088 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 261.144 627.074] +/A << /S /GoTo /D (subsubsection.8.13.2.6) >> +>> +endobj +5089 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 221.28 609.376] +/A << /S /GoTo /D (subsubsection.8.13.2.7) >> +>> +endobj +5090 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 268.622 591.679] +/A << /S /GoTo /D (subsubsection.8.13.2.8) >> +>> +endobj +5091 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 253.675 573.775] +/A << /S /GoTo /D (subsubsection.8.13.2.9) >> +>> +endobj +5092 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 258.92 556.284] +/A << /S /GoTo /D (subsubsection.8.13.2.10) >> +>> +endobj +5093 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 264.479 538.381] +/A << /S /GoTo /D (subsubsection.8.13.2.11) >> +>> +endobj +5094 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 296.444 520.683] +/A << /S /GoTo /D (subsubsection.8.13.2.12) >> +>> +endobj +5095 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 247.21 503.192] +/A << /S /GoTo /D (subsubsection.8.13.2.13) >> +>> +endobj +5096 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 475.021 268.64 485.495] +/A << /S /GoTo /D (subsubsection.8.13.2.14) >> +>> +endobj +5097 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.216 236.335 467.592] +/A << /S /GoTo /D (subsubsection.8.13.2.15) >> +>> +endobj +5098 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 296.588 449.894] +/A << /S /GoTo /D (subsubsection.8.13.2.16) >> +>> +endobj +5099 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 311.265 432.197] +/A << /S /GoTo /D (subsubsection.8.13.2.17) >> +>> +endobj +5100 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 303.07 414.5] +/A << /S /GoTo /D (subsubsection.8.13.2.18) >> +>> +endobj +5101 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 298.13 396.802] +/A << /S /GoTo /D (subsubsection.8.13.2.19) >> +>> +endobj +5102 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 313.247 379.105] +/A << /S /GoTo /D (subsubsection.8.13.2.20) >> +>> +endobj +5103 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 251.183 361.614] +/A << /S /GoTo /D (subsubsection.8.13.2.21) >> +>> +endobj +5104 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 277.328 343.71] +/A << /S /GoTo /D (subsubsection.8.13.2.22) >> +>> +endobj +5105 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 193.88 326.219] +/A << /S /GoTo /D (subsubsection.8.13.2.23) >> +>> +endobj +5106 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 298.047 325.127 308.522] +/A << /S /GoTo /D (subsubsection.8.13.2.24) >> +>> +endobj +5107 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 245.695 290.618] +/A << /S /GoTo /D (subsubsection.8.13.2.25) >> +>> +endobj +5108 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 264.497 272.921] +/A << /S /GoTo /D (subsubsection.8.13.2.26) >> +>> +endobj +5109 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 223.316 255.43] +/A << /S /GoTo /D (subsubsection.8.13.2.27) >> +>> +endobj +5110 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 217.792 237.733] +/A << /S /GoTo /D (subsubsection.8.13.2.28) >> +>> +endobj +5111 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 232.883 219.829] +/A << /S /GoTo /D (subsubsection.8.13.2.29) >> +>> +endobj +5112 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 193.567 222.336 202.338] +/A << /S /GoTo /D (section.8.14) >> +>> +endobj +5113 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 174.166 221.939 184.435] +/A << /S /GoTo /D (subsection.8.14.1) >> +>> +endobj +5114 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 158.173 258.682 166.737] +/A << /S /GoTo /D (subsection.8.14.2) >> +>> +endobj +5115 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 218.806 149.246] +/A << /S /GoTo /D (subsubsection.8.14.2.1) >> +>> +endobj +5116 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 223.298 131.343] +/A << /S /GoTo /D (subsubsection.8.14.2.2) >> +>> +endobj +5117 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 241.956 113.852] +/A << /S /GoTo /D (subsubsection.8.14.2.3) >> +>> +endobj +5118 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.572 264.148 96.154] +/A << /S /GoTo /D (subsubsection.8.14.2.4) >> +>> +endobj +5119 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 217.03 78.457] +/A << /S /GoTo /D (subsubsection.8.14.2.5) >> +>> +endobj +5121 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5166 0 obj +<< +/Length 1148 +/Filter /FlateDecode +>> +stream +xMw6 +/$svSqk3]܂I}eN2SLs6v+{%=w~t~;b㡠4w!czw?8DH?+]^ /Zpсs ao8|H_;@ =wr& .!vo8{v5T~Kdzh)S _2?I{d:;ɪIΌxo&\K}UKa>Y!03@Lb1~ | ;7}};uUjنJ;c[mGZ xΊZZv|w÷ezN* U8؟((}NUQQMtyw.$ٵz7y)PS29 +0w_,d'ӏv׊^SE򋀃֮0jYE/U{a/ .g > +endobj +5120 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 220.787 768.652] +/A << /S /GoTo /D (subsubsection.8.14.2.6) >> +>> +endobj +5124 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.48 249.694 750.955] +/A << /S /GoTo /D (subsubsection.8.14.2.7) >> +>> +endobj +5125 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 198.865 733.051] +/A << /S /GoTo /D (subsubsection.8.14.2.8) >> +>> +endobj +5126 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 206.441 715.354] +/A << /S /GoTo /D (subsubsection.8.14.2.9) >> +>> +endobj +5127 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.388 227.01 697.863] +/A << /S /GoTo /D (subsubsection.8.14.2.10) >> +>> +endobj +5128 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 206.836 679.959] +/A << /S /GoTo /D (subsubsection.8.14.2.11) >> +>> +endobj +5129 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.886 260.023 662.468] +/A << /S /GoTo /D (subsubsection.8.14.2.12) >> +>> +endobj +5130 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 635.682 230.273 644.771] +/A << /S /GoTo /D (subsubsection.8.14.2.13) >> +>> +endobj +5131 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 237.096 627.074] +/A << /S /GoTo /D (subsubsection.8.14.2.14) >> +>> +endobj +5132 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 600.605 222.058 609.376] +/A << /S /GoTo /D (section.8.15) >> +>> +endobj +5133 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 581.204 221.939 591.473] +/A << /S /GoTo /D (subsection.8.15.1) >> +>> +endobj +5134 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 565.211 274.131 573.775] +/A << /S /GoTo /D (subsection.8.15.2) >> +>> +endobj +5135 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.81 237.231 556.078] +/A << /S /GoTo /D (subsubsection.8.15.2.1) >> +>> +endobj +5136 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 237.231 538.381] +/A << /S /GoTo /D (subsubsection.8.15.2.2) >> +>> +endobj +5137 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 237.231 520.683] +/A << /S /GoTo /D (subsubsection.8.15.2.3) >> +>> +endobj +5138 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 237.231 502.986] +/A << /S /GoTo /D (subsubsection.8.15.2.4) >> +>> +endobj +5139 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 217.801 485.495] +/A << /S /GoTo /D (subsubsection.8.15.2.5) >> +>> +endobj +5140 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 273.751 467.798] +/A << /S /GoTo /D (subsubsection.8.15.2.6) >> +>> +endobj +5141 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 244.539 450.1] +/A << /S /GoTo /D (subsubsection.8.15.2.7) >> +>> +endobj +5142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 289.881 432.403] +/A << /S /GoTo /D (subsubsection.8.15.2.8) >> +>> +endobj +5143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.124 207.831 414.5] +/A << /S /GoTo /D (subsubsection.8.15.2.9) >> +>> +endobj +5144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.426 250.779 397.009] +/A << /S /GoTo /D (subsubsection.8.15.2.10) >> +>> +endobj +5145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 280.538 379.311] +/A << /S /GoTo /D (subsubsection.8.15.2.11) >> +>> +endobj +5146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 253.325 361.614] +/A << /S /GoTo /D (subsubsection.8.15.2.12) >> +>> +endobj +5147 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.334 229.807 343.917] +/A << /S /GoTo /D (subsubsection.8.15.2.13) >> +>> +endobj +5148 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.637 229.807 326.219] +/A << /S /GoTo /D (subsubsection.8.15.2.14) >> +>> +endobj +5149 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 299.751 258.682 308.316] +/A << /S /GoTo /D (subsection.8.15.3) >> +>> +endobj +5150 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 272.164 290.825] +/A << /S /GoTo /D (subsubsection.8.15.3.1) >> +>> +endobj +5151 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 264.356 218.032 273.127] +/A << /S /GoTo /D (section.8.16) >> +>> +endobj +5152 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 244.956 221.939 255.224] +/A << /S /GoTo /D (subsection.8.16.1) >> +>> +endobj +5153 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 228.962 274.131 237.527] +/A << /S /GoTo /D (subsection.8.16.2) >> +>> +endobj +5154 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.453 215.362 220.036] +/A << /S /GoTo /D (subsubsection.8.16.2.1) >> +>> +endobj +5155 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 191.864 238.616 202.132] +/A << /S /GoTo /D (subsection.8.16.3) >> +>> +endobj +5156 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 220.787 184.435] +/A << /S /GoTo /D (subsubsection.8.16.3.1) >> +>> +endobj +5157 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 215.309 166.944] +/A << /S /GoTo /D (subsubsection.8.16.3.2) >> +>> +endobj +5158 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 206.334 149.04] +/A << /S /GoTo /D (subsubsection.8.16.3.3) >> +>> +endobj +5159 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 206.334 131.343] +/A << /S /GoTo /D (subsubsection.8.16.3.4) >> +>> +endobj +5160 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 103.377 272.385 113.852] +/A << /S /GoTo /D (section.8.17) >> +>> +endobj +5161 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 85.68 221.939 95.948] +/A << /S /GoTo /D (subsection.8.17.1) >> +>> +endobj +5162 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 69.686 274.131 78.251] +/A << /S /GoTo /D (subsection.8.17.2) >> +>> +endobj +5164 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5209 0 obj +<< +/Length 1276 +/Filter /FlateDecode +>> +stream +x_w8\ IHH2wںZݛ@L-g\O NJVi{M A}ĂV۠9#ukpo1ZL`"k0:b>͹e6HZ]s1Y+ Gp1"8j-x= vم / E_K1P:͎L`*džhGƾ"h3'ArdJdpXm K9H{"?0L-Μm` qnO6yux!=e(ewoTgwK?a,qifsĩNbr8f/R"S$fwFL +q0=-@57 'rўjf8XzZ}QEg1u"^n;Jd0wH +ZU~,{E4e8MEZMؗV%Eu8gC j @8[n"Ě50{36q;!Nv`Xw xP.b; +M$ہ'aQ8,E CD!h?x x0¢酉\d)ޯY)QohzK]ѾpN:ّO'})mgﯸW2uEVTpR~a5 /V[( Bu ` b +VqGZpRƱ7>?0jo(*y̙NS`4NJc9Ñ8U>*$sN:\Da2S"P sqnҰM#uv,q%מ"Td׬YC?evV544KQ*9m偔b9:~?9TERHSFʡ8fu&j|o=6U(wdmWQTQYe/`撵dԻzAGz`2PL"fF}BDf^źfxIЕLǾa~DHIOlpg +endstream +endobj +5208 0 obj +<< +/Type /Page +/Contents 5209 0 R +/Resources 5207 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5037 0 R +/Annots [ 5163 0 R 5167 0 R 5168 0 R 5169 0 R 5170 0 R 5171 0 R 5172 0 R 5173 0 R 5174 0 R 5175 0 R 5176 0 R 5177 0 R 5178 0 R 5179 0 R 5180 0 R 5181 0 R 5182 0 R 5183 0 R 5184 0 R 5185 0 R 5186 0 R 5187 0 R 5188 0 R 5189 0 R 5190 0 R 5191 0 R 5192 0 R 5193 0 R 5194 0 R 5195 0 R 5196 0 R 5197 0 R 5198 0 R 5199 0 R 5200 0 R 5201 0 R 5202 0 R 5203 0 R 5204 0 R 5205 0 R ] +>> +endobj +5163 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 221.065 768.652] +/A << /S /GoTo /D (subsubsection.8.17.2.1) >> +>> +endobj +5167 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 740.48 251.772 750.955] +/A << /S /GoTo /D (section.8.18) >> +>> +endobj +5168 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 722.783 221.939 733.051] +/A << /S /GoTo /D (subsection.8.18.1) >> +>> +endobj +5169 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 706.789 258.682 715.354] +/A << /S /GoTo /D (subsection.8.18.2) >> +>> +endobj +5170 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.388 277.615 697.863] +/A << /S /GoTo /D (subsubsection.8.18.2.1) >> +>> +endobj +5171 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 243.212 679.959] +/A << /S /GoTo /D (subsubsection.8.18.2.2) >> +>> +endobj +5172 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 211.328 662.468] +/A << /S /GoTo /D (subsubsection.8.18.2.3) >> +>> +endobj +5173 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 215.623 644.565] +/A << /S /GoTo /D (subsubsection.8.18.2.4) >> +>> +endobj +5174 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 240.217 627.074] +/A << /S /GoTo /D (subsubsection.8.18.2.5) >> +>> +endobj +5175 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 228.803 609.17] +/A << /S /GoTo /D (subsubsection.8.18.2.6) >> +>> +endobj +5176 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 231.305 591.679] +/A << /S /GoTo /D (subsubsection.8.18.2.7) >> +>> +endobj +5177 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 261.395 573.775] +/A << /S /GoTo /D (subsubsection.8.18.2.8) >> +>> +endobj +5178 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 220.429 556.078] +/A << /S /GoTo /D (subsubsection.8.18.2.9) >> +>> +endobj +5179 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 528.112 341.542 538.587] +/A << /S /GoTo /D (section.8.19) >> +>> +endobj +5180 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 512.119 274.131 520.683] +/A << /S /GoTo /D (subsection.8.19.1) >> +>> +endobj +5181 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 203.07 502.986] +/A << /S /GoTo /D (subsubsection.8.19.1.1) >> +>> +endobj +5182 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 475.021 214.571 485.495] +/A << /S /GoTo /D (section.8.20) >> +>> +endobj +5183 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 457.323 221.939 467.592] +/A << /S /GoTo /D (subsection.8.20.1) >> +>> +endobj +5184 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 441.329 303.298 450.1] +/A << /S /GoTo /D (subsection.8.20.2) >> +>> +endobj +5185 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.929 218.788 432.197] +/A << /S /GoTo /D (subsubsection.8.20.2.1) >> +>> +endobj +5186 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 405.935 390.595 414.706] +/A << /S /GoTo /D (section.8.21) >> +>> +endobj +5187 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 386.534 221.939 396.802] +/A << /S /GoTo /D (subsection.8.21.1) >> +>> +endobj +5188 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 370.54 274.131 379.105] +/A << /S /GoTo /D (subsection.8.21.2) >> +>> +endobj +5189 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 235.788 361.408] +/A << /S /GoTo /D (subsubsection.8.21.2.1) >> +>> +endobj +5190 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.334 265.654 343.917] +/A << /S /GoTo /D (subsubsection.8.21.2.2) >> +>> +endobj +5191 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 237.742 326.219] +/A << /S /GoTo /D (subsubsection.8.21.2.3) >> +>> +endobj +5192 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 248.699 308.522] +/A << /S /GoTo /D (subsubsection.8.21.2.4) >> +>> +endobj +5193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 249.694 290.825] +/A << /S /GoTo /D (subsubsection.8.21.2.5) >> +>> +endobj +5194 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 258.571 273.127] +/A << /S /GoTo /D (subsubsection.8.21.2.6) >> +>> +endobj +5195 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 244.956 248.708 255.43] +/A << /S /GoTo /D (subsubsection.8.21.2.7) >> +>> +endobj +5196 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 239.365 237.733] +/A << /S /GoTo /D (subsubsection.8.21.2.8) >> +>> +endobj +5197 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 249.327 220.036] +/A << /S /GoTo /D (subsubsection.8.21.2.9) >> +>> +endobj +5198 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 193.567 247.531 202.338] +/A << /S /GoTo /D (section.8.22) >> +>> +endobj +5199 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 174.166 221.939 184.435] +/A << /S /GoTo /D (subsection.8.22.1) >> +>> +endobj +5200 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 158.173 274.131 166.737] +/A << /S /GoTo /D (subsection.8.22.2) >> +>> +endobj +5201 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 274.531 149.246] +/A << /S /GoTo /D (subsubsection.8.22.2.1) >> +>> +endobj +5202 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 275.544 131.549] +/A << /S /GoTo /D (subsubsection.8.22.2.2) >> +>> +endobj +5203 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 253.729 113.852] +/A << /S /GoTo /D (subsubsection.8.22.2.3) >> +>> +endobj +5204 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 250.187 96.154] +/A << /S /GoTo /D (subsubsection.8.22.2.4) >> +>> +endobj +5205 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 305.787 78.457] +/A << /S /GoTo /D (subsubsection.8.22.2.5) >> +>> +endobj +5207 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5252 0 obj +<< +/Length 1281 +/Filter /FlateDecode +>> +stream +xKs:| +/d]KN2yp w%x +MJ~@B̤+pLֽ·S,rB|kxgQ2B,=@k8n(r-y\cƜ|v~v>,1y +gsp}ά3 aM(敏L!.f̢+3tԝ.GE'"FaFJD2W2onuѫlWa..t +-DIa*ƧvfJ>{_搼_AbkX [rdf^Gk]Tu")j@`蹦&o~o8!p>CKfUr/]S i{vB G_"})՛TD|5m66Tb TĽi=c1'Jj%G)dB$i=I+n- @&wf!-@ s܋i~v2"i*%ԏ\NW4Io:1{ >P&|L@7? xy`YH2T 'r\'v<AKYXѳh b5@u@@h"уa;2^DI{pz`bZzHKGv$ذ>NJGymӍAy5~EB^5,R-8Nף>C !&!ău-Ox-}W/(HZ=IXlbб58*5+q`7Z)SnF&^RF&ҧ fs*\̄L1kCDٚ[ PX勞†6`9{9VV%ӭ΋]4u/T$0n!R"AAQ9 n Xey0lWI>e ǿ09㱶S |sWnmT!`zX$s[=5U8Y-~~3ٴ; `12VȪU֨w1q-]͑lzSW)ׁdt!%.#f꫐"6!N>|^˼#̏LUEOTdɨtWebF"7>=SY?Uj +endstream +endobj +5251 0 obj +<< +/Type /Page +/Contents 5252 0 R +/Resources 5250 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5037 0 R +/Annots [ 5206 0 R 5210 0 R 5211 0 R 5212 0 R 5213 0 R 5214 0 R 5215 0 R 5216 0 R 5217 0 R 5218 0 R 5219 0 R 5220 0 R 5221 0 R 5222 0 R 5223 0 R 5224 0 R 5225 0 R 5226 0 R 5227 0 R 5228 0 R 5229 0 R 5230 0 R 5231 0 R 5232 0 R 5233 0 R 5234 0 R 5235 0 R 5236 0 R 5237 0 R 5238 0 R 5239 0 R 5240 0 R 5241 0 R 5242 0 R 5243 0 R 5244 0 R 5245 0 R 5246 0 R 5247 0 R 5248 0 R ] +>> +endobj +5206 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.177 322.186 768.652] +/A << /S /GoTo /D (subsubsection.8.22.2.6) >> +>> +endobj +5210 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 297.628 750.955] +/A << /S /GoTo /D (subsubsection.8.22.2.7) >> +>> +endobj +5211 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 298.928 733.257] +/A << /S /GoTo /D (subsubsection.8.22.2.8) >> +>> +endobj +5212 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 705.085 244.951 715.56] +/A << /S /GoTo /D (subsubsection.8.22.2.9) >> +>> +endobj +5213 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 244.709 697.863] +/A << /S /GoTo /D (subsubsection.8.22.2.10) >> +>> +endobj +5214 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 233.492 680.165] +/A << /S /GoTo /D (subsubsection.8.22.2.11) >> +>> +endobj +5215 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 233.25 662.468] +/A << /S /GoTo /D (subsubsection.8.22.2.12) >> +>> +endobj +5216 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 283.318 644.771] +/A << /S /GoTo /D (subsubsection.8.22.2.13) >> +>> +endobj +5217 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 281.076 627.074] +/A << /S /GoTo /D (subsubsection.8.22.2.14) >> +>> +endobj +5218 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 270.621 609.376] +/A << /S /GoTo /D (subsubsection.8.22.2.15) >> +>> +endobj +5219 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 279.148 591.679] +/A << /S /GoTo /D (subsubsection.8.22.2.16) >> +>> +endobj +5220 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 297.583 573.982] +/A << /S /GoTo /D (subsubsection.8.22.2.17) >> +>> +endobj +5221 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.702 355.2 556.284] +/A << /S /GoTo /D (subsubsection.8.22.2.18) >> +>> +endobj +5222 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 264.165 538.587] +/A << /S /GoTo /D (subsubsection.8.22.2.19) >> +>> +endobj +5223 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 287.119 520.89] +/A << /S /GoTo /D (subsubsection.8.22.2.20) >> +>> +endobj +5224 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 296.041 503.192] +/A << /S /GoTo /D (subsubsection.8.22.2.21) >> +>> +endobj +5225 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 474.913 312.538 485.495] +/A << /S /GoTo /D (subsubsection.8.22.2.22) >> +>> +endobj +5226 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 291.118 467.798] +/A << /S /GoTo /D (subsubsection.8.22.2.23) >> +>> +endobj +5227 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 302.075 450.1] +/A << /S /GoTo /D (subsubsection.8.22.2.24) >> +>> +endobj +5228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.821 325.36 432.403] +/A << /S /GoTo /D (subsubsection.8.22.2.25) >> +>> +endobj +5229 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 297.09 414.706] +/A << /S /GoTo /D (subsubsection.8.22.2.26) >> +>> +endobj +5230 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 298.3 397.009] +/A << /S /GoTo /D (subsubsection.8.22.2.27) >> +>> +endobj +5231 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 267.367 379.311] +/A << /S /GoTo /D (subsubsection.8.22.2.28) >> +>> +endobj +5232 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.139 268.855 361.614] +/A << /S /GoTo /D (subsubsection.8.22.2.29) >> +>> +endobj +5233 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 335.146 254.56 343.917] +/A << /S /GoTo /D (section.8.23) >> +>> +endobj +5234 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 315.745 221.939 326.013] +/A << /S /GoTo /D (subsection.8.23.1) >> +>> +endobj +5235 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 299.751 252.489 308.522] +/A << /S /GoTo /D (section.8.24) >> +>> +endobj +5236 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 280.35 221.939 290.618] +/A << /S /GoTo /D (subsection.8.24.1) >> +>> +endobj +5237 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 264.356 274.131 272.921] +/A << /S /GoTo /D (subsection.8.24.2) >> +>> +endobj +5238 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 244.956 213.04 255.224] +/A << /S /GoTo /D (subsubsection.8.24.2.1) >> +>> +endobj +5239 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 223.791 237.527] +/A << /S /GoTo /D (subsubsection.8.24.2.2) >> +>> +endobj +5240 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 211.265 271.722 220.036] +/A << /S /GoTo /D (section.8.25) >> +>> +endobj +5241 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 191.864 221.939 202.132] +/A << /S /GoTo /D (subsection.8.25.1) >> +>> +endobj +5242 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 174.166 238.616 184.435] +/A << /S /GoTo /D (subsection.8.25.2) >> +>> +endobj +5243 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 233.107 166.737] +/A << /S /GoTo /D (subsubsection.8.25.2.1) >> +>> +endobj +5244 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 229.09 149.04] +/A << /S /GoTo /D (subsubsection.8.25.2.2) >> +>> +endobj +5245 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 121.074 238.914 131.549] +/A << /S /GoTo /D (section.8.26) >> +>> +endobj +5246 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 103.377 221.939 113.645] +/A << /S /GoTo /D (subsection.8.26.1) >> +>> +endobj +5247 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 87.383 258.682 95.948] +/A << /S /GoTo /D (subsection.8.26.2) >> +>> +endobj +5248 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 231.995 78.251] +/A << /S /GoTo /D (subsubsection.8.26.2.1) >> +>> +endobj +5250 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5295 0 obj +<< +/Length 1165 +/Filter /FlateDecode +>> +stream +xMw6 +/-nʐif +LșcSt,CLfhe!?J^'Nb 9':!Ā`2 .b2>MJo7,3ޟ=1 к!4HO0kgDss"Fnσqlf)gmvD~5TD!`B1CZ V8K +÷m}:KZS w;e_8Q1nl糽]kZ4}mG12H,MiY.m|W/Sl-Ri%& GدMޥ@0 cE92Ί|dȐq$˧'eX|X6$zc TƼϳvd>zkU`xNjGPOu'rMCY,vΔTj.H󌠆H\O!ƿ?E2=+2gƂ硼: ] T!=׃Әn1q(ɧŢKAO12K\%FE@wyoD<BlRCK8w1AX[U]g̍˞iGV>!/mdI 2uֵl}FA,]m9.k2_UdMQ9$m2Ii&:}[A1UQ"̓͑nRuk$_|0JЁl2Fm]R'mHoUҕÒ˂%%t5hRtZM`1M{®4pWurn +Z?MݲPw T[$:p{U|suQ#mۘ?$B&_:7W*ڒ#*t?분:Vi'l*n+U#AGǂLag!@W;|F@*t}$i*munBjw$„[>M4x406Jڙc.;uN a,6u݄-fgV4yOmRi2aGh!O +xlFׁ5_F%*WeR-8$ oXЦfB o gfMѮmҶ?Y}olo#~:ݽCSo!^2 +endstream +endobj +5294 0 obj +<< +/Type /Page +/Contents 5295 0 R +/Resources 5293 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5296 0 R +/Annots [ 5249 0 R 5253 0 R 5254 0 R 5255 0 R 5256 0 R 5257 0 R 5258 0 R 5259 0 R 5260 0 R 5261 0 R 5262 0 R 5263 0 R 5264 0 R 5265 0 R 5266 0 R 5267 0 R 5268 0 R 5269 0 R 5270 0 R 5271 0 R 5272 0 R 5273 0 R 5274 0 R 5275 0 R 5276 0 R 5277 0 R 5278 0 R 5279 0 R 5280 0 R 5281 0 R 5282 0 R 5283 0 R 5284 0 R 5285 0 R 5286 0 R 5287 0 R 5288 0 R 5289 0 R 5290 0 R 5291 0 R ] +>> +endobj +5249 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 253.424 768.652] +/A << /S /GoTo /D (subsubsection.8.26.2.2) >> +>> +endobj +5253 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.372 243.221 750.955] +/A << /S /GoTo /D (subsubsection.8.26.2.3) >> +>> +endobj +5254 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 233.743 733.257] +/A << /S /GoTo /D (subsubsection.8.26.2.4) >> +>> +endobj +5255 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 704.978 297.493 715.354] +/A << /S /GoTo /D (subsubsection.8.26.2.5) >> +>> +endobj +5256 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 229.484 697.656] +/A << /S /GoTo /D (subsubsection.8.26.2.6) >> +>> +endobj +5257 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 235.241 680.165] +/A << /S /GoTo /D (subsubsection.8.26.2.7) >> +>> +endobj +5258 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 241.463 662.468] +/A << /S /GoTo /D (subsubsection.8.26.2.8) >> +>> +endobj +5259 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 238.092 644.771] +/A << /S /GoTo /D (subsubsection.8.26.2.9) >> +>> +endobj +5260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.491 229.762 627.074] +/A << /S /GoTo /D (subsubsection.8.26.2.10) >> +>> +endobj +5261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 198.865 609.17] +/A << /S /GoTo /D (subsubsection.8.26.2.11) >> +>> +endobj +5262 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 223.28 591.679] +/A << /S /GoTo /D (subsubsection.8.26.2.12) >> +>> +endobj +5263 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 223.02 573.775] +/A << /S /GoTo /D (subsubsection.8.26.2.13) >> +>> +endobj +5264 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 257.163 556.284] +/A << /S /GoTo /D (subsubsection.8.26.2.14) >> +>> +endobj +5265 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 206.441 538.381] +/A << /S /GoTo /D (subsubsection.8.26.2.15) >> +>> +endobj +5266 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 230.596 520.683] +/A << /S /GoTo /D (subsubsection.8.26.2.16) >> +>> +endobj +5267 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 228.041 502.986] +/A << /S /GoTo /D (subsubsection.8.26.2.17) >> +>> +endobj +5268 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 474.913 241.266 485.495] +/A << /S /GoTo /D (subsubsection.8.26.2.18) >> +>> +endobj +5269 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 237.096 467.798] +/A << /S /GoTo /D (subsubsection.8.26.2.19) >> +>> +endobj +5270 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 216.528 449.894] +/A << /S /GoTo /D (subsubsection.8.26.2.20) >> +>> +endobj +5271 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 423.632 364.988 432.403] +/A << /S /GoTo /D (section.8.27) >> +>> +endobj +5272 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 405.935 258.682 414.5] +/A << /S /GoTo /D (subsection.8.27.1) >> +>> +endobj +5273 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 215.309 396.802] +/A << /S /GoTo /D (subsubsection.8.27.1.1) >> +>> +endobj +5274 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 233.752 379.105] +/A << /S /GoTo /D (subsubsection.8.27.1.2) >> +>> +endobj +5275 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.139 228.05 361.408] +/A << /S /GoTo /D (subsubsection.8.27.1.3) >> +>> +endobj +5276 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 280.825 343.917] +/A << /S /GoTo /D (subsubsection.8.27.1.4) >> +>> +endobj +5277 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 292.329 326.219] +/A << /S /GoTo /D (subsubsection.8.27.1.5) >> +>> +endobj +5278 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 298.047 280.744 308.522] +/A << /S /GoTo /D (subsubsection.8.27.1.6) >> +>> +endobj +5279 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 210.826 290.618] +/A << /S /GoTo /D (subsubsection.8.27.1.7) >> +>> +endobj +5280 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.356 208.333 273.127] +/A << /S /GoTo /D (subsubsection.8.27.1.8) >> +>> +endobj +5281 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 208.826 255.224] +/A << /S /GoTo /D (subsubsection.8.27.1.9) >> +>> +endobj +5282 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 228.962 241.039 237.733] +/A << /S /GoTo /D (section.8.28) >> +>> +endobj +5283 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 209.561 221.939 219.829] +/A << /S /GoTo /D (subsection.8.28.1) >> +>> +endobj +5284 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 193.567 258.682 202.132] +/A << /S /GoTo /D (subsection.8.28.2) >> +>> +endobj +5285 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 217.299 184.435] +/A << /S /GoTo /D (subsubsection.8.28.2.1) >> +>> +endobj +5286 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 212.807 166.737] +/A << /S /GoTo /D (subsubsection.8.28.2.2) >> +>> +endobj +5287 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 198.372 149.04] +/A << /S /GoTo /D (subsubsection.8.28.2.3) >> +>> +endobj +5288 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 215.309 131.343] +/A << /S /GoTo /D (subsubsection.8.28.2.4) >> +>> +endobj +5289 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.377 233.752 113.645] +/A << /S /GoTo /D (subsubsection.8.28.2.5) >> +>> +endobj +5290 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 228.05 95.948] +/A << /S /GoTo /D (subsubsection.8.28.2.6) >> +>> +endobj +5291 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 256.177 78.251] +/A << /S /GoTo /D (subsubsection.8.28.2.7) >> +>> +endobj +5293 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5339 0 obj +<< +/Length 1151 +/Filter /FlateDecode +>> +stream +xS8+|J,{azpm&R(_rP:f2#)vWwﰷ:c!'$kQB$G%90!Bp0 Xo9<c!Cƽ/ͱcg̱(qd#w)olJ#J!a̘G ZY'dAcwVtE9T8׺Oàq]-d׆9dj>! <"&OEy&U!4 v#(8 g}V\([Pz^!XLߚjPS&"Π#ѝ&sJ$;zlI'-tfg1ϤMD1ƛ-TFWRS:9Bw $p"+k;w5V =Pj$';<ߪJSFUy$:w<͓9|KV< .I[sœl[CȴKUF-;>eO@tDK> +endobj +5292 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 262.148 768.446] +/A << /S /GoTo /D (subsubsection.8.28.2.8) >> +>> +endobj +5297 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 241.956 750.955] +/A << /S /GoTo /D (subsubsection.8.28.2.9) >> +>> +endobj +5298 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 222.787 733.051] +/A << /S /GoTo /D (subsubsection.8.28.2.10) >> +>> +endobj +5299 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 208.333 715.56] +/A << /S /GoTo /D (subsubsection.8.28.2.11) >> +>> +endobj +5300 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 249.425 697.863] +/A << /S /GoTo /D (subsubsection.8.28.2.12) >> +>> +endobj +5301 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 254.985 680.165] +/A << /S /GoTo /D (subsubsection.8.28.2.13) >> +>> +endobj +5302 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 277.615 662.468] +/A << /S /GoTo /D (subsubsection.8.28.2.14) >> +>> +endobj +5303 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 280.825 644.771] +/A << /S /GoTo /D (subsubsection.8.28.2.15) >> +>> +endobj +5304 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 292.329 627.074] +/A << /S /GoTo /D (subsubsection.8.28.2.16) >> +>> +endobj +5305 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 280.744 609.376] +/A << /S /GoTo /D (subsubsection.8.28.2.17) >> +>> +endobj +5306 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 203.85 591.679] +/A << /S /GoTo /D (subsubsection.8.28.2.18) >> +>> +endobj +5307 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 267.411 573.982] +/A << /S /GoTo /D (subsubsection.8.28.2.19) >> +>> +endobj +5308 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 244.207 556.284] +/A << /S /GoTo /D (subsubsection.8.28.2.20) >> +>> +endobj +5309 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 201.357 538.381] +/A << /S /GoTo /D (subsubsection.8.28.2.21) >> +>> +endobj +5310 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 247.686 520.683] +/A << /S /GoTo /D (subsubsection.8.28.2.22) >> +>> +endobj +5311 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 243.983 502.986] +/A << /S /GoTo /D (subsubsection.8.28.2.23) >> +>> +endobj +5312 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 475.021 247.471 485.289] +/A << /S /GoTo /D (subsubsection.8.28.2.24) >> +>> +endobj +5313 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 237.599 467.592] +/A << /S /GoTo /D (subsubsection.8.28.2.25) >> +>> +endobj +5314 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 252.689 449.894] +/A << /S /GoTo /D (subsubsection.8.28.2.26) >> +>> +endobj +5315 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.929 246.583 432.197] +/A << /S /GoTo /D (subsubsection.8.28.2.27) >> +>> +endobj +5316 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.231 276.826 414.5] +/A << /S /GoTo /D (subsubsection.8.28.2.28) >> +>> +endobj +5317 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 309.714 397.009] +/A << /S /GoTo /D (subsubsection.8.28.2.29) >> +>> +endobj +5318 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 315.193 379.105] +/A << /S /GoTo /D (subsubsection.8.28.2.30) >> +>> +endobj +5319 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 230.758 361.614] +/A << /S /GoTo /D (subsubsection.8.28.2.31) >> +>> +endobj +5320 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 220.787 343.917] +/A << /S /GoTo /D (subsubsection.8.28.2.32) >> +>> +endobj +5321 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.745 248.053 326.219] +/A << /S /GoTo /D (subsubsection.8.28.2.33) >> +>> +endobj +5322 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 298.047 207.338 308.522] +/A << /S /GoTo /D (subsubsection.8.28.2.34) >> +>> +endobj +5323 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 197.107 290.825] +/A << /S /GoTo /D (subsubsection.8.28.2.35) >> +>> +endobj +5324 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 240.038 273.127] +/A << /S /GoTo /D (subsubsection.8.28.2.36) >> +>> +endobj +5325 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 220.07 255.224] +/A << /S /GoTo /D (subsubsection.8.28.2.37) >> +>> +endobj +5326 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 221.289 237.527] +/A << /S /GoTo /D (subsubsection.8.28.2.38) >> +>> +endobj +5327 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 230.489 219.829] +/A << /S /GoTo /D (subsubsection.8.28.2.39) >> +>> +endobj +5328 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 227.01 202.338] +/A << /S /GoTo /D (subsubsection.8.28.2.40) >> +>> +endobj +5329 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.166 225.432 184.435] +/A << /S /GoTo /D (subsubsection.8.28.2.41) >> +>> +endobj +5330 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 240.217 166.944] +/A << /S /GoTo /D (subsubsection.8.28.2.42) >> +>> +endobj +5331 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 252.232 149.246] +/A << /S /GoTo /D (subsubsection.8.28.2.43) >> +>> +endobj +5332 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 120.967 254.59 131.343] +/A << /S /GoTo /D (subsubsection.8.28.2.44) >> +>> +endobj +5333 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 223.585 113.645] +/A << /S /GoTo /D (subsubsection.8.28.2.45) >> +>> +endobj +5334 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 224.831 96.154] +/A << /S /GoTo /D (subsubsection.8.28.2.46) >> +>> +endobj +5335 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 248.6 78.251] +/A << /S /GoTo /D (subsubsection.8.28.2.47) >> +>> +endobj +5337 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5382 0 obj +<< +/Length 1209 +/Filter /FlateDecode +>> +stream +x]sH\ʅl7eaT&*HV؍6fd1] +GK=s^8aJ>8 xRGNUx~ݯ'cW=흇{P>^s؉g>9CwV9p}Zj" `D!az9U 7Et}E^Nn!Tmțb>P.<mAxU4Y ,җ-l"-wy+M_\^B.nLck.L66n_!H3.(܁*HpBkUm)]HDJґEa/Ho@AH,6Z0Lv y1x6Y4n.Qbħz+Sb>/DYz6̉)+tl"I\Ua'6y=UʉJƕsUT=-*D'_hmoq?* 3QY! tHT XeY1e%?  ¾ 0{eDS1Q$D`e,B+֟vkY]3 + +X>UQ#C _l +Q\^'|x +xŏE"Kt]ĶBv3,>0! ({&OQemT*IZ{M5Cg(/7/ϟӲ2K:BP[Y[m(6`᷅Vx:( (4$k|"rilipxOۋ3\\Δ0ڄ02pC^爗KcO$~B$Y;=!ec"hth7k8;8%kZ[52Ά*`/aVl"̓ᾦ6+۬0ܬDU4oNj^$꠾B`@uPN UmVK{%'L ɴ)YFD_:- +endstream +endobj +5381 0 obj +<< +/Type /Page +/Contents 5382 0 R +/Resources 5380 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5296 0 R +/Annots [ 5336 0 R 5340 0 R 5341 0 R 5342 0 R 5343 0 R 5344 0 R 5345 0 R 5346 0 R 5347 0 R 5348 0 R 5349 0 R 5350 0 R 5351 0 R 5352 0 R 5353 0 R 5354 0 R 5355 0 R 5356 0 R 5357 0 R 5358 0 R 5359 0 R 5360 0 R 5361 0 R 5362 0 R 5363 0 R 5364 0 R 5365 0 R 5366 0 R 5367 0 R 5368 0 R 5369 0 R 5370 0 R 5371 0 R 5372 0 R 5373 0 R 5374 0 R 5375 0 R 5376 0 R 5377 0 R 5378 0 R ] +>> +endobj +5336 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.177 223.325 768.446] +/A << /S /GoTo /D (subsubsection.8.28.2.48) >> +>> +endobj +5340 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.372 231.251 750.748] +/A << /S /GoTo /D (subsubsection.8.28.2.49) >> +>> +endobj +5341 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.675 211.821 733.051] +/A << /S /GoTo /D (subsubsection.8.28.2.50) >> +>> +endobj +5342 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 704.978 237.016 715.354] +/A << /S /GoTo /D (subsubsection.8.28.2.51) >> +>> +endobj +5343 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 213.865 697.656] +/A << /S /GoTo /D (subsubsection.8.28.2.52) >> +>> +endobj +5344 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 223.638 679.959] +/A << /S /GoTo /D (subsubsection.8.28.2.53) >> +>> +endobj +5345 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 238.047 662.262] +/A << /S /GoTo /D (subsubsection.8.28.2.54) >> +>> +endobj +5346 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 242.485 644.771] +/A << /S /GoTo /D (subsubsection.8.28.2.55) >> +>> +endobj +5347 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.491 210.826 626.867] +/A << /S /GoTo /D (subsubsection.8.28.2.56) >> +>> +endobj +5348 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 215.444 609.17] +/A << /S /GoTo /D (subsubsection.8.28.2.57) >> +>> +endobj +5349 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 230.247 591.473] +/A << /S /GoTo /D (subsubsection.8.28.2.58) >> +>> +endobj +5350 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.399 254.671 573.982] +/A << /S /GoTo /D (subsubsection.8.28.2.59) >> +>> +endobj +5351 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 208.333 556.284] +/A << /S /GoTo /D (subsubsection.8.28.2.60) >> +>> +endobj +5352 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 271.393 538.587] +/A << /S /GoTo /D (subsubsection.8.28.2.61) >> +>> +endobj +5353 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.307 237.644 520.683] +/A << /S /GoTo /D (subsubsection.8.28.2.62) >> +>> +endobj +5354 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 212.09 502.986] +/A << /S /GoTo /D (subsubsection.8.28.2.63) >> +>> +endobj +5355 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 208.826 485.289] +/A << /S /GoTo /D (subsubsection.8.28.2.64) >> +>> +endobj +5356 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 262.418 467.592] +/A << /S /GoTo /D (subsubsection.8.28.2.65) >> +>> +endobj +5357 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 265.089 450.1] +/A << /S /GoTo /D (subsubsection.8.28.2.66) >> +>> +endobj +5358 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.821 280.036 432.197] +/A << /S /GoTo /D (subsubsection.8.28.2.67) >> +>> +endobj +5359 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 405.935 261.742 414.706] +/A << /S /GoTo /D (section.8.29) >> +>> +endobj +5360 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 386.534 221.939 396.802] +/A << /S /GoTo /D (subsection.8.29.1) >> +>> +endobj +5361 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 370.54 290.396 379.105] +/A << /S /GoTo /D (subsection.8.29.2) >> +>> +endobj +5362 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.139 242.683 361.408] +/A << /S /GoTo /D (subsubsection.8.29.2.1) >> +>> +endobj +5363 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.442 250.475 343.917] +/A << /S /GoTo /D (subsubsection.8.29.2.2) >> +>> +endobj +5364 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 317.448 274.131 326.013] +/A << /S /GoTo /D (subsection.8.29.3) >> +>> +endobj +5365 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 297.94 273.15 308.522] +/A << /S /GoTo /D (subsubsection.8.29.3.1) >> +>> +endobj +5366 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.35 312.808 290.825] +/A << /S /GoTo /D (subsubsection.8.29.3.2) >> +>> +endobj +5367 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.653 332.238 273.127] +/A << /S /GoTo /D (subsubsection.8.29.3.3) >> +>> +endobj +5368 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 244.956 286.904 255.43] +/A << /S /GoTo /D (subsubsection.8.29.3.4) >> +>> +endobj +5369 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 306.334 237.733] +/A << /S /GoTo /D (subsubsection.8.29.3.5) >> +>> +endobj +5370 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 277.517 220.036] +/A << /S /GoTo /D (subsubsection.8.29.3.6) >> +>> +endobj +5371 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 296.946 202.338] +/A << /S /GoTo /D (subsubsection.8.29.3.7) >> +>> +endobj +5372 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 276.422 184.641] +/A << /S /GoTo /D (subsubsection.8.29.3.8) >> +>> +endobj +5373 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.469 272.038 166.944] +/A << /S /GoTo /D (subsubsection.8.29.3.9) >> +>> +endobj +5374 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 291.468 149.246] +/A << /S /GoTo /D (subsubsection.8.29.3.10) >> +>> +endobj +5375 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 120.967 277.29 131.549] +/A << /S /GoTo /D (section.8.30) >> +>> +endobj +5376 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 103.377 221.939 113.645] +/A << /S /GoTo /D (subsection.8.30.1) >> +>> +endobj +5377 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 87.383 274.131 95.948] +/A << /S /GoTo /D (subsection.8.30.2) >> +>> +endobj +5378 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 210.324 78.457] +/A << /S /GoTo /D (subsubsection.8.30.2.1) >> +>> +endobj +5380 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5425 0 obj +<< +/Length 1188 +/Filter /FlateDecode +>> +stream +xAS8:؇h%Y:e{`z0^Rʖ @ ˡNT??=$#0|}<(0ka$0`<ޯcPD!!RxT^{~lC(w H_ed430C}vӺa}\SLdBb{0@@%Eި~_M6>҃~p탽oմÈ׸ @sJ<3LͯfN"x9WiI dU1O'ț6B"'&7wN23t+mC[ +b@^,;Uv;`g_xϐ46MʉרQk!MVdhNk?@^f=*ֵ,T_ UuY-T+۶ff!Wc`. +G#dh~g)yW[VAVc*} SJ!fQx9^^`ai&t`Ҥ`9vdňS8eqTQRlGVte5vdvlձ_7K<(Q#]eiV̘X--=ZediSy<8nݖ z哮C5dT($A+$P/D, d҉o F PM7EJcح5$TQkl`#uBees8ݕ(Fz!})ֻ1vHߌRbVY9`mZt8Я-;hĭZNt[,ș_ѕWn"NOCGѦHPG)^V/챙HA4]Eq)[k9nIV7IeOI^3My1WY i.X[E Cb@>T-t/TcSsBdJ)0u5MfKf@ZܼU}Wt󸑠%/ +endstream +endobj +5424 0 obj +<< +/Type /Page +/Contents 5425 0 R +/Resources 5423 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5296 0 R +/Annots [ 5379 0 R 5383 0 R 5384 0 R 5385 0 R 5386 0 R 5387 0 R 5388 0 R 5389 0 R 5390 0 R 5391 0 R 5392 0 R 5393 0 R 5394 0 R 5395 0 R 5396 0 R 5397 0 R 5398 0 R 5399 0 R 5400 0 R 5401 0 R 5402 0 R 5403 0 R 5404 0 R 5405 0 R 5406 0 R 5407 0 R 5408 0 R 5409 0 R 5410 0 R 5411 0 R 5412 0 R 5413 0 R 5414 0 R 5415 0 R 5416 0 R 5417 0 R 5418 0 R 5419 0 R 5420 0 R 5421 0 R ] +>> +endobj +5379 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 201.716 768.652] +/A << /S /GoTo /D (subsubsection.8.30.2.2) >> +>> +endobj +5383 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 742.184 258.682 750.748] +/A << /S /GoTo /D (subsection.8.30.3) >> +>> +endobj +5384 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 208.647 733.051] +/A << /S /GoTo /D (subsubsection.8.30.3.1) >> +>> +endobj +5385 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 221.648 715.354] +/A << /S /GoTo /D (subsubsection.8.30.3.2) >> +>> +endobj +5386 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 232.605 697.656] +/A << /S /GoTo /D (subsubsection.8.30.3.3) >> +>> +endobj +5387 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 669.691 238.616 679.959] +/A << /S /GoTo /D (subsection.8.30.4) >> +>> +endobj +5388 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 200.909 662.262] +/A << /S /GoTo /D (subsubsection.8.30.4.1) >> +>> +endobj +5389 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 634.189 258.819 644.771] +/A << /S /GoTo /D (section.8.31) >> +>> +endobj +5390 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 616.599 221.939 626.867] +/A << /S /GoTo /D (subsection.8.31.1) >> +>> +endobj +5391 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 600.605 303.298 609.376] +/A << /S /GoTo /D (subsection.8.31.2) >> +>> +endobj +5392 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.097 261.897 591.679] +/A << /S /GoTo /D (subsubsection.8.31.2.1) >> +>> +endobj +5393 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 565.211 274.131 573.775] +/A << /S /GoTo /D (subsection.8.31.3) >> +>> +endobj +5394 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.702 215.362 556.284] +/A << /S /GoTo /D (subsubsection.8.31.3.1) >> +>> +endobj +5395 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 529.816 258.682 538.381] +/A << /S /GoTo /D (subsection.8.31.4) >> +>> +endobj +5396 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 229.09 520.683] +/A << /S /GoTo /D (subsubsection.8.31.4.1) >> +>> +endobj +5397 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 209.83 502.986] +/A << /S /GoTo /D (subsubsection.8.31.4.2) >> +>> +endobj +5398 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 475.021 238.616 485.289] +/A << /S /GoTo /D (subsection.8.31.5) >> +>> +endobj +5399 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 223.773 467.592] +/A << /S /GoTo /D (subsubsection.8.31.5.1) >> +>> +endobj +5400 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 441.329 239.542 450.1] +/A << /S /GoTo /D (section.8.32) >> +>> +endobj +5401 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 421.929 221.939 432.197] +/A << /S /GoTo /D (subsection.8.32.1) >> +>> +endobj +5402 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 405.935 274.131 414.5] +/A << /S /GoTo /D (subsection.8.32.2) >> +>> +endobj +5403 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 267.949 397.009] +/A << /S /GoTo /D (subsubsection.8.32.2.1) >> +>> +endobj +5404 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 370.54 242.53 379.105] +/A << /S /GoTo /D (subsubsection.8.32.2.2) >> +>> +endobj +5405 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 317.389 361.614] +/A << /S /GoTo /D (subsubsection.8.32.2.3) >> +>> +endobj +5406 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 250.69 343.917] +/A << /S /GoTo /D (subsubsection.8.32.2.4) >> +>> +endobj +5407 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 293.01 326.219] +/A << /S /GoTo /D (subsubsection.8.32.2.5) >> +>> +endobj +5408 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 252.599 308.522] +/A << /S /GoTo /D (subsubsection.8.32.2.6) >> +>> +endobj +5409 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 253.604 290.825] +/A << /S /GoTo /D (subsubsection.8.32.2.7) >> +>> +endobj +5410 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 271.123 273.127] +/A << /S /GoTo /D (subsubsection.8.32.2.8) >> +>> +endobj +5411 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 233.241 255.43] +/A << /S /GoTo /D (subsubsection.8.32.2.9) >> +>> +endobj +5412 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 233.241 237.733] +/A << /S /GoTo /D (subsubsection.8.32.2.10) >> +>> +endobj +5413 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 233.241 220.036] +/A << /S /GoTo /D (subsubsection.8.32.2.11) >> +>> +endobj +5414 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 213.04 202.132] +/A << /S /GoTo /D (subsubsection.8.32.2.12) >> +>> +endobj +5415 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.166 213.04 184.435] +/A << /S /GoTo /D (subsubsection.8.32.2.13) >> +>> +endobj +5416 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.469 223.002 166.737] +/A << /S /GoTo /D (subsubsection.8.32.2.14) >> +>> +endobj +5417 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 268.398 149.246] +/A << /S /GoTo /D (subsubsection.8.32.2.15) >> +>> +endobj +5418 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 121.074 268.398 131.549] +/A << /S /GoTo /D (subsubsection.8.32.2.16) >> +>> +endobj +5419 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 226.768 113.645] +/A << /S /GoTo /D (subsubsection.8.32.2.17) >> +>> +endobj +5420 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 239.32 96.154] +/A << /S /GoTo /D (subsubsection.8.32.2.18) >> +>> +endobj +5421 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 275.365 78.457] +/A << /S /GoTo /D (subsubsection.8.32.2.19) >> +>> +endobj +5423 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5468 0 obj +<< +/Length 1072 +/Filter /FlateDecode +>> +stream +xKw8KX[֓$ǓxlϙE1Ck m_?<HSfQۘ|W +b)'p=ư8pcˠ+{ty8X̝Os`R!O ld1o +Dfp XAڹ\ [΍E(v)ښĊīTT!p]Pp1r? iSP;vڡTAoEmRJ{{C "l`iRGOC]}];7\Pߎ]MeID신Bd,hh3$L Ox;iV󢎼d\X +i +uNzysܖWP73/D*TV˺4rCVA;_JUvG;6^vj];v1QSQ~[`|b}ֿjnW=7UPu; +Xv$F`- 1Ȟy+!ܸ+e3~֓ j-!6ĝBk!n%e=4`"\ 6!wݚ_RLR˚ܨj2׾.Ld˝7WOiu9߼9aY5]P =ZG`.}܏;ˢi應<)713CrgYP2Reqd`3X#,WL~N뫖yp|M,۶&r^~Z'=ƚW=WSMv!"DD"k??dyK83.u(faa-e)lÚMG /_n3=S85MŽCZ2s˭^ך(l) ͪ$J)-Ӟ# ak1zDCc#9rqF+;ٿ$:lpvtG†'(w|PsgK,]?X*ZqaGX.[Yl~"Ky;غ~l8ۘF:?*睯۾d|'exXPu> +endobj +5422 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 229.484 768.446] +/A << /S /GoTo /D (subsubsection.8.32.2.20) >> +>> +endobj +5426 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.48 318.949 750.955] +/A << /S /GoTo /D (subsubsection.8.32.2.21) >> +>> +endobj +5427 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 265.627 733.257] +/A << /S /GoTo /D (subsubsection.8.32.2.22) >> +>> +endobj +5428 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 704.978 214.816 715.56] +/A << /S /GoTo /D (subsubsection.8.32.2.23) >> +>> +endobj +5429 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 234.739 697.863] +/A << /S /GoTo /D (subsubsection.8.32.2.24) >> +>> +endobj +5430 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 247.193 680.165] +/A << /S /GoTo /D (subsubsection.8.32.2.25) >> +>> +endobj +5431 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 223.791 662.262] +/A << /S /GoTo /D (subsubsection.8.32.2.26) >> +>> +endobj +5432 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 223.791 644.565] +/A << /S /GoTo /D (subsubsection.8.32.2.27) >> +>> +endobj +5433 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 275.122 627.074] +/A << /S /GoTo /D (subsubsection.8.32.2.28) >> +>> +endobj +5434 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 223.02 609.17] +/A << /S /GoTo /D (subsubsection.8.32.2.29) >> +>> +endobj +5435 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 223.02 591.473] +/A << /S /GoTo /D (subsubsection.8.32.2.30) >> +>> +endobj +5436 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 259.647 573.982] +/A << /S /GoTo /D (subsubsection.8.32.2.31) >> +>> +endobj +5437 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 259.647 556.284] +/A << /S /GoTo /D (subsubsection.8.32.2.32) >> +>> +endobj +5438 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 256.661 538.381] +/A << /S /GoTo /D (subsubsection.8.32.2.33) >> +>> +endobj +5439 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 256.661 520.683] +/A << /S /GoTo /D (subsubsection.8.32.2.34) >> +>> +endobj +5440 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 256.661 502.986] +/A << /S /GoTo /D (subsubsection.8.32.2.35) >> +>> +endobj +5441 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 222.778 485.289] +/A << /S /GoTo /D (subsubsection.8.32.2.36) >> +>> +endobj +5442 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 222.778 467.592] +/A << /S /GoTo /D (subsubsection.8.32.2.37) >> +>> +endobj +5443 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 230.596 449.894] +/A << /S /GoTo /D (subsubsection.8.32.2.38) >> +>> +endobj +5444 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 230.354 432.197] +/A << /S /GoTo /D (subsubsection.8.32.2.39) >> +>> +endobj +5445 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 223.298 414.5] +/A << /S /GoTo /D (subsubsection.8.32.2.40) >> +>> +endobj +5446 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 223.298 396.802] +/A << /S /GoTo /D (subsubsection.8.32.2.41) >> +>> +endobj +5447 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 370.54 274.638 379.311] +/A << /S /GoTo /D (subsubsection.8.32.2.42) >> +>> +endobj +5448 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 284.16 361.614] +/A << /S /GoTo /D (subsubsection.8.32.2.43) >> +>> +endobj +5449 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 284.519 343.917] +/A << /S /GoTo /D (subsubsection.8.32.2.44) >> +>> +endobj +5450 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 228.041 326.013] +/A << /S /GoTo /D (subsubsection.8.32.2.45) >> +>> +endobj +5451 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 225.279 308.316] +/A << /S /GoTo /D (subsubsection.8.32.2.46) >> +>> +endobj +5452 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.35 266.64 290.618] +/A << /S /GoTo /D (subsubsection.8.32.2.47) >> +>> +endobj +5453 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.545 289.594 273.127] +/A << /S /GoTo /D (subsubsection.8.32.2.48) >> +>> +endobj +5454 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 234.237 255.224] +/A << /S /GoTo /D (subsubsection.8.32.2.49) >> +>> +endobj +5455 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 312.512 237.733] +/A << /S /GoTo /D (subsubsection.8.32.2.50) >> +>> +endobj +5456 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 238.854 220.036] +/A << /S /GoTo /D (subsubsection.8.32.2.51) >> +>> +endobj +5457 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 238.854 202.338] +/A << /S /GoTo /D (subsubsection.8.32.2.52) >> +>> +endobj +5458 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.166 271.249 184.641] +/A << /S /GoTo /D (subsubsection.8.32.2.53) >> +>> +endobj +5459 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.361 285.577 166.944] +/A << /S /GoTo /D (subsubsection.8.32.2.54) >> +>> +endobj +5460 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 255.181 149.246] +/A << /S /GoTo /D (subsubsection.8.32.2.55) >> +>> +endobj +5461 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 121.074 255.181 131.549] +/A << /S /GoTo /D (subsubsection.8.32.2.56) >> +>> +endobj +5462 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 239.733 113.852] +/A << /S /GoTo /D (subsubsection.8.32.2.57) >> +>> +endobj +5463 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 246.197 96.154] +/A << /S /GoTo /D (subsubsection.8.32.2.58) >> +>> +endobj +5464 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 292.947 78.457] +/A << /S /GoTo /D (subsubsection.8.32.2.59) >> +>> +endobj +5466 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5511 0 obj +<< +/Length 1243 +/Filter /FlateDecode +>> +stream +xos8ǟ*xHgmwٶtvv"-&b[_bЫTifk oXC Xǽg[ Y{EB XwCޅv=/T_]h]_Nz]}qk݀jJ]a+7k]XE!W-#H'Vqa>`'+ +bZ$.XΖsD]uxX O;>XLy[]3vfp%=~Lն dUGy+x]./|wjo$kob&F rqzTd;dR$I q$2b6A+r7;DDn"R6P K>iz',cfc.2R"{[Ȯ}nUy}"?v*gbЋ\β"PQJ@g iD`z.:RE2/[wZ{&#6/%u }}bC~tk/S 1{jI!xʹ5npEbIշj'b`mTO$NZTj:KJ +-z_|aQJ2ƒ#YLNS~~E#^=(8P_jQ@ .|:eCnT1yV!<VQ m|RKpy3BYgM-ʙ*Jl]9Tŗ7S%֡  V0j=#婇XX}HE׵G$r੕&7?NpLOTNs7KHY6u +ɌJhUxJY&[ gfN=ױTRb|п.d,Ⱦ^ Y~mdsԞ5ձ +K/W(fJl 2!E(̫#, J!R+F/RAmp]U ^ eK}@g,"ƴkҽ#9z=-FTn> +endobj +5465 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.07 267.958 768.652] +/A << /S /GoTo /D (subsubsection.8.32.2.60) >> +>> +endobj +5469 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.372 267.958 750.955] +/A << /S /GoTo /D (subsubsection.8.32.2.61) >> +>> +endobj +5470 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.675 261.494 733.257] +/A << /S /GoTo /D (subsubsection.8.32.2.62) >> +>> +endobj +5471 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 704.978 261.494 715.56] +/A << /S /GoTo /D (subsubsection.8.32.2.63) >> +>> +endobj +5472 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.281 261.494 697.863] +/A << /S /GoTo /D (subsubsection.8.32.2.64) >> +>> +endobj +5473 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.583 261.494 680.165] +/A << /S /GoTo /D (subsubsection.8.32.2.65) >> +>> +endobj +5474 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 251.102 662.468] +/A << /S /GoTo /D (subsubsection.8.32.2.66) >> +>> +endobj +5475 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 253.989 644.565] +/A << /S /GoTo /D (subsubsection.8.32.2.67) >> +>> +endobj +5476 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 216.528 626.867] +/A << /S /GoTo /D (subsubsection.8.32.2.68) >> +>> +endobj +5477 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 600.605 258.682 609.17] +/A << /S /GoTo /D (subsection.8.32.3) >> +>> +endobj +5478 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.097 262.382 591.473] +/A << /S /GoTo /D (subsubsection.8.32.3.1) >> +>> +endobj +5479 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 273.616 573.982] +/A << /S /GoTo /D (subsubsection.8.32.3.2) >> +>> +endobj +5480 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.702 215.318 556.078] +/A << /S /GoTo /D (subsubsection.8.32.3.3) >> +>> +endobj +5481 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.924 249.685 538.587] +/A << /S /GoTo /D (subsubsection.8.32.3.4) >> +>> +endobj +5482 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 249.192 520.89] +/A << /S /GoTo /D (subsubsection.8.32.3.5) >> +>> +endobj +5483 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 232.524 503.192] +/A << /S /GoTo /D (subsubsection.8.32.3.6) >> +>> +endobj +5484 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 474.913 269.68 485.495] +/A << /S /GoTo /D (subsubsection.8.32.3.7) >> +>> +endobj +5485 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 315.193 467.798] +/A << /S /GoTo /D (subsubsection.8.32.3.8) >> +>> +endobj +5486 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 339.841 450.1] +/A << /S /GoTo /D (subsubsection.8.32.3.9) >> +>> +endobj +5487 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.929 320.456 432.403] +/A << /S /GoTo /D (subsubsection.8.32.3.10) >> +>> +endobj +5488 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 234.479 414.706] +/A << /S /GoTo /D (subsubsection.8.32.3.11) >> +>> +endobj +5489 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.426 291.477 397.009] +/A << /S /GoTo /D (subsubsection.8.32.3.12) >> +>> +endobj +5490 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.729 305.85 379.311] +/A << /S /GoTo /D (subsubsection.8.32.3.13) >> +>> +endobj +5491 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.139 271.473 361.614] +/A << /S /GoTo /D (subsubsection.8.32.3.14) >> +>> +endobj +5492 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 250.421 343.917] +/A << /S /GoTo /D (subsubsection.8.32.3.15) >> +>> +endobj +5493 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.745 302.828 326.219] +/A << /S /GoTo /D (subsubsection.8.32.3.16) >> +>> +endobj +5494 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 230.023 308.316] +/A << /S /GoTo /D (subsubsection.8.32.3.17) >> +>> +endobj +5495 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 280.35 238.616 290.618] +/A << /S /GoTo /D (subsection.8.32.4) >> +>> +endobj +5496 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.356 227.377 272.921] +/A << /S /GoTo /D (subsubsection.8.32.4.1) >> +>> +endobj +5497 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 244.956 290.105 255.43] +/A << /S /GoTo /D (subsubsection.8.32.4.2) >> +>> +endobj +5498 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 240.468 237.527] +/A << /S /GoTo /D (subsubsection.8.32.4.3) >> +>> +endobj +5499 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 280.09 220.036] +/A << /S /GoTo /D (subsubsection.8.32.4.4) >> +>> +endobj +5500 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.756 234.246 202.338] +/A << /S /GoTo /D (subsubsection.8.32.4.5) >> +>> +endobj +5501 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 223.791 184.435] +/A << /S /GoTo /D (subsubsection.8.32.4.6) >> +>> +endobj +5502 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.469 265.654 166.737] +/A << /S /GoTo /D (subsubsection.8.32.4.7) >> +>> +endobj +5503 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.664 225.781 149.04] +/A << /S /GoTo /D (subsubsection.8.32.4.8) >> +>> +endobj +5504 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 246.717 131.549] +/A << /S /GoTo /D (subsubsection.8.32.4.9) >> +>> +endobj +5505 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 279.605 113.852] +/A << /S /GoTo /D (subsubsection.8.32.4.10) >> +>> +endobj +5506 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 243.266 96.154] +/A << /S /GoTo /D (subsubsection.8.32.4.11) >> +>> +endobj +5507 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 279.139 78.457] +/A << /S /GoTo /D (subsubsection.8.32.4.12) >> +>> +endobj +5509 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5554 0 obj +<< +/Length 1224 +/Filter /FlateDecode +>> +stream +xKw8 +/]m$Ʌf6i('Xbْ̯[@N + =,0ỽe<{caEz1Yyqzw.G Sn^z볽qTg\!M'Mk<yw8ܻ]YN93di2őZPTb⠏'Bȋ< 0|^V,$/_]B0S]ulf3 acaī +QQ:#B?f-l&4dp'tl19Ì4ʯN=]Tf&Fø1OB2Cg\Lmg'Du>Uz06tX74D9+`MJ +a3m"f81.(1lWt5Yh.Bm\[iYl_y/ZUi=EZXX?:)ppG" MϋP*'XNg[#jto^Q򣬚B9ّVgD9k.¼/kYזQ:Gp&Y19b%஺.6w\[3 OuSa+O:|Zn6P*F<1sΐ.u#2%~E]Ӝ:la fPUwsK2g a%a#.N`QQ H9"0gUѭb슁]&F|վ=J0NyW^+n>@ YB#p* !.6}0p_-:r^49s6jdٶU\qFe-DQfy&mY0f"hxWB 31;KE:b 橊p+/ޣzs7"& B)U=?Md!&r̎"W* Iablik ~mWrں /R~1 nF;τ]GL7 RAVv_\IXzơ*x} , +Q #uh\2|mM A]_,fzRQh~A&Գ:ƙtL>ay}9gvϫIU&l5f +endstream +endobj +5553 0 obj +<< +/Type /Page +/Contents 5554 0 R +/Resources 5552 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5555 0 R +/Annots [ 5508 0 R 5512 0 R 5513 0 R 5514 0 R 5515 0 R 5516 0 R 5517 0 R 5518 0 R 5519 0 R 5520 0 R 5521 0 R 5522 0 R 5523 0 R 5524 0 R 5525 0 R 5526 0 R 5527 0 R 5528 0 R 5529 0 R 5530 0 R 5531 0 R 5532 0 R 5533 0 R 5534 0 R 5535 0 R 5536 0 R 5537 0 R 5538 0 R 5539 0 R 5540 0 R 5541 0 R 5542 0 R 5543 0 R 5544 0 R 5545 0 R 5546 0 R 5547 0 R 5548 0 R 5549 0 R 5550 0 R ] +>> +endobj +5508 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.177 282.627 768.652] +/A << /S /GoTo /D (subsubsection.8.32.4.13) >> +>> +endobj +5512 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 242.216 750.955] +/A << /S /GoTo /D (subsubsection.8.32.4.14) >> +>> +endobj +5513 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 254.312 733.257] +/A << /S /GoTo /D (subsubsection.8.32.4.15) >> +>> +endobj +5514 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 705.085 270.182 715.56] +/A << /S /GoTo /D (subsubsection.8.32.4.16) >> +>> +endobj +5515 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 212.045 697.656] +/A << /S /GoTo /D (subsubsection.8.32.4.17) >> +>> +endobj +5516 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.583 241.947 679.959] +/A << /S /GoTo /D (subsubsection.8.32.4.18) >> +>> +endobj +5517 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.886 234.524 662.262] +/A << /S /GoTo /D (subsubsection.8.32.4.19) >> +>> +endobj +5518 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 213.309 644.565] +/A << /S /GoTo /D (subsubsection.8.32.4.20) >> +>> +endobj +5519 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 229.996 626.867] +/A << /S /GoTo /D (subsubsection.8.32.4.21) >> +>> +endobj +5520 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 239.213 609.376] +/A << /S /GoTo /D (subsubsection.8.32.4.22) >> +>> +endobj +5521 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.097 285.577 591.679] +/A << /S /GoTo /D (subsubsection.8.32.4.23) >> +>> +endobj +5522 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 287.048 573.982] +/A << /S /GoTo /D (subsubsection.8.32.4.24) >> +>> +endobj +5523 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.81 203.581 556.078] +/A << /S /GoTo /D (subsubsection.8.32.4.25) >> +>> +endobj +5524 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 242.45 538.587] +/A << /S /GoTo /D (subsubsection.8.32.4.26) >> +>> +endobj +5525 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 232.739 520.89] +/A << /S /GoTo /D (subsubsection.8.32.4.27) >> +>> +endobj +5526 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 305.231 503.192] +/A << /S /GoTo /D (subsubsection.8.32.4.28) >> +>> +endobj +5527 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 283.936 485.495] +/A << /S /GoTo /D (subsubsection.8.32.4.29) >> +>> +endobj +5528 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 228.767 467.798] +/A << /S /GoTo /D (subsubsection.8.32.4.30) >> +>> +endobj +5529 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 232.3 449.894] +/A << /S /GoTo /D (subsubsection.8.32.4.31) >> +>> +endobj +5530 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.929 277.687 432.403] +/A << /S /GoTo /D (subsubsection.8.32.4.32) >> +>> +endobj +5531 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.231 206.388 414.5] +/A << /S /GoTo /D (subsubsection.8.32.4.33) >> +>> +endobj +5532 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 220.339 396.802] +/A << /S /GoTo /D (subsubsection.8.32.4.34) >> +>> +endobj +5533 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 230.301 379.105] +/A << /S /GoTo /D (subsubsection.8.32.4.35) >> +>> +endobj +5534 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 226.059 361.614] +/A << /S /GoTo /D (subsubsection.8.32.4.36) >> +>> +endobj +5535 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 334.827 240.54 343.917] +/A << /S /GoTo /D (subsubsection.8.32.4.37) >> +>> +endobj +5536 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 288.868 326.219] +/A << /S /GoTo /D (subsubsection.8.32.4.38) >> +>> +endobj +5537 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 202.846 308.316] +/A << /S /GoTo /D (subsubsection.8.32.4.39) >> +>> +endobj +5538 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 282.054 220.796 290.618] +/A << /S /GoTo /D (subsubsection.8.32.4.40) >> +>> +endobj +5539 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.356 267.134 273.127] +/A << /S /GoTo /D (subsubsection.8.32.4.41) >> +>> +endobj +5540 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 208.871 255.43] +/A << /S /GoTo /D (subsubsection.8.32.4.42) >> +>> +endobj +5541 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 241.759 237.733] +/A << /S /GoTo /D (subsubsection.8.32.4.43) >> +>> +endobj +5542 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 253.209 220.036] +/A << /S /GoTo /D (subsubsection.8.32.4.44) >> +>> +endobj +5543 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 199.358 202.132] +/A << /S /GoTo /D (subsubsection.8.32.4.45) >> +>> +endobj +5544 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 285.873 184.641] +/A << /S /GoTo /D (subsubsection.8.32.4.46) >> +>> +endobj +5545 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 156.361 259.94 166.944] +/A << /S /GoTo /D (section.8.33) >> +>> +endobj +5546 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 140.475 274.131 149.04] +/A << /S /GoTo /D (subsection.8.33.1) >> +>> +endobj +5547 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 120.967 227.413 131.549] +/A << /S /GoTo /D (subsubsection.8.33.1.1) >> +>> +endobj +5548 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 233.017 113.645] +/A << /S /GoTo /D (subsubsection.8.33.1.2) >> +>> +endobj +5549 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 87.383 258.682 95.948] +/A << /S /GoTo /D (subsection.8.33.2) >> +>> +endobj +5550 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 217.801 78.251] +/A << /S /GoTo /D (subsubsection.8.33.2.1) >> +>> +endobj +5552 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5598 0 obj +<< +/Length 1109 +/Filter /FlateDecode +>> +stream +xMs8| +vZIko), ezz)6FC 8 i/ɣ I'1ߙ9% 9s>|b:h=@`WLOΏ'>/cOVY̪ ƃ" hU`+ t$]aQ幚5?ǹ" .Ձbm+DZ&x<\Fqe*LlQ8Jf irOKFAamV~ۮ~2 ]rN"W [.r&5ZOniTY~f <[ۃo֥~\2tB|;pk2.A鎿yr~ы,ӧWV u6 c /tʃ(VʠUu&Fwgjurwi%?c.>|,|bY]c'1ۥ,pD HxPiZӤT.p^p}6T_XǶj[L#DɴlV}jq +O0 ;s5[/jk_rrd`)#u}A6 CZOMnGY- v&|2f(RM"xkzU|]UPkMv,!F!M3 d?ȃX@Ib +4 jreԡZb!UXxp_VwZ5Vq{"1ʅAA{2!-Ój%ʼnWh՚Jwp~=P%'̙ qIK0_U/"z1:~aܜqzūKAE/'A`> +endobj +5551 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.07 259.664 768.446] +/A << /S /GoTo /D (subsubsection.8.33.2.2) >> +>> +endobj +5556 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.372 274.638 750.748] +/A << /S /GoTo /D (subsubsection.8.33.2.3) >> +>> +endobj +5557 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 223.549 733.051] +/A << /S /GoTo /D (subsubsection.8.33.2.4) >> +>> +endobj +5558 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 705.085 238.616 715.354] +/A << /S /GoTo /D (subsection.8.33.3) >> +>> +endobj +5559 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.281 228.767 697.656] +/A << /S /GoTo /D (subsubsection.8.33.3.1) >> +>> +endobj +5560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 203.85 679.959] +/A << /S /GoTo /D (subsubsection.8.33.3.2) >> +>> +endobj +5561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 651.994 231.58 662.468] +/A << /S /GoTo /D (section.8.34) >> +>> +endobj +5562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 634.296 221.939 644.565] +/A << /S /GoTo /D (subsection.8.34.1) >> +>> +endobj +5563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 618.303 303.298 627.074] +/A << /S /GoTo /D (subsection.8.34.2) >> +>> +endobj +5564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 235.797 609.17] +/A << /S /GoTo /D (subsubsection.8.34.2.1) >> +>> +endobj +5565 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 582.908 274.131 591.473] +/A << /S /GoTo /D (subsection.8.34.3) >> +>> +endobj +5566 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 228.678 573.982] +/A << /S /GoTo /D (subsubsection.8.34.3.1) >> +>> +endobj +5567 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.81 228.678 556.284] +/A << /S /GoTo /D (subsubsection.8.34.3.2) >> +>> +endobj +5568 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 209.83 538.381] +/A << /S /GoTo /D (subsubsection.8.34.3.3) >> +>> +endobj +5569 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 209.83 520.683] +/A << /S /GoTo /D (subsubsection.8.34.3.4) >> +>> +endobj +5570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 209.83 502.986] +/A << /S /GoTo /D (subsubsection.8.34.3.5) >> +>> +endobj +5571 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 199.86 485.289] +/A << /S /GoTo /D (subsubsection.8.34.3.6) >> +>> +endobj +5572 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 196.874 467.798] +/A << /S /GoTo /D (subsubsection.8.34.3.7) >> +>> +endobj +5573 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 239.231 450.1] +/A << /S /GoTo /D (subsubsection.8.34.3.8) >> +>> +endobj +5574 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 215.04 432.403] +/A << /S /GoTo /D (subsubsection.8.34.3.9) >> +>> +endobj +5575 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 228.22 414.706] +/A << /S /GoTo /D (subsubsection.8.34.3.10) >> +>> +endobj +5576 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 228.22 397.009] +/A << /S /GoTo /D (subsubsection.8.34.3.11) >> +>> +endobj +5577 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 267.985 379.311] +/A << /S /GoTo /D (subsubsection.8.34.3.12) >> +>> +endobj +5578 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.032 215.362 361.614] +/A << /S /GoTo /D (subsubsection.8.34.3.13) >> +>> +endobj +5579 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.334 229.807 343.917] +/A << /S /GoTo /D (subsubsection.8.34.3.14) >> +>> +endobj +5580 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 317.448 258.682 326.013] +/A << /S /GoTo /D (subsection.8.34.4) >> +>> +endobj +5581 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 210.826 308.316] +/A << /S /GoTo /D (subsubsection.8.34.4.1) >> +>> +endobj +5582 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 222.706 290.825] +/A << /S /GoTo /D (subsubsection.8.34.4.2) >> +>> +endobj +5583 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 262.653 238.616 272.921] +/A << /S /GoTo /D (subsection.8.34.5) >> +>> +endobj +5584 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 244.956 233.6 255.224] +/A << /S /GoTo /D (subsubsection.8.34.5.1) >> +>> +endobj +5585 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 232.604 237.527] +/A << /S /GoTo /D (subsubsection.8.34.5.2) >> +>> +endobj +5586 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 254.527 220.036] +/A << /S /GoTo /D (subsubsection.8.34.5.3) >> +>> +endobj +5587 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 252.536 202.132] +/A << /S /GoTo /D (subsubsection.8.34.5.4) >> +>> +endobj +5588 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 191.387 184.435] +/A << /S /GoTo /D (subsubsection.8.34.5.5) >> +>> +endobj +5589 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 220.07 166.737] +/A << /S /GoTo /D (subsubsection.8.34.5.6) >> +>> +endobj +5590 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 219.568 149.04] +/A << /S /GoTo /D (subsubsection.8.34.5.7) >> +>> +endobj +5591 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 210.324 131.343] +/A << /S /GoTo /D (subsubsection.8.34.5.8) >> +>> +endobj +5592 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 239.715 113.852] +/A << /S /GoTo /D (subsubsection.8.34.5.9) >> +>> +endobj +5593 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 239.213 96.154] +/A << /S /GoTo /D (subsubsection.8.34.5.10) >> +>> +endobj +5594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 204.845 78.251] +/A << /S /GoTo /D (subsubsection.8.34.5.11) >> +>> +endobj +5596 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5641 0 obj +<< +/Length 1074 +/Filter /FlateDecode +>> +stream +xMs8| +v샵z魛vfI7!%L&_ٲ de u $P$PpExt{ǀR4./ߧūw?d^ZL!%q+ dpWsPFČGAWVe^WU7Jҍ" +2P} +@8a7Dd %G!bƸ=tZR"*21Fp%V|U +A?cʘZFB!3 +ĎYsO7|r2|ǟS]]c!ãQ2ᙾ TgP{+@AR(`Γtݱ QX~I檚=宁fK=ϳAIr cI3t&!A@ + Z\VuYCJ(^zЃjA7`kʽp\7ז 7+&s3v$;u2/Ѿp 63-V,uP\8h6.Z6lj PꀖiX`!&W_ ă2fI?8yA3Z߆I& /_/[qq'[D4,d +eQ2sNI/@vQ~StGzwdfBW(LHJgzb!fKxs-W̊{?A-aO +Z@ZR}f~~8s=ǩN-wq89>n#}y") rw>'U{:oMjrw.J\BE +endstream +endobj +5640 0 obj +<< +/Type /Page +/Contents 5641 0 R +/Resources 5639 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5555 0 R +/Annots [ 5595 0 R 5599 0 R 5600 0 R 5601 0 R 5602 0 R 5603 0 R 5604 0 R 5605 0 R 5606 0 R 5607 0 R 5608 0 R 5609 0 R 5610 0 R 5611 0 R 5612 0 R 5613 0 R 5614 0 R 5615 0 R 5616 0 R 5617 0 R 5618 0 R 5619 0 R 5620 0 R 5621 0 R 5622 0 R 5623 0 R 5624 0 R 5625 0 R 5626 0 R 5627 0 R 5628 0 R 5629 0 R 5630 0 R 5631 0 R 5632 0 R 5633 0 R 5634 0 R 5635 0 R 5636 0 R 5637 0 R ] +>> +endobj +5595 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 223.585 768.446] +/A << /S /GoTo /D (subsubsection.8.34.5.12) >> +>> +endobj +5599 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 208.826 750.748] +/A << /S /GoTo /D (subsubsection.8.34.5.13) >> +>> +endobj +5600 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 207.338 733.051] +/A << /S /GoTo /D (subsubsection.8.34.5.14) >> +>> +endobj +5601 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 704.978 277.191 715.56] +/A << /S /GoTo /D (section.8.35) >> +>> +endobj +5602 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 687.388 221.939 697.656] +/A << /S /GoTo /D (subsection.8.35.1) >> +>> +endobj +5603 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 671.394 274.131 679.959] +/A << /S /GoTo /D (subsection.8.35.2) >> +>> +endobj +5604 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 653.697 276.422 662.468] +/A << /S /GoTo /D (subsubsection.8.35.2.1) >> +>> +endobj +5605 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 634.189 265.732 644.771] +/A << /S /GoTo /D (section.8.36) >> +>> +endobj +5606 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 616.599 221.939 626.867] +/A << /S /GoTo /D (subsection.8.36.1) >> +>> +endobj +5607 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 600.605 274.131 609.17] +/A << /S /GoTo /D (subsection.8.36.2) >> +>> +endobj +5608 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 276.422 591.679] +/A << /S /GoTo /D (subsubsection.8.36.2.1) >> +>> +endobj +5609 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 565.211 241.003 573.982] +/A << /S /GoTo /D (section.8.37) >> +>> +endobj +5610 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 545.81 221.939 556.078] +/A << /S /GoTo /D (subsection.8.37.1) >> +>> +endobj +5611 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 529.816 274.131 538.381] +/A << /S /GoTo /D (subsection.8.37.2) >> +>> +endobj +5612 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 210.324 520.89] +/A << /S /GoTo /D (subsubsection.8.37.2.1) >> +>> +endobj +5613 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 201.716 503.192] +/A << /S /GoTo /D (subsubsection.8.37.2.2) >> +>> +endobj +5614 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 258.347 485.495] +/A << /S /GoTo /D (subsubsection.8.37.2.3) >> +>> +endobj +5615 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 211.328 467.592] +/A << /S /GoTo /D (subsubsection.8.37.2.4) >> +>> +endobj +5616 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 441.329 258.682 449.894] +/A << /S /GoTo /D (subsection.8.37.3) >> +>> +endobj +5617 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 223.611 432.403] +/A << /S /GoTo /D (subsubsection.8.37.3.1) >> +>> +endobj +5618 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 253.505 414.706] +/A << /S /GoTo /D (subsubsection.8.37.3.2) >> +>> +endobj +5619 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 388.238 213.318 397.009] +/A << /S /GoTo /D (subsubsection.8.37.3.3) >> +>> +endobj +5620 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 370.54 219.792 379.105] +/A << /S /GoTo /D (subsubsection.8.37.3.4) >> +>> +endobj +5621 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 245.068 361.614] +/A << /S /GoTo /D (subsubsection.8.37.3.5) >> +>> +endobj +5622 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 236.648 343.917] +/A << /S /GoTo /D (subsubsection.8.37.3.6) >> +>> +endobj +5623 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 221.648 326.013] +/A << /S /GoTo /D (subsubsection.8.37.3.7) >> +>> +endobj +5624 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 299.751 235.516 308.522] +/A << /S /GoTo /D (section.8.38) >> +>> +endobj +5625 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 280.35 221.939 290.618] +/A << /S /GoTo /D (subsection.8.38.1) >> +>> +endobj +5626 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 264.356 303.298 273.127] +/A << /S /GoTo /D (subsection.8.38.2) >> +>> +endobj +5627 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 239.733 255.43] +/A << /S /GoTo /D (subsubsection.8.38.2.1) >> +>> +endobj +5628 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 228.962 274.131 237.527] +/A << /S /GoTo /D (subsection.8.38.3) >> +>> +endobj +5629 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 220.572 219.829] +/A << /S /GoTo /D (subsubsection.8.38.3.1) >> +>> +endobj +5630 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 232.748 202.132] +/A << /S /GoTo /D (subsubsection.8.38.3.2) >> +>> +endobj +5631 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 221.522 184.641] +/A << /S /GoTo /D (subsubsection.8.38.3.3) >> +>> +endobj +5632 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 216.797 166.944] +/A << /S /GoTo /D (subsubsection.8.38.3.4) >> +>> +endobj +5633 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 216.797 149.246] +/A << /S /GoTo /D (subsubsection.8.38.3.5) >> +>> +endobj +5634 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 216.797 131.549] +/A << /S /GoTo /D (subsubsection.8.38.3.6) >> +>> +endobj +5635 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 216.797 113.852] +/A << /S /GoTo /D (subsubsection.8.38.3.7) >> +>> +endobj +5636 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 216.797 96.154] +/A << /S /GoTo /D (subsubsection.8.38.3.8) >> +>> +endobj +5637 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 216.797 78.457] +/A << /S /GoTo /D (subsubsection.8.38.3.9) >> +>> +endobj +5639 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5684 0 obj +<< +/Length 1194 +/Filter /FlateDecode +>> +stream +x]sF+~.XJzV..  N$f<Ǣ5~t98961g@0pCx\a}w|d~~0<Gfw:Cz:q!3Y@g;)ʅSO>`qcv䦘U"nP! +@@#x}D0zzGw[uקذyij QZ>I u_ ;?'IK٥ +,QXq|&3Pq! mxGPIC,>A@p%~urN݋$5‡n1I!TT* +endstream +endobj +5683 0 obj +<< +/Type /Page +/Contents 5684 0 R +/Resources 5682 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5555 0 R +/Annots [ 5638 0 R 5642 0 R 5643 0 R 5644 0 R 5645 0 R 5646 0 R 5647 0 R 5648 0 R 5649 0 R 5650 0 R 5651 0 R 5652 0 R 5653 0 R 5654 0 R 5655 0 R 5656 0 R 5657 0 R 5658 0 R 5659 0 R 5660 0 R 5661 0 R 5662 0 R 5663 0 R 5664 0 R 5665 0 R 5666 0 R 5667 0 R 5668 0 R 5669 0 R 5670 0 R 5671 0 R 5672 0 R 5673 0 R 5674 0 R 5675 0 R 5676 0 R 5677 0 R 5678 0 R 5679 0 R 5680 0 R ] +>> +endobj +5638 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 216.797 768.652] +/A << /S /GoTo /D (subsubsection.8.38.3.10) >> +>> +endobj +5642 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 216.797 750.955] +/A << /S /GoTo /D (subsubsection.8.38.3.11) >> +>> +endobj +5643 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 724.486 216.797 733.257] +/A << /S /GoTo /D (subsubsection.8.38.3.12) >> +>> +endobj +5644 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 216.797 715.56] +/A << /S /GoTo /D (subsubsection.8.38.3.13) >> +>> +endobj +5645 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 246.206 697.863] +/A << /S /GoTo /D (subsubsection.8.38.3.14) >> +>> +endobj +5646 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 212.87 679.959] +/A << /S /GoTo /D (subsubsection.8.38.3.15) >> +>> +endobj +5647 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 651.994 238.616 662.262] +/A << /S /GoTo /D (subsection.8.38.4) >> +>> +endobj +5648 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 206.343 644.771] +/A << /S /GoTo /D (subsubsection.8.38.4.1) >> +>> +endobj +5649 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.491 222.285 626.867] +/A << /S /GoTo /D (subsubsection.8.38.4.2) >> +>> +endobj +5650 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.794 216.923 609.17] +/A << /S /GoTo /D (subsubsection.8.38.4.3) >> +>> +endobj +5651 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 582.59 262.433 591.679] +/A << /S /GoTo /D (section.8.39) >> +>> +endobj +5652 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 563.507 221.939 573.775] +/A << /S /GoTo /D (subsection.8.39.1) >> +>> +endobj +5653 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 547.513 303.298 556.284] +/A << /S /GoTo /D (subsection.8.39.2) >> +>> +endobj +5654 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.498 266.649 538.587] +/A << /S /GoTo /D (subsubsection.8.39.2.1) >> +>> +endobj +5655 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 512.119 274.131 520.683] +/A << /S /GoTo /D (subsection.8.39.3) >> +>> +endobj +5656 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 226.759 502.986] +/A << /S /GoTo /D (subsubsection.8.39.3.1) >> +>> +endobj +5657 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 475.021 260.66 485.495] +/A << /S /GoTo /D (subsubsection.8.39.3.2) >> +>> +endobj +5658 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 232.748 467.592] +/A << /S /GoTo /D (subsubsection.8.39.3.3) >> +>> +endobj +5659 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 205.841 449.894] +/A << /S /GoTo /D (subsubsection.8.39.3.4) >> +>> +endobj +5660 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 221.522 432.403] +/A << /S /GoTo /D (subsubsection.8.39.3.5) >> +>> +endobj +5661 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 216.797 414.706] +/A << /S /GoTo /D (subsubsection.8.39.3.6) >> +>> +endobj +5662 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 388.238 265.508 397.009] +/A << /S /GoTo /D (section.8.40) >> +>> +endobj +5663 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 368.837 221.939 379.105] +/A << /S /GoTo /D (subsection.8.40.1) >> +>> +endobj +5664 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 352.843 274.131 361.408] +/A << /S /GoTo /D (subsection.8.40.2) >> +>> +endobj +5665 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 276.422 343.917] +/A << /S /GoTo /D (subsubsection.8.40.2.1) >> +>> +endobj +5666 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.745 276.844 326.219] +/A << /S /GoTo /D (subsubsection.8.40.2.2) >> +>> +endobj +5667 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 299.751 325.851 308.522] +/A << /S /GoTo /D (section.8.41) >> +>> +endobj +5668 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 282.054 303.298 290.825] +/A << /S /GoTo /D (subsection.8.41.1) >> +>> +endobj +5669 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 264.356 330.067 273.127] +/A << /S /GoTo /D (subsubsection.8.41.1.1) >> +>> +endobj +5670 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 246.659 274.131 255.224] +/A << /S /GoTo /D (subsection.8.41.2) >> +>> +endobj +5671 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 302.487 237.733] +/A << /S /GoTo /D (subsubsection.8.41.2.1) >> +>> +endobj +5672 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 261.243 220.036] +/A << /S /GoTo /D (subsubsection.8.41.2.2) >> +>> +endobj +5673 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 276.422 202.338] +/A << /S /GoTo /D (subsubsection.8.41.2.3) >> +>> +endobj +5674 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.166 276.844 184.641] +/A << /S /GoTo /D (subsubsection.8.41.2.4) >> +>> +endobj +5675 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.469 242.772 166.737] +/A << /S /GoTo /D (subsubsection.8.41.2.5) >> +>> +endobj +5676 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 140.475 321.368 149.246] +/A << /S /GoTo /D (section.8.42) >> +>> +endobj +5677 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 122.778 290.396 131.343] +/A << /S /GoTo /D (subsection.8.42.1) >> +>> +endobj +5678 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.377 258.58 113.852] +/A << /S /GoTo /D (subsubsection.8.42.1.1) >> +>> +endobj +5679 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 255.952 96.154] +/A << /S /GoTo /D (subsubsection.8.42.1.2) >> +>> +endobj +5680 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 69.686 258.682 78.251] +/A << /S /GoTo /D (subsection.8.42.2) >> +>> +endobj +5682 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5727 0 obj +<< +/Length 1171 +/Filter /FlateDecode +>> +stream +xrHz +VSnXʩٸ eS@ӧSbc. 眿0n `L?pba A6;3n̳Kw|NG`f ҁ;j?0U"|L}4agG. BM V c:k;׉o ^{T3hnMlh QlA`z8x|[F d )vLRJ5b; „ ʘriD]E /硿̂:ڄ3ׂsl !5,ez]B$vZD_ͧI'3ZI AZ,WAJ;}Hk9NWR==Q40*Sa`j[@9gzԥ q˅ ~q`3X|㴃vꓠ8ހr + nEqB>!GIlwi%: *H>]4L8ӰE5R:b9ƨHO%6'|> +։rK{UEH )@^JLI?EIԑ빥`JNe?:,Q(Lh0zWev\! - "e_Serk +:͑db$kFY05qC[p\ ^kIK{Q! >lB?ꂀ`TsKR&"_ uUfgǢ0P1ѽ1Ҽ||8y[䮻H1䇚Z\D3PN(Q>>gÔ*3[aG jpS˩3:^jjH yw +GMhPOM +:~۾$'`B l7z}64S[V 2p +ˎٷ~V-e;,W}ˬ$n8϶2Ux:nmN߬ݞtbnB;>83nXFk[6ľ&Ttַњ}'1*6 DG=':z1ȞD2VRrTڐz}Y7z9@ |wyz0Hjþa~ݬyX"ŇG5 lޱ +endstream +endobj +5726 0 obj +<< +/Type /Page +/Contents 5727 0 R +/Resources 5725 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5555 0 R +/Annots [ 5681 0 R 5685 0 R 5686 0 R 5687 0 R 5688 0 R 5689 0 R 5690 0 R 5691 0 R 5692 0 R 5693 0 R 5694 0 R 5695 0 R 5696 0 R 5697 0 R 5698 0 R 5699 0 R 5700 0 R 5701 0 R 5702 0 R 5703 0 R 5704 0 R 5705 0 R 5706 0 R 5707 0 R 5708 0 R 5709 0 R 5710 0 R 5711 0 R 5712 0 R 5713 0 R 5714 0 R 5715 0 R 5716 0 R 5717 0 R 5718 0 R 5719 0 R 5720 0 R 5721 0 R 5722 0 R 5723 0 R ] +>> +endobj +5681 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 248.896 768.652] +/A << /S /GoTo /D (subsubsection.8.42.2.1) >> +>> +endobj +5685 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.372 324.401 750.748] +/A << /S /GoTo /D (subsubsection.8.42.2.2) >> +>> +endobj +5686 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.783 331.376 733.257] +/A << /S /GoTo /D (subsubsection.8.42.2.3) >> +>> +endobj +5687 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 705.085 254.096 715.56] +/A << /S /GoTo /D (subsubsection.8.42.2.4) >> +>> +endobj +5688 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 687.388 253.603 697.863] +/A << /S /GoTo /D (subsubsection.8.42.2.5) >> +>> +endobj +5689 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 269.186 680.165] +/A << /S /GoTo /D (subsubsection.8.42.2.6) >> +>> +endobj +5690 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 328.893 662.262] +/A << /S /GoTo /D (subsubsection.8.42.2.7) >> +>> +endobj +5691 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 329.888 644.565] +/A << /S /GoTo /D (subsubsection.8.42.2.8) >> +>> +endobj +5692 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 305.572 627.074] +/A << /S /GoTo /D (subsubsection.8.42.2.9) >> +>> +endobj +5693 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 251.469 609.376] +/A << /S /GoTo /D (subsubsection.8.42.2.10) >> +>> +endobj +5694 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 274.934 591.679] +/A << /S /GoTo /D (subsubsection.8.42.2.11) >> +>> +endobj +5695 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 264.336 573.982] +/A << /S /GoTo /D (subsubsection.8.42.2.12) >> +>> +endobj +5696 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.81 247.309 556.078] +/A << /S /GoTo /D (subsubsection.8.42.2.13) >> +>> +endobj +5697 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 305.285 538.587] +/A << /S /GoTo /D (subsubsection.8.42.2.14) >> +>> +endobj +5698 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 512.119 327.796 520.89] +/A << /S /GoTo /D (section.8.43) >> +>> +endobj +5699 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 494.421 303.298 503.192] +/A << /S /GoTo /D (subsection.8.43.1) >> +>> +endobj +5700 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 332.013 485.495] +/A << /S /GoTo /D (subsubsection.8.43.1.1) >> +>> +endobj +5701 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 459.027 274.131 467.592] +/A << /S /GoTo /D (subsection.8.43.2) >> +>> +endobj +5702 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 263.188 450.1] +/A << /S /GoTo /D (subsubsection.8.43.2.1) >> +>> +endobj +5703 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 230.264 432.403] +/A << /S /GoTo /D (subsubsection.8.43.2.2) >> +>> +endobj +5704 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 276.422 414.706] +/A << /S /GoTo /D (subsubsection.8.43.2.3) >> +>> +endobj +5705 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 388.238 323.313 397.009] +/A << /S /GoTo /D (section.8.44) >> +>> +endobj +5706 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 370.54 290.396 379.105] +/A << /S /GoTo /D (subsection.8.44.1) >> +>> +endobj +5707 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.139 255.952 361.614] +/A << /S /GoTo /D (subsubsection.8.44.1.1) >> +>> +endobj +5708 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 335.146 258.682 343.71] +/A << /S /GoTo /D (subsection.8.44.2) >> +>> +endobj +5709 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.745 269.186 326.219] +/A << /S /GoTo /D (subsubsection.8.44.2.1) >> +>> +endobj +5710 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 298.047 251.469 308.522] +/A << /S /GoTo /D (subsubsection.8.44.2.2) >> +>> +endobj +5711 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.35 310.422 290.825] +/A << /S /GoTo /D (subsubsection.8.44.2.3) >> +>> +endobj +5712 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.653 264.336 273.127] +/A << /S /GoTo /D (subsubsection.8.44.2.4) >> +>> +endobj +5713 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 246.659 316.831 255.43] +/A << /S /GoTo /D (section.8.45) >> +>> +endobj +5714 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 228.962 303.298 237.733] +/A << /S /GoTo /D (subsection.8.45.1) >> +>> +endobj +5715 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 321.047 220.036] +/A << /S /GoTo /D (subsubsection.8.45.1.1) >> +>> +endobj +5716 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 193.567 274.131 202.132] +/A << /S /GoTo /D (subsection.8.45.2) >> +>> +endobj +5717 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 252.223 184.641] +/A << /S /GoTo /D (subsubsection.8.45.2.1) >> +>> +endobj +5718 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 219.299 166.944] +/A << /S /GoTo /D (subsubsection.8.45.2.2) >> +>> +endobj +5719 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 276.422 149.246] +/A << /S /GoTo /D (subsubsection.8.45.2.3) >> +>> +endobj +5720 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 122.778 312.348 131.549] +/A << /S /GoTo /D (section.8.46) >> +>> +endobj +5721 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 105.081 290.396 113.645] +/A << /S /GoTo /D (subsection.8.46.1) >> +>> +endobj +5722 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 255.952 96.154] +/A << /S /GoTo /D (subsubsection.8.46.1.1) >> +>> +endobj +5723 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 69.686 258.682 78.251] +/A << /S /GoTo /D (subsection.8.46.2) >> +>> +endobj +5725 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5770 0 obj +<< +/Length 1217 +/Filter /FlateDecode +>> +stream +xv6<Uu&r2$i"cۄO_ɗB3me!>wI;й ;s0;C sxCpܹOOy!zjxv5{ak[A/&N4}H@YOB}@ϧΠ[V+IUP`e@@p8Cփ0eu}Γi_`.x]sKiuhk[ߵ E̯&Y}"XvC}0uCŅQJV&ְخyM.lHJgMDg*MRF9f]J{]f#b.4̲V>xZZe*U$72xh,?c 4,7s<Oei9b pe}97א>_ \rOL@TNrByJ/fV y h/>=[:}j?i2 +endstream +endobj +5769 0 obj +<< +/Type /Page +/Contents 5770 0 R +/Resources 5768 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5555 0 R +/Annots [ 5724 0 R 5728 0 R 5729 0 R 5730 0 R 5731 0 R 5732 0 R 5733 0 R 5734 0 R 5735 0 R 5736 0 R 5737 0 R 5738 0 R 5739 0 R 5740 0 R 5741 0 R 5742 0 R 5743 0 R 5744 0 R 5745 0 R 5746 0 R 5747 0 R 5748 0 R 5749 0 R 5750 0 R 5751 0 R 5752 0 R 5753 0 R 5754 0 R 5755 0 R 5756 0 R 5757 0 R 5758 0 R 5759 0 R 5760 0 R 5761 0 R 5762 0 R 5763 0 R 5764 0 R 5765 0 R 5766 0 R ] +>> +endobj +5724 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.177 269.186 768.652] +/A << /S /GoTo /D (subsubsection.8.46.2.1) >> +>> +endobj +5728 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.48 305.572 750.955] +/A << /S /GoTo /D (subsubsection.8.46.2.2) >> +>> +endobj +5729 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.783 251.469 733.257] +/A << /S /GoTo /D (subsubsection.8.46.2.3) >> +>> +endobj +5730 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 705.085 264.336 715.56] +/A << /S /GoTo /D (subsubsection.8.46.2.4) >> +>> +endobj +5731 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 689.092 225.869 697.863] +/A << /S /GoTo /D (section.8.47) >> +>> +endobj +5732 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 669.691 221.939 679.959] +/A << /S /GoTo /D (subsection.8.47.1) >> +>> +endobj +5733 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 653.697 274.131 662.262] +/A << /S /GoTo /D (subsection.8.47.2) >> +>> +endobj +5734 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 636 246.009 644.565] +/A << /S /GoTo /D (subsubsection.8.47.2.1) >> +>> +endobj +5735 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 199.86 626.867] +/A << /S /GoTo /D (subsubsection.8.47.2.2) >> +>> +endobj +5736 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 600.605 196.874 609.376] +/A << /S /GoTo /D (subsubsection.8.47.2.3) >> +>> +endobj +5737 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 196.874 591.679] +/A << /S /GoTo /D (subsubsection.8.47.2.4) >> +>> +endobj +5738 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 281.076 573.982] +/A << /S /GoTo /D (subsubsection.8.47.2.5) >> +>> +endobj +5739 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.81 318.277 556.284] +/A << /S /GoTo /D (subsubsection.8.47.2.6) >> +>> +endobj +5740 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 258.661 538.587] +/A << /S /GoTo /D (subsubsection.8.47.2.7) >> +>> +endobj +5741 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 201.349 520.89] +/A << /S /GoTo /D (subsubsection.8.47.2.8) >> +>> +endobj +5742 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 201.349 503.192] +/A << /S /GoTo /D (subsubsection.8.47.2.9) >> +>> +endobj +5743 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 475.021 226.768 485.495] +/A << /S /GoTo /D (subsubsection.8.47.2.10) >> +>> +endobj +5744 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 226.768 467.798] +/A << /S /GoTo /D (subsubsection.8.47.2.11) >> +>> +endobj +5745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 236.048 450.1] +/A << /S /GoTo /D (subsubsection.8.47.2.12) >> +>> +endobj +5746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.821 215.362 432.403] +/A << /S /GoTo /D (subsubsection.8.47.2.13) >> +>> +endobj +5747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.231 257.217 414.706] +/A << /S /GoTo /D (subsubsection.8.47.2.14) >> +>> +endobj +5748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 257.217 397.009] +/A << /S /GoTo /D (subsubsection.8.47.2.15) >> +>> +endobj +5749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 370.54 258.682 379.105] +/A << /S /GoTo /D (subsection.8.47.3) >> +>> +endobj +5750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 246.691 361.408] +/A << /S /GoTo /D (subsubsection.8.47.3.1) >> +>> +endobj +5751 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.334 205.258 343.71] +/A << /S /GoTo /D (subsubsection.8.47.3.2) >> +>> +endobj +5752 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 237.742 326.013] +/A << /S /GoTo /D (subsubsection.8.47.3.3) >> +>> +endobj +5753 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 298.047 272.164 308.522] +/A << /S /GoTo /D (subsubsection.8.47.3.4) >> +>> +endobj +5754 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 294.041 290.825] +/A << /S /GoTo /D (subsubsection.8.47.3.5) >> +>> +endobj +5755 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.653 292.822 273.127] +/A << /S /GoTo /D (subsubsection.8.47.3.6) >> +>> +endobj +5756 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 214.179 255.224] +/A << /S /GoTo /D (subsubsection.8.47.3.7) >> +>> +endobj +5757 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 255.092 237.733] +/A << /S /GoTo /D (subsubsection.8.47.3.8) >> +>> +endobj +5758 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 286.259 220.036] +/A << /S /GoTo /D (subsubsection.8.47.3.9) >> +>> +endobj +5759 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 234.066 202.338] +/A << /S /GoTo /D (subsubsection.8.47.3.10) >> +>> +endobj +5760 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.166 244.709 184.435] +/A << /S /GoTo /D (subsubsection.8.47.3.11) >> +>> +endobj +5761 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 156.469 238.616 166.737] +/A << /S /GoTo /D (subsection.8.47.4) >> +>> +endobj +5762 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 242.701 149.246] +/A << /S /GoTo /D (subsubsection.8.47.4.1) >> +>> +endobj +5763 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 249.201 131.343] +/A << /S /GoTo /D (subsubsection.8.47.4.2) >> +>> +endobj +5764 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.081 208.324 113.645] +/A << /S /GoTo /D (subsubsection.8.47.4.3) >> +>> +endobj +5765 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 239.491 96.154] +/A << /S /GoTo /D (subsubsection.8.47.4.4) >> +>> +endobj +5766 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 69.686 233.564 78.457] +/A << /S /GoTo /D (subsubsection.8.47.4.5) >> +>> +endobj +5768 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5813 0 obj +<< +/Length 1211 +/Filter /FlateDecode +>> +stream +xKwH~ +w&9yګL/V"gba &L3+ +4oUx_;_?8D( y\Ao8nj8~ =EH0?]|d/wNh.!D(IFsX +#`3~?;|.wCy~X.=)$x`g!! YЕiլxm0R܁g{ukA,A7.!|3w-qήj8St/pc:ms]j@5F H&NOGAq,sþ0LX+{OP(  Gɣ9'* tS i^ 90n4"BX_ɝ*5}6qAqOD< v10oiekIMLQ~LZVTRw88;΃<2 r[jyÛƑqOI:o-@_8X"|~8S^?M'2-i|QStq<|lFG4|] %f{tނrW;46w\PN,=p3HHe,Κ%n/Y:OF]gךl]~2Vɂ2 `Ge aB;UI%hLch&2[4 {@,Ձ ȌiɾOG5-o5% +{x$ui֠ +Z#'Ӿ9WY^cv7ny HgtMxDʣ @^tid 5mHIQ*ZXKfNU䔨7Chř\Mgyd: /P@ #\%vxWfZ byl{V<%떴H5\Xu/k((,e=cX}vV#=J'pRMF WJD}7xdY|o @Maީa)#K2s(US˝nGcHϕ;qSldG~{\(ߵnxgƴZ9Yn4|dWϙ +endstream +endobj +5812 0 obj +<< +/Type /Page +/Contents 5813 0 R +/Resources 5811 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5814 0 R +/Annots [ 5767 0 R 5771 0 R 5772 0 R 5773 0 R 5774 0 R 5775 0 R 5776 0 R 5777 0 R 5778 0 R 5779 0 R 5780 0 R 5781 0 R 5782 0 R 5783 0 R 5784 0 R 5785 0 R 5786 0 R 5787 0 R 5788 0 R 5789 0 R 5790 0 R 5791 0 R 5792 0 R 5793 0 R 5794 0 R 5795 0 R 5796 0 R 5797 0 R 5798 0 R 5799 0 R 5800 0 R 5801 0 R 5802 0 R 5803 0 R 5804 0 R 5805 0 R 5806 0 R 5807 0 R 5808 0 R 5809 0 R ] +>> +endobj +5767 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 206.701 768.446] +/A << /S /GoTo /D (subsubsection.8.47.4.6) >> +>> +endobj +5771 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 239.213 750.955] +/A << /S /GoTo /D (subsubsection.8.47.4.7) >> +>> +endobj +5772 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.783 204.343 733.257] +/A << /S /GoTo /D (subsubsection.8.47.4.8) >> +>> +endobj +5773 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 706.789 209.14 715.354] +/A << /S /GoTo /D (subsubsection.8.47.4.9) >> +>> +endobj +5774 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 687.281 241.99 697.863] +/A << /S /GoTo /D (section.8.48) >> +>> +endobj +5775 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 669.691 221.939 679.959] +/A << /S /GoTo /D (subsection.8.48.1) >> +>> +endobj +5776 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 653.697 274.131 662.262] +/A << /S /GoTo /D (subsection.8.48.2) >> +>> +endobj +5777 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 214.807 644.565] +/A << /S /GoTo /D (subsubsection.8.48.2.1) >> +>> +endobj +5778 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 203.85 626.867] +/A << /S /GoTo /D (subsubsection.8.48.2.2) >> +>> +endobj +5779 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.794 219.657 609.376] +/A << /S /GoTo /D (subsubsection.8.48.2.3) >> +>> +endobj +5780 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 582.908 265.248 591.679] +/A << /S /GoTo /D (section.8.49) >> +>> +endobj +5781 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 563.507 221.939 573.775] +/A << /S /GoTo /D (subsection.8.49.1) >> +>> +endobj +5782 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 547.513 274.131 556.078] +/A << /S /GoTo /D (subsection.8.49.2) >> +>> +endobj +5783 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 529.816 274.531 538.587] +/A << /S /GoTo /D (subsubsection.8.49.2.1) >> +>> +endobj +5784 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 512.119 275.544 520.89] +/A << /S /GoTo /D (subsubsection.8.49.2.2) >> +>> +endobj +5785 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 494.421 253.729 503.192] +/A << /S /GoTo /D (subsubsection.8.49.2.3) >> +>> +endobj +5786 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 250.187 485.495] +/A << /S /GoTo /D (subsubsection.8.49.2.4) >> +>> +endobj +5787 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 459.027 305.787 467.798] +/A << /S /GoTo /D (subsubsection.8.49.2.5) >> +>> +endobj +5788 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 322.186 450.1] +/A << /S /GoTo /D (subsubsection.8.49.2.6) >> +>> +endobj +5789 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 297.628 432.403] +/A << /S /GoTo /D (subsubsection.8.49.2.7) >> +>> +endobj +5790 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 298.928 414.706] +/A << /S /GoTo /D (subsubsection.8.49.2.8) >> +>> +endobj +5791 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 244.951 397.009] +/A << /S /GoTo /D (subsubsection.8.49.2.9) >> +>> +endobj +5792 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 370.54 244.709 379.311] +/A << /S /GoTo /D (subsubsection.8.49.2.10) >> +>> +endobj +5793 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 351.139 233.492 361.614] +/A << /S /GoTo /D (subsubsection.8.49.2.11) >> +>> +endobj +5794 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 233.25 343.917] +/A << /S /GoTo /D (subsubsection.8.49.2.12) >> +>> +endobj +5795 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.745 283.318 326.219] +/A << /S /GoTo /D (subsubsection.8.49.2.13) >> +>> +endobj +5796 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 299.751 281.076 308.522] +/A << /S /GoTo /D (subsubsection.8.49.2.14) >> +>> +endobj +5797 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.35 270.621 290.825] +/A << /S /GoTo /D (subsubsection.8.49.2.15) >> +>> +endobj +5798 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.653 279.148 273.127] +/A << /S /GoTo /D (subsubsection.8.49.2.16) >> +>> +endobj +5799 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 297.583 255.43] +/A << /S /GoTo /D (subsubsection.8.49.2.17) >> +>> +endobj +5800 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.151 355.2 237.733] +/A << /S /GoTo /D (subsubsection.8.49.2.18) >> +>> +endobj +5801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 264.165 220.036] +/A << /S /GoTo /D (subsubsection.8.49.2.19) >> +>> +endobj +5802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 287.119 202.338] +/A << /S /GoTo /D (subsubsection.8.49.2.20) >> +>> +endobj +5803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 296.041 184.641] +/A << /S /GoTo /D (subsubsection.8.49.2.21) >> +>> +endobj +5804 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.361 312.538 166.944] +/A << /S /GoTo /D (subsubsection.8.49.2.22) >> +>> +endobj +5805 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 291.118 149.246] +/A << /S /GoTo /D (subsubsection.8.49.2.23) >> +>> +endobj +5806 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 121.074 302.075 131.549] +/A << /S /GoTo /D (subsubsection.8.49.2.24) >> +>> +endobj +5807 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.27 325.36 113.852] +/A << /S /GoTo /D (subsubsection.8.49.2.25) >> +>> +endobj +5808 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 297.09 96.154] +/A << /S /GoTo /D (subsubsection.8.49.2.26) >> +>> +endobj +5809 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 298.3 78.457] +/A << /S /GoTo /D (subsubsection.8.49.2.27) >> +>> +endobj +5811 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5857 0 obj +<< +/Length 1208 +/Filter /FlateDecode +>> +stream +xMw8}"]q2$9pJ81kW^!Lw~w~= }o}Gε=?9Rqruwy1_G\?| u +:h݉@`L/ЉԹO$ʹC?sF?;1O6-;Jg(Lf Ku/E2:(s3$꾫\w2 :޾kA8/6X"o *yf eH\n%. \?wL\Yfw(oWD3Lj(_o rSYLF' ,8M#H_ đ0saʤ\Q۽, +% aȬ$aNs%pp,e'jpr'˝e݀2B4OY-)?A9gD"(#8 s{jd h!eFr_k6Lf`~L +qy.x6hg9H78 /Ap7 ܑA.L9E, +CxeMeq2)ҺD}4vpʩV[e +n+;-ACW p/MKo ~Ys{6/ʆ4LҰRlpA#:swjΖɤX;A&_AV0 =dkj~*ݔdZrn͘zdld]ϝ-B sZE p'*ziTd#k/aU4/Nh1]PeFeawkcj=bmR+trcփcÌ=37b ":l~&ìBFW/:< OiH=A.dDIJ0@mJmac9Ȍ̇nR?™5q>[f;&֑ۮRCJ\!L­uD"C}rX:M،2xHIpj]X ~FoT5,v-ocfq[T/a}u%UGt.%kfֱ(a {jzj 7{}@LV7JjPŽWtWRyTT-m8?8 +endstream +endobj +5856 0 obj +<< +/Type /Page +/Contents 5857 0 R +/Resources 5855 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5814 0 R +/Annots [ 5810 0 R 5815 0 R 5816 0 R 5817 0 R 5818 0 R 5819 0 R 5820 0 R 5821 0 R 5822 0 R 5823 0 R 5824 0 R 5825 0 R 5826 0 R 5827 0 R 5828 0 R 5829 0 R 5830 0 R 5831 0 R 5832 0 R 5833 0 R 5834 0 R 5835 0 R 5836 0 R 5837 0 R 5838 0 R 5839 0 R 5840 0 R 5841 0 R 5842 0 R 5843 0 R 5844 0 R 5845 0 R 5846 0 R 5847 0 R 5848 0 R 5849 0 R 5850 0 R 5851 0 R 5852 0 R 5853 0 R ] +>> +endobj +5810 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.177 267.367 768.652] +/A << /S /GoTo /D (subsubsection.8.49.2.28) >> +>> +endobj +5815 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.48 268.855 750.955] +/A << /S /GoTo /D (subsubsection.8.49.2.29) >> +>> +endobj +5816 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 724.486 213.083 733.257] +/A << /S /GoTo /D (section.8.50) >> +>> +endobj +5817 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 705.085 221.939 715.354] +/A << /S /GoTo /D (subsection.8.50.1) >> +>> +endobj +5818 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 687.388 254.722 697.863] +/A << /S /GoTo /D (section.8.51) >> +>> +endobj +5819 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 669.691 221.939 679.959] +/A << /S /GoTo /D (subsection.8.51.1) >> +>> +endobj +5820 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 653.697 258.682 662.262] +/A << /S /GoTo /D (subsection.8.51.2) >> +>> +endobj +5821 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.189 241.723 644.771] +/A << /S /GoTo /D (subsubsection.8.51.2.1) >> +>> +endobj +5822 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 618.303 210.557 627.074] +/A << /S /GoTo /D (subsubsection.8.51.2.2) >> +>> +endobj +5823 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 213.085 609.17] +/A << /S /GoTo /D (subsubsection.8.51.2.3) >> +>> +endobj +5824 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 582.908 261.889 591.473] +/A << /S /GoTo /D (subsubsection.8.51.2.4) >> +>> +endobj +5825 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 237.24 573.982] +/A << /S /GoTo /D (subsubsection.8.51.2.5) >> +>> +endobj +5826 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 547.513 222.052 556.078] +/A << /S /GoTo /D (subsubsection.8.51.2.6) >> +>> +endobj +5827 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 256.186 538.587] +/A << /S /GoTo /D (subsubsection.8.51.2.7) >> +>> +endobj +5828 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.307 232.667 520.683] +/A << /S /GoTo /D (subsubsection.8.51.2.8) >> +>> +endobj +5829 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 492.61 206.609 503.192] +/A << /S /GoTo /D (section.8.52) >> +>> +endobj +5830 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 476.724 303.298 485.495] +/A << /S /GoTo /D (subsection.8.52.1) >> +>> +endobj +5831 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.216 210.826 467.592] +/A << /S /GoTo /D (subsubsection.8.52.1.1) >> +>> +endobj +5832 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.518 210.826 449.894] +/A << /S /GoTo /D (subsubsection.8.52.1.2) >> +>> +endobj +5833 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 423.632 274.131 432.197] +/A << /S /GoTo /D (subsection.8.52.2) >> +>> +endobj +5834 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 205.482 414.5] +/A << /S /GoTo /D (subsubsection.8.52.2.1) >> +>> +endobj +5835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.426 215.362 397.009] +/A << /S /GoTo /D (subsubsection.8.52.2.2) >> +>> +endobj +5836 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 370.54 258.682 379.105] +/A << /S /GoTo /D (subsection.8.52.3) >> +>> +endobj +5837 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 210.817 361.614] +/A << /S /GoTo /D (subsubsection.8.52.3.1) >> +>> +endobj +5838 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 335.146 203.85 343.917] +/A << /S /GoTo /D (subsubsection.8.52.3.2) >> +>> +endobj +5839 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 233.16 326.013] +/A << /S /GoTo /D (subsubsection.8.52.3.3) >> +>> +endobj +5840 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 297.94 200.362 308.316] +/A << /S /GoTo /D (subsubsection.8.52.3.4) >> +>> +endobj +5841 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 282.054 202.117 290.825] +/A << /S /GoTo /D (section.8.53) >> +>> +endobj +5842 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 262.653 221.939 272.921] +/A << /S /GoTo /D (subsection.8.53.1) >> +>> +endobj +5843 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 246.659 274.131 255.224] +/A << /S /GoTo /D (subsection.8.53.2) >> +>> +endobj +5844 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 227.258 264.632 237.733] +/A << /S /GoTo /D (subsubsection.8.53.2.1) >> +>> +endobj +5845 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 267.985 220.036] +/A << /S /GoTo /D (subsubsection.8.53.2.2) >> +>> +endobj +5846 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 191.864 292.651 202.338] +/A << /S /GoTo /D (subsubsection.8.53.2.3) >> +>> +endobj +5847 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.059 215.362 184.641] +/A << /S /GoTo /D (subsubsection.8.53.2.4) >> +>> +endobj +5848 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.361 229.807 166.944] +/A << /S /GoTo /D (subsubsection.8.53.2.5) >> +>> +endobj +5849 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 138.772 238.616 149.04] +/A << /S /GoTo /D (subsection.8.53.3) >> +>> +endobj +5850 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 121.074 235.474 131.549] +/A << /S /GoTo /D (subsubsection.8.53.3.1) >> +>> +endobj +5851 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.377 234.748 113.852] +/A << /S /GoTo /D (subsubsection.8.53.3.2) >> +>> +endobj +5852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 243.212 95.948] +/A << /S /GoTo /D (subsubsection.8.53.3.3) >> +>> +endobj +5853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 241.948 78.251] +/A << /S /GoTo /D (subsubsection.8.53.3.4) >> +>> +endobj +5855 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5900 0 obj +<< +/Length 1038 +/Filter /FlateDecode +>> +stream +xKw8Z q4$d69][I9&~6xj8!J p88H8' A9*p +F^/?ZQ!9bA-¯fm+Q(dКfs,RP3,7J<j NZ#!$y@{#@@@T)4I;E'zj|b3/q'x ..;=)Ź$}L'a=,g:-nLC0(ݶ\YFI^MH'ϿꫥOuwe_RfI,&.Z\ӻ=/^?uY8,-;[25]ufbGQ'1;5MPE6Jt^ObLNv_>BK%\O̲*׋\P҄N'BfOcRye:S.T(:bbׯuyX'_Mׄw{EmC%>ԍm2/ƩBK)u)I&pT;68?&Q2Jb3iwVr޸bO?Ys<#2=veOx]]8+|.ЮyÕyщ]gIlL@@pyeK5V:Ջh"W[jg9|;w >)+WiϝzWSwӃigM6 +endstream +endobj +5899 0 obj +<< +/Type /Page +/Contents 5900 0 R +/Resources 5898 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5814 0 R +/Annots [ 5854 0 R 5858 0 R 5859 0 R 5860 0 R 5861 0 R 5862 0 R 5863 0 R 5864 0 R 5865 0 R 5866 0 R 5867 0 R 5868 0 R 5869 0 R 5870 0 R 5871 0 R 5872 0 R 5873 0 R 5874 0 R 5875 0 R 5876 0 R 5877 0 R 5878 0 R 5879 0 R 5880 0 R 5881 0 R 5882 0 R 5883 0 R 5884 0 R 5885 0 R 5886 0 R 5887 0 R 5888 0 R 5889 0 R 5890 0 R 5891 0 R 5892 0 R 5893 0 R 5894 0 R 5895 0 R 5896 0 R ] +>> +endobj +5854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 758.177 211.328 768.652] +/A << /S /GoTo /D (subsubsection.8.53.3.5) >> +>> +endobj +5858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 215.623 750.748] +/A << /S /GoTo /D (subsubsection.8.53.3.6) >> +>> +endobj +5859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.783 228.803 733.051] +/A << /S /GoTo /D (subsubsection.8.53.3.7) >> +>> +endobj +5860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 705.085 228.803 715.354] +/A << /S /GoTo /D (subsubsection.8.53.3.8) >> +>> +endobj +5861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 206.334 697.656] +/A << /S /GoTo /D (subsubsection.8.53.3.9) >> +>> +endobj +5862 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 204.845 679.959] +/A << /S /GoTo /D (subsubsection.8.53.3.10) >> +>> +endobj +5863 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 202.362 662.262] +/A << /S /GoTo /D (subsubsection.8.53.3.11) >> +>> +endobj +5864 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 231.305 644.771] +/A << /S /GoTo /D (subsubsection.8.53.3.12) >> +>> +endobj +5865 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 230.309 627.074] +/A << /S /GoTo /D (subsubsection.8.53.3.13) >> +>> +endobj +5866 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 279.193 609.17] +/A << /S /GoTo /D (subsubsection.8.53.3.14) >> +>> +endobj +5867 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 278.198 591.473] +/A << /S /GoTo /D (subsubsection.8.53.3.15) >> +>> +endobj +5868 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 565.211 207.15 573.775] +/A << /S /GoTo /D (subsubsection.8.53.3.16) >> +>> +endobj +5869 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 547.513 216.804 556.284] +/A << /S /GoTo /D (section.8.54) >> +>> +endobj +5870 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 528.112 221.939 538.381] +/A << /S /GoTo /D (subsection.8.54.1) >> +>> +endobj +5871 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 512.119 274.131 520.683] +/A << /S /GoTo /D (subsection.8.54.2) >> +>> +endobj +5872 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 209.83 502.986] +/A << /S /GoTo /D (subsubsection.8.54.2.1) >> +>> +endobj +5873 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 476.724 239.231 485.495] +/A << /S /GoTo /D (subsubsection.8.54.2.2) >> +>> +endobj +5874 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.216 215.362 467.798] +/A << /S /GoTo /D (subsubsection.8.54.2.3) >> +>> +endobj +5875 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.518 229.807 450.1] +/A << /S /GoTo /D (subsubsection.8.54.2.4) >> +>> +endobj +5876 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 423.632 258.682 432.197] +/A << /S /GoTo /D (subsection.8.54.3) >> +>> +endobj +5877 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.231 254.177 414.706] +/A << /S /GoTo /D (subsubsection.8.54.3.1) >> +>> +endobj +5878 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 261.377 396.802] +/A << /S /GoTo /D (subsubsection.8.54.3.2) >> +>> +endobj +5879 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.837 248.233 379.105] +/A << /S /GoTo /D (subsubsection.8.54.3.3) >> +>> +endobj +5880 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 224.275 361.408] +/A << /S /GoTo /D (subsubsection.8.54.3.4) >> +>> +endobj +5881 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.442 221.791 343.71] +/A << /S /GoTo /D (subsubsection.8.54.3.5) >> +>> +endobj +5882 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 226.579 326.013] +/A << /S /GoTo /D (subsubsection.8.54.3.6) >> +>> +endobj +5883 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 298.047 238.616 308.316] +/A << /S /GoTo /D (subsection.8.54.4) >> +>> +endobj +5884 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.35 254.527 290.825] +/A << /S /GoTo /D (subsubsection.8.54.4.1) >> +>> +endobj +5885 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 262.653 252.536 272.921] +/A << /S /GoTo /D (subsubsection.8.54.4.2) >> +>> +endobj +5886 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 246.659 257.665 255.43] +/A << /S /GoTo /D (subsubsection.8.54.4.3) >> +>> +endobj +5887 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 257.163 237.733] +/A << /S /GoTo /D (subsubsection.8.54.4.4) >> +>> +endobj +5888 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 211.328 220.036] +/A << /S /GoTo /D (subsubsection.8.54.4.5) >> +>> +endobj +5889 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 193.567 215.623 202.132] +/A << /S /GoTo /D (subsubsection.8.54.4.6) >> +>> +endobj +5890 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 174.166 228.803 184.435] +/A << /S /GoTo /D (subsubsection.8.54.4.7) >> +>> +endobj +5891 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 156.469 228.803 166.737] +/A << /S /GoTo /D (subsubsection.8.54.4.8) >> +>> +endobj +5892 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 206.334 149.04] +/A << /S /GoTo /D (subsubsection.8.54.4.9) >> +>> +endobj +5893 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 204.845 131.343] +/A << /S /GoTo /D (subsubsection.8.54.4.10) >> +>> +endobj +5894 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.377 202.362 113.645] +/A << /S /GoTo /D (subsubsection.8.54.4.11) >> +>> +endobj +5895 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.68 231.305 96.154] +/A << /S /GoTo /D (subsubsection.8.54.4.12) >> +>> +endobj +5896 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 230.309 78.457] +/A << /S /GoTo /D (subsubsection.8.54.4.13) >> +>> +endobj +5898 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5943 0 obj +<< +/Length 1187 +/Filter /FlateDecode +>> +stream +xv:~ +0nY8mr;{&Y[qX8߾A]Y5 (׿ tft>>p #.1`OK6 CC!K}oufd<:_ҧLI<>ՁHS#b֏ffua < +DP7Sq!߽G}7K0/ns9DPbxCgfw>}k6-pLuyᕇ6? #=d5oq[fPi΋0Mrop wյG2LZ/Q^n  eK>@ސsWEFjj(|yCmaڊIEw76U|tP^:Y*)MCmRƒBwoi\YK"Tc&=KEAiiv^yU[P +8~4Ų4.w5I , +J-K]I16x }xrLm|b&`<\I6= M9ѮfwE3HI`rN#b&ZC.&'$H\MBIFM^ H߽lh_EP'(zB^![omGH;"%nB fi7/ *.yix>)ڳ~Z=y'vd^"L9ķ$,D"U􀋉Jq3U}>۠A_}k--|IN7* ,^c,&L)8gV: 3}%`|֡/ D%=ҷ3se=> "st]NԦuO9Ij잨⧹Q,)-k80+ +endstream +endobj +5942 0 obj +<< +/Type /Page +/Contents 5943 0 R +/Resources 5941 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5814 0 R +/Annots [ 5897 0 R 5901 0 R 5902 0 R 5903 0 R 5904 0 R 5905 0 R 5906 0 R 5907 0 R 5908 0 R 5909 0 R 5910 0 R 5911 0 R 5912 0 R 5913 0 R 5914 0 R 5915 0 R 5916 0 R 5917 0 R 5918 0 R 5919 0 R 5920 0 R 5921 0 R 5922 0 R 5923 0 R 5924 0 R 5925 0 R 5926 0 R 5927 0 R 5928 0 R 5929 0 R 5930 0 R 5931 0 R 5932 0 R 5933 0 R 5934 0 R 5935 0 R 5936 0 R 5937 0 R 5938 0 R 5939 0 R ] +>> +endobj +5897 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 251.407 768.446] +/A << /S /GoTo /D (subsubsection.8.54.4.14) >> +>> +endobj +5901 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 742.184 207.15 750.748] +/A << /S /GoTo /D (subsubsection.8.54.4.15) >> +>> +endobj +5902 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 722.783 233.015 733.257] +/A << /S /GoTo /D (section.8.55) >> +>> +endobj +5903 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 705.085 221.939 715.354] +/A << /S /GoTo /D (subsection.8.55.1) >> +>> +endobj +5904 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 689.092 258.682 697.656] +/A << /S /GoTo /D (subsection.8.55.2) >> +>> +endobj +5905 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 669.691 278.44 680.165] +/A << /S /GoTo /D (subsubsection.8.55.2.1) >> +>> +endobj +5906 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.994 315.775 662.468] +/A << /S /GoTo /D (subsubsection.8.55.2.2) >> +>> +endobj +5907 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 241.705 644.565] +/A << /S /GoTo /D (subsubsection.8.55.2.3) >> +>> +endobj +5908 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 616.599 228.803 626.867] +/A << /S /GoTo /D (subsubsection.8.55.2.4) >> +>> +endobj +5909 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 217.344 609.17] +/A << /S /GoTo /D (subsubsection.8.55.2.5) >> +>> +endobj +5910 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.097 211.821 591.473] +/A << /S /GoTo /D (subsubsection.8.55.2.6) >> +>> +endobj +5911 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 563.507 238.616 573.775] +/A << /S /GoTo /D (subsection.8.55.3) >> +>> +endobj +5912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.81 277.615 556.284] +/A << /S /GoTo /D (subsubsection.8.55.3.1) >> +>> +endobj +5913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 275.625 538.587] +/A << /S /GoTo /D (subsubsection.8.55.3.2) >> +>> +endobj +5914 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 276.449 520.683] +/A << /S /GoTo /D (subsubsection.8.55.3.3) >> +>> +endobj +5915 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 313.785 502.986] +/A << /S /GoTo /D (subsubsection.8.55.3.4) >> +>> +endobj +5916 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 475.021 264.99 485.289] +/A << /S /GoTo /D (subsubsection.8.55.3.5) >> +>> +endobj +5917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.323 211.328 467.798] +/A << /S /GoTo /D (subsubsection.8.55.3.6) >> +>> +endobj +5918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 439.626 210.826 450.1] +/A << /S /GoTo /D (subsubsection.8.55.3.7) >> +>> +endobj +5919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 423.632 215.623 432.197] +/A << /S /GoTo /D (subsubsection.8.55.3.8) >> +>> +endobj +5920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 405.935 215.121 414.5] +/A << /S /GoTo /D (subsubsection.8.55.3.9) >> +>> +endobj +5921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.534 228.803 396.802] +/A << /S /GoTo /D (subsubsection.8.55.3.10) >> +>> +endobj +5922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 368.729 210.826 379.105] +/A << /S /GoTo /D (subsubsection.8.55.3.11) >> +>> +endobj +5923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 238.047 361.408] +/A << /S /GoTo /D (subsubsection.8.55.3.12) >> +>> +endobj +5924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.442 237.052 343.71] +/A << /S /GoTo /D (subsubsection.8.55.3.13) >> +>> +endobj +5925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 315.745 271.393 326.219] +/A << /S /GoTo /D (subsubsection.8.55.3.14) >> +>> +endobj +5926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 298.047 269.895 308.316] +/A << /S /GoTo /D (subsubsection.8.55.3.15) >> +>> +endobj +5927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 280.243 369.938 290.825] +/A << /S /GoTo /D (section.8.56) >> +>> +endobj +5928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 262.653 221.939 272.921] +/A << /S /GoTo /D (subsection.8.56.1) >> +>> +endobj +5929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 246.659 274.131 255.224] +/A << /S /GoTo /D (subsection.8.56.2) >> +>> +endobj +5930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 228.962 227.781 237.733] +/A << /S /GoTo /D (subsubsection.8.56.2.1) >> +>> +endobj +5931 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 211.265 227.781 220.036] +/A << /S /GoTo /D (subsubsection.8.56.2.2) >> +>> +endobj +5932 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 191.756 265.41 202.338] +/A << /S /GoTo /D (section.8.57) >> +>> +endobj +5933 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 174.166 238.616 184.435] +/A << /S /GoTo /D (subsection.8.57.1) >> +>> +endobj +5934 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 273.625 166.944] +/A << /S /GoTo /D (subsubsection.8.57.1.1) >> +>> +endobj +5935 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 140.475 255.944 149.246] +/A << /S /GoTo /D (subsubsection.8.57.1.2) >> +>> +endobj +5936 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 120.967 237.049 131.549] +/A << /S /GoTo /D (section.8.58) >> +>> +endobj +5937 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 103.377 221.939 113.645] +/A << /S /GoTo /D (subsection.8.58.1) >> +>> +endobj +5938 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 87.383 290.396 95.948] +/A << /S /GoTo /D (subsection.8.58.2) >> +>> +endobj +5939 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.875 239.231 78.457] +/A << /S /GoTo /D (subsubsection.8.58.2.1) >> +>> +endobj +5941 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +5986 0 obj +<< +/Length 1244 +/Filter /FlateDecode +>> +stream +xW:+X2 u=㳝gHcؒ>Vmsf#j~{ [֧/YVʢeX{.V`]؝~?O\]t_o[ ,81y +ǭ{p}άc aW#ʁ~ay9T/ R-J 23wڔb_i{_qE2֭ cgAq)ElicKĕ[$"EZ}ltwl˔ClG94t 3\u١*J:a9o^.|Tkcs5f7Ȃ'L]PN]CQ%3.Jwvl%fLRv4t\O3}"_ ifR*EzWzo$>7f:y@`Y/, +hxOԜ_e|t6ub3m>=QdlC&4Sp^N95@z6TT#"j`>!ESf2ch +awqxARO#='JB5&9}>d< 09A."7$"m 1ѧ(^Zd)2aM4SpPYdfָnbK.Q=aa6TՆwkk)1r)V}peX(R]+v{R+~.Dkg(P/bmni_rs}+ A" ڔJ2>X|i`kO8-Ka& >ؑQVaq_דWwU9Mgvn +M_fcf͂Su> +endobj +5940 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 759.881 274.131 768.446] +/A << /S /GoTo /D (subsection.8.58.3) >> +>> +endobj +5944 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.48 212.825 750.748] +/A << /S /GoTo /D (subsubsection.8.58.3.1) >> +>> +endobj +5945 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.675 329.162 733.257] +/A << /S /GoTo /D (subsubsection.8.58.3.2) >> +>> +endobj +5946 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 704.978 215.362 715.56] +/A << /S /GoTo /D (subsubsection.8.58.3.3) >> +>> +endobj +5947 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 689.092 221.783 697.863] +/A << /S /GoTo /D (subsubsection.8.58.3.4) >> +>> +endobj +5948 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 671.394 221.783 680.165] +/A << /S /GoTo /D (subsubsection.8.58.3.5) >> +>> +endobj +5949 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 651.886 268.129 662.468] +/A << /S /GoTo /D (subsubsection.8.58.3.6) >> +>> +endobj +5950 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 634.296 236.765 644.771] +/A << /S /GoTo /D (subsubsection.8.58.3.7) >> +>> +endobj +5951 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 618.303 258.682 626.867] +/A << /S /GoTo /D (subsection.8.58.4) >> +>> +endobj +5952 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 598.902 207.338 609.17] +/A << /S /GoTo /D (subsubsection.8.58.4.1) >> +>> +endobj +5953 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 581.204 226.274 591.679] +/A << /S /GoTo /D (subsubsection.8.58.4.2) >> +>> +endobj +5954 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 563.507 280.135 573.982] +/A << /S /GoTo /D (subsubsection.8.58.4.3) >> +>> +endobj +5955 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 545.702 248.027 556.078] +/A << /S /GoTo /D (subsubsection.8.58.4.4) >> +>> +endobj +5956 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 528.112 270.182 538.587] +/A << /S /GoTo /D (subsubsection.8.58.4.5) >> +>> +endobj +5957 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 510.415 219.711 520.683] +/A << /S /GoTo /D (subsubsection.8.58.4.6) >> +>> +endobj +5958 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 492.718 223.02 502.986] +/A << /S /GoTo /D (subsubsection.8.58.4.7) >> +>> +endobj +5959 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 474.913 247.246 485.289] +/A << /S /GoTo /D (subsubsection.8.58.4.8) >> +>> +endobj +5960 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 457.216 247.928 467.798] +/A << /S /GoTo /D (subsubsection.8.58.4.9) >> +>> +endobj +5961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 441.329 215.309 449.894] +/A << /S /GoTo /D (subsubsection.8.58.4.10) >> +>> +endobj +5962 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 421.821 230.273 432.197] +/A << /S /GoTo /D (subsubsection.8.58.4.11) >> +>> +endobj +5963 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 404.231 212.314 414.5] +/A << /S /GoTo /D (subsubsection.8.58.4.12) >> +>> +endobj +5964 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 386.426 253.917 396.802] +/A << /S /GoTo /D (subsubsection.8.58.4.13) >> +>> +endobj +5965 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 370.54 241.759 379.311] +/A << /S /GoTo /D (subsubsection.8.58.4.14) >> +>> +endobj +5966 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 352.843 225.225 361.614] +/A << /S /GoTo /D (subsubsection.8.58.4.15) >> +>> +endobj +5967 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 333.442 229.045 343.71] +/A << /S /GoTo /D (subsubsection.8.58.4.16) >> +>> +endobj +5968 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 317.448 246.932 326.219] +/A << /S /GoTo /D (subsubsection.8.58.4.17) >> +>> +endobj +5969 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 298.047 238.616 308.316] +/A << /S /GoTo /D (subsection.8.58.5) >> +>> +endobj +5970 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 280.243 305.742 290.825] +/A << /S /GoTo /D (subsubsection.8.58.5.1) >> +>> +endobj +5971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 262.653 340.887 273.127] +/A << /S /GoTo /D (section.8.59) >> +>> +endobj +5972 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 244.956 221.939 255.224] +/A << /S /GoTo /D (subsection.8.59.1) >> +>> +endobj +5973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 228.962 303.298 237.733] +/A << /S /GoTo /D (subsection.8.59.2) >> +>> +endobj +5974 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 209.561 242.584 220.036] +/A << /S /GoTo /D (subsubsection.8.59.2.1) >> +>> +endobj +5975 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 193.567 274.131 202.132] +/A << /S /GoTo /D (subsection.8.59.3) >> +>> +endobj +5976 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 175.87 215.811 184.641] +/A << /S /GoTo /D (subsubsection.8.59.3.1) >> +>> +endobj +5977 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 158.173 226.768 166.737] +/A << /S /GoTo /D (subsubsection.8.59.3.2) >> +>> +endobj +5978 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 138.772 214.807 149.04] +/A << /S /GoTo /D (subsubsection.8.59.3.3) >> +>> +endobj +5979 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 122.778 214.583 131.343] +/A << /S /GoTo /D (subsubsection.8.59.3.4) >> +>> +endobj +5980 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 103.377 234.524 113.645] +/A << /S /GoTo /D (subsubsection.8.59.3.5) >> +>> +endobj +5981 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 87.383 203.357 96.154] +/A << /S /GoTo /D (subsubsection.8.59.3.6) >> +>> +endobj +5982 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 67.983 339.856 78.457] +/A << /S /GoTo /D (section.8.60) >> +>> +endobj +5984 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6028 0 obj +<< +/Length 1098 +/Filter /FlateDecode +>> +stream +xrH*//{JZO1RPbU}UP dfwTY^>E'3hhÇ:M^(F%d<{&Ž:f*#Zr" Z +qGo4Lױ$| p|{¹ߩI+'M$)v.ӽhи+g5 b砧qPrK&;}.bgG!\Z݉0")"#6 FYZ F\BR3!$gۢ F9pqǐ̳3ֽ8Jb`Ӵom{S^.ōDc]J4vG t;Vx;5LU"ӏ=F\.KQuXf_:F 2Ҷ]\|*nuIW}dpcUpsG缩gWRbo7_Y͖}<Ǯ;4M_${Z"|7ƇVA]D98VNFV:&I\ylդ+O{W +O-!x5)Њq< +To* H Ӂl7,.ga=9T?: 7mc3 +f[ƇpZ.1T5g|14ɡמjen$B`GkO&IQ3iv:sS'伩rVtH(s@ȬpMȲEx؜a݊+4PQQ6_V{21 WZh߶J,x` H`YKaτB~o"3Ӫz6v?m/FaYa7GwYԩbMD%WҤiggmDMTx +endstream +endobj +6027 0 obj +<< +/Type /Page +/Contents 6028 0 R +/Resources 6026 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 5814 0 R +/Annots [ 5983 0 R 5987 0 R 5988 0 R 5989 0 R 5990 0 R 5991 0 R 5992 0 R 5993 0 R 5994 0 R 5995 0 R 5996 0 R 5997 0 R 5998 0 R 5999 0 R 6000 0 R 6001 0 R 6002 0 R 6003 0 R 6004 0 R 6005 0 R 6006 0 R 6007 0 R 6008 0 R 6009 0 R 6010 0 R 6011 0 R 6012 0 R 6013 0 R 6014 0 R 6015 0 R 6016 0 R 6017 0 R 6018 0 R 6019 0 R 6020 0 R 6021 0 R 6022 0 R 6023 0 R 6024 0 R ] +>> +endobj +5983 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 759.881 258.682 768.446] +/A << /S /GoTo /D (subsection.8.60.1) >> +>> +endobj +5987 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 740.303 226.059 750.571] +/A << /S /GoTo /D (subsubsection.8.60.1.1) >> +>> +endobj +5988 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 722.428 250.475 732.903] +/A << /S /GoTo /D (subsubsection.8.60.1.2) >> +>> +endobj +5989 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 704.554 359.286 715.028] +/A << /S /GoTo /D (section.8.61) >> +>> +endobj +5990 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 688.383 258.682 696.947] +/A << /S /GoTo /D (subsection.8.61.1) >> +>> +endobj +5991 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 670.508 206.334 679.073] +/A << /S /GoTo /D (subsubsection.8.61.1.1) >> +>> +endobj +5992 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 650.93 250.475 661.404] +/A << /S /GoTo /D (subsubsection.8.61.1.2) >> +>> +endobj +5993 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 633.055 201.277 643.324] +/A << /S /GoTo /D (subsubsection.8.61.1.3) >> +>> +endobj +5994 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 615.181 226.2 625.655] +/A << /S /GoTo /D (section.8.62) >> +>> +endobj +5995 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 597.306 221.939 607.575] +/A << /S /GoTo /D (subsection.8.62.1) >> +>> +endobj +5996 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 581.135 303.298 589.906] +/A << /S /GoTo /D (subsection.8.62.2) >> +>> +endobj +5997 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 561.557 230.417 571.825] +/A << /S /GoTo /D (subsubsection.8.62.2.1) >> +>> +endobj +5998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 543.683 230.417 553.951] +/A << /S /GoTo /D (subsubsection.8.62.2.2) >> +>> +endobj +5999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 527.512 274.131 536.076] +/A << /S /GoTo /D (subsection.8.62.3) >> +>> +endobj +6000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 507.826 215.362 518.408] +/A << /S /GoTo /D (subsubsection.8.62.3.1) >> +>> +endobj +6001 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 491.762 258.682 500.327] +/A << /S /GoTo /D (subsection.8.62.4) >> +>> +endobj +6002 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 473.888 210.557 482.659] +/A << /S /GoTo /D (subsubsection.8.62.4.1) >> +>> +endobj +6003 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 456.013 206.334 464.578] +/A << /S /GoTo /D (subsubsection.8.62.4.2) >> +>> +endobj +6004 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 436.435 201.277 446.703] +/A << /S /GoTo /D (subsubsection.8.62.4.3) >> +>> +endobj +6005 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 418.56 238.616 428.829] +/A << /S /GoTo /D (subsection.8.62.5) >> +>> +endobj +6006 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 402.389 217.532 411.16] +/A << /S /GoTo /D (subsubsection.8.62.5.1) >> +>> +endobj +6007 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 382.811 240.887 393.286] +/A << /S /GoTo /D (section.8.63) >> +>> +endobj +6008 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 366.64 274.131 375.205] +/A << /S /GoTo /D (subsection.8.63.1) >> +>> +endobj +6009 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 346.955 215.362 357.537] +/A << /S /GoTo /D (subsubsection.8.63.1.1) >> +>> +endobj +6010 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 330.891 258.682 339.456] +/A << /S /GoTo /D (subsection.8.63.2) >> +>> +endobj +6011 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 311.313 231.305 321.788] +/A << /S /GoTo /D (subsubsection.8.63.2.1) >> +>> +endobj +6012 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 295.142 230.256 303.913] +/A << /S /GoTo /D (subsubsection.8.63.2.2) >> +>> +endobj +6013 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 275.564 252.678 286.038] +/A << /S /GoTo /D (section.8.64) >> +>> +endobj +6014 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 257.689 221.939 267.958] +/A << /S /GoTo /D (subsection.8.64.1) >> +>> +endobj +6015 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 241.518 303.298 250.289] +/A << /S /GoTo /D (subsection.8.64.2) >> +>> +endobj +6016 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 221.94 256.894 232.208] +/A << /S /GoTo /D (subsubsection.8.64.2.1) >> +>> +endobj +6017 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 205.769 274.131 214.334] +/A << /S /GoTo /D (subsection.8.64.3) >> +>> +endobj +6018 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 186.083 229.807 196.666] +/A << /S /GoTo /D (subsubsection.8.64.3.1) >> +>> +endobj +6019 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 168.316 238.616 178.585] +/A << /S /GoTo /D (subsection.8.64.4) >> +>> +endobj +6020 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 150.334 245.032 160.71] +/A << /S /GoTo /D (subsubsection.8.64.4.1) >> +>> +endobj +6021 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 134.271 206.334 142.836] +/A << /S /GoTo /D (subsubsection.8.64.4.2) >> +>> +endobj +6022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 116.396 228.31 124.961] +/A << /S /GoTo /D (subsubsection.8.64.4.3) >> +>> +endobj +6023 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 98.522 230.982 107.293] +/A << /S /GoTo /D (subsubsection.8.64.4.4) >> +>> +endobj +6024 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 69.758 170 78.403] +/A << /S /GoTo /D (chapter.9) >> +>> +endobj +6026 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6066 0 obj +<< +/Length 1270 +/Filter /FlateDecode +>> +stream +x[Mw8WX.|i&2=sVNmh8̉ +wu}yaư=Ao -8 F$Gr$Z(_p^3W<SAFQ&q,C:G +޽.q i _C&DkE#Sl@E"qxjvA%_ĥD)~R|@DBzg~҇,0Uzb~,^*|6;L4kq"s_9s0Xƣ?bIţ֕DH0XֺBDz1<>M*[0o(x`ġܕCo\ZG,*<z+PQո +okك?51'kq+j]4O8+D Ek%=!1q"P N: +A>XK8̊ 6^$QcV%LWbݧ( +> +endobj +6025 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 758.07 429.5 768.652] +/A << /S /GoTo /D (section.9.1) >> +>> +endobj +6029 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 740.339 419.117 750.813] +/A << /S /GoTo /D (section.9.2) >> +>> +endobj +6030 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 722.5 445.038 732.975] +/A << /S /GoTo /D (section.9.3) >> +>> +endobj +6031 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 704.662 461.491 715.136] +/A << /S /GoTo /D (section.9.4) >> +>> +endobj +6032 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 686.823 435.884 697.298] +/A << /S /GoTo /D (section.9.5) >> +>> +endobj +6033 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 668.877 525.406 679.46] +/A << /S /GoTo /D (section.9.6) >> +>> +endobj +6069 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 657.03 271.202 667.504] +/A << /S /GoTo /D (section.9.6) >> +>> +endobj +6034 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 639.191 221.939 649.46] +/A << /S /GoTo /D (subsection.9.6.1) >> +>> +endobj +6035 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 621.245 525.406 631.827] +/A << /S /GoTo /D (section.9.7) >> +>> +endobj +6070 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 611.101 244.787 619.872] +/A << /S /GoTo /D (section.9.7) >> +>> +endobj +6036 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 591.559 221.939 601.827] +/A << /S /GoTo /D (subsection.9.7.1) >> +>> +endobj +6037 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 573.721 276.373 583.989] +/A << /S /GoTo /D (subsection.9.7.2) >> +>> +endobj +6038 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 555.775 255.675 566.357] +/A << /S /GoTo /D (subsubsection.9.7.2.1) >> +>> +endobj +6039 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 537.936 251.685 548.518] +/A << /S /GoTo /D (subsubsection.9.7.2.2) >> +>> +endobj +6040 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 521.909 248.708 530.68] +/A << /S /GoTo /D (subsubsection.9.7.2.3) >> +>> +endobj +6041 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 502.367 247.471 512.635] +/A << /S /GoTo /D (subsubsection.9.7.2.4) >> +>> +endobj +6042 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 484.421 525.406 495.003] +/A << /S /GoTo /D (section.9.8) >> +>> +endobj +6071 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 474.277 260.828 483.048] +/A << /S /GoTo /D (section.9.8) >> +>> +endobj +6043 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 454.735 235.693 465.209] +/A << /S /GoTo /D (subsection.9.8.1) >> +>> +endobj +6044 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 438.6 222.607 447.164] +/A << /S /GoTo /D (subsubsection.9.8.1.1) >> +>> +endobj +6045 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 419.058 252.545 429.532] +/A << /S /GoTo /D (subsubsection.9.8.1.2) >> +>> +endobj +6046 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 401.111 525.406 411.694] +/A << /S /GoTo /D (section.9.9) >> +>> +endobj +6072 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 390.967 256.578 399.738] +/A << /S /GoTo /D (section.9.9) >> +>> +endobj +6047 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 371.318 525.406 381.9] +/A << /S /GoTo /D (section.9.10) >> +>> +endobj +6073 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 359.47 261.734 369.945] +/A << /S /GoTo /D (section.9.10) >> +>> +endobj +6048 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 341.524 525.406 352.106] +/A << /S /GoTo /D (section.9.11) >> +>> +endobj +6074 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 329.569 293.465 340.151] +/A << /S /GoTo /D (section.9.11) >> +>> +endobj +6049 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 311.838 276.373 322.106] +/A << /S /GoTo /D (subsection.9.11.1) >> +>> +endobj +6050 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 294 249.434 304.474] +/A << /S /GoTo /D (subsubsection.9.11.1.1) >> +>> +endobj +6051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 276.161 288.715 286.636] +/A << /S /GoTo /D (subsubsection.9.11.1.2) >> +>> +endobj +6052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 258.215 238.011 268.797] +/A << /S /GoTo /D (subsubsection.9.11.1.3) >> +>> +endobj +6053 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 242.188 221.289 250.752] +/A << /S /GoTo /D (subsubsection.9.11.1.4) >> +>> +endobj +6054 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 222.646 225.432 232.914] +/A << /S /GoTo /D (subsubsection.9.11.1.5) >> +>> +endobj +6055 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 204.699 258.158 215.075] +/A << /S /GoTo /D (subsubsection.9.11.1.6) >> +>> +endobj +6056 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 186.861 252.958 197.237] +/A << /S /GoTo /D (subsubsection.9.11.1.7) >> +>> +endobj +6057 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 169.13 242.485 179.605] +/A << /S /GoTo /D (subsubsection.9.11.1.8) >> +>> +endobj +6058 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 151.184 525.406 161.766] +/A << /S /GoTo /D (section.9.12) >> +>> +endobj +6075 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 139.229 280.033 149.811] +/A << /S /GoTo /D (section.9.12) >> +>> +endobj +6059 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 121.498 235.693 131.973] +/A << /S /GoTo /D (subsection.9.12.1) >> +>> +endobj +6060 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 105.363 222.607 113.928] +/A << /S /GoTo /D (subsubsection.9.12.1.1) >> +>> +endobj +6061 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 85.821 252.545 96.296] +/A << /S /GoTo /D (subsubsection.9.12.1.2) >> +>> +endobj +6062 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 67.983 276.373 78.251] +/A << /S /GoTo /D (subsection.9.12.2) >> +>> +endobj +6064 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6112 0 obj +<< +/Length 1146 +/Filter /FlateDecode +>> +stream +x[Mw8Wh dI3I3'Icl2]P[q8c`WNNcX!w1@q~H8%@(9q6(eN;zAu:t!WJBpҹ}J|PCF}ӎ@JˊK[}VLdR1D +b Į(rzz>ru s7c=Li\ xBHcذ|yiIC,~b1 +$ėǑrz'SZ8i:dMX?0]tSw$:MW8#H!'bR9:w1raq*a<i)JҾqTWQT26F1(1xŀ'|eyN cuJ3zQ`%q!8L)Hk}ksuTH*#V̱(sNuFl:0MGz{bBR`=p1AbGa6qlۧ~ f} 7!]) K<%qvX[f6f᫬F^[ 7=jA G˜lj/ܻ|t*\YO&OLaEL_ \ƵEp/|eU +q88-j_Ӊ<<$,HYP5NrQ0gR$)+ˏ'wrK:qs+"ͧqs@5LT7616i6cCVKKDXso AJ*imxM?L1Mxw.l"+܌\(HiU d%+CG;D[dE'X \ZSS.Ӯ8f0+XűUxw|X.$:^v +endstream +endobj +6111 0 obj +<< +/Type /Page +/Contents 6112 0 R +/Resources 6110 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6076 0 R +/Annots [ 6063 0 R 6077 0 R 6113 0 R 6078 0 R 6079 0 R 6080 0 R 6081 0 R 6082 0 R 6114 0 R 6083 0 R 6084 0 R 6085 0 R 6086 0 R 6087 0 R 6115 0 R 6088 0 R 6089 0 R 6116 0 R 6090 0 R 6091 0 R 6092 0 R 6093 0 R 6117 0 R 6094 0 R 6095 0 R 6096 0 R 6118 0 R 6097 0 R 6098 0 R 6119 0 R 6099 0 R 6120 0 R 6100 0 R 6101 0 R 6102 0 R 6103 0 R 6104 0 R 6105 0 R 6121 0 R 6106 0 R 6107 0 R 6108 0 R ] +>> +endobj +6063 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 759.881 254.222 768.652] +/A << /S /GoTo /D (subsubsection.9.12.2.1) >> +>> +endobj +6077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 739.864 525.406 750.446] +/A << /S /GoTo /D (section.9.13) >> +>> +endobj +6113 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 729.72 277.272 738.491] +/A << /S /GoTo /D (section.9.13) >> +>> +endobj +6078 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 709.81 221.939 720.078] +/A << /S /GoTo /D (subsection.9.13.1) >> +>> +endobj +6079 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 691.604 235.693 702.078] +/A << /S /GoTo /D (subsection.9.13.2) >> +>> +endobj +6080 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 675.101 222.607 683.666] +/A << /S /GoTo /D (subsubsection.9.13.2.1) >> +>> +endobj +6081 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 655.191 252.545 665.666] +/A << /S /GoTo /D (subsubsection.9.13.2.2) >> +>> +endobj +6082 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 636.877 525.406 647.46] +/A << /S /GoTo /D (section.9.14) >> +>> +endobj +6114 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 626.733 276.465 635.504] +/A << /S /GoTo /D (section.9.14) >> +>> +endobj +6083 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 606.824 235.693 617.298] +/A << /S /GoTo /D (subsection.9.14.1) >> +>> +endobj +6084 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 588.51 208.656 598.886] +/A << /S /GoTo /D (subsubsection.9.14.1.1) >> +>> +endobj +6085 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 572.115 222.607 580.68] +/A << /S /GoTo /D (subsubsection.9.14.1.2) >> +>> +endobj +6086 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 552.205 252.545 562.68] +/A << /S /GoTo /D (subsubsection.9.14.1.3) >> +>> +endobj +6087 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 533.891 525.406 544.473] +/A << /S /GoTo /D (section.9.15) >> +>> +endobj +6115 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 521.936 316.194 532.518] +/A << /S /GoTo /D (section.9.15) >> +>> +endobj +6088 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 503.838 221.939 514.106] +/A << /S /GoTo /D (subsection.9.15.1) >> +>> +endobj +6089 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 485.524 525.406 496.106] +/A << /S /GoTo /D (section.9.16) >> +>> +endobj +6116 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 475.38 278.446 484.151] +/A << /S /GoTo /D (section.9.16) >> +>> +endobj +6090 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 455.47 235.693 465.944] +/A << /S /GoTo /D (subsection.9.16.1) >> +>> +endobj +6091 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 437.156 208.656 447.532] +/A << /S /GoTo /D (subsubsection.9.16.1.1) >> +>> +endobj +6092 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 420.761 222.607 429.326] +/A << /S /GoTo /D (subsubsection.9.16.1.2) >> +>> +endobj +6093 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 400.744 525.406 411.326] +/A << /S /GoTo /D (section.9.17) >> +>> +endobj +6117 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 388.896 270.036 399.371] +/A << /S /GoTo /D (section.9.17) >> +>> +endobj +6094 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 370.69 235.693 381.165] +/A << /S /GoTo /D (subsection.9.17.1) >> +>> +endobj +6095 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 354.187 222.607 362.752] +/A << /S /GoTo /D (subsubsection.9.17.1.1) >> +>> +endobj +6096 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 334.17 525.406 344.752] +/A << /S /GoTo /D (section.9.18) >> +>> +endobj +6118 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 324.026 279.908 332.797] +/A << /S /GoTo /D (section.9.18) >> +>> +endobj +6097 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 304.116 221.939 314.385] +/A << /S /GoTo /D (subsection.9.18.1) >> +>> +endobj +6098 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 285.802 525.406 296.385] +/A << /S /GoTo /D (section.9.19) >> +>> +endobj +6119 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 275.34 301.202 284.429] +/A << /S /GoTo /D (section.9.19) >> +>> +endobj +6099 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 255.641 525.406 266.223] +/A << /S /GoTo /D (section.9.20) >> +>> +endobj +6120 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 245.497 264.235 254.268] +/A << /S /GoTo /D (section.9.20) >> +>> +endobj +6100 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 225.587 276.373 235.856] +/A << /S /GoTo /D (subsection.9.20.1) >> +>> +endobj +6101 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 207.273 269.617 217.856] +/A << /S /GoTo /D (subsubsection.9.20.1.1) >> +>> +endobj +6102 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 190.878 268.398 199.649] +/A << /S /GoTo /D (subsubsection.9.20.1.2) >> +>> +endobj +6103 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 170.969 251.685 181.443] +/A << /S /GoTo /D (subsubsection.9.20.1.3) >> +>> +endobj +6104 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 152.762 265.457 163.237] +/A << /S /GoTo /D (subsubsection.9.20.1.4) >> +>> +endobj +6105 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 134.449 525.406 145.031] +/A << /S /GoTo /D (section.9.21) >> +>> +endobj +6121 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 122.493 291.223 133.076] +/A << /S /GoTo /D (section.9.21) >> +>> +endobj +6106 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 104.395 235.693 114.869] +/A << /S /GoTo /D (subsection.9.21.1) >> +>> +endobj +6107 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 86.081 208.656 96.457] +/A << /S /GoTo /D (subsubsection.9.21.1.1) >> +>> +endobj +6108 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 67.983 252.545 78.457] +/A << /S /GoTo /D (subsubsection.9.21.1.2) >> +>> +endobj +6110 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6151 0 obj +<< +/Length 1194 +/Filter /FlateDecode +>> +stream +xMw6 +-텍-eBfNfh"c'`S,+YBfbBH$۲ѽ~ޫ+[` ej(䜀5`(8!G`0^| JP9- +vlJMl]H\[A/bMڽ|f+#CaGaJ+_ )t^kel@j 4ޔ1rG> +endobj +6109 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 758.07 525.406 768.652] +/A << /S /GoTo /D (section.9.22) >> +>> +endobj +6152 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 747.926 241.021 756.697] +/A << /S /GoTo /D (section.9.22) >> +>> +endobj +6122 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 728.305 525.406 738.887] +/A << /S /GoTo /D (section.9.23) >> +>> +endobj +6153 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 718.161 255.349 726.932] +/A << /S /GoTo /D (section.9.23) >> +>> +endobj +6123 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 698.54 525.406 709.123] +/A << /S /GoTo /D (section.9.24) >> +>> +endobj +6154 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 688.396 235.767 697.167] +/A << /S /GoTo /D (section.9.24) >> +>> +endobj +6124 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 668.883 221.939 679.152] +/A << /S /GoTo /D (subsection.9.24.1) >> +>> +endobj +6125 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 650.966 525.406 661.548] +/A << /S /GoTo /D (section.9.25) >> +>> +endobj +6155 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 639.011 275.819 649.593] +/A << /S /GoTo /D (section.9.25) >> +>> +endobj +6126 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 621.309 221.939 631.578] +/A << /S /GoTo /D (subsection.9.25.1) >> +>> +endobj +6127 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 603.392 525.406 613.974] +/A << /S /GoTo /D (section.9.26) >> +>> +endobj +6156 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 591.545 276.958 602.019] +/A << /S /GoTo /D (section.9.26) >> +>> +endobj +6128 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.719 573.735 235.693 584.21] +/A << /S /GoTo /D (subsection.9.26.1) >> +>> +endobj +6129 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.591 555.926 252.545 566.4] +/A << /S /GoTo /D (subsubsection.9.26.1.1) >> +>> +endobj +6130 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 538.009 525.406 548.591] +/A << /S /GoTo /D (section.9.27) >> +>> +endobj +6157 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 526.161 337.328 536.636] +/A << /S /GoTo /D (section.9.27) >> +>> +endobj +6131 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 508.244 525.406 518.826] +/A << /S /GoTo /D (section.9.28) >> +>> +endobj +6158 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 498.1 326.335 506.871] +/A << /S /GoTo /D (section.9.28) >> +>> +endobj +6132 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 478.479 525.406 489.061] +/A << /S /GoTo /D (section.9.29) >> +>> +endobj +6159 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 466.524 341.784 477.106] +/A << /S /GoTo /D (section.9.29) >> +>> +endobj +6133 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 448.715 525.406 459.297] +/A << /S /GoTo /D (section.9.30) >> +>> +endobj +6160 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 436.759 330.325 447.342] +/A << /S /GoTo /D (section.9.30) >> +>> +endobj +6134 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 418.95 525.406 429.532] +/A << /S /GoTo /D (section.9.31) >> +>> +endobj +6161 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 408.806 330.101 417.577] +/A << /S /GoTo /D (section.9.31) >> +>> +endobj +6135 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 389.185 525.406 399.767] +/A << /S /GoTo /D (section.9.32) >> +>> +endobj +6162 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 379.041 390.981 387.812] +/A << /S /GoTo /D (section.9.32) >> +>> +endobj +6136 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 359.421 525.406 370.003] +/A << /S /GoTo /D (section.9.33) >> +>> +endobj +6163 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 349.277 386.498 358.048] +/A << /S /GoTo /D (section.9.33) >> +>> +endobj +6137 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 329.656 525.406 340.238] +/A << /S /GoTo /D (section.9.34) >> +>> +endobj +6164 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 319.512 392.927 328.283] +/A << /S /GoTo /D (section.9.34) >> +>> +endobj +6138 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 299.891 525.406 310.473] +/A << /S /GoTo /D (section.9.35) >> +>> +endobj +6165 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 289.747 388.444 298.518] +/A << /S /GoTo /D (section.9.35) >> +>> +endobj +6139 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 270.127 525.406 280.709] +/A << /S /GoTo /D (section.9.36) >> +>> +endobj +6166 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 259.983 381.961 268.754] +/A << /S /GoTo /D (section.9.36) >> +>> +endobj +6140 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 240.362 525.406 250.944] +/A << /S /GoTo /D (section.9.37) >> +>> +endobj +6167 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 230.218 377.478 238.989] +/A << /S /GoTo /D (section.9.37) >> +>> +endobj +6141 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 210.705 487.906 221.18] +/A << /S /GoTo /D (section.9.38) >> +>> +endobj +6142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 192.895 477.433 203.37] +/A << /S /GoTo /D (section.9.39) >> +>> +endobj +6143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 175.086 525.406 185.561] +/A << /S /GoTo /D (section.9.40) >> +>> +endobj +6168 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 164.915 137.121 173.399] +/A << /S /GoTo /D (section.9.40) >> +>> +endobj +6144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 145.321 498.513 155.796] +/A << /S /GoTo /D (section.9.41) >> +>> +endobj +6145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 127.512 525.406 137.986] +/A << /S /GoTo /D (section.9.42) >> +>> +endobj +6169 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 117.341 129.15 125.825] +/A << /S /GoTo /D (section.9.42) >> +>> +endobj +6146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 97.747 525.406 108.222] +/A << /S /GoTo /D (section.9.43) >> +>> +endobj +6170 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 87.496 129.15 96.06] +/A << /S /GoTo /D (section.9.43) >> +>> +endobj +6147 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 67.983 472.555 78.457] +/A << /S /GoTo /D (section.9.44) >> +>> +endobj +6149 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6176 0 obj +<< +/Length 481 +/Filter /FlateDecode +>> +stream +xڭSMO0W- 4n( ۸qZ-q t(D2"GIJ$5łD˸).)j~͋yXt\D" @E)(Chy t9kx9˝E"AYmAkhU+pa1I*@dzIvdM}Z666+Yڴ%ٴmm}Nۅ&!<ƫ6ITI54kOov^xL1NRy0M)QÕ:MmH|cEWW"9H]jߤ;mejj. )aX3H1W4{b+͠Z.n|f5eJ@&RL,cehFS[$С~ D  !Z'f0S v_?ƿؽ8ԇ mq% +endstream +endobj +6175 0 obj +<< +/Type /Page +/Contents 6176 0 R +/Resources 6174 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6076 0 R +/Annots [ 6148 0 R 6171 0 R 6172 0 R 6173 0 R ] +>> +endobj +6148 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 758.177 475.317 768.652] +/A << /S /GoTo /D (section.9.45) >> +>> +endobj +6171 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 740.553 498.728 751.028] +/A << /S /GoTo /D (section.9.46) >> +>> +endobj +6172 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.81 722.929 511.37 733.403] +/A << /S /GoTo /D (section.9.47) >> +>> +endobj +6173 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 697.119 95.148 705.572] +/A << /S /GoTo /D (section*.240) >> +>> +endobj +6174 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6190 0 obj +<< +/Length 1749 +/Filter /FlateDecode +>> +stream +xڝXMs8 WhsYyR-94dmSO=0cED5Җ;I{M <<8WGQC\\~:Bg~_d3w/ +7;gGVE~* /M0?2$J\6+\G-#9 $w&aj( ]7p;z3YuQ'!i-qrOV'^L.8=%V~&am&q>NEgYI7:Tr6 %a5^̭9kH5I| XE5GdtSph%q-JWxy2g䅡?MSr( 'M`1N3e-?p|s񾧑S+j9Z(0(90:Flj^sn=M| `>:[vF>I L(vAc=bh0?ݥX,z.#,sĊrTl7zs +b%[VM{s(V6?4+8,Iܷ:Eu~KeN ZS**YD!ٻ}@Ygf "6bˡiG]⎊Ӭf2?)an#;FS jI*1!0lOy-5jN0¢Q8V3Zv_`Zn;,̗x}w9D4SksFjiVa  NjE(̡E<^k9T<ü[*J΢}Xܑ*)l3qN=ɞ+ +/Jr:i*/F[qqno~V@Q6o7m>$p#m'PL4}tוiU![[Rx!@IR31c[kI't-%YY*n,%ƶK]MԻQퟫYۏwq;M+q<tϐh1O,=I +Z"r=Bh +#Z!%ZK˖?H]uLHg(q^gKj29mu=n}I[N(p~<jD^Ysbk 3LR&7lSDCD6 8Bwڣdw ~C*(e? _/eO0SxG=(Igrox t! 3(۟8yVJ +endstream +endobj +6189 0 obj +<< +/Type /Page +/Contents 6190 0 R +/Resources 6188 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6076 0 R +/Annots [ 6177 0 R 6178 0 R 6179 0 R 6180 0 R 6181 0 R 6182 0 R 6183 0 R 6184 0 R 6185 0 R 6186 0 R 6187 0 R ] +>> +endobj +6177 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 530.336 107.728 540.918] +/Subtype/Link/A<> +>> +endobj +6178 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [449.593 530.336 479.999 540.918] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6179 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 500.756 102.742 511.339] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6180 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [243.291 429.642 317.014 440.224] +/Subtype/Link/A<> +>> +endobj +6181 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.335 429.642 426.741 440.224] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6182 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [223.37 356.383 338.936 365.125] +/Subtype/Link/A<> +>> +endobj +6183 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.316 294.767 253.722 305.349] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6184 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [468.533 186.492 498.94 197.074] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6185 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [200.776 157.02 316.343 167.288] +/Subtype/Link/A<> +>> +endobj +6186 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [161.944 99.389 265.075 109.918] +/A << /S /GoTo /D (general) >> +>> +endobj +6187 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [234.525 81.765 505.509 92.347] +/Subtype/Link/A<> +>> +endobj +6191 0 obj +<< +/D [6189 0 R /XYZ 69.866 801.979 null] +>> +endobj +2 0 obj +<< +/D [6189 0 R /XYZ 70.866 771.024 null] +>> +endobj +6192 0 obj +<< +/D [6189 0 R /XYZ 70.866 580.376 null] +>> +endobj +6193 0 obj +<< +/D [6189 0 R /XYZ 70.866 579.67 null] +>> +endobj +6195 0 obj +<< +/D [6189 0 R /XYZ 70.866 235.826 null] +>> +endobj +6196 0 obj +<< +/D [6189 0 R /XYZ 70.866 138.994 null] +>> +endobj +6188 0 obj +<< +/Font << /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6201 0 obj +<< +/Length 266 +/Filter /FlateDecode +>> +stream +xڕ;O0w;C͵ TaC nR{abgŠxruoX. Zqk lנq7U۱4>i҆-F9䛈FPk +dEn g4)ʂg},MD8[\F +.J#q +]8TC>{!=\ƏMj7 +*!-Qn$#ڵ9a8%ge8~|sdbei{ +endstream +endobj +6200 0 obj +<< +/Type /Page +/Contents 6201 0 R +/Resources 6199 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6076 0 R +>> +endobj +6202 0 obj +<< +/D [6200 0 R /XYZ 69.866 801.979 null] +>> +endobj +6199 0 obj +<< +/Font << /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6213 0 obj +<< +/Length 1563 +/Filter /FlateDecode +>> +stream +xڝWKo8WT +%YMݢEѤX,=02cEC g(?"gDy7#,ܜ 9;;. .lCP /EIpW+L ɿwqL$JE L,F55k~+6/u:hgYD"#MZ=ע v?&Ih5ID|XA*Am:d‡+Y,9l +g 0S+L6:8qUYYD1#`EQ$s^~mj+P#I&ŽxNu8l}"4G6'~/Mm,dF LӨ9oZJZ jCħVܴIP̯5f=TYK[tAG}dC4.BLQ+^}:a9ZVMM9gNrZibvzWArw(Aŗ<L>qa"Fw]iY]I4j~Mj N-Ս\c{ٽ"2i7sCYٞ).2:XD0Q^}s,Zm%+>/W1 b]AF?)?j\\][DAQQe#Iw?%\vM?|3;,f Q5$mct |%A%!BbN@dҽeSZ㵄oW\MH/:XF.h8%6cdRtjȺ6]ƛ;!~KGi'T뮏Q Ls!m'zJc`IY$ 6e504Ja\\H$~vl?RxQPOb4RW#RfkKt +:k-́JTSW! <|@aeUAZG/5i~g]q78.1AFp +э$t!a=IR~D mgު;΃{ϵyI[ۋ^A<GBkRYe5CDw.$tvqmUˎOl:?&@;M6On'MҖ0V=TNH@99nwʚn-ƺޛce^enGb%W3 ꎯ0?C,ouV9#{boGEY! +9'$^v(=r'},]T{q2rP `u@jΙ^6_7{ Գ&)D9ٶVA5g6o* aKmoyiqA8zJvq$Ko7#m;9^E Qzu{;Iyt5]vD?chT-#.bÏ|P{=xq NI46"~C0A?mrNw|=Kwwgqv +endstream +endobj +6212 0 obj +<< +/Type /Page +/Contents 6213 0 R +/Resources 6211 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6218 0 R +/Annots [ 6203 0 R 6204 0 R 6205 0 R 6206 0 R 6207 0 R 6208 0 R 6209 0 R ] +>> +endobj +6203 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.903 479.302 371.31 489.884] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6204 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [372.846 373.209 403.253 383.791] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6205 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [249.22 361.362 472.383 371.836] +/Subtype/Link/A<> +>> +endobj +6206 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [264.338 227.575 294.744 238.157] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6207 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [232.918 197.31 420.216 207.892] +/Subtype/Link/A<> +>> +endobj +6208 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [270.029 173.814 325.82 184.396] +/Subtype/Link/A<> +>> +endobj +6209 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [157.665 150.779 297.142 160.9] +/Subtype/Link/A<> +>> +endobj +6214 0 obj +<< +/D [6212 0 R /XYZ 69.866 801.979 null] +>> +endobj +6 0 obj +<< +/D [6212 0 R /XYZ 70.866 771.024 null] +>> +endobj +6198 0 obj +<< +/D [6212 0 R /XYZ 70.866 585.06 null] +>> +endobj +6215 0 obj +<< +/D [6212 0 R /XYZ 359.505 567.715 null] +>> +endobj +10 0 obj +<< +/D [6212 0 R /XYZ 70.866 545.105 null] +>> +endobj +6216 0 obj +<< +/D [6212 0 R /XYZ 70.866 415.647 null] +>> +endobj +6217 0 obj +<< +/D [6212 0 R /XYZ 70.866 268.02 null] +>> +endobj +6211 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6235 0 obj +<< +/Length 3380 +/Filter /FlateDecode +>> +stream +xڽZIsWL)c8 v ʁblQ$\)U L "y[c#/=o5al\|}sqMlvEn;>6qّ7?Yo7~ف4"QjrZgIU]…lO?;874 Bſ/ӱ1\ױ0lGuVnaVYiUֵ/[h+|JƳ7‡7`@hnO=}A-n;֗"S[7.cwҊPWL1 i ]êķH{sJ]/:Eԇ"cn: +;axA"Ϟi6uZUVT Lz7Ѳl`$crA ?Gt5Z~OE-OD:=0-1}c u-@Sv+SsI Wr|]`ߘw`` G&{IvOWWQUW5o̒~R8JXht=4'Ӽ gXuu]z7 Dꐅ] u*I;vᩘ<^@'|"EJW)y%&"z{oacD1YvFj!ATk`pZRzIqGr^b Iحn@Ru +)KOI Z@) :vsMu+zEq5Ћ]0^CҌ%Duw9 `;d +rēt9F^|r[+c:m=p[tu9=uk)ĝ~c&BS cpKLQ񲼜p4M\ ش|jZۅ}avM;}{>Gn6O'a;WR澓nw!ݮ0 Zͻ VccƔ̩kLUd:.M8A$Sw7Yx5Jfr.Z)+fǡ.@0yHhEd'JeƐXl*z4F+G~`^$7%_ј#Bi@s1(AB%RW"{1DT3I8N吭^D7. "Ig{+x,qȐ~?30ⲯD-+ditLߥE2Ϻ2 ȢD^Yd}+ @K\kkay@Q8CFk/0u@pg!9-14]^f܍aV__UQ1bD _q&h/Gy‚2>\MzkƝF5z ]N&u ɀtp')Jvn KČêfqcfSѝoA,1,X! +!'Z>hSTeܱCU +2[U),r{Q2 [a< 3`NK=IU&R$)g!Z #fɡ:-gIꌆHJntF 'ϸ3ٷاڭk7<ۗk297FcQ)yɛ+P +!{K/r %F[ĎKB߀: #PSZ漝(+̧[%u!Y&C@Ip'ijC(?Bl%Y/C9/& .E@{Ox1.t> +endobj +6210 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.158 732.765 181.565 743.347] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6219 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [264.248 703.646 499.366 713.768] +/Subtype/Link/A<> +>> +endobj +6220 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [149.122 685.561 605.411 696.144] +/Subtype/Link/A<> +>> +endobj +6221 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 641.438 108.324 655.722] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6222 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [404.441 601.305 434.848 611.887] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6223 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.385 571.725 373.791 582.307] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6224 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.974 542.253 444.039 552.728] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6225 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.855 518.235 254.261 528.818] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6226 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [451.84 324.57 525.406 335.152] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +6240 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 312.722 130.152 323.197] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +6227 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 283.143 193.74 293.617] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +6228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.378 265.411 501.799 275.993] +/A << /S /GoTo /D (class_photon_network_a62c512b8fe143fac07ff55e849aa48d5) >> +>> +endobj +6229 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.206 241.5 285.195 252.082] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +6230 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [256.047 91.785 319.377 102.367] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6231 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 79.83 525.406 90.412] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6236 0 obj +<< +/D [6234 0 R /XYZ 69.866 801.979 null] +>> +endobj +6237 0 obj +<< +/D [6234 0 R /XYZ 70.866 775.009 null] +>> +endobj +6238 0 obj +<< +/D [6234 0 R /XYZ 70.866 663.24 null] +>> +endobj +6239 0 obj +<< +/D [6234 0 R /XYZ 345.25 485.978 null] +>> +endobj +14 0 obj +<< +/D [6234 0 R /XYZ 70.866 465.512 null] +>> +endobj +6233 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6266 0 obj +<< +/Length 2598 +/Filter /FlateDecode +>> +stream +xڭY[oF~ P]}:ku 7XbLqT^EPDvss9#z\'К88۹5vI[ĞuZwxc<{+ 'NMZ?o~?`̵ę5[}r[L'\Za8Q@;~>ρ+Ĺa?`s\C/еU9GIq-e^yW&24 &jPBnR +53\%uFe)GJf - O N56MC7:ߍ/`4 ּ7<:s2N*$|[S@tǁ9Įk_8Gd Gπ718\\0:>!q /&!:h `1_sV*4ڄ@)7hG zE>ڛ<b~?L IZ/AAR3e:5DnʂjSJq&+)f5:iM8ytL6=qr8CI\e؀@A]QD9Аp&kCbBBē^~Hֺɽd)(~fRLզaL!A^,j3_O/X&_鎪+`;$YlŇ 5g  "4B-Sl@ }r(^&-A E A1{SR6a,XR,F/^ڜN !q%.,ővI6[$P*) W^(L7Oyl85eg#6Ѧ˙,UmgfF9ė :R|\iLIoPhl~yo(i2{] zLzPg*B.ܠgv͐P_4Hr: U&f اϚG%agܘQ7)Tr*q*0Y<8C =p2Y [<9?OEwxkN$ ǜN`TJOfmw&ȴVF:+s]_-K㷺3^:8 +Zΐ +by&rƮ7~QIg|>>!7;eq2{bq~CZ _XciFe yFc-p`VֻT#4~DV@DSGCSՉpUu9< +u>y;|R 1ͧ'wߑ +F`<*ST3vp_>4vK0z&aqD@e"jZr+a,Qv!Mdl7V&hܥ:C`kh94@HgPi^"I"[w+Tu${).0(-v@\ ex50#o!?)TvB=Lwo[lkRx$sr7G`‡yTvNѻO. "k#kNH0!bmO+zg$f e)][[qWC'rW:OǻWmzx3OGm1=zR&;5O|zcC> +endobj +6232 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [87.811 732.951 118.218 743.426] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6246 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.7 685.64 273.107 696.222] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6247 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [369.076 673.684 514.53 684.06] +/A << /S /GoTo /D (class_photon_network_ac6b98cecd29a9ced8ec4a6ae78908dfc) >> +>> +endobj +6248 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [243.406 460.312 306.737 470.895] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6249 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.529 406.242 142.996 413.769] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +6250 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.662 406.242 235.05 413.769] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6251 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.242 406.242 285.262 413.769] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +6252 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.789 301.964 208.776 314.199] +/A << /S /GoTo /D (class_room) >> +>> +endobj +6253 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [79.84 247.557 110.247 258.139] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6254 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 211.992 92.691 222.381] +/A << /S /GoTo /D (class_room) >> +>> +endobj +6255 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 186.734 95.775 197.209] +/A << /S /GoTo /D (class_room) >> +>> +endobj +6256 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 108.647 109.521 116.173] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +6257 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.662 108.647 218.313 116.173] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +6258 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 84.736 117.89 92.262] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +6259 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [195.399 84.736 243.419 92.262] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +6260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 68.796 113.705 76.322] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) >> +>> +endobj +6261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.136 68.796 255.972 76.322] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +6262 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.164 68.796 289.446 76.322] +/A << /S /GoTo /D (class_typed_lobby_a127f509c2991db15c8d1801ec9fe8b35) >> +>> +endobj +6267 0 obj +<< +/D [6265 0 R /XYZ 69.866 801.979 null] +>> +endobj +6268 0 obj +<< +/D [6265 0 R /XYZ 70.866 773.016 null] +>> +endobj +6269 0 obj +<< +/D [6265 0 R /XYZ 70.866 640.972 null] +>> +endobj +6270 0 obj +<< +/D [6265 0 R /XYZ 70.866 319.302 null] +>> +endobj +6271 0 obj +<< +/D [6265 0 R /XYZ 70.866 226.799 null] +>> +endobj +6264 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6295 0 obj +<< +/Length 2885 +/Filter /FlateDecode +>> +stream +xڽr]_ҋ*@Nw-{KN*eH@ ,+{\RsM9Y;{y}m/b; v9v(]\/VbxpߩJrzv&m +]!ٛ?\vn3o" ^' w ?Xہq:3sc\#ji#:Os^+jVZR-=R߃Vbֻ\Jp=^Bϳ.^_'rOK7Ul'n) PVMQ +xd.AX6NxHI,F|Wk'A|ﳯT?8\,8o^P IM1цoK/ҲEy@r 'yK<@vOq ne(nuF<)Ge͖z‹5d&,y}<bwx";/^ *ݥ d2XNUMn Lx~{;ZyQmfY6;t 끹־y1mQ6NhؗŤX3efbUA{mF*7D'Y+@p"BAfkw3ݖ9i`/imRRR ^es>B09 +DZ ..`F<uzjs?V^zN:Yb|%htV%H!#Q?T7ɨN$\vc#=P8aY`|J +U=3!lpSRJgTObu~e>f4]=jxO|'̶^{fEXXlGHȊȍi㸌2 +:@śbȔ>s.@G{ܥM58@w|j: +bW4s{\Aġ'9Q?#O1y2U̍j2zg>s1IVy|`CpY?JTtb{WiYޤQ_~,ښ8br3d"\Ci&ldrS!˜ ȰgV@<0q+(oeщf_=o"$L8ۿRW 0*:^PFmf73 :o!R{PVrDt'$L^)CrF耢P2!nZMz"SLvCA*sMO@%9geqkHH{/.xJwS FWe[{[/J<5{Lm)4EU7*E9 ,):CA3s0Eߊeא8Һ(9_Z&CĆl"g߇=*v!|p >x)@apN}ۛߑ#ADc@H%c(Րc[㋲![?Yd P.BIZ` 9n4kZӍna;#χW~+U<=u.# I¥ gj`ptU,u ,@ O`jV*L') Oiց a2dʛ`ZQbm%X3944G#C}2]MK䀿 rn DZ-E=J&L5BZy-imP̎ړH[ֽ;kGqMͰSLK񽘽).#JV[wgDM ̉ e0rzS嫚GT&ĵ!ڭ:ǿ>)0I ~KٰӉ qq|An'uSf'B<<.]t` ;AYFRBݕ<qs ߧ-vՂ@I-nCzB.4+YAvlwk8wjT=O.?]aO7?CbR$V*t%#Udc)DZ )NWqUt9P6H-wo9%!%ٞ.^IThTg=09k0Z@S*aq*1i8cKW*WJeyѥTo>n8m3O5?+ewp.sq:.?r`okw&?.*ޚB738U8qd!*($|l)dxP*F]!cq|J"]]*`{|.dq$-JɊz^0M)9!}:lvaHS*_@L4MLͰ8Oo$Ѝ@}$ ِ,_RgbW=)UT(b>HdqQ{HZPiqǫ>ʶX; AҚ}L8r(LϹi'3_P`TW%zn.nrBIT}ñLx(004&rCݩQZYWQu%"lqQ"3l)H-ҝ !?0^ص(H; *t6e#d@Ҍ:n#}&׸=w{F'`*iP2G`w]cؗ)z-L)s +endstream +endobj +6294 0 obj +<< +/Type /Page +/Contents 6295 0 R +/Resources 6293 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6218 0 R +/Annots [ 6263 0 R 6279 0 R 6280 0 R 6281 0 R 6282 0 R 6283 0 R 6284 0 R 6285 0 R 6286 0 R 6300 0 R 6287 0 R 6288 0 R ] +>> +endobj +6263 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 746.115 189.804 756.697] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +6279 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [100.919 681.807 123.74 692.336] +/A << /S /GoTo /D (class_room) >> +>> +endobj +6280 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 620.953 109.521 628.479] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +6281 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.164 620.953 297.815 628.479] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +6282 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 612.982 130.443 620.509] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da4cd18dd5dcd9d56224a0f41273998bdc) >> +>> +endobj +6283 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.326 474.331 431.362 484.914] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +6284 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [77.27 462.376 150.994 472.959] +/Subtype/Link/A<> +>> +endobj +6285 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [415.111 329.511 464.768 340.093] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6286 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 305.6 525.406 316.182] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6300 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 293.645 148.649 304.227] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6287 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [313.96 221.931 363.617 232.513] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6288 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.587 108.712 256.78 119.187] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6296 0 obj +<< +/D [6294 0 R /XYZ 69.866 801.979 null] +>> +endobj +6297 0 obj +<< +/D [6294 0 R /XYZ 70.866 696.754 null] +>> +endobj +6298 0 obj +<< +/D [6294 0 R /XYZ 70.866 545.881 null] +>> +endobj +6299 0 obj +<< +/D [6294 0 R /XYZ 70.866 413.015 null] +>> +endobj +6301 0 obj +<< +/D [6294 0 R /XYZ 70.866 261.908 null] +>> +endobj +6293 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6326 0 obj +<< +/Length 2688 +/Filter /FlateDecode +>> +stream +xڽks~&_ +LMob7gG$5@D XhEw_$$Jm,8ߟ}{}vpVn_7ք#9nqaλt(JƕڢnQȺ݌1*SY_# A?RFCl<`F [ý3~`El|̶[{8%@ÊxXY4^)pluixۺbjoL{:ơ[5:tnU q$gV͊'B$Qz:zf8t/_f%HAjH^3AQU0Νzv3ie FR+)E 8.AYunB\nhtno)P_Vװ} C_<`ouUzӆnsGjr*I$j +)q'ij=@yO18q4Bm"A偓q{&LSRDyfS- *,. Bs=c@qŅ )!MoTǢE.'/' +B" 8*R7r-ߠfZ`:~ީxoRU@7lwG\ +`Jc+R!@[TPwY3Iުݵj@?{[CWKq!E; +_aE7,Z0 +Pʑx+9xDG+/"~dlWVco9|)cC3;&/9 RGxrA&0۩| a1T-BDc8y<a]]  0^~B܇t 3 !Ͼ0\rdE5Ñ*"|O]7Q }D!]KSzܑ0k03T5=2fj<83u ѮGS`(i1Sɠo%I +%ɾG4ץH/w?z(Ւu ^AF=@HnO*^)ZT4SX,<#tp厛MWa)L>+աHDRLq,i>iYk{ah6Fx&?KZz0W5q'A9RL`z_")%(S_a DTbܽf_0F ܱH~km?-ƣV1Uؾ,%G 6hz9hYa82+j]vm +% +]Sb3౴B|N0 +Gʐkܟd@x8ΟlYlGR٭հ\~wf N/b叼Vx2zuw<#;쵇h1B@ Vo%  v|]e%ghXc?<ه +mIL>m +qc\ ,|`IGOA0N p#,lufIޱW(9cҢݎEHK R5w;bɍ!v M8Z~%H}_^q1 $ ϽR#9\Lƛ~ Se'!_12 1> g| y dYf֨cDu qfV<sexy}/\Lcϰk&kM +NHeWv +endstream +endobj +6325 0 obj +<< +/Type /Page +/Contents 6326 0 R +/Resources 6324 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6218 0 R +/Annots [ 6289 0 R 6290 0 R 6291 0 R 6292 0 R 6307 0 R 6308 0 R 6309 0 R 6310 0 R 6311 0 R 6312 0 R 6313 0 R 6314 0 R 6315 0 R 6316 0 R 6317 0 R 6318 0 R 6319 0 R 6320 0 R 6321 0 R 6332 0 R 6322 0 R ] +>> +endobj +6289 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 759.93 122.238 769.906] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6290 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 733.381 119.527 743.963] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6291 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.732 721.425 160.389 731.801] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6292 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [326.415 721.425 376.072 731.801] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6307 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.11 703.801 262.767 714.177] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6308 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [107.978 674.221 157.635 684.804] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6309 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.911 511.092 128.568 521.567] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6310 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [90.791 446.977 180.654 454.197] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +6311 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.846 446.977 235.05 454.197] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +6312 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.976 438.701 168.101 446.227] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +6313 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [128.45 422.76 168.101 430.287] +/A << /S /GoTo /D (class_photon_stream_a99e20ecd7737381042751acf8ec8fc4b) >> +>> +endobj +6314 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.611 335.089 293.631 342.615] +/A << /S /GoTo /D (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) >> +>> +endobj +6315 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.164 327.119 306.184 334.645] +/A << /S /GoTo /D (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) >> +>> +endobj +6316 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.476 270.725 237.781 281.199] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +6317 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [483.549 187.114 520.421 197.588] +/A << /S /GoTo /D (class_pun_r_p_c) >> +>> +endobj +6318 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.343 175.159 128 185.633] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6319 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [74.054 152.579 101.153 159.798] +/A << /S /GoTo /D (class_pun_r_p_c) >> +>> +endobj +6320 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [299.461 91.893 349.118 102.367] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6321 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [484.764 91.893 525.406 102.367] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +6332 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 79.83 134.474 90.412] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +6322 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.489 67.875 233.146 78.457] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6327 0 obj +<< +/D [6325 0 R /XYZ 69.866 801.979 null] +>> +endobj +6328 0 obj +<< +/D [6325 0 R /XYZ 70.866 775.009 null] +>> +endobj +6329 0 obj +<< +/D [6325 0 R /XYZ 70.866 644.194 null] +>> +endobj +6330 0 obj +<< +/D [6325 0 R /XYZ 70.866 550.62 null] +>> +endobj +6331 0 obj +<< +/D [6325 0 R /XYZ 216.334 261.653 null] +>> +endobj +18 0 obj +<< +/D [6325 0 R /XYZ 70.866 244.371 null] +>> +endobj +6324 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6350 0 obj +<< +/Length 2925 +/Filter /FlateDecode +>> +stream +xڥZ[۶~_2UtlisI&۞Eʢ#QEuj !9\`7W^={=O& v3"M'e6|?nijOL#]Jh^uץU67%zu{*$ly."J&է?I}?N?^.&G$؟%1ǫ_Ir/I//wXS: p?amfm$q.o嵌`ib #?߾"O~)N׵'=u\@<4[UmE/HAܞT7Oݳg(p̤ˏfu V5Z=gWzmUQ_pf; 4 +=5}S >p#eƩg$d2O&θNO紾'[_q9s[}l1ɁN8wM0OWk$TpGGW;GkDV`e>4Tum[b뇻GNܲhx|>4Nx&vz"pY +D5g@QY;wa5قWcq4WC K~KpNH%uʘ$О-rtqAo|@NZ :+Y 1X@hZ {lp'/9[I,-Yi5Vn;u8Rٳ+F +j6#?vzۢo}.=a CUy~F>Ġc ֥v&MЄ$ [lmZ׿'t9D?zD>1¡cU x, ޙ{}k ~]ǻb Xi"|ŭ49LmpDDCՒ + #ڶ鬪XCR1f`kUe|$yۛDH񣝉ˉ=_drac +s*8';u#@+<(ZH/ BPꃢ<}>1)OEh;pJpes0u'c_m`>g+-oFOvwqcX~.Y\:}}ПrLJ +X~>SPH*ȅE4 n=>4D}IAJVOR\. Aʆ < ,.6)#)t+kṱWgrsޫXWM)WMhMD+ڂ3;S`6E萪Z!ʡ[&l +K z 8n_j.#X7`es:c:mj&m;eixPf=6u}M-֛{ůKiO9F&dJR ^@HIy" DDV%8=ͧu$`XpZWg_g*/ӷv[Crڹ +<7Hr 0p%3e!gE8xIʇ>=L:Hz|Bt^W#z걌8\=`&^`P +ZQjf˹hcBhkO%/ X }nOc|0L;LCjK_\ L",۶2Xm'4cTZV+A%dԖU6hQ<.eofs__D~4O4h<~_?!SNp@o-snp<%OHl\C&4쮭cs>J{\+}(e +endstream +endobj +6349 0 obj +<< +/Type /Page +/Contents 6350 0 R +/Resources 6348 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6218 0 R +/Annots [ 6323 0 R 6340 0 R 6341 0 R 6342 0 R 6343 0 R 6344 0 R 6345 0 R 6346 0 R 6347 0 R ] +>> +endobj +6323 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [195.399 751.021 268.525 758.547] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +6340 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.051 725.204 391.708 735.786] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6341 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [161.083 671.714 242.552 682.296] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +6342 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [74.054 652.031 101.153 659.25] +/A << /S /GoTo /D (class_pun_r_p_c) >> +>> +endobj +6343 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [224.689 643.754 297.815 651.28] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +6344 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [192.339 547.958 241.996 558.54] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6345 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.851 403.142 278.551 413.518] +/A << /S /GoTo /D (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) >> +>> +endobj +6346 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 206.983 164.868 215.629] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6347 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [85.168 168.595 192.361 179.069] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6351 0 obj +<< +/D [6349 0 R /XYZ 69.866 801.979 null] +>> +endobj +6352 0 obj +<< +/D [6349 0 R /XYZ 70.866 601.511 null] +>> +endobj +6353 0 obj +<< +/D [6349 0 R /XYZ 70.866 325.399 null] +>> +endobj +6354 0 obj +<< +/D [6349 0 R /XYZ 70.866 294.008 null] +>> +endobj +22 0 obj +<< +/D [6349 0 R /XYZ 70.866 294.008 null] +>> +endobj +6355 0 obj +<< +/D [6349 0 R /XYZ 70.866 220.047 null] +>> +endobj +6348 0 obj +<< +/Font << /F74 4865 0 R /F96 6194 0 R /F39 4826 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6382 0 obj +<< +/Length 3149 +/Filter /FlateDecode +>> +stream +x]s]3ovljgXt:NQD  w_}Ƀ~ޞ[>U-V:Ivz*I:pq-nArvUSO?.h +В5Ͼ>;D +fv[d0sjqO+(8 +a\,>r q8Kj8Cj⻞K 6X90>PkvD}ɟ20P@5e&v&Ἴ*ݎMkޏeH{VyyE:lcdUUsDJE2 U;=Gi=5TG\PtEEV,+'Ӎ ۪yJ~᳷߱V7J`zwH1]. +G,}P 1UÑ\әoT]?r&/ݎ1-Hk{(J4-}`@#Ԡq 6FݑjĪ.X2q]lK~hz[V`؜v(& }K?␀($s BTDg>0cB!\fE%J3#n5"vK"h(L5Ŋ7E<^a)Ƀ\ #UGD~z>E20HGXɤq!гB( +ш05ļ'"F'(y>ɘjmZnOL%?SŰpMxmkĆR*)!#7 yÕ*/H`N̜C^'t<&H3l"f66Mմӹ,0meѱ<;7";rrj>!`z:Y$:C7JR4%u_}*ԃ{,H!Q1!"MÔ-n R1}¯N(yCGhc }O?굝Jt"ʈvi1h- ??d Ws@ᑘ1 +rK{ك>e# +8҈S^^~(V=)R|ÌX׺yYU5̛./2H(l0eo:=+΄cř6OF־ 2/| =4Kb.5!jz +n6Ѱ9ۺڟsCiK2sAY";Anz> +dK*ӓAV7z@r0I^}&k5Jf*+1̣mBLԊ=7`s #wm?z^ڶ"'ǻS͍qUjZ3TQG1Ek2)v?R`9[蹵H艟!U=9ߧ`i:?N:3y02ȏBrcEt"9 S"А f]KޭQƣz%E 3kZ9m?ι#Hm[5KS#AE}y +;s_>]kQͥox֡@bݴtҏ$Fx~8;f/"l;EՌ;S>lk{+Xs˿mDLOm+7)+Tf\5|FQsG/x*~`\$͋(֌tw={s֢Ղr߶atWc 06N9$kr3P7\N9&#.0]U-҃p=-J#$| - 7%:ii҈Ah7̠j+S;!s`%#|> +endobj +6358 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.308 650.342 314.212 660.924] +/A << /S /GoTo /D (class_photon_network_a2eefb7151b27169d11062be9996a0eab) >> +>> +endobj +6359 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.781 638.387 184.438 648.969] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6360 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [434.127 638.387 483.784 648.969] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6361 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [224.689 528.18 331.289 535.706] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170faf1983fc6b424304e28f91977e06f5881) >> +>> +endobj +6362 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.952 512.24 293.631 519.766] +/A << /S /GoTo /D (class_photon_network_a1b3803f17c6d713593bca41547b8b9b3) >> +>> +endobj +6363 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [74.054 472.696 101.153 479.915] +/A << /S /GoTo /D (class_pun_r_p_c) >> +>> +endobj +6364 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.218 464.419 402.423 471.945] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6365 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 249.663 525.406 260.245] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6386 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 237.708 148.649 248.29] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6366 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 237.708 525.406 248.29] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6387 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 225.753 104.786 236.335] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6367 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [264.166 196.173 327.496 206.755] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6368 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [270.407 121.365 333.738 131.947] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6369 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 91.893 159.659 102.161] +/A << /S /GoTo /D (class_photon_network_a1b3803f17c6d713593bca41547b8b9b3) >> +>> +endobj +6370 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.316 91.893 393.018 102.161] +/A << /S /GoTo /D (class_photon_network_abb168e543c15731ec4de869d3a1ad8f4) >> +>> +endobj +6371 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 91.893 525.406 102.161] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +6388 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 79.938 145.197 90.412] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +6372 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [267.65 79.938 383.352 90.412] +/A << /S /GoTo /D (class_photon_network_a894df24398c8cfe2d06e22ddc39576fa) >> +>> +endobj +6373 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [442.646 79.938 525.406 90.412] +/A << /S /GoTo /D (class_photon_network_a86ab96957666ef72830a35662ef3d30b) >> +>> +endobj +6374 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.737 67.983 473.352 78.457] +/A << /S /GoTo /D (class_photon_network_af498064a6019a6c69e875bd64db40216) >> +>> +endobj +6383 0 obj +<< +/D [6381 0 R /XYZ 69.866 801.979 null] +>> +endobj +6384 0 obj +<< +/D [6381 0 R /XYZ 70.866 773.016 null] +>> +endobj +6385 0 obj +<< +/D [6381 0 R /XYZ 70.866 350.42 null] +>> +endobj +6380 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6410 0 obj +<< +/Length 3173 +/Filter /FlateDecode +>> +stream +xڽks6Wjf~sq𨗴4i:%6$#߾@R6~X,ž,ɷ7'O^"(7wر(ZĩgGfr/7-г'yPjryʼn\}. +]#ɋ,܁h؉,_ƾ[8&{¬AaC\\xL+aOgX\1_nuUwtK737>eS?j9{'tfgAXo8]̷2±w*ږɇweU]Vw,ڈk#w4Zvb8xp=s{? B[!cjF#;MhNqOM19_J/q酖|0a=9FYwOUwrU|,+uv:Z5rq5p}EaFwTE[VUK֌Ъ 5aRʌ 4бNa8I$(KTA8tU3C]F0P 2-#VV w(Vb-65MJu[n( FUˠvM<BkQm_vN-VWA,iծ|`Z3 ǍN|€?f?ՑXmҤ ݷ됚xP@}T#,%-c0)ZQwveJ'>xdlh>FwB*S++ȃ#8n aQ򐆓^Ul2q (@-fnER.hGe믍-c~8o)Cڪs(g^F%n 2yVx{00\}/jJ*CZ-u@%Cy`P559F&uL50fTGҪqBG,jkߌG''ge澖uC-a|HhH*vz'D&".`>\`/\ǎ4@ R UQt3D`4vܘiwA<=񠁚좝xFA= j~!`?P2sr%ިAnp10{-wBT}7gީħAieXQ + ?Uw ؂C#7Bh%>am֬5s8,BЉwK7`X5 U02{;nԜ Sl!2@ XvwF{ 2~ۧ 0@)Z酭?Ϝ4F95.; +ն`W+,J}CȬ1dYRhX?^u-~DS`-CdO[V)+-L dbN[깱e 6uJM֚:G'xO~Ɖ|ӡ k>=5εC. cS‹ +\35((6P6ILy#xCL7 D WLyfx1'Vi|VkV#Seb +xq>eBD.8Z<1Wsh V9c-Zcj/7MFdy'wb!eD;E'0cDiB#h5^D`V0Z? (]-X7_ !9 o]*1:TzyH'Rm%~ HA! H&$ |)K102_*#={J +]x.j'Gh㚘J"+(G +1/'1ۚ'}9Hb@$p5$VSQ-}zKrz|7݉Oo" mz,YAm$+{%;c7 +20,;D: ~K)TwGA7G[u Ŷ: qqО'O^WW7 RտP8|u5peإ!FlDV PwMO7_WYzX%|TS2?|٬cީh^M*&q6AՏPR^AO(Et;,S\z'/T+_Uveg`%q7hچ ʰ/ylAW~ʃ_݆ ᅵ ojP$Ptoӂ<ط9Nu}3&Q%@CSz -# I*Sx@*"OB8xG*S +EkJe/ES$>( |nzcJujS+!~ƷIÞ rbVX?,]P^N{`4">`Fц,9DM6E Qn9>UPq +\ SIٔ˃иp ?Rn.+ +M/ +qGaLĴ6񧥺J-`i|HQ=0^o9a:q0Vl:q̐4Z|ْ\IHn[*29 MD'䰸@o+enoh \,2;Lې(cx"ۋK\ۍ#(W3iafIH=m"#//xnS7}& {c~%ԦhMJ] {s- }!3aP +endstream +endobj +6409 0 obj +<< +/Type /Page +/Contents 6410 0 R +/Resources 6408 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6389 0 R +/Annots [ 6375 0 R 6376 0 R 6377 0 R 6412 0 R 6378 0 R 6379 0 R 6399 0 R 6400 0 R 6401 0 R 6402 0 R 6403 0 R 6404 0 R 6405 0 R 6406 0 R 6407 0 R ] +>> +endobj +6375 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 758.177 201.774 768.652] +/A << /S /GoTo /D (class_photon_network_a2eefb7151b27169d11062be9996a0eab) >> +>> +endobj +6376 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [294.215 758.177 401.408 768.652] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6377 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 758.177 525.406 768.652] +/A << /S /GoTo /D (class_photon_network_a52fdada993f0729be0912113c0ddb3f8) >> +>> +endobj +6412 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 746.115 137.899 756.697] +/A << /S /GoTo /D (class_photon_network_a52fdada993f0729be0912113c0ddb3f8) >> +>> +endobj +6378 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [248.772 746.115 371.029 756.697] +/A << /S /GoTo /D (class_photon_network_a0b99a01696f62ff29e005e6f939f8dc4) >> +>> +endobj +6379 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 722.312 140.409 732.786] +/A << /S /GoTo /D (class_photon_view_ad288db13a15d581e0f7c5886f4036720) >> +>> +endobj +6399 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.974 692.625 175.222 703.207] +/A << /S /GoTo /D (class_photon_network_ac7c6623c88f254b965aa366b1229781e) >> +>> +endobj +6400 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.236 651.198 222.405 661.672] +/A << /S /GoTo /D (class_photon_network_a4a1cd1887cb41a0592322527a7304ed7) >> +>> +endobj +6401 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.098 557.516 253.429 567.99] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6402 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.318 449.812 249.975 460.394] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6403 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.452 437.964 288.109 448.439] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6404 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [87.811 306.739 151.142 317.321] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6405 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.098 103.964 205.755 114.439] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6406 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.131 103.964 422.788 114.439] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6407 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 91.902 119.527 102.484] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6411 0 obj +<< +/D [6409 0 R /XYZ 69.866 801.979 null] +>> +endobj +6413 0 obj +<< +/D [6409 0 R /XYZ 70.866 626.38 null] +>> +endobj +6414 0 obj +<< +/D [6409 0 R /XYZ 70.866 598.371 null] +>> +endobj +6415 0 obj +<< +/D [6409 0 R /XYZ 70.866 347.702 null] +>> +endobj +6416 0 obj +<< +/D [6409 0 R /XYZ 70.866 264.405 null] +>> +endobj +6417 0 obj +<< +/D [6409 0 R /XYZ 70.866 184.784 null] +>> +endobj +6418 0 obj +<< +/D [6409 0 R /XYZ 70.866 156.775 null] +>> +endobj +6408 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6426 0 obj +<< +/Length 515 +/Filter /FlateDecode +>> +stream +xڕSn0+HI\>)"dJt}I.F]R3%D;\KmRDTJ%آL)1Uc4N3|LגbHL p"q[dE2ቡͭ$lL8G?#v4&hTQײ" p4$˶2z6PAsB۟ 5$4T +c;2M.-.xw Fz2D-g)n:GBb5|>ْBP mN&-M4U}6Lf^6#O%' S2ULy?9ͥn']\zJP|9=Tb}JMy owrNu]ݱ.FY/~o]eju|BƩoSHTV/sw-Ă @ιq")d_uVtٻ7?~_C\oaW۲[Koɔ +endstream +endobj +6425 0 obj +<< +/Type /Page +/Contents 6426 0 R +/Resources 6424 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6389 0 R +>> +endobj +6427 0 obj +<< +/D [6425 0 R /XYZ 69.866 801.979 null] +>> +endobj +6428 0 obj +<< +/D [6425 0 R /XYZ 70.866 773.016 null] +>> +endobj +6424 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6431 0 obj +<< +/Length 267 +/Filter /FlateDecode +>> +stream +xڕP=O0+nL̝Sա4nhQ*8q;p%-Q`ZBj +|S@+,q?m06vƷad"~DV(5lAnȥp BB=3>:?Q-k.VeaёuT.*ZO&nH&uD r ;%ޅYCG.Q0甇_}\f>='ls +endstream +endobj +6430 0 obj +<< +/Type /Page +/Contents 6431 0 R +/Resources 6429 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6389 0 R +>> +endobj +6432 0 obj +<< +/D [6430 0 R /XYZ 69.866 801.979 null] +>> +endobj +6429 0 obj +<< +/Font << /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6435 0 obj +<< +/Length 1104 +/Filter /FlateDecode +>> +stream +xڝV_o4杻*!e:&]u'[$Еl&*v3!l73AJ5J2r6 "<vVDEy!|&~UG+:I0]{" I(EBDβhS}ZYO$:y+@_]yAyzhH;lI^``5{&vfJD8ޮ@,,4n GnFe6l*T?w4úW0j? +uŬTsowX̓ASW 71TCï1oلOu"ܳ8*3>Yxh$Z%J%:X5LV]EKI#Y,ǫsJ+*gʶ 2N* <3qi`SQK8*>Eo*,` |p\P9WOU33ri ɉuZs`AT ᬽ#G^>rI%z>}(ɜ8΅9ih,X3vN{DRUi]V-5n3AGbc~Hl[a 2T9h a +dؿ0QZp^`瘯޿&_xpbުFuȁg6[sZH@BȤs1QDq°).]V04pCv g㋩J^;nG}tm bܥJnoaOUEH.R ؎x0ft*+/!醣 q]  +endstream +endobj +6434 0 obj +<< +/Type /Page +/Contents 6435 0 R +/Resources 6433 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6389 0 R +>> +endobj +6436 0 obj +<< +/D [6434 0 R /XYZ 69.866 801.979 null] +>> +endobj +26 0 obj +<< +/D [6434 0 R /XYZ 70.866 771.024 null] +>> +endobj +6437 0 obj +<< +/D [6434 0 R /XYZ 70.866 585.06 null] +>> +endobj +6433 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6440 0 obj +<< +/Length 272 +/Filter /FlateDecode +>> +stream +xڕP=O0+nLv Tt@SաD4J=8A}Av`58Qv`wƀP:CoTG{C)v\=~WҺlY=:lmRmzw}` iUp;f덀z \ya](^hE셉),,Qq2pi 9ZCuxvL&u!7&p+@2vɹn\5UwNU3Bf0zr )n +endstream +endobj +6439 0 obj +<< +/Type /Page +/Contents 6440 0 R +/Resources 6438 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6389 0 R +>> +endobj +6441 0 obj +<< +/D [6439 0 R /XYZ 69.866 801.979 null] +>> +endobj +6438 0 obj +<< +/Font << /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6445 0 obj +<< +/Length 1582 +/Filter /FlateDecode +>> +stream +xڥXY6~_!2+m-)mA(>-)%APmm_, s{p6r9IwnC;ݟKiٯ7as߇7W| 0""$R߭m/Ro?^je~*;;oemB&۝lu ku;TV) +LwA֞nۯ:/̥əO٢>w4kz>Yjx,1/ԍBoHJn\IR{icoPAiIWNph(:)C-_Ѡ~/Xa=@->AF7eiTJBy#1yN'Z,̴ {h˴a1IgRoۂ/E$0L${4M  ]بkmz«TVC -V2 ΁xBd<2[茹#"ZBkβΫ[KU&Qj +6 +XT'tVZFS`*R_ +ѩO4y a?% h7O-5Srlx.z>k&8aT+H1cݶtn+F>d o)L6 7&}{}7X5D8h@cCtѲᦪJ0MnL vZ{|V]]?=H'Lx Q@޺Ζ: +?hzOV4q)D9Eb=[<ˮgPlL DĀ%-Q-g&VĂ̊rp0MܯBʂ1"iR^z('+R=$]I8 +x#>*Mh,:R9I9<:dUNqXXDAA(y~? 5ZWJ {^PMCyڴ :ڢ(j̠X}-djr4ߕ=o/ڊHPm`'~dR%mm<0~15E=nm OEQ5 &Xe +sYkL$6"q٬hA_qlI ,L fH`_4#`&OB8KL6#3J3@?7eJa@ȱ+aɆ6 Iր#aAπpIHLwXqZf1t|}! n,Z"xœ|rg|rM Fdŋ @ :3~^~bգZ[M|vދ?cg\c/Pʒ~YjD`Z)ްf5ɯO?j߂]l z^KdCOZ-x43%8Lٸhhpd6ʆwKrViE$bmŬl5DciS;t> +endobj +6442 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.592 507.405 185.384 517.879] +/A << /S /GoTo /D (class_photon_stats_gui) >> +>> +endobj +6446 0 obj +<< +/D [6444 0 R /XYZ 69.866 801.979 null] +>> +endobj +30 0 obj +<< +/D [6444 0 R /XYZ 70.866 771.024 null] +>> +endobj +6447 0 obj +<< +/D [6444 0 R /XYZ 70.866 585.06 null] +>> +endobj +6448 0 obj +<< +/D [6444 0 R /XYZ 70.866 546.902 null] +>> +endobj +6449 0 obj +<< +/D [6444 0 R /XYZ 70.866 395.274 null] +>> +endobj +6450 0 obj +<< +/D [6444 0 R /XYZ 70.866 324.391 null] +>> +endobj +6451 0 obj +<< +/D [6444 0 R /XYZ 70.866 255.853 null] +>> +endobj +6452 0 obj +<< +/D [6444 0 R /XYZ 70.866 176.861 null] +>> +endobj +6453 0 obj +<< +/D [6444 0 R /XYZ 70.866 119.435 null] +>> +endobj +6443 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6458 0 obj +<< +/Length 639 +/Filter /FlateDecode +>> +stream +xڕTMS0Wh8$۲ͭL!I<]i \8i۷OdC8YDWUtq`R $PdJjEPKuG,g2],9\}+O$q8(X!SҼEO/ vG8Kʂ|Iei&ѯĜ̙n'W񹁫ڡXgA?CgqNuoY*c~\6,|g3\ ֬cv.p +2@yS]p"+A>q tZ8n'޺_aC m:dGOqqv3g +d>$MA$Ssa!1h +ߏ3Cqzs]Q\uXG6ĵ*J؇cgͶE˿= C2n{88:s2S2{ ^6ʻ dR~d!d2`mߎ΁(wOa\S,Ewkpsx`?ݣyeߑ=`PmJ/Y$ +endstream +endobj +6457 0 obj +<< +/Type /Page +/Contents 6458 0 R +/Resources 6456 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6454 0 R +>> +endobj +6459 0 obj +<< +/D [6457 0 R /XYZ 69.866 801.979 null] +>> +endobj +6460 0 obj +<< +/D [6457 0 R /XYZ 70.866 773.016 null] +>> +endobj +6456 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6466 0 obj +<< +/Length 655 +/Filter /FlateDecode +>> +stream +xڅTMO0 ϯ8uhWZ!dhETĿ_;q:qK{d]-D\袹Zm*ciŋu͎)de%x$l]r^r%e˿G8DJJ"`yE7ӿJ! |_v;2[2<@tvc!X:;=خ}JRh5G,UoFf|2hhzgS$|S?ᤄҸ`y/2`!/=n"`X;Ͼm_̜= ?W vkl9 +JVYWO^"Hr #1gfXEKY)_tƽpi< "pW83SkC=Z҇4DB,w5T$}ؾ̓_W<{Wh.YGa%68(5.G^ 맑e|8&4 fͶSi\n=ѵ!ो,i`{px9ypsʉ0߲ b@ԩZlJAfBGg3bLG/GoW{ۋ?$- +endstream +endobj +6465 0 obj +<< +/Type /Page +/Contents 6466 0 R +/Resources 6464 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6454 0 R +/Annots [ 6461 0 R 6469 0 R 6462 0 R 6463 0 R ] +>> +endobj +6461 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 547.099 525.406 557.681] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6469 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 535.144 104.786 545.52] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6462 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.734 535.144 211.771 545.52] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +6463 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 488.048 184.316 498.522] +/A << /S /GoTo /D (group__public_api) >> +>> +endobj +6467 0 obj +<< +/D [6465 0 R /XYZ 69.866 801.979 null] +>> +endobj +34 0 obj +<< +/D [6465 0 R /XYZ 70.866 771.024 null] +>> +endobj +6468 0 obj +<< +/D [6465 0 R /XYZ 70.866 585.06 null] +>> +endobj +6464 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6473 0 obj +<< +/Length 272 +/Filter /FlateDecode +>> +stream +xڕP=O0+?G7PQ qKD*Qlj&w>ξpKrQ`Z߃j | -H3"ލݢRY]06)xj˾ `2+dP +8y<%˕WB۹M[3a| LG24ޅ2kT=u> +endobj +6474 0 obj +<< +/D [6472 0 R /XYZ 69.866 801.979 null] +>> +endobj +6471 0 obj +<< +/Font << /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6522 0 obj +<< +/Length 1598 +/Filter /FlateDecode +>> +stream +xXKs8 WhzYyVH,1lO#3ZYH;qO/Z8׎p.$pdEX:+g"$8^<,պhېcG!G&,\W&mVUb톒72bqQ@ +bORΚͳz&:7J4ͺĭ+SմVk>[iiJw{|ᚆ^ +` ]V Z\Oz7RxB[¦2&{Q.` 0ݬFpUA8) ,+}:kJ F~KtFvc!X(-ieE-|? zb4).4y1Syk WQwFRKJ}E-!`k [ݔ%Ru cB+t9A:Qy~ P)z4@eflXB$T \3[,\ ED!0>>Nz]1 2*tg= } 1: rr%䃛\1wȾeAR?wCM𗘙K<] Q[[K%%%|(kǺ:@,Dz +T!(sV2 ִg(Q_16`?>SrAWұ=(& *uO *E@ +]:ݖZ웺4 ǿZq&We[1ΨҬ>ONju%dBg ̓n R| m)UfWdW-$7f+ k_DCUٖbKM?}Hwh =>8VJ7"ٹ /L³G 9"pŠ%X|1YL TtsqylX붅wJMJuzŬ׆F}4Đ0pNavlv!|n}߉{IBXx # +bJS%a:E1ݵ}p Cڴ!Fk]xO[dǃM/ކR#a%ڗGAqq3:M&+IDd#yFBr;0V +RĮz kcegIgC?4@[iDL-Ka4md7 Tp9S?ĺN)!+hL= z]ලҥ =֬~gx %%2$O|==x}8/*S֋HbѶ G"Uoo+tȽWa% }WD8=Ιj] Ht )v4 \j|c=H;(+T?u H{]a2L( +endstream +endobj +6521 0 obj +<< +/Type /Page +/Contents 6522 0 R +/Resources 6520 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6454 0 R +/Annots [ 6475 0 R 6476 0 R 6477 0 R 6478 0 R 6479 0 R 6480 0 R 6481 0 R 6482 0 R 6483 0 R 6484 0 R 6485 0 R 6486 0 R 6487 0 R 6526 0 R 6488 0 R 6489 0 R 6490 0 R 6491 0 R 6492 0 R 6528 0 R 6493 0 R 6494 0 R 6495 0 R ] +>> +endobj +6475 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 475.153 197.531 483.923] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +6476 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 448.119 190.502 456.89] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +6477 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 410.208 206.731 418.692] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +6478 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 370.324 200.795 380.906] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +6479 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 345.102 176.999 353.873] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +6480 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.21 328.977 295.179 338.701] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +6481 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.608 328.977 476.498 338.701] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6482 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 307.19 181.024 315.674] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6483 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.138 290.985 260.334 300.523] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +6484 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 278.373 173.063 288.641] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6485 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 253.124 167.351 261.608] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6486 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 226.091 143.6 234.575] +/A << /S /GoTo /D (class_room) >> +>> +endobj +6487 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.148 209.982 525.406 219.609] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +6526 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 199.024 124.16 208.65] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +6488 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 188.099 158.286 196.789] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +6489 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 103.74 231.271 114.116] +/A << /S /GoTo /D (group__public_api_gaf30bbea51cc8c4b1ddc239d1c5c1468f) >> +>> +endobj +6490 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 91.785 301.925 102.367] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa9583b114e6efdfd8068051d562391dc0) >> +>> +endobj +6491 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.163 91.785 477.018 102.367] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faf0e999adc414b29857944d5e5fabfe2e) >> +>> +endobj +6492 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 91.785 525.406 102.367] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fadf130e855b7c27f0f10f66db4a7e83c4) >> +>> +endobj +6528 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 79.83 279.043 90.412] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fadf130e855b7c27f0f10f66db4a7e83c4) >> +>> +endobj +6493 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [282.036 79.83 511.223 90.412] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab6273c525ff9cd304d2a8b0adb61a5ea) >> +>> +endobj +6494 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 67.875 313.5 78.457] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3ad62b9539e5cf97eacf06e2268dea5a) >> +>> +endobj +6495 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.121 67.875 522.913 78.457] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2959bccbe2dabb6a8d2024ea241f6f2f) >> +>> +endobj +6523 0 obj +<< +/D [6521 0 R /XYZ 69.866 801.979 null] +>> +endobj +38 0 obj +<< +/D [6521 0 R /XYZ 70.866 771.024 null] +>> +endobj +6470 0 obj +<< +/D [6521 0 R /XYZ 70.866 585.06 null] +>> +endobj +42 0 obj +<< +/D [6521 0 R /XYZ 70.866 585.06 null] +>> +endobj +6524 0 obj +<< +/D [6521 0 R /XYZ 70.866 512.823 null] +>> +endobj +6527 0 obj +<< +/D [6521 0 R /XYZ 70.866 143.222 null] +>> +endobj +6520 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6592 0 obj +<< +/Length 2348 +/Filter /FlateDecode +>> +stream +x[o8rZR=nRH=02c D(5.>$˲{LRqf8HjHthz?i>223"ͬiXgBhȰ@{#Sqmu8D; )9%|vؐq`!EhQJoTC[@`GFW؏ ҆iK1h ˁ9M=3W(80]x$Cˁt'dņL&JWo}]ەD$9\LƔ(8yF7Kk$GVckUK=t,ȫ .+c,=RqG m3D `>yȑ 3`H>t>Z׏ɬFa2ل|J}޶tGdC 瓘8+>k9îQc٨dMy8霣 p6.&ѮO(]Q`U_--dԈ0ݲAG8~XZ#9X OΏ<#LtvU9#91$ظ;g ]Ca{&^{Ȯ> {O)B΅{Β)-5VϷ'A^s6c35 +bI9)!+#|atI6\ӌ*؆<C(uf!tMX $y7L`h{HVy\FL|.#=tLpm F00gL˜vc QXa|lYFuN]$7lɪA2.&K;6X9VmR$8/$ߕiv4 +*֙zIM›xN}Ʋ|r~mM_3FjGp 1 k&ȆX.}G.b4US:dSflόex iuAK9xlm Ǟ1ȀP5?O֗bM?b,v3V6. !ѹjǔA~oGMWF,f5')-H,!)S/R 5rYyIrs ;g"} M/|Sè^`"&|`Mqq_uF/;j. Nɾ,>{EV|FA#@"WDi?_ 8QhqM`c9ufi6NjYhm0g%os8iAyNn}p[f}bfpI!OiQ]]|@"foNxM:rc8RUw3\~";Bde/Y4i̼{ ,i_xz]O_5/ݹo A&T a Ƀ>@H2ʴ'2}f2e-—YWWIU\%~%f#@ +endstream +endobj +6591 0 obj +<< +/Type /Page +/Contents 6592 0 R +/Resources 6590 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6454 0 R +/Annots [ 6496 0 R 6497 0 R 6498 0 R 6499 0 R 6500 0 R 6501 0 R 6594 0 R 6502 0 R 6503 0 R 6504 0 R 6505 0 R 6595 0 R 6506 0 R 6507 0 R 6508 0 R 6509 0 R 6510 0 R 6511 0 R 6596 0 R 6512 0 R 6513 0 R 6597 0 R 6514 0 R 6515 0 R 6598 0 R 6516 0 R 6517 0 R 6599 0 R 6518 0 R 6519 0 R 6600 0 R 6538 0 R 6539 0 R 6540 0 R 6541 0 R 6542 0 R 6543 0 R 6544 0 R 6545 0 R 6546 0 R 6547 0 R 6548 0 R 6549 0 R 6550 0 R 6551 0 R 6552 0 R 6553 0 R 6554 0 R 6555 0 R 6556 0 R 6557 0 R 6558 0 R 6559 0 R 6560 0 R 6561 0 R 6562 0 R 6563 0 R 6564 0 R 6565 0 R 6566 0 R 6601 0 R 6567 0 R 6568 0 R 6569 0 R 6570 0 R 6602 0 R 6571 0 R 6572 0 R 6573 0 R 6574 0 R 6575 0 R 6603 0 R 6576 0 R 6604 0 R 6577 0 R 6578 0 R 6579 0 R 6580 0 R 6581 0 R 6605 0 R 6582 0 R 6583 0 R 6606 0 R 6584 0 R 6607 0 R 6585 0 R 6586 0 R 6587 0 R 6588 0 R 6589 0 R 6609 0 R ] +>> +endobj +6496 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 758.07 271.332 768.652] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6497 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.325 758.07 439.422 768.652] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa62d34f824fc4c61b693dd35ff3e7e79b) >> +>> +endobj +6498 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 746.115 324.009 756.697] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +6499 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.58 746.115 522.913 756.697] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +6500 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 734.159 325.309 744.742] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +6501 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [330.616 734.159 525.406 744.742] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +6594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 722.312 139.627 732.58] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +6502 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 710.249 271.09 720.831] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +6503 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [300.19 710.249 522.913 720.831] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faccfd8b0940a4981818cc4147e29de834) >> +>> +endobj +6504 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 698.294 328.456 708.876] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa39b1e276b8dab1e7620a643b7e01d71c) >> +>> +endobj +6505 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [363.262 698.294 525.406 708.876] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fad07f29ca1e2135927cf0966873408125) >> +>> +endobj +6595 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 687.007 171.063 696.715] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fad07f29ca1e2135927cf0966873408125) >> +>> +endobj +6506 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 674.384 300.912 684.966] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6507 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [314.886 674.384 522.913 684.966] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +6508 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 662.428 290.547 673.011] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa8bb589bf7df8d2be1f0b4b586ba8001) >> +>> +endobj +6509 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [293.539 662.428 521.185 673.011] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) >> +>> +endobj +6510 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 650.473 381.581 661.055] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fafbc17ce96afe80127d732de2d4be0378) >> +>> +endobj +6511 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.676 650.473 525.406 661.055] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941) >> +>> +endobj +6596 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 638.518 227.747 649.1] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941) >> +>> +endobj +6512 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.574 638.518 434.545 649.1] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab39600c160a074fb0b76467956dadec9) >> +>> +endobj +6513 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [442.371 638.518 525.406 649.1] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa03351bfa4fb9325a5b0486862d4be3be) >> +>> +endobj +6597 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 626.563 258.869 637.145] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa03351bfa4fb9325a5b0486862d4be3be) >> +>> +endobj +6514 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 614.608 348.567 625.19] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa8d87c972aaa1041a4f3778d2d7fab03c) >> +>> +endobj +6515 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.569 614.608 525.406 625.19] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa98a8b15d4aa12e02e5ccbc98172eecc) >> +>> +endobj +6598 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 602.653 137.135 613.235] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa98a8b15d4aa12e02e5ccbc98172eecc) >> +>> +endobj +6516 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.215 602.653 353.441 613.235] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fac859a296d058a67508e48b2a0363e71c) >> +>> +endobj +6517 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.521 602.653 525.406 613.235] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab1a1f76626b99f398def802effe4908a) >> +>> +endobj +6599 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 590.805 161.55 601.28] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab1a1f76626b99f398def802effe4908a) >> +>> +endobj +6518 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 578.742 338.92 589.324] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa21a7525daa0541322ae20d247416d523) >> +>> +endobj +6519 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [348.827 578.742 525.406 589.324] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa52ec8131295503060a07c28fc337fc41) >> +>> +endobj +6600 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 567.025 138.686 577.369] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa52ec8131295503060a07c28fc337fc41) >> +>> +endobj +6538 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.984 551.701 299.549 561.425] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6539 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 527.25 185.902 537.833] +/A << /S /GoTo /D (group__public_api_gaf0468f6a0c8ab8caec09678e6dc6f3d5) >> +>> +endobj +6540 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.889 527.25 303.521 537.833] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5ae0a1284706116eec7a83a489235a9ef8) >> +>> +endobj +6541 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [306.513 527.25 427.084 537.833] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5a5391f9a882a54c787b206138ed6d28b0) >> +>> +endobj +6542 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [430.076 527.25 513.312 537.833] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5abbd47109890259c0127154db1af26c75) >> +>> +endobj +6543 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 498.673 179.33 509.048] +/A << /S /GoTo /D (group__public_api_gab84b274b6aa3b3a3d7810361da16170f) >> +>> +endobj +6544 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 486.717 166.822 497.3] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +6545 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [169.815 486.717 258.806 497.3] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa52ef9633d88a7480b3a938ff9eaa2a25) >> +>> +endobj +6546 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [261.799 486.717 374.201 497.3] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fad0209f4a40060d6e7c37d29979d8f444) >> +>> +endobj +6547 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.194 486.717 482.863 497.3] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170faf1983fc6b424304e28f91977e06f5881) >> +>> +endobj +6548 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 474.762 217.391 485.344] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa7eb09c07159c5b57395510a1c3755705) >> +>> +endobj +6549 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.384 474.762 331.836 485.344] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa07d978b16f68f868668a6384df9bc11b) >> +>> +endobj +6550 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [334.828 474.762 479.904 485.344] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa2dd089935363426140d8d54fee80464c) >> +>> +endobj +6551 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 446.422 165.45 456.767] +/A << /S /GoTo /D (group__public_api_ga8d4a6786d6193f0e6245c44e4a7bb4a0) >> +>> +endobj +6552 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 434.897 191.174 444.811] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0af704f57ea420275ad51bf55b7dec2c96) >> +>> +endobj +6553 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.167 434.897 292.752 444.811] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a8f20319172b2aa6813ba3359f8790a39) >> +>> +endobj +6554 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.745 434.897 375.851 444.811] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7b2f31b90fe1c2cc33a52233c1925df3) >> +>> +endobj +6555 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.843 434.897 481.607 444.811] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa927b3e1f83aa1b3c6feff945ca18f77) >> +>> +endobj +6556 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 422.274 193.55 432.856] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a628d81b73c9e217e7388d07c448d98bf) >> +>> +endobj +6557 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.069 422.274 373.45 432.856] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ab468dfbd5b304bf96c74152856bd09a7) >> +>> +endobj +6558 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.969 422.274 528.28 432.856] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a2adb83359e79fb5cfc94ab00dcf2184b) >> +>> +endobj +6559 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 410.987 245.097 420.901] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a5310d1fb96be7d3ddd41079a9249c2b3) >> +>> +endobj +6560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 398.364 171.386 408.946] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0af6807db4ae3a5c82b99bced82a0ca92b) >> +>> +endobj +6561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.378 398.364 248.997 408.946] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7d50c09f1ad7d098e0a847bcdcab7efb) >> +>> +endobj +6562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.99 398.364 331.414 408.946] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa9c7b1d7219fa9d3de551ba5bc639eb6) >> +>> +endobj +6563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [334.407 398.364 508.802 408.946] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac2b8e7a526f5bdbd0ca4e42a1fc87fdf) >> +>> +endobj +6564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 386.409 250.073 396.991] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a6bfd906f466d549d660a2e7356ac58dd) >> +>> +endobj +6565 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [269.327 386.409 450.204 396.991] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a88a122d877a08d17b85e005b97321320) >> +>> +endobj +6566 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.458 386.409 525.406 396.991] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +6601 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 374.453 153.077 385.036] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +6567 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.07 374.453 258.591 385.036] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aef70e46fd3bbc21e3e1f0b6815e750c0) >> +>> +endobj +6568 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 362.498 223.13 373.08] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aaf3c26fc49c920a4779844921baeeef8) >> +>> +endobj +6569 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.31 362.498 384.617 373.08] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ae047588dabb5a0b1e059604b80289791) >> +>> +endobj +6570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [392.797 362.498 525.406 373.08] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac495884e9133962e72063062d1382466) >> +>> +endobj +6602 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 350.543 123.219 361.125] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac495884e9133962e72063062d1382466) >> +>> +endobj +6571 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.212 350.543 301.602 361.125] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa3db59f96790ca93f6c8ac703735f401) >> +>> +endobj +6572 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 338.588 199.531 349.17] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aedb214653d9f3cecd840463790ac2894) >> +>> +endobj +6573 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 288.33 191.856 298.674] +/A << /S /GoTo /D (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) >> +>> +endobj +6574 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 276.245 288.503 286.719] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a443ec8de9a697e190f4b24ab3ab36a9d) >> +>> +endobj +6575 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [471.323 276.245 525.406 286.719] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +6603 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 264.29 209.761 274.764] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +6576 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.792 264.29 525.406 274.764] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a354c849d41c85993a8a28975e0d1c996) >> +>> +endobj +6604 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 252.227 129.155 262.809] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a354c849d41c85993a8a28975e0d1c996) >> +>> +endobj +6577 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [277.679 252.227 454.979 262.809] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9abbec862190460d01acb3557a0e9a13f5) >> +>> +endobj +6578 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 228.424 208.757 238.899] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab0d4998a26f5b5742ad38c4af8817e32) >> +>> +endobj +6579 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [323.116 228.424 479.784 238.899] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab67551dad56fc73fd4a580e810dc5f7f) >> +>> +endobj +6580 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.134 217.029 348.507 226.943] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a522f961eb7a2b35f0ef4b99b4ad3bb0a) >> +>> +endobj +6581 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [472.536 217.029 525.406 226.943] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9aa8534012cb63e62c0b3a2335206117cc) >> +>> +endobj +6605 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 204.406 178.953 214.988] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9aa8534012cb63e62c0b3a2335206117cc) >> +>> +endobj +6582 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 192.559 286.629 203.033] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a281086f3f83f5f38b4b9a4572b60a368) >> +>> +endobj +6583 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [471.323 192.559 525.406 203.033] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a9b962f813e1575d4d311a9ab3e60afd4) >> +>> +endobj +6606 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 180.603 235.154 191.078] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a9b962f813e1575d4d311a9ab3e60afd4) >> +>> +endobj +6584 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.764 180.603 525.406 191.078] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a927b48448e5111f5bac2a7d59833f051) >> +>> +endobj +6607 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 168.648 136.14 179.123] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a927b48448e5111f5bac2a7d59833f051) >> +>> +endobj +6585 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [281.919 168.648 467.029 179.123] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a65537dc549af3f90695ff7cf0002b17b) >> +>> +endobj +6586 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 94.119 275.995 104.701] +/A << /S /GoTo /D (group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) >> +>> +endobj +6587 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.48 94.119 338.785 104.701] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +6588 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.671 94.119 453.14 104.701] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +6589 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 79.13 525.406 88.757] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6609 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 69.777 128.268 77.612] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6593 0 obj +<< +/D [6591 0 R /XYZ 69.866 801.979 null] +>> +endobj +6608 0 obj +<< +/D [6591 0 R /XYZ 70.866 134.534 null] +>> +endobj +6590 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6684 0 obj +<< +/Length 2374 +/Filter /FlateDecode +>> +stream +xڵYYs6~ׯ`Sx߲+kT-;11a[ۍn`Hh>Z˵:;8iNEVNYَoľkEN?]c"p8jaٻgtg&ʫ[]ͬ,1J3Yu?&~4Nјsȼ纮VYQ5'm틦Vm/tZ‰]ͰH^RjZEmRvܗYI&@?TlᄆCmT_f@ !'ZN>k]mTtZ`l+YCMu F{H +],`[ΒWMl4syS2g#>ZїR_E-0,AK?e2sĊ0z{~;O1uQ}?߶\sp.hhmPBkYw,2昍CA p&՘4tl)kS)5pʬR67S2D !y 1AIiKDb&]OWL8:k}pF58`T;|yi*ޡzN1M +2D’nw:~1'yF\Q뮌᱙ݖZdgηEzs٪:bՃ:T6Xl'b:B`SS8!Z$UVri* =㡆LY%uSLs1@ b@f,\@@&2ST|F#;MQ:ԏH_ϵC.cqnzUpᤂm&W:zV"F tE>qGN&Z_?smaϞOuɣ^2a'A}T +VEyDW}ZHBWȪɿ3~usTDz%yCQG ;$JLIB|YVEf^#*aggi? =EH*PQ\GV.`LDÈ4ZwN;F8+inXp$tV"NAŖEsW.͆%مb>a5Gކc EOgzK'NƠ.*_[ ݏ/r1{N.2aJQͿ]tz&Q,e6ɲ07S|G993fr׌ #e%)lSdSjXAL}'4M}Հ0V4ՑmLuv?s!ZWU{tTq-GDs{Ok @zT0b/lWȔ"TnrXK2y8Tr(;MT;+A/M +{Nr' =/MvڿO\eWg97Ɠʄ6{؄j&hLrJg הt*^zd'Px"dR+b3ƄNqkgY 3KqėvOTάM?{Y>votjLwWm$ *-{Dh>,B'8ڝ<+.&C=B(gTlPK̇-V߽WX9v4xa U~?(9~:ϐ{k~e0%5+MG3`w4y')`FӥZ˹Gѫ"XPmo X=hg<Q#( x%k|OBJn'2"qOz1<q=mPgPKվ+~em\ټmÆnA> +endstream +endobj +6683 0 obj +<< +/Type /Page +/Contents 6684 0 R +/Resources 6682 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6687 0 R +/Annots [ 6679 0 R 6680 0 R ] +>> +endobj +6679 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.349 182.564 372.755 193.146] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6680 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.241 166.573 283.647 177.155] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6685 0 obj +<< +/D [6683 0 R /XYZ 69.866 801.979 null] +>> +endobj +46 0 obj +<< +/D [6683 0 R /XYZ 70.866 771.024 null] +>> +endobj +50 0 obj +<< +/D [6683 0 R /XYZ 70.866 719.13 null] +>> +endobj +6643 0 obj +<< +/D [6683 0 R /XYZ 70.866 692.116 null] +>> +endobj +54 0 obj +<< +/D [6683 0 R /XYZ 70.866 692.116 null] +>> +endobj +6644 0 obj +<< +/D [6683 0 R /XYZ 88.314 585.033 null] +>> +endobj +6645 0 obj +<< +/D [6683 0 R /XYZ 88.314 569.041 null] +>> +endobj +6646 0 obj +<< +/D [6683 0 R /XYZ 88.314 553.05 null] +>> +endobj +6647 0 obj +<< +/D [6683 0 R /XYZ 88.314 537.059 null] +>> +endobj +6648 0 obj +<< +/D [6683 0 R /XYZ 88.314 509.112 null] +>> +endobj +6649 0 obj +<< +/D [6683 0 R /XYZ 88.314 481.166 null] +>> +endobj +6650 0 obj +<< +/D [6683 0 R /XYZ 88.314 465.174 null] +>> +endobj +6651 0 obj +<< +/D [6683 0 R /XYZ 88.314 449.183 null] +>> +endobj +6652 0 obj +<< +/D [6683 0 R /XYZ 88.314 421.236 null] +>> +endobj +6653 0 obj +<< +/D [6683 0 R /XYZ 88.314 405.245 null] +>> +endobj +6654 0 obj +<< +/D [6683 0 R /XYZ 88.314 377.298 null] +>> +endobj +6655 0 obj +<< +/D [6683 0 R /XYZ 88.314 361.307 null] +>> +endobj +6656 0 obj +<< +/D [6683 0 R /XYZ 88.314 333.361 null] +>> +endobj +6657 0 obj +<< +/D [6683 0 R /XYZ 88.314 305.414 null] +>> +endobj +6658 0 obj +<< +/D [6683 0 R /XYZ 88.314 289.423 null] +>> +endobj +6659 0 obj +<< +/D [6683 0 R /XYZ 88.314 273.431 null] +>> +endobj +6660 0 obj +<< +/D [6683 0 R /XYZ 88.314 257.44 null] +>> +endobj +6661 0 obj +<< +/D [6683 0 R /XYZ 88.314 241.448 null] +>> +endobj +6662 0 obj +<< +/D [6683 0 R /XYZ 88.314 213.502 null] +>> +endobj +6663 0 obj +<< +/D [6683 0 R /XYZ 88.314 185.555 null] +>> +endobj +6664 0 obj +<< +/D [6683 0 R /XYZ 88.314 169.564 null] +>> +endobj +6665 0 obj +<< +/D [6683 0 R /XYZ 70.866 145.575 null] +>> +endobj +58 0 obj +<< +/D [6683 0 R /XYZ 70.866 130.214 null] +>> +endobj +6682 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F107 6686 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6700 0 obj +<< +/Length 2819 +/Filter /FlateDecode +>> +stream +xڭZIw8W2{-[8tlj'O>,ECqܿ~H9; +~U,7'gp,"qYNj$Y-׋o/}D! fݗby}%wESⓋx]x4e._b s/\d^a(;דD2?&~ c 5 4_R/e;UQn/  Zy)sHzm$:M\y7BJ/?8 52q-;Mf4ٔ跅̛y@]hoh?UM. bЈЈ_m`ҏB]=75N-t-W;W(eq]K-0- tds+ Y`YD/#ʂ"KٚQ^uCv`2@qv?[Ї ،S| K舥AB*3;49pDLY)m(JXȎkr+ ECrzXΕbrJb‡GD?.0X@XnW| +~[[/bʀ^?têvXotHw!uS惑M7/՝(>6"?1/c^=j~͌GƎ#رe=CJKRFcLNW;JC]_Yn6!V?Pxlz w|bcG췦{@Meɰ fgVL]dH SH85GKVUpgp,Rx"ZO6 s3Vz +7xMp|pȚ=nY; +20Iii?+`n$=`usQ+ 0Qt]AWD4|_`{e`{~ekvMϢJH(ɓE̲$H 7t8 &3|Qib+JgWMYfϊ/ct9 07$6Lms6KLy.yA0U.S6fmj3FYy_;ּ"rQςصb"Vʪl2@kCf7B@^> ]؇ׅHt?wE{z~ʢl<BnH 0OޅkRo%DZ6sPA0Q3 zJ?5:*yeܔFhSx1b09a+$5}H%18I|`ROJ9qI6 +Qi?*!c2\f,*Q{+'2%zl`zbXA3[g1>PBjVpQ@p6qZE 6ii4cU`jAǥ,5Z 鴶UaϒG"S^qsYExJ 괨Ԥ|j:tAR͖p- ]WUS10^舶uT +TYq< 3_4C+Q%ؒ凓2?K@]9#9ke'~GǞ,lb([{N NO 3a\fM)`gudlR:[ ]S9>2_o>2%~Q:aA!nTTk^ V؋$X Pp಩uHcM?^V'I_i(l0:YG,Ex6׾@npov%IاGNYP zsz[C@ύTQ +CB VlZZ ^@/^!ظNtHMF;7њ=Cgb!d\qN0Cu)js MSY bOQa˸)d2[3il &Jق=XD1lCbJ3|Vr_b*b]_bt70WS^"/ $1-Y>J7:acˤ<sOctPU.5PEt;ĺ2Ky vA NBQr`hDC6I k` 3?(V8&^ ktzny+/{z&dCȤbj4 mzΜI +endstream +endobj +6699 0 obj +<< +/Type /Page +/Contents 6700 0 R +/Resources 6698 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6687 0 R +/Annots [ 6681 0 R 6688 0 R 6689 0 R 6690 0 R 6691 0 R 6702 0 R 6692 0 R 6703 0 R 6693 0 R ] +>> +endobj +6681 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.299 743.447 203.967 772.02] +/A << /S /GoTo /D (group__public_api_gaf30bbea51cc8c4b1ddc239d1c5c1468f) >> +>> +endobj +6688 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [236.363 585.749 266.77 596.223] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6689 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [280.802 557.957 311.209 568.431] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6690 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.45 530.057 303.856 540.639] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6691 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [504.477 478.355 525.406 488.937] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6702 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 466.508 123.691 476.982] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6692 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [390.141 466.508 525.406 476.982] +/Subtype/Link/A<> +>> +endobj +6703 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [109.236 454.906 272.623 464.803] +/Subtype/Link/A<> +>> +endobj +6693 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [259.306 174.238 289.712 184.82] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6701 0 obj +<< +/D [6699 0 R /XYZ 69.866 801.979 null] +>> +endobj +6666 0 obj +<< +/D [6699 0 R /XYZ 88.314 703.681 null] +>> +endobj +6667 0 obj +<< +/D [6699 0 R /XYZ 88.314 675.889 null] +>> +endobj +6668 0 obj +<< +/D [6699 0 R /XYZ 88.314 660.052 null] +>> +endobj +6669 0 obj +<< +/D [6699 0 R /XYZ 88.314 632.261 null] +>> +endobj +6670 0 obj +<< +/D [6699 0 R /XYZ 88.314 604.469 null] +>> +endobj +6671 0 obj +<< +/D [6699 0 R /XYZ 88.314 588.632 null] +>> +endobj +6672 0 obj +<< +/D [6699 0 R /XYZ 88.314 560.84 null] +>> +endobj +6673 0 obj +<< +/D [6699 0 R /XYZ 88.314 533.048 null] +>> +endobj +6674 0 obj +<< +/D [6699 0 R /XYZ 88.314 505.257 null] +>> +endobj +6675 0 obj +<< +/D [6699 0 R /XYZ 88.314 441.599 null] +>> +endobj +6676 0 obj +<< +/D [6699 0 R /XYZ 88.314 425.763 null] +>> +endobj +6677 0 obj +<< +/D [6699 0 R /XYZ 88.314 409.926 null] +>> +endobj +6633 0 obj +<< +/D [6699 0 R /XYZ 70.866 386.272 null] +>> +endobj +62 0 obj +<< +/D [6699 0 R /XYZ 70.866 371.081 null] +>> +endobj +6634 0 obj +<< +/D [6699 0 R /XYZ 88.314 288.036 null] +>> +endobj +6635 0 obj +<< +/D [6699 0 R /XYZ 88.314 260.244 null] +>> +endobj +6636 0 obj +<< +/D [6699 0 R /XYZ 88.314 244.407 null] +>> +endobj +6531 0 obj +<< +/D [6699 0 R /XYZ 70.866 232.709 null] +>> +endobj +66 0 obj +<< +/D [6699 0 R /XYZ 70.866 217.517 null] +>> +endobj +6698 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F107 6686 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6743 0 obj +<< +/Length 3272 +/Filter /FlateDecode +>> +stream +xZ[۶~_a2+HiR$Hd>yʴFXrAq uvl҇]SpxoC:Yrg\DvbqY"=;p+ #j:V )8jzO`ˋ^P,܆mّ'Gg qєDf.jk{>,@tv0v42{uH'7ʿNyʍlGu, +j}|+}L60ޡ'I5lt*$b)ʊΒjS++ jܖ55NʣnWj0&X:,W-(eP- /Uҏ`\;zQfZ,I}s{ ʈ?WIUwncRUVQA%/0]\J;jU2>Tmsmk_]Zհ,{V:sn%Aኩ`)*Zq7`]q]XԪxeXD#ʶU펧U4׹ګ>-$]~Y)@Jܚ"XY{u(OZ JdQAIo m\h癋P0e'~4,dve, +#>f%Kit6/oZ6s.,vQ*Qغ@M3JFGsXrS4o-PKB@ QKRTm@7 ";ɞdnݬ#ɧ& h˶y7p}7`]Bfz6vf53Q~?=L_:Ti!8R F(02^F5U9+DP=V.+)4]L@@ZQqHؤE0UJ cݔJ^wF b$Z*V*"!k?ըT)F W(oAGDG!gu;3> @HIVܣ}CF)AŸhyw|Dwj=;g;PZF3+TYӖUhœ> sC݉P G pvXU <sm{k; &c K̃Cn72Lˁ*F?``Eu,jULW530^>! chM s5RC;!ײ3QERdB<]E|C[9ߞ"O#"ĭW@d #IWՖNDN>ϖý2oýpSMå Cxk;Kr?PUTV}jǐwl}PA}l6#Ly.c>qp.ZƢYK?K!B H jk0Ì6%Eў.Qp ffbNu6#lz\^ 'IA@1 i@\Cp @YLv_V1GqCȧH/Bbc :p7" 1n|7 F6mCo}[&uGܩ5 `BcteȲ>>Lbqrt蒔SkHsƢ/m*GDWRt?1L Wt7Kw\mI8[LI6"=%E~Ue!·hm{펿ҼI* ҆wMφȾ@dRg{E)D$ܩʚy@TQy)9Bida^WJz lJ2⎥LozGhlDZ]4qZZB0pT(&U!vpԜ]U *Awb̙Ai}B~&vkaM7ܴ SWG:rI&JYm_2sTo +lJ's:Q &_0Gp6װ}#OlA]UhZ/a[A#ײև>WuL흂X(^.||]$-vM]9yһ)2NoicmMΤB]o;ġ4K,IM685Ψ"~Q˜7TEҋ\K#c3Fb7^]3HXܗlc^ k)MVɷ 5Ω x˥3/6Nۉ֝\`w)#L((ˑ.+-u >+ܣ$gE*cYآo0b"@Қړc^xMXQzfZ; 1JuÛPe^>ķ$FtbRM_1yu|R9&AD+:N̛sFӷ,~ Z?ڋwH#cvvm%z4àp2iӷJ-Ϧb "wfW +vvs3 )=gjvMDZkJJXE`K7TorT7И> +endobj +6694 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 731.792 179.73 742.267] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6695 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.15 731.792 291.224 742.267] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6696 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [479.742 719.729 525.406 730.311] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +6745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 707.882 197.779 718.356] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +6697 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [215.727 707.882 338.898 718.356] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +6704 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 694.039 179.73 704.514] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6705 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.694 694.039 290.768 704.514] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6706 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 654.399 269.491 664.874] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa9583b114e6efdfd8068051d562391dc0) >> +>> +endobj +6707 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [379.415 626.715 449.91 637.189] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6708 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [460.348 626.715 525.406 637.189] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 614.652 153.988 625.234] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6709 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 600.917 227.197 611.392] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faf0e999adc414b29857944d5e5fabfe2e) >> +>> +endobj +6710 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [276.992 531.706 335.777 542.18] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) >> +>> +endobj +6711 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [495.747 531.706 525.406 542.18] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 519.643 132.658 530.225] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6712 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [255.394 507.688 354.113 518.27] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +6713 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 493.953 291.53 504.427] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab6273c525ff9cd304d2a8b0adb61a5ea) >> +>> +endobj +6714 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [495.747 480.003 525.406 490.585] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 468.048 132.658 478.63] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6715 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [269.228 452.426 317.549 462.9] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da5988ddff3f148ce684fbbdb8f68896c1) >> +>> +endobj +6716 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [482.061 452.426 525.406 462.9] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6717 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.045 428.408 377.765 438.99] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +6718 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 414.673 281.066 425.148] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3ad62b9539e5cf97eacf06e2268dea5a) >> +>> +endobj +6719 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [479.568 400.723 522.913 411.305] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6720 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [387.638 373.146 457.89 383.621] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +6721 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [397.078 361.191 513.721 371.666] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +6722 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.787 321.444 525.406 332.026] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fadf130e855b7c27f0f10f66db4a7e83c4) >> +>> +endobj +6723 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 295.754 244.134 306.228] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2959bccbe2dabb6a8d2024ea241f6f2f) >> +>> +endobj +6724 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 268.069 233.079 278.544] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +6725 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.641 268.069 415.511 278.544] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +6726 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [450.961 268.069 525.406 278.544] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 256.114 144.601 266.588] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6727 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226.254 230.209 350.097 240.791] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +6728 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [416.382 230.209 486.876 240.791] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6729 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 216.474 238.898 226.949] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6730 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [376.066 200.637 428.879 211.219] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +6731 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [449.173 200.637 525.406 211.219] +/A << /S /GoTo /D (class_photon_network_aa9a112ccaaf71a296b823e9637584445) >> +>> +endobj +6732 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 174.947 227.439 185.421] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa62d34f824fc4c61b693dd35ff3e7e79b) >> +>> +endobj +6733 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.268 159.11 390.674 169.692] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6734 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [406.194 147.262 485.466 157.737] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +6735 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [503.709 147.262 525.406 157.737] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +6750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 135.307 221.746 145.782] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +6736 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 121.465 291.575 131.939] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +6737 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.042 93.78 276.213 104.255] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +6744 0 obj +<< +/D [6742 0 R /XYZ 69.866 801.979 null] +>> +endobj +6532 0 obj +<< +/D [6742 0 R /XYZ 88.314 746.631 null] +>> +endobj +6533 0 obj +<< +/D [6742 0 R /XYZ 88.314 641.554 null] +>> +endobj +6534 0 obj +<< +/D [6742 0 R /XYZ 88.314 588.071 null] +>> +endobj +6535 0 obj +<< +/D [6742 0 R /XYZ 88.314 534.589 null] +>> +endobj +6536 0 obj +<< +/D [6742 0 R /XYZ 88.314 455.309 null] +>> +endobj +6537 0 obj +<< +/D [6742 0 R /XYZ 88.314 376.03 null] +>> +endobj +6610 0 obj +<< +/D [6742 0 R /XYZ 88.314 282.908 null] +>> +endobj +6611 0 obj +<< +/D [6742 0 R /XYZ 88.314 203.628 null] +>> +endobj +6612 0 obj +<< +/D [6742 0 R /XYZ 88.314 162.101 null] +>> +endobj +6613 0 obj +<< +/D [6742 0 R /XYZ 88.314 108.619 null] +>> +endobj +6741 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F107 6686 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6789 0 obj +<< +/Length 3717 +/Filter /FlateDecode +>> +stream +xڽَ6}p`^{閭z%'j9)H"YmW߯/=UbQ䯮oWc'QSώuzgy+? ac֗^X?ԛ^U]u/}r͚Ib'^/޽wV9rl?MVw_oQ\UVJx*n72ܷ8jvJAB4[w8 DVX^hao׾׿QS7J)AB~ %N^GaaȇTm ʢݩ&a]5·E=`1KpȗE+8:31~qBX6Ï`9ۓuH|k{cߺ)4,8:yR<&Y"?mf(XM/= 8`yFvxZO_*>u]mgZVMPt/kYm#Hqe]oŎtE垻]Q 2㟲Aв]H"Hw9#,o4<ƶ8 B;q= s#\g{A4j\=a?QT_dmDAD^ID!k vl'+!e[E Em;Si:o>fTqadc ,|= zø߳en8Bk־:٦ڔ\v@6pPe@͜G:Gԭ >9* W!#ިuaRwT#s?G? @1~5:'eUr8ۈ9EƦ, !it7^FmA+as=M%ƒдRku>i.ZEv3M ~7]2q`{^rbX +[@| +˖2Ar c+|~wh΢c Cwy-[@z$#m+YIeLfOC֑]#ޑ݀^}z80U T]^ +:ͣ =7A fjZ`zv "]֎7QebzxNcx8tdr˪OxْׯĶ!nU1foC?Cq=\Jo݌&u^;309((dbGHPF*=Gެf+T_ \j2>K)~y8 ?B5G~`}_D6{O SOVe7 3ýI![õ WOqSu'GitUnV9>)D9UU۝I&2Ш3Ɇ`8s=\fGcxUflS\䢋qx93A+Fk2>1GP\g$bv( g,~zzFTg9^0mucz0$T,68 (?E!Ά^VLݎ2hHfaB77ňɩ,l'AM&ZgŁekѡE)-zi^Tyw hJxϩ,*ﰖ\;7S  A ;b{*VێGICK7eY_KhcIE)4mC< DgB^*44i +:DJG)<% B@5wWP c0T̈+F E餐p&_@yk8]TПGB @H!h1:2;3F@N!6GkљTb t]{o>n9S< ]DWuN\:Jb=6ٶwn%"(jJpuJ5Z|zUτ Ok6L9lW +ʮ8 5f̳q l -.T,f>>"mUgXQat70ܳNjڞ& '⑥ŷ-Z*auM ]o&կ{o ^D$DZt6#*zP,~>U[1vڵv_d?ҜZ#}Sf:fO>q}; =ـ_/ڭXG EB3j^_0cH? Jחsn25HKeqG9>J5l @RߚYF;A2&W]:=&7&PA<Ⴞ{=9֧Vw( +ʡ"/[  0f?Z-aẠL잡ha̓XoU}ɷԂu0JI)բ@Na#CME0>NCP3W>gƔ15ʈoTׇXg̢)X=1 O,z\K XyeܵTaFº %QcImͮ+$˞߿"o[|1`C;\?&RqO2DB_xX +{#G_ɨFQv! Z-JJѶŶ䡑\뿜9$>"IOzƟ{cw7UUUzol[+p'5(~PsS`̂УVVbAm@Pڤe}\LJq36;fֆ-&Z#;Fj]؛ՏMRm$84w8 8`q͜c#i~=xƞKNn"$nrc5<*ΰm+\1z2*&C2|iעdoA ?" +~`%ZE'e }qBdd|`vN`ΤR=Y̲=cɝx|,/I-~H'K> +endobj +6738 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.228 759.881 367.634 768.652] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6739 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.129 746.115 361.3 756.697] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +6740 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.015 734.267 210.421 744.742] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6756 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [451.84 703.16 525.406 713.742] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +6791 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 691.313 158.803 701.787] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +6757 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [386.399 691.313 510.511 701.787] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +6758 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.844 679.25 211.436 689.832] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +6759 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 626.811 292.247 637.285] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +6760 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.034 586.112 310.905 596.694] +/A << /S /GoTo /D (class_photon_view_ad288db13a15d581e0f7c5886f4036720) >> +>> +endobj +6761 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [451.84 571.794 525.406 582.17] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +6792 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 559.946 149.147 570.421] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +6762 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.486 559.946 491.999 570.421] +/A << /S /GoTo /D (class_room_info_a928b103a3e88d2c090152440aa6fa874) >> +>> +endobj +6763 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 547.883 185.523 558.466] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +6764 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 533.673 238.656 544.147] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +6765 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.85 516.992 483.218 527.466] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6766 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.772 493.081 275.059 503.556] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +6767 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [426.93 462.082 482.298 472.557] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6768 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [495.747 395.217 525.406 405.692] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6793 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 383.155 132.658 393.737] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6769 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.971 371.199 230.96 381.782] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +6770 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 359.244 207.956 369.826] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +6771 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 345.034 291.037 355.508] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fad07f29ca1e2135927cf0966873408125) >> +>> +endobj +6772 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [495.747 330.608 525.406 341.19] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6794 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 318.653 132.658 329.235] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +6773 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.76 290.124 258.63 300.599] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +6774 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.726 290.124 467.596 300.599] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +6775 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [503.709 290.124 525.406 300.599] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6795 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 278.169 167.769 288.644] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6776 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 237.578 268.478 248.052] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6777 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [330.912 220.789 380.568 231.371] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6778 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.065 208.834 303.722 219.21] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6779 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.404 196.986 280.061 207.461] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6780 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [285.748 196.986 436.284 207.461] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +6781 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.593 184.923 283.792 195.505] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +6782 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [355.748 170.605 405.405 180.981] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6783 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [463.339 144.332 512.996 154.914] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6784 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.235 118.059 298.54 128.641] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +6790 0 obj +<< +/D [6788 0 R /XYZ 69.866 801.979 null] +>> +endobj +6614 0 obj +<< +/D [6788 0 R /XYZ 88.314 761.061 null] +>> +endobj +6615 0 obj +<< +/D [6788 0 R /XYZ 88.314 706.151 null] +>> +endobj +6616 0 obj +<< +/D [6788 0 R /XYZ 88.314 613.013 null] +>> +endobj +6617 0 obj +<< +/D [6788 0 R /XYZ 88.314 519.875 null] +>> +endobj +6618 0 obj +<< +/D [6788 0 R /XYZ 88.314 464.966 null] +>> +endobj +6619 0 obj +<< +/D [6788 0 R /XYZ 88.314 398.101 null] +>> +endobj +6620 0 obj +<< +/D [6788 0 R /XYZ 88.314 304.963 null] +>> +endobj +6333 0 obj +<< +/D [6788 0 R /XYZ 88.314 223.78 null] +>> +endobj +6787 0 obj +<< +/Font << /F74 4865 0 R /F107 6686 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6821 0 obj +<< +/Length 3266 +/Filter /FlateDecode +>> +stream +xڽrF]_K* {T%J7֖7aD బMo_%;>fY.ų//`(7ر(ZkώuxcE\yqb]uXE//^Xo zg.ۓM;E;{Yd0b:Yn@,@b?Ϝ1zĪ:{8rm0]_vZ}_^m*_zrC+WE%tr۲X* +1*_"-r]2nK7pMg>$ R%sOt+׵a` '?U-w7ۮA~6iGv*5-:s?{6Kfj/S *i N[kDMnf;VCC 7-2/iQK׉G@n@EQ ˦UeD&ʶ(H_bxQ@-[M*bأjLPyvO:myJGB.EVR6 VdmJyFk=ڇPꚼ= ַb/-VoNTn+;`}Uz3]pS2+?qqUMK&B-zgd:kMյ-cD#N7pRdw8VuB;ƣV)mc3LytG@` :X?p "m~w] $]~me&/zVBPhcb^(CLjfbIbSDWWծ.B>M@Ɩ8Τ arУ-q5Gf"̑䍞ۗZ׺xRwy=bpP ܚ .ŸmմpFq"Ve~h1g i(U9iNxTgW9RϷ.x >q#Nr*Mo g4iUT{79h!rΛ7J5Mlpf.S}I}y,PǾ蚶ڽ 48ЗbPp;rH8:Ln"ǑS 1Ee:5 NxM tƮ+A&S>p bNѤge\ Az!}g(@nYW8Jz@^ey Zf[11ă;UD/gwV ZLp*1:/Å:hʙ8qndZy57 r5iG@ +|cHQ!8w cr&\@рN.P'O\-6e9<4q +ޖ)pձ&%v6%u5*op[?}Oc^k˚4I=4[g 1@כ$BJd$`X@0m_"ױ'9E?:X7 +#Ln4}Qf|qPMryh`$ ,M2pyakqʽR1uCN &OutDN)\"TQ +XO&?qHX@hSBcžU|B |h9$p-o]Ffcʘۮ#-\z1ɱׁ0O9{tۃ3%Vx`opSG6:+RLNGU@ Xs/bh&l>wڞ")鑀cE e 웼i,'m?ʸȄc쑷 " ݲGxpW"˼.Ah_fs!Fs9;]?mM>xqB]wbf"B +'r P"=8+$X4hO[%xU{#|&(RiZ)z4VI\ 4d.N ]z[FAn} lB%0#Inӛ3Iw&1Zv*EAUi.'њ!NJ\L][D.2 +oe00/X3+it=VU^cYwei[IV:0ґ<<k4+] enu$JT稖;ta +)GCJXՏԷ$MziYv8A}ՉPVF%AEqy0'Vqs;8\LIKa3j)+`Ỻ28mٟquiRΕg1y?ƦkHQr:9tSnDw-dO4DO usUn_Xnpc:y!XRO׌B|Pjnaz4q ʋ(M;^P>.x WJ.3a."oF6(N; +?kMvds;?\Ʌ +! 8.}Q$F'pqxQƙbrb5B%,7S~d^|!w8[ ;L4 `L.ӂXj[y͠>ϔ0,ѫ׌O.*v5<>Hi +9BȩKF]OZas1pSq&xCM=67/:H +0B* +Ўl^X8Y82MJ>$oh%qMNM-JIq +)]w-I%֋*UrxGļ ApD<sqT^ZOğ,$3}Ȼ%#X7am1_ä&z yCl_Q<~rgJ~#x_LeqQKph8 =6)m2}6%Q-vpm}ӥ;n:Q&>wlZZǍOSGdyC +[?ʼn2A)d?D| +endstream +endobj +6820 0 obj +<< +/Type /Page +/Contents 6821 0 R +/Resources 6819 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6687 0 R +/Annots [ 6785 0 R 6786 0 R 6801 0 R 6802 0 R 6803 0 R 6804 0 R 6805 0 R 6806 0 R 6807 0 R 6808 0 R 6809 0 R 6810 0 R 6811 0 R 6812 0 R 6813 0 R 6814 0 R 6815 0 R ] +>> +endobj +6785 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 703.264 216.429 713.847] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +6786 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [222.772 703.264 304.241 713.847] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +6801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 612.701 139.642 623.176] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [192.084 612.701 222.49 623.176] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 586.463 289.988 596.937] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) >> +>> +endobj +6804 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.24 557.788 446.202 568.37] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +6805 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 533.985 223.198 544.46] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +6806 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.746 467.225 235.114 477.699] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6807 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [267.859 402.685 410.836 413.267] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +6808 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [152.274 349.154 218.825 358.261] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6809 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [421.265 349.154 487.816 358.261] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6810 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 282.44 204.683 293.022] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +6811 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [326.788 282.44 422.236 293.022] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +6812 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.404 256.309 261.314 266.784] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab39600c160a074fb0b76467956dadec9) >> +>> +endobj +6813 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [255.34 215.787 325.834 226.262] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +6814 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.798 215.787 436.872 226.262] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +6815 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [384.088 175.265 439.878 185.74] +/Subtype/Link/A<> +>> +endobj +6822 0 obj +<< +/D [6820 0 R /XYZ 69.866 801.979 null] +>> +endobj +6621 0 obj +<< +/D [6820 0 R /XYZ 88.314 718.211 null] +>> +endobj +6622 0 obj +<< +/D [6820 0 R /XYZ 88.314 663.405 null] +>> +endobj +6623 0 obj +<< +/D [6820 0 R /XYZ 88.314 572.734 null] +>> +endobj +6624 0 obj +<< +/D [6820 0 R /XYZ 88.314 505.974 null] +>> +endobj +6625 0 obj +<< +/D [6820 0 R /XYZ 88.314 297.386 null] +>> +endobj +6626 0 obj +<< +/D [6820 0 R /XYZ 88.314 242.581 null] +>> +endobj +6627 0 obj +<< +/D [6820 0 R /XYZ 88.314 147.254 null] +>> +endobj +6819 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F107 6686 0 R /F77 6067 0 R /F82 6068 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6845 0 obj +<< +/Length 2972 +/Filter /FlateDecode +>> +stream +xZKsW| Xolxk)2-X%+)tOBnڜ扙~73:y<9.f-gQ=[?.'<ۅte|ᄑ\6h&+ |ry sn׌"9l9yQR~&G;=s3|WޞD2K-k{04.KUoˢV,wnY#5pvJط掴~ U֪Z`5kE]Eʄ + F"1gj:oLDo}K.{xuٔmi|> d niAzfENg/"1s4'g;¶E4THfyjyZ\\TY*5+ + a |u2{I=eԴo+M=RjM{/9[ +;@)(lcU X=pVyM%T:&Es['?Fa uX?mURpjxvBQUʊtbr{/?'mN(ڝxuοRQ(mp6/- Vց3`h2A\%7NYgyR{>> e<%+Lxd-d^ghqzD+^ɮV~Wg̈́0`Y +7"=  z& 'NO̊UKUMc!fR(*P6:sLSQs\?nNt,8{s^81 +bߟPmBa۞ U |ҹU`ԅI*ǒmVHzwSْ#$PZ%J}≔ܠM)zb5#<pzLmFYf̫N#qaЪn=BA[|@>X8 zma"Zq~WUu aK[b ^ + ӆhZ!i0+P2eOY/wL>lKrޢuQ ``v"E ?fZQD6tXڑ~Hs՘pt=+ҋt4@n;a4u#1&71$1=Ȕ(&dߘz\߯~Q=]ǵ>>@rǣY7x w֔?dg)q!~8HVZmѴ v zvDO ^=gd=ry>41'⨟@z[v6_gBqsYx~8넇xjl+ޝf\i[vHZ/ NgXK-(kՌeQ}F o”K\͈O2X+EX"B~yND+)qּk>94_{Y=v~V:f)ZƄ 9\;YY}>1C* g&͚u`_:p^$z|Jm}Gw鑃 3Z!*թ5fdyN5m|8Iv?x_6yfN6[6}dIέjb8x].4FLZ֝v`R,86j,3L#1b{ƣRLn,s0^-#& 'vӅ +w^$T4T[" ",B k5iF5|Qn1#gA\E +oy +nB}tx/0d8at./lZ2UUҔ}c8sb0Dh"$UyT +V4kRͻg%cqe燖kR&_|֦5w.7fq{( C=M| 4SL/e_sB؉|杻&Ѿ<$Sp@N#6=%yjA1 zj]'!t{ .ƺOwyC2FS Arֆ)쭬{"ǣVƀ*u.߷n\MϢ u؞b=81o枘)keUn*FG?!&=]}a|3~3lD|r-p8׸6_ eaHxj\8ai =@I"0 k 8E0͟sKɠ(vECjj%kBAc + #9 }0F, ;ߛCjơ<^)㾺_ SK0*m F(s7Be)QzWhVr0Tf=ز>K^Cv [AHxG8> +endobj +6816 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.813 746.222 359.22 756.697] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6817 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.691 722.312 226.157 732.786] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +6818 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.357 722.312 472.451 732.786] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +6825 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.467 707.886 525.406 718.468] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6847 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 696.038 165.052 706.513] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6826 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.386 681.612 303.792 692.195] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6827 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [400.971 638.765 450.627 649.24] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6828 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 612.491 158.893 622.76] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6829 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [270.457 612.491 320.114 622.76] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6830 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 598.065 164.604 608.441] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6831 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [325.241 598.065 380.609 608.441] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6832 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 555.218 235.087 565.693] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +6833 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [325.162 514.519 355.569 525.101] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6834 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.237 502.563 366.299 513.146] +/A << /S /GoTo /D (class_photon_player_ab0bad4e5c05adfe0d524bc32430ecc20) >> +>> +endobj +6835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.362 457.353 308.019 467.827] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6836 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 431.079 158.893 441.348] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6837 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.94 431.079 324.597 441.348] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6838 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 416.761 164.604 427.236] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6839 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.569 416.761 360.937 427.236] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6840 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.236 402.443 164.604 412.917] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6841 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [301.265 402.443 356.634 412.917] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +6846 0 obj +<< +/D [6844 0 R /XYZ 69.866 801.979 null] +>> +endobj +6628 0 obj +<< +/D [6844 0 R /XYZ 88.314 761.061 null] +>> +endobj +6629 0 obj +<< +/D [6844 0 R /XYZ 88.314 641.649 null] +>> +endobj +6630 0 obj +<< +/D [6844 0 R /XYZ 88.314 570.057 null] +>> +endobj +6631 0 obj +<< +/D [6844 0 R /XYZ 88.314 517.51 null] +>> +endobj +6632 0 obj +<< +/D [6844 0 R /XYZ 88.314 460.236 null] +>> +endobj +6637 0 obj +<< +/D [6844 0 R /XYZ 70.866 380.409 null] +>> +endobj +70 0 obj +<< +/D [6844 0 R /XYZ 70.866 363.424 null] +>> +endobj +6356 0 obj +<< +/D [6844 0 R /XYZ 88.314 278.552 null] +>> +endobj +6638 0 obj +<< +/D [6844 0 R /XYZ 88.314 249.915 null] +>> +endobj +6639 0 obj +<< +/D [6844 0 R /XYZ 88.314 221.278 null] +>> +endobj +6391 0 obj +<< +/D [6844 0 R /XYZ 88.314 192.642 null] +>> +endobj +6640 0 obj +<< +/D [6844 0 R /XYZ 88.314 164.005 null] +>> +endobj +6641 0 obj +<< +/D [6844 0 R /XYZ 88.314 135.368 null] +>> +endobj +6642 0 obj +<< +/D [6844 0 R /XYZ 88.314 94.776 null] +>> +endobj +6843 0 obj +<< +/Font << /F74 4865 0 R /F107 6686 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6864 0 obj +<< +/Length 1605 +/Filter /FlateDecode +>> +stream +xڵXK6W{ Ro!m`4&E,qmu%r+q63R <9[9?O^&zYIƱdsg]:˕~̭ޟ__-?_;axQD'yka9|^N,>|bN {Y4g QX_`FUg^eX{l,W1ˢ}}#d%w"}=YGH>Gy釮Jz/n:.W)l7ĭpǮV^T{Vy]}E.[%E U; uӷ"oh^[N]H 0 +Et]!ߢKj4X4& 2|'/lĽ +q{F~Zh73w<}} vbxD.TkFtDcdDdy /v0mȾ5 ս.rIlsYѵ{ŮULdn9QjݚBzj|b)D{Y0PxI"ÈΊs/"DS'uO7]P4ߩCUDm= M+Iϑ ̻J{47B5JBӫ58!O;sq[<7?`.*2,x @j$B\E N!Z i}5yFw ]Il!RCO + +83@Z WpOC{ (zʦ4p}׫ƆAvU#T+P2f}CzD}}$s,yhTѮ%0"0F_&NV(5"S0d9›H%7\+ +Q}naԾuuQ%wcG 0݌q;χpf{RgC@j+0y}h҇.RUoE+x9bDCͭB?7G~%TnCmg +ѧhvi`q0:)+B CSt{}I }atz4G G~ǰZUwF489DZ.ձi^nG/`z=셩jXB[ P֎8!;PV47`áO@OˌɄC OW+?{Z>L{<Z˼ ګ$/n(L L*G|w_b4 #ln5` |7&Z PnΉh78ƶ1D5uT4 #v+<)hPbdCgw.vSa"Lf1t{BrE+tT|i2 X`4?Sd86=;^|Yُ/ɍD 12֋Ķ }=Yx.&UzyFHBrJvmh-]ʍ*g O~kV?'ăĞ?cᯄma̘77gxBOy>M:IV0Oc/|S +endstream +endobj +6863 0 obj +<< +/Type /Page +/Contents 6864 0 R +/Resources 6862 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6868 0 R +/Annots [ 6842 0 R 6867 0 R 6852 0 R 6853 0 R 6854 0 R 6855 0 R 6856 0 R 6857 0 R 6858 0 R 6859 0 R 6860 0 R 6861 0 R ] +>> +endobj +6842 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 708.861 525.406 719.335] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6867 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 698.69 91.113 707.174] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [401.942 679.173 451.598 689.756] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 669.029 220.405 677.8] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +6854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 655.263 174.068 665.845] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +6855 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.249 625.684 356.906 636.266] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6856 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.206 596.104 473.863 606.686] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +6857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.189 566.524 258.493 577.107] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +6858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.731 465.831 218.262 476.413] +/A << /S /GoTo /D (class_photon_animator_view_aa061f0b6fb761c3da8635b9ce7e85c8b) >> +>> +endobj +6859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.884 465.831 310.181 476.413] +/A << /S /GoTo /D (class_photon_transform_view_a5d1d6606c9c935b2326b31b292f37a7e) >> +>> +endobj +6860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.804 465.831 413.784 476.413] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view_a980ea46d1725668b1ae12f958840dc61) >> +>> +endobj +6861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [433.392 465.831 522.913 476.413] +/A << /S /GoTo /D (class_photon_rigidbody_view_a4a7145633e24084001a4cd0ed9f8a15c) >> +>> +endobj +6865 0 obj +<< +/D [6863 0 R /XYZ 69.866 801.979 null] +>> +endobj +74 0 obj +<< +/D [6863 0 R /XYZ 70.866 771.024 null] +>> +endobj +6678 0 obj +<< +/D [6863 0 R /XYZ 70.866 753.893 null] +>> +endobj +78 0 obj +<< +/D [6863 0 R /XYZ 70.866 753.893 null] +>> +endobj +6862 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6879 0 obj +<< +/Length 784 +/Filter /FlateDecode +>> +stream +xڭU[W0~Wp*1 o{,PYKյֶ$7L&w8eX$IfK% J EY\NQcݏU4'mޯT({G3GA e8c1WA 8;EG"Cw +<<61jt}I0F4u(ÂRvB1q'!%n 0YZӾQ n@ +Yy[N-&=XAn2߮ [; X\$.H㌧6Zvڅx4iF8_2wlEyƭ;0eY>_o jP o3=%H"R 1Xج IYӴ#v{`yJ9 +j&wAL9Mm9!_pF\'ڞҩEXbprI|,BŰ).t²Z~2.lcko[roGiB/4|gR0)+ѡkwPߕZ A.\rwۥ/݀ۦQkICϴ7EkS͈ZZ^1ft$۝00uol(xv;_z1NxSϹ5)<od&4M@'q:UZK=r;lɮ ؾ &ܟJPq@{'> +endobj +6873 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 671.828 218.772 682.411] +/A << /S /GoTo /D (class_photon_lag_simulation_gui) >> +>> +endobj +6874 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [262.704 657.084 290.269 666.807] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6875 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 634.785 182.486 643.556] +/A << /S /GoTo /D (class_photon_stats_gui) >> +>> +endobj +6876 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [345.121 618.23 372.686 627.953] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6880 0 obj +<< +/D [6878 0 R /XYZ 69.866 801.979 null] +>> +endobj +6881 0 obj +<< +/D [6878 0 R /XYZ 70.866 771.024 null] +>> +endobj +82 0 obj +<< +/D [6878 0 R /XYZ 70.866 771.024 null] +>> +endobj +6882 0 obj +<< +/D [6878 0 R /XYZ 70.866 711.741 null] +>> +endobj +86 0 obj +<< +/D [6878 0 R /XYZ 70.866 603.985 null] +>> +endobj +6877 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6895 0 obj +<< +/Length 548 +/Filter /FlateDecode +>> +stream +xUM0WhK䭿\v+8qX8ڈmS;ImrdKyofxPD'W~y431 * E`FRІzU-[lȇe ܃P(uƋBu)"6hZ+BT͡H%*R 8^$5[Z̽D& k¨כ;" 73 p,sNzуKcJ8uI"r_7Bn,>ξ#a2!Cq|K xɛ*ې =k,i8RJYWt) +b5XTW*"Җ}>q6I\> +endobj +6884 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 502.442 155.892 513.024] +/A << /S /GoTo /D (namespace_exit_games_1_1_client) >> +>> +endobj +6885 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 402.575 148.917 413.157] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i) >> +>> +endobj +6886 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 388.116 161.389 398.492] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6887 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 288.356 192.977 298.831] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_g_u_i_1_1_gizmo_type_drawer) >> +>> +endobj +6888 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 224.759 166.356 235.233] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65) >> +>> +endobj +6889 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.343 224.759 268.786 235.233] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab37d9c6b396307dda685c3c65c20e359) >> +>> +endobj +6890 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.779 224.759 349.796 235.233] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab7095f057db3fefa7325ad93a04e14fd) >> +>> +endobj +6891 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.788 224.759 441.753 235.233] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65a70ab99161d5df5bb7e0edb7407f65483) >> +>> +endobj +6892 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [444.746 224.759 515.285 235.233] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65aa296104f0c61a9cf39f4824d05315e12) >> +>> +endobj +6896 0 obj +<< +/D [6894 0 R /XYZ 69.866 801.979 null] +>> +endobj +90 0 obj +<< +/D [6894 0 R /XYZ 70.866 771.024 null] +>> +endobj +6897 0 obj +<< +/D [6894 0 R /XYZ 70.866 580.721 null] +>> +endobj +94 0 obj +<< +/D [6894 0 R /XYZ 70.866 580.721 null] +>> +endobj +6898 0 obj +<< +/D [6894 0 R /XYZ 70.866 544.573 null] +>> +endobj +6899 0 obj +<< +/D [6894 0 R /XYZ 70.866 491.214 null] +>> +endobj +98 0 obj +<< +/D [6894 0 R /XYZ 70.866 483.477 null] +>> +endobj +6900 0 obj +<< +/D [6894 0 R /XYZ 70.866 444.706 null] +>> +endobj +6901 0 obj +<< +/D [6894 0 R /XYZ 70.866 376.888 null] +>> +endobj +102 0 obj +<< +/D [6894 0 R /XYZ 70.866 369.151 null] +>> +endobj +6902 0 obj +<< +/D [6894 0 R /XYZ 70.866 330.379 null] +>> +endobj +6903 0 obj +<< +/D [6894 0 R /XYZ 70.866 266.782 null] +>> +endobj +106 0 obj +<< +/D [6894 0 R /XYZ 70.866 206.966 null] +>> +endobj +6904 0 obj +<< +/D [6894 0 R /XYZ 70.866 179.265 null] +>> +endobj +110 0 obj +<< +/D [6894 0 R /XYZ 70.866 179.265 null] +>> +endobj +6905 0 obj +<< +/D [6894 0 R /XYZ 88.314 123.21 null] +>> +endobj +6906 0 obj +<< +/D [6894 0 R /XYZ 88.314 105.762 null] +>> +endobj +6907 0 obj +<< +/D [6894 0 R /XYZ 88.314 88.314 null] +>> +endobj +6908 0 obj +<< +/D [6894 0 R /XYZ 88.314 70.866 null] +>> +endobj +6849 0 obj +<< +/D [6894 0 R /XYZ 70.866 58.53 null] +>> +endobj +6893 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R /F74 4865 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6964 0 obj +<< +/Length 1792 +/Filter /FlateDecode +>> +stream +xY[s8~maV$-qNv$ib3˥gg!aƭ;}HA}&gk> +\&ﺚ%$Ҿ6M~,ˁYZuY!3iX/h\L'c>M[ 烯߰5מsv,n+M121ZoK#& +qZsƐ`ôuѿSӧׅ0l@7PV//sXkC #:mz +y M {tZj_ 010e@7*oь/0`X+;f %4oC(Ċϳ8@PקglFc?m: Cb!rwTa;wDZcÂ$\։`avO(e ,J`sؑT"WC˄*pV<),'ǒ"iKuK.7xzhRs%5(̀Ku$u a_[C/tNԽnSp " &uvUUcβ6˼M[+?W'z;V-$L?0rT.rB%aTL$Wn+Y3ʣEG7iLTYU?\l%gd*S D2ArXZq +i,9SE\.2J(GvӆWE}=ɺfXԷRED{׌*-\)7!9J#o"IY䵛Qըr%fyAy%eI\_%XuŒR[QS)T"SkMyz/ ٍ֖ A^0IJ4 :漢iS~su6 p ?L@`` UldXk: ׬ÏES5;8rpV)׈ZT 6v~6nse6&I;Hťψ;5BAl}=f݋)p{V8jeh&8INF qT;'ͯkOg宠Ey=RSYsX5hfZe><=Ro[j#vUwBD˒ď8%x];/2)68XzW]U>ƜZHlJY墎Cќq^0~48TE.1;:UjW߮ LMep_+mذf@yz\U+r&bRZEv*sAYڙTǼGreX1CcejT*ٟ(,o g2Iގl2l:J$ɢ >* #{њ{q%5orAl]hl0VQ"[m(U5!PU_kG^/Sф0Si*bn>c;_"s{ L*>pLaͯ1S OyOHkT\?+=XbT|e +endstream +endobj +6963 0 obj +<< +/Type /Page +/Contents 6964 0 R +/Resources 6962 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6868 0 R +/Annots [ 6910 0 R 6911 0 R 6912 0 R 6913 0 R 6914 0 R 6915 0 R 6916 0 R 6917 0 R 6918 0 R 6919 0 R 6920 0 R 6921 0 R 6922 0 R 6923 0 R 6924 0 R 6925 0 R 6926 0 R 6927 0 R 6928 0 R 6929 0 R 6930 0 R 6931 0 R 6932 0 R 6933 0 R 6934 0 R 6935 0 R 6936 0 R 6937 0 R 6938 0 R 6939 0 R 6940 0 R 6941 0 R 6942 0 R 6943 0 R 6944 0 R 6945 0 R 6971 0 R 6946 0 R 6947 0 R 6948 0 R 6949 0 R 6972 0 R 6950 0 R 6951 0 R 6952 0 R 6953 0 R 6973 0 R ] +>> +endobj +6910 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 704.139 151.911 714.721] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6911 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 632.087 179.85 642.562] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp) >> +>> +endobj +6912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 524.025 203.019 532.509] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) >> +>> +endobj +6913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [236.537 507.2 264.102 516.826] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6914 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 495.478 172.014 504.249] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) >> +>> +endobj +6915 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.996 478.734 248.561 488.36] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6916 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [248.811 478.734 267.847 488.36] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.351 478.734 352.012 488.36] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +6918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 467.012 161.541 475.783] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +6919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.18 450.171 207.745 459.894] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.995 450.171 227.031 459.894] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 438.546 182.755 447.317] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code) >> +>> +endobj +6922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.414 421.802 272.979 431.428] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.23 421.802 292.265 431.428] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 408.376 199.334 418.851] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code) >> +>> +endobj +6925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [283.664 393.335 311.229 402.962] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.48 393.335 330.515 402.962] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 381.613 201.459 390.384] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code) >> +>> +endobj +6928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.522 364.869 406.087 374.496] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [406.065 364.869 425.1 374.496] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 342.188 157.112 350.959] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer) >> +>> +endobj +6931 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.813 325.444 253.378 335.071] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6932 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.629 325.444 272.664 335.071] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6933 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.577 325.444 468.238 335.071] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +6934 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 313.722 182.97 322.493] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) >> +>> +endobj +6935 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 285.256 161.039 294.027] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) >> +>> +endobj +6936 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 270.045 148.159 278.138] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) >> +>> +endobj +6937 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.535 270.045 325.1 278.138] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +6938 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 256.79 209.617 265.561] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener) >> +>> +endobj +6939 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.707 240.046 204.742 249.672] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +6940 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.805 230.62 174.466 238.713] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +6941 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 217.365 182.522 226.136] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code) >> +>> +endobj +6942 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 156.868 210.793 167.213] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8b) >> +>> +endobj +6943 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 144.783 209.753 155.258] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +6944 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [224.738 144.783 437.401 155.258] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba443ec8de9a697e190f4b24ab3ab36a9d) >> +>> +endobj +6945 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [452.386 144.783 525.406 155.258] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +6971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 132.828 209.761 143.303] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +6946 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.754 132.828 387.562 143.303] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba0777deff381bd76ec1ab2dc434860022) >> +>> +endobj +6947 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 120.873 265.056 131.347] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bad376a854099d47f8a5279893e854ec27) >> +>> +endobj +6948 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.127 120.873 411.045 131.347] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab0d4998a26f5b5742ad38c4af8817e32) >> +>> +endobj +6949 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.116 120.873 525.406 131.347] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab67551dad56fc73fd4a580e810dc5f7f) >> +>> +endobj +6972 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 109.478 178.828 119.392] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab67551dad56fc73fd4a580e810dc5f7f) >> +>> +endobj +6950 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.82 109.478 344.129 119.392] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba522f961eb7a2b35f0ef4b99b4ad3bb0a) >> +>> +endobj +6951 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 96.855 242.237 107.437] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8baa8534012cb63e62c0b3a2335206117cc) >> +>> +endobj +6952 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.359 96.855 487.612 107.437] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba85a7970b25fcbdfd2f82f78609298e56) >> +>> +endobj +6953 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [496.733 96.855 525.406 107.437] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bac18fb72fa24e41efb70cd214f7681dfc) >> +>> +endobj +6973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 85.137 280.792 95.482] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bac18fb72fa24e41efb70cd214f7681dfc) >> +>> +endobj +6965 0 obj +<< +/D [6963 0 R /XYZ 69.866 801.979 null] +>> +endobj +114 0 obj +<< +/D [6963 0 R /XYZ 70.866 771.024 null] +>> +endobj +6966 0 obj +<< +/D [6963 0 R /XYZ 70.866 744.472 null] +>> +endobj +6967 0 obj +<< +/D [6963 0 R /XYZ 70.866 685.549 null] +>> +endobj +6968 0 obj +<< +/D [6963 0 R /XYZ 70.866 607.652 null] +>> +endobj +118 0 obj +<< +/D [6963 0 R /XYZ 70.866 600.958 null] +>> +endobj +6969 0 obj +<< +/D [6963 0 R /XYZ 70.866 562.466 null] +>> +endobj +6970 0 obj +<< +/D [6963 0 R /XYZ 70.866 196.964 null] +>> +endobj +6962 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7020 0 obj +<< +/Length 2401 +/Filter /FlateDecode +>> +stream +xڽZ[oܶ~r@!)8Hv") +}%+%{pEJ}YR"9CsPˣ'p"\^;!%Q8aI_,yut9Y0,+׼yldMV\ y[6eAVI3bRc?/9:<PuD\8ӟ`/;5s#v.~=/& +I{N0BqW˜OK\YڍíU7f,<媭r +%6ps4i\0V㺗'{»o;+";KHz|2%zsZ8s<梑4g4:C' qEOXbJ*,D >3g'RGWeyL?ii!;Ou[ϰ&P1~F  _1~슙{ ߯JQE?HL2b`ge!g98=MK֭-Fi& =؅ z[<{ dȽF>nF`z=VKX_Tm-3M.ongjtH` !+?)5云E!&/nsSy%Z5<Ŵ KR2IΠS C/y֪3Y%0ټ˅B"]Q^eΝ.>{2&Wݤ6-u' %@T򠓿5g=j@E&d1DFk[gȲN{jm -5yP&?ݩ8@ 囼- /nd{vP=>c-P/lqe[Mc*.aT/A\R3kRF%jC{0 X/Aif[jY;^w1#l "#E*&\7H i46 .$/աe_$(g5%I8T5$*Y}JԽhx=Mu[I-2>:x@Q.0Nl]x[hVI1D# ۅ经ɼ*'<3v/Q G7Ͱ 㹧e\K{}oH0FtcK?WVoU]w.PTN +NYSa6gԏu|#w:U %A8pLC1d;/tLI1p-6i,n&B /^2!+vhNMB껠+3j0u鱜PڿS񙨀G(7]o|hiAً}O22o@;#D&I$9ܞ-B^פц$򂝴ηr}0BcBerآ\'m"|պl0aBt`/_mo3&_3| Z[~"heZO5Eʤ˜0[^DG`6WagʒaPн +dq%"uD62T{YC;۪nmgJO>țoMC=o`oDl JU\v$6H0b #Uv/D_BCt&Ʈ֣p*l7I=s̐=)BM)-ͫZ}w2{[ڪ뎀>W{cpޅocQpm_ Hي[W^La0U6JT84K{Ush[l(MT#V4DoD9AICEޘXGS.Idb;uq0[*E3/],2TMݿ7I}{U&U6y}\m,WY L|E a9v@VJ"rXpLk]xpbw_$cg@c>ΰ}Z"|p|# ݍ5E }1#MKY{dKʬ U}scL6wzD\ߛ[l +endstream +endobj +7019 0 obj +<< +/Type /Page +/Contents 7020 0 R +/Resources 7018 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6868 0 R +/Annots [ 6954 0 R 6955 0 R 6956 0 R 6957 0 R 7022 0 R 6958 0 R 6959 0 R 6960 0 R 6961 0 R 7023 0 R 6998 0 R 6999 0 R 7000 0 R 7001 0 R 7002 0 R 7003 0 R 7004 0 R 7024 0 R 7005 0 R 7006 0 R 7007 0 R 7008 0 R 7009 0 R 7010 0 R 7011 0 R 7012 0 R 7013 0 R 7014 0 R 7015 0 R 7016 0 R 7017 0 R ] +>> +endobj +6954 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 758.177 227.891 768.652] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1c) >> +>> +endobj +6955 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 746.222 236.31 756.697] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca90589c47f06eb971d548591f23c285af) >> +>> +endobj +6956 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.385 746.222 389.943 756.697] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca4db4563826bad0eb2f60ee6e42d0ea4b) >> +>> +endobj +6957 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.017 746.222 525.406 756.697] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1cad85544fce402c7a2a96a48078edaf203) >> +>> +endobj +7022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 734.267 135.691 744.742] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1cad85544fce402c7a2a96a48078edaf203) >> +>> +endobj +6958 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.891 734.267 292.439 744.742] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1caa8a06837aec81e16c9a07221848aef6f) >> +>> +endobj +6959 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 722.312 250.504 732.786] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca3f6fb6f058deeea1407bacefec5265a2) >> +>> +endobj +6960 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.962 722.312 404.773 732.786] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca183709ebe3a1d675014d32b94ad7ed94) >> +>> +endobj +6961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.232 722.312 525.406 732.786] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +7023 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 710.357 139.413 720.625] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +6998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.572 695.541 365.137 705.264] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +6999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 686.285 136.515 694.12] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 671.705 161.469 682.05] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19) >> +>> +endobj +7001 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 659.512 187.193 670.095] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19af704f57ea420275ad51bf55b7dec2c96) >> +>> +endobj +7002 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.487 659.512 340.812 670.095] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ae047588dabb5a0b1e059604b80289791) >> +>> +endobj +7003 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [345.105 659.512 492.44 670.095] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ac495884e9133962e72063062d1382466) >> +>> +endobj +7004 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [496.733 659.512 525.406 670.095] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aedb214653d9f3cecd840463790ac2894) >> +>> +endobj +7024 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 647.557 176.613 658.139] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aedb214653d9f3cecd840463790ac2894) >> +>> +endobj +7005 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 635.602 193.559 646.184] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa927b3e1f83aa1b3c6feff945ca18f77) >> +>> +endobj +7006 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [204.813 635.602 376.222 646.184] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa3db59f96790ca93f6c8ac703735f401) >> +>> +endobj +7007 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [387.477 635.602 522.913 646.184] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a8678b4480f40853432f680fccf4dab40) >> +>> +endobj +7008 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 624.315 228.223 634.229] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a47d270be4d53cc3a1bc56b9eb1c36595) >> +>> +endobj +7009 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 611.692 252.297 622.274] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ab9ef7abda3055a11dd964fd93a07dc40) >> +>> +endobj +7010 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [255.338 611.692 419.341 622.274] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ad61e8ad0770b4d06dc1716dfce52751e) >> +>> +endobj +7011 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [422.382 611.692 522.913 622.274] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +7012 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 599.974 193.317 610.319] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aef70e46fd3bbc21e3e1f0b6815e750c0) >> +>> +endobj +7013 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [406.381 426.427 436.787 437.009] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7014 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.462 299.376 390.868 309.851] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7015 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [448.829 271.446 479.235 282.028] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7016 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.463 243.623 398.869 254.205] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7017 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.437 188.085 425.844 198.56] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7021 0 obj +<< +/D [7019 0 R /XYZ 69.866 801.979 null] +>> +endobj +122 0 obj +<< +/D [7019 0 R /XYZ 70.866 570.818 null] +>> +endobj +6986 0 obj +<< +/D [7019 0 R /XYZ 70.866 543.736 null] +>> +endobj +126 0 obj +<< +/D [7019 0 R /XYZ 70.866 543.736 null] +>> +endobj +6987 0 obj +<< +/D [7019 0 R /XYZ 88.314 445.286 null] +>> +endobj +6988 0 obj +<< +/D [7019 0 R /XYZ 88.314 429.418 null] +>> +endobj +6989 0 obj +<< +/D [7019 0 R /XYZ 88.314 401.595 null] +>> +endobj +6990 0 obj +<< +/D [7019 0 R /XYZ 88.314 373.773 null] +>> +endobj +6991 0 obj +<< +/D [7019 0 R /XYZ 88.314 345.95 null] +>> +endobj +6992 0 obj +<< +/D [7019 0 R /XYZ 88.314 318.127 null] +>> +endobj +6993 0 obj +<< +/D [7019 0 R /XYZ 88.314 302.26 null] +>> +endobj +6994 0 obj +<< +/D [7019 0 R /XYZ 88.314 274.437 null] +>> +endobj +6995 0 obj +<< +/D [7019 0 R /XYZ 88.314 246.614 null] +>> +endobj +6996 0 obj +<< +/D [7019 0 R /XYZ 88.314 218.792 null] +>> +endobj +6997 0 obj +<< +/D [7019 0 R /XYZ 88.314 190.969 null] +>> +endobj +7025 0 obj +<< +/D [7019 0 R /XYZ 70.866 169.302 null] +>> +endobj +130 0 obj +<< +/D [7019 0 R /XYZ 70.866 154.096 null] +>> +endobj +7026 0 obj +<< +/D [7019 0 R /XYZ 88.314 70.866 null] +>> +endobj +7018 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F73 4864 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7055 0 obj +<< +/Length 1999 +/Filter /FlateDecode +>> +stream +xڵYKs6W=Q35 :q:q+%ex$v!\|훢ڡe8 IwNLIEN2yr|v}6svkU6ʼnZ݆Wm73SdzR$,pYw%~8r BY~Q{4A8qj0_y[T<@ ^<~+"4"/'RQt'Ii +udMq[F[?_Y9EZ_vR͜Q{#C 3/ W/` "A4A.CS?AƎ+efҢtYY>(t@ZD$2TÆ,~(KB*r3uc JKݒq;@ ށ_[#h84Mv}<w`)"&>u`JMRRK\]4ubv u,^Mn9$6c,HmV5̈m-6ciG I#PjŇs֬jTшDixR>1dk>r"!5OP kPO3Jz^@(L-d]}xsJcvkc朱DЅIx ([D"5IV_+>k"Z&TH + Z 9^@ N|hX ovܱ&r P"8&pc7)+! +=Z12q2FJi4M}XZ?>ù1mH)ӎB,fo6m'*slKSrW')>.2پZZFQ6DԚ(J{L]2 De@=VcT"rX@TZd Z]2/U -9z|R"6W Eox{'VmlCy$kNSH#mUx,ESMdGD3_$ d9f7q_5e`,7NwRw@4 F>)se y@B􎰇XrZ bgT'mBU86?1 #ar*7Ac!Vlͧ}wUB9W]-{uĈs2d|)`'Lnd9Ox.2,WjyLs¨_A r-mWXh{[k}>~> _/Ab +endstream +endobj +7054 0 obj +<< +/Type /Page +/Contents 7055 0 R +/Resources 7053 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 6868 0 R +/Annots [ 7046 0 R 7047 0 R 7048 0 R 7049 0 R 7050 0 R 7051 0 R 7052 0 R ] +>> +endobj +7046 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [325.576 554.193 355.982 564.775] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7047 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [79.84 544.13 110.247 552.614] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7048 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.74 420.552 451.065 431.134] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) >> +>> +endobj +7049 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 318.82 182.298 327.304] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +7050 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 292.698 175.824 301.182] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +7051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 209.681 160.877 220.263] +/A << /S /GoTo /D (namespace_photon_ac2f4b49a218ef814d00e31cd5f32bf4e) >> +>> +endobj +7052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 67.875 210.721 78.457] +/A << /S /GoTo /D (namespace_unity_engine_1_1_scene_management) >> +>> +endobj +7056 0 obj +<< +/D [7054 0 R /XYZ 69.866 801.979 null] +>> +endobj +7035 0 obj +<< +/D [7054 0 R /XYZ 88.314 761.061 null] +>> +endobj +7036 0 obj +<< +/D [7054 0 R /XYZ 88.314 746.895 null] +>> +endobj +7037 0 obj +<< +/D [7054 0 R /XYZ 88.314 732.729 null] +>> +endobj +7038 0 obj +<< +/D [7054 0 R /XYZ 88.314 718.563 null] +>> +endobj +7039 0 obj +<< +/D [7054 0 R /XYZ 88.314 704.396 null] +>> +endobj +7040 0 obj +<< +/D [7054 0 R /XYZ 88.314 690.23 null] +>> +endobj +7041 0 obj +<< +/D [7054 0 R /XYZ 88.314 676.064 null] +>> +endobj +7042 0 obj +<< +/D [7054 0 R /XYZ 88.314 661.898 null] +>> +endobj +7043 0 obj +<< +/D [7054 0 R /XYZ 88.314 647.732 null] +>> +endobj +7044 0 obj +<< +/D [7054 0 R /XYZ 88.314 633.566 null] +>> +endobj +7045 0 obj +<< +/D [7054 0 R /XYZ 88.314 619.4 null] +>> +endobj +7027 0 obj +<< +/D [7054 0 R /XYZ 70.866 611.877 null] +>> +endobj +134 0 obj +<< +/D [7054 0 R /XYZ 70.866 597.472 null] +>> +endobj +7028 0 obj +<< +/D [7054 0 R /XYZ 88.314 508.54 null] +>> +endobj +7029 0 obj +<< +/D [7054 0 R /XYZ 88.314 494.374 null] +>> +endobj +7030 0 obj +<< +/D [7054 0 R /XYZ 88.314 480.208 null] +>> +endobj +7031 0 obj +<< +/D [7054 0 R /XYZ 88.314 466.042 null] +>> +endobj +7032 0 obj +<< +/D [7054 0 R /XYZ 88.314 451.876 null] +>> +endobj +7033 0 obj +<< +/D [7054 0 R /XYZ 88.314 437.71 null] +>> +endobj +7034 0 obj +<< +/D [7054 0 R /XYZ 88.314 423.543 null] +>> +endobj +6197 0 obj +<< +/D [7054 0 R /XYZ 70.866 404.174 null] +>> +endobj +138 0 obj +<< +/D [7054 0 R /XYZ 70.866 394.123 null] +>> +endobj +7057 0 obj +<< +/D [7054 0 R /XYZ 70.866 355.954 null] +>> +endobj +7058 0 obj +<< +/D [7054 0 R /XYZ 70.866 248.707 null] +>> +endobj +142 0 obj +<< +/D [7054 0 R /XYZ 70.866 196.272 null] +>> +endobj +7059 0 obj +<< +/D [7054 0 R /XYZ 70.866 169.389 null] +>> +endobj +146 0 obj +<< +/D [7054 0 R /XYZ 70.866 169.389 null] +>> +endobj +7060 0 obj +<< +/D [7054 0 R /XYZ 70.866 144.963 null] +>> +endobj +150 0 obj +<< +/D [7054 0 R /XYZ 70.866 144.963 null] +>> +endobj +7061 0 obj +<< +/D [7054 0 R /XYZ 70.866 106.901 null] +>> +endobj +7062 0 obj +<< +/D [7054 0 R /XYZ 70.866 63.344 null] +>> +endobj +7053 0 obj +<< +/Font << /F74 4865 0 R /F107 6686 0 R /F39 4826 0 R /F73 4864 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7067 0 obj +<< +/Length 487 +/Filter /FlateDecode +>> +stream +xڝSMS0WQi[F[`:S$4qJ,&╵j@>Ʌ`Z@j qKCm>ƒ\ )9GT I]3wuӅ $nQuuMKU7!*;/_pxkl~+@*r R &JH +0NcjP3"z\L&#C!S‘_`uNĂ(@*G_r R<nrOLSc x\\L)MmJ7uRv, Ƥ6Gǿ`ڙNIꤌ8YmE~nGYʡ黸ׯb~j3Oqc&1V4gӃǜ5p4FˉᤢڇQKOkS2!OCK,pb씹Sdy qQq^bSӥa#aT +endstream +endobj +7066 0 obj +<< +/Type /Page +/Contents 7067 0 R +/Resources 7065 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7070 0 R +/Annots [ 7063 0 R 7064 0 R ] +>> +endobj +7063 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 704.693 180.487 715.275] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager) >> +>> +endobj +7064 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [218.373 689.949 275.085 699.672] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager) >> +>> +endobj +7068 0 obj +<< +/D [7066 0 R /XYZ 69.866 801.979 null] +>> +endobj +154 0 obj +<< +/D [7066 0 R /XYZ 70.866 771.024 null] +>> +endobj +7069 0 obj +<< +/D [7066 0 R /XYZ 70.866 744.606 null] +>> +endobj +7065 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7074 0 obj +<< +/Length 271 +/Filter /FlateDecode +>> +stream +xڕPR0W`̤ L +c+!(ȖMnV{E’:r%jv@[NW&2ߺQDV|6e?W\쮯Bޑ/"C PdEnH5p-BB3y"8tQ=+ʵgneZE&UQq?_45V[̎\DO۩"өclYBcx|,5ڵD{oIu甇?bL m +endstream +endobj +7073 0 obj +<< +/Type /Page +/Contents 7074 0 R +/Resources 7072 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7070 0 R +>> +endobj +7075 0 obj +<< +/D [7073 0 R /XYZ 69.866 801.979 null] +>> +endobj +7072 0 obj +<< +/Font << /F74 4865 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7084 0 obj +<< +/Length 981 +/Filter /FlateDecode +>> +stream +xVKo6W>I@C㐃7 1)+ӻBdj!qc/i]qb-z"E3|q4ZF4zFp SޟЈhĢ{}lvy̥hӬ8/E4Exˬ;Kg=vB?Ml:+t_#aq8MRHJtG> +endobj +7076 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 466.912 188.825 477.18] +/A << /S /GoTo /D (class_actor_properties_acfa9b932f472314d1efe0f0dad359524) >> +>> +endobj +7077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 436.362 177.599 446.63] +/A << /S /GoTo /D (class_actor_properties_a61f77cdeb2dffd485952b106feec37bb) >> +>> +endobj +7078 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 405.812 166.356 416.08] +/A << /S /GoTo /D (class_actor_properties_a08edbcddcc29b968467fe728e478eaa4) >> +>> +endobj +7079 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.893 389.633 432.401 399.356] +/A << /S /GoTo /D (class_room_options_a76399e7b84d762bd0315bf89aa058caf) >> +>> +endobj +7080 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [314.252 67.875 429.04 78.457] +/A << /S /GoTo /D (class_room_options_a76399e7b84d762bd0315bf89aa058caf) >> +>> +endobj +7085 0 obj +<< +/D [7083 0 R /XYZ 69.866 801.979 null] +>> +endobj +158 0 obj +<< +/D [7083 0 R /XYZ 70.866 771.024 null] +>> +endobj +7086 0 obj +<< +/D [7083 0 R /XYZ 70.866 585.06 null] +>> +endobj +162 0 obj +<< +/D [7083 0 R /XYZ 70.866 585.06 null] +>> +endobj +7087 0 obj +<< +/D [7083 0 R /XYZ 70.866 508.669 null] +>> +endobj +166 0 obj +<< +/D [7083 0 R /XYZ 70.866 372.265 null] +>> +endobj +170 0 obj +<< +/D [7083 0 R /XYZ 70.866 281.114 null] +>> +endobj +7088 0 obj +<< +/D [7083 0 R /XYZ 70.866 253.807 null] +>> +endobj +174 0 obj +<< +/D [7083 0 R /XYZ 70.866 253.807 null] +>> +endobj +7089 0 obj +<< +/D [7083 0 R /XYZ 417.042 193.409 null] +>> +endobj +178 0 obj +<< +/D [7083 0 R /XYZ 70.866 173.05 null] +>> +endobj +7090 0 obj +<< +/D [7083 0 R /XYZ 70.866 130.25 null] +>> +endobj +182 0 obj +<< +/D [7083 0 R /XYZ 70.866 111.886 null] +>> +endobj +6975 0 obj +<< +/D [7083 0 R /XYZ 70.866 68.871 null] +>> +endobj +7082 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7112 0 obj +<< +/Length 2205 +/Filter /FlateDecode +>> +stream +xYKsW|HU ^y%KMeY3{uh0>3 j#[ g_d.V̒0Š\% 5˭ُrG>S7e4ԋbκڴ- +N&_'c{VGʡGe~[[5reg-JW2/G1BXy0Dt1)w]~[ާ+ٰ9eY-{x%:$ϋ/rDHU&YWw~2ҵ^̄xJnv_4#9.IczPt$s'*pCXW'rA\jQ$:zꪒ^aE,KzezeZ2ReQ_nEF(M +x hF'<9YGL?{^p0A Ѓ5ٟ?~F0Yad ֔éML[Z= CemvYwZi+ T ӞWnUT*- =\ Xȇ746c95}K/\*ד58s8n-Q}+oo;bO]x .?"2uަmz> 8%isjw nY`ސC~+2Ћ~iQsֻV>5>x2HDq8_N\ʐJ#0۵́@h㼎v;3zt=JCXpdBcBpS<i!PB u3ct6 کTy!A !\̩> ӀnCI}[L$7Oo7Ou%uҦ#0 ijyozIXsQmr)U]GN H51V )D$r{Шݛ8A.-M}_?Ur*ҮTya +p Ir8`+z?b K{)"et]W5YG--UmW|%q.G1ܸ>-{ܻF $t$|P^j2PRTE[`R/c{{ 䕇Zf0&F}O§L]r[oEIM7oNRsr l)3򋌈X,"yqx:kFkm]U|59,8u=ck9YώQ +KTyo L؅<6cϹ37g1B[6ź;p(X^ ?_:E9*2L @0L A~kU9›B ^T .:= F6&w}L‴һwE9"5 Ji6`Ƈ6nF6ںRQtgjNeN9V5Hz+obH=lhFl6E$\c/l̷VXp~`P 65[z~wZՊ )i)E,Jy@8 19:qzM`= >iO)m辈OR{I`hIQ#oR7ji|H2_ +< a +^2_VЍ9F=p)pNv,,Zau=RTC| 39/avRB$$D훲rG MN7O%2 VYJwʒI^PJ8= sre9,M_[MUZѧ/yan"xW&XBsd,Xݙ%,c3+\{A+Mih3Hc8 7vek Y%U>J1LLuY[/dӈQG [M3}oHݯTu9SС}tz&N}"߳yQ(!cxHŠ@ҺG'͜<_ڇxuyDO_&9ɡQ'I[M-ƯQvOHQ! +endstream +endobj +7111 0 obj +<< +/Type /Page +/Contents 7112 0 R +/Resources 7110 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7070 0 R +/Annots [ 7081 0 R 7092 0 R 7093 0 R 7094 0 R 7095 0 R 7096 0 R 7097 0 R 7098 0 R 7099 0 R 7100 0 R 7101 0 R 7102 0 R 7103 0 R 7104 0 R 7105 0 R 7106 0 R 7107 0 R 7108 0 R 7109 0 R 7116 0 R ] +>> +endobj +7081 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.634 729.767 242.04 740.242] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7092 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 672.234 180.101 682.709] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_aa1a218337b71411767e9d5ef7740bf02) >> +>> +endobj +7093 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 644.539 180.101 655.121] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a731ad99cd27c9c9943ebae6e7aade2e2) >> +>> +endobj +7094 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 616.951 210.308 627.533] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a2b0231eb3737127f6c905fca3bda5976) >> +>> +endobj +7095 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 589.47 210.308 599.945] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a551321f83ae6ae95688ebfa99251daf4) >> +>> +endobj +7096 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 561.775 217.777 572.357] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_ad82074fee0c1ef809978e612dd882405) >> +>> +endobj +7097 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 534.187 188.914 544.769] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a083a5547fef3709586481254c256e04e) >> +>> +endobj +7098 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 476.761 203.064 487.236] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1c) >> +>> +endobj +7099 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.564 476.761 242.587 487.236] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a8736f9ea3a807749dfe4bdbab4d4ff5a) >> +>> +endobj +7100 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 449.066 199.835 459.648] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a62b771eb77744555663093db81de52ad) >> +>> +endobj +7101 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.191 410.626 177.788 420.895] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a62980bf198ce9565c41d408a4df93310) >> +>> +endobj +7102 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 382.931 144.98 393.307] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a400c002afb41d2ea2a2288e3d010afa6) >> +>> +endobj +7103 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [206.683 368.437 234.248 378.063] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7104 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 344.384 147.724 354.76] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_abe4f64001e4651f97f688a44992caa3b) >> +>> +endobj +7105 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.634 270.33 242.04 280.805] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7106 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.223 252.706 114.629 263.18] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7107 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 193.439 525.406 204.021] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7108 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [89.118 163.967 119.525 174.442] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7109 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [485.782 163.967 525.406 174.442] +/Subtype/Link/A<> +>> +endobj +7116 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 152.365 269.123 162.263] +/Subtype/Link/A<> +>> +endobj +7113 0 obj +<< +/D [7111 0 R /XYZ 69.866 801.979 null] +>> +endobj +186 0 obj +<< +/D [7111 0 R /XYZ 70.866 771.024 null] +>> +endobj +7114 0 obj +<< +/D [7111 0 R /XYZ 70.866 711.886 null] +>> +endobj +7115 0 obj +<< +/D [7111 0 R /XYZ 70.866 516.413 null] +>> +endobj +190 0 obj +<< +/D [7111 0 R /XYZ 70.866 315.693 null] +>> +endobj +194 0 obj +<< +/D [7111 0 R /XYZ 70.866 138.266 null] +>> +endobj +7117 0 obj +<< +/D [7111 0 R /XYZ 70.866 113.014 null] +>> +endobj +198 0 obj +<< +/D [7111 0 R /XYZ 70.866 113.014 null] +>> +endobj +7118 0 obj +<< +/D [7111 0 R /XYZ 70.866 68.979 null] +>> +endobj +7110 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7130 0 obj +<< +/Length 489 +/Filter /FlateDecode +>> +stream +xڕSr0:J3nI69#l R'W h'Nþ]V@hˢ6HTe%JjPr +t5d_*M]cZK7ѷ$|rG_Z(y}2}ؾ~w$ bB yn,1OEGk@&T[4N5z;$dL=SD\pQX(>O %KB] d%Ľ*{&2& cFȝz%\Q&Of> +endobj +7131 0 obj +<< +/D [7129 0 R /XYZ 69.866 801.979 null] +>> +endobj +202 0 obj +<< +/D [7129 0 R /XYZ 70.866 771.024 null] +>> +endobj +7128 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7137 0 obj +<< +/Length 1989 +/Filter /FlateDecode +>> +stream +xYKsFW|Yʜ3͖f+vE$F"$C;yHPH; 1==_Cɻ%ҔEHb4E)fEt3~XJ sO/Vy$S*U|Y/k]ܔuee'g'DqD:J!EyXOnpT"XNrqvUt3315Bx|ћq*G- +Q;{*©$i20ӫp!B A'Pm7,w8W̲B7Z{?כƦF?(֨C?Wֽ^֦>pAA',НK01VYG++7T L 8Y)*q[-\T@є +9ͅHS S46|S{Gi t*an.Ao,ypVp-ȿ-0߰T7fSVvE Dlg"E)-| SpڋVJ"Y +J)1;GR$`Q)Sb$NvnQ{7e/o"k/B0o,&к֭~'S]-:p'zK؅1Nfu)av "3i|J2Z|{O~+^꠴|8P{]H{meKۜ?- +endstream +endobj +7136 0 obj +<< +/Type /Page +/Contents 7137 0 R +/Resources 7135 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7070 0 R +/Annots [ 7132 0 R 7133 0 R ] +>> +endobj +7132 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.331 741.029 275.737 753.203] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7133 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.363 199.458 499.77 210.041] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7138 0 obj +<< +/D [7136 0 R /XYZ 69.866 801.979 null] +>> +endobj +206 0 obj +<< +/D [7136 0 R /XYZ 70.866 718.101 null] +>> +endobj +7121 0 obj +<< +/D [7136 0 R /XYZ 70.866 696.036 null] +>> +endobj +210 0 obj +<< +/D [7136 0 R /XYZ 70.866 696.036 null] +>> +endobj +7119 0 obj +<< +/D [7136 0 R /XYZ 70.866 566.144 null] +>> +endobj +214 0 obj +<< +/D [7136 0 R /XYZ 70.866 548.994 null] +>> +endobj +7120 0 obj +<< +/D [7136 0 R /XYZ 70.866 449.052 null] +>> +endobj +218 0 obj +<< +/D [7136 0 R /XYZ 70.866 431.903 null] +>> +endobj +7122 0 obj +<< +/D [7136 0 R /XYZ 70.866 343.916 null] +>> +endobj +222 0 obj +<< +/D [7136 0 R /XYZ 70.866 326.767 null] +>> +endobj +226 0 obj +<< +/D [7136 0 R /XYZ 70.866 299.732 null] +>> +endobj +7124 0 obj +<< +/D [7136 0 R /XYZ 70.866 272.467 null] +>> +endobj +230 0 obj +<< +/D [7136 0 R /XYZ 70.866 272.467 null] +>> +endobj +7125 0 obj +<< +/D [7136 0 R /XYZ 120.198 190.494 null] +>> +endobj +234 0 obj +<< +/D [7136 0 R /XYZ 70.866 171.458 null] +>> +endobj +7123 0 obj +<< +/D [7136 0 R /XYZ 70.866 128.685 null] +>> +endobj +238 0 obj +<< +/D [7136 0 R /XYZ 70.866 111.536 null] +>> +endobj +7126 0 obj +<< +/D [7136 0 R /XYZ 70.866 68.979 null] +>> +endobj +7135 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7159 0 obj +<< +/Length 2048 +/Filter /FlateDecode +>> +stream +xYKs6ϯU;$ko{T%Nr!d;փc`uX?c '[ϮoC%~;OCt~Q +JxE|52BwDmmQ݁ ,c~ȡG-VRG1WUݕ4~tUd2 ,+k6`y'@0Ka>{5wޠ?ղQf' cVD TbKmEk@&1jӢ0V0X0TǣFlB}))G /Y]U23#̍eiP/9nVy)TPIh, @-Lc\/$P hF+<: IGOXbxy0A {&ȣH՝10 ZNx8&qL[˄\oǝ蒑4uM'0N{o D?\ȝҔn :-'Hh=^}S1ģ4gw(P.7Jtj2]3 … 7{ 5BO]DB["m}BÄ*1 4sEWg,yy=rJJdaEf 3O_4%pD~l5؍O"}؀!- ÄᡓdE |MmׯQV7l02Vl|3\nӫg~ 9^I?v5rœlj O81p2۔clZ%,tB>?{ 1kgXlorԘYpBlxh4=w9x^@Z@fv(eWsé=RaL:vnKo4oƉJzi;lܪf-zړ=2zst9I0KH$">'*XTE2Z7g䤛v)hv0iODJ R#|PiN.hm]*p3Dv%$0gm87Y 6)(pOrA( WDE2,P;3>TUp8Yyȭ8N ;wK`vC{wP^ĵ$w)2 w;K!uY1ݝ%;K(wP>ӏ%Nm,~RM#w98xg +RdPu6 Sk♗OM~*[BV 5ٶب/.ݢtjatdcXA 3bx֊u~7%b ^T {B zۙg]g6ك` +w'!,j˃eQ嗞ᰠTԇ|bk8y4ip?86H̟{\ B1 bz%AFk^#a'IYKc;ʬ񝠙`(@`G>nzs{j?ޡNOix +endstream +endobj +7158 0 obj +<< +/Type /Page +/Contents 7159 0 R +/Resources 7157 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7164 0 R +/Annots [ 7134 0 R 7139 0 R 7140 0 R 7141 0 R 7142 0 R 7143 0 R 7144 0 R 7145 0 R 7146 0 R 7147 0 R 7148 0 R 7149 0 R 7150 0 R 7151 0 R 7152 0 R 7153 0 R 7154 0 R ] +>> +endobj +7134 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.168 733.448 207.574 743.922] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7139 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.634 594.692 242.04 605.166] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7140 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 536.283 180.101 546.757] +/A << /S /GoTo /D (class_authentication_values_a25eb4617207f2cb2f97ecbf91091ed96) >> +>> +endobj +7141 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 507.978 180.101 518.56] +/A << /S /GoTo /D (class_authentication_values_a59e9550389ab702b9bc033eeb6e117a2) >> +>> +endobj +7142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 479.78 210.308 490.362] +/A << /S /GoTo /D (class_authentication_values_adac06329a99f2a0035e485e45460d9af) >> +>> +endobj +7143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 451.69 210.308 462.165] +/A << /S /GoTo /D (class_authentication_values_a3fd84b1b6fca86c6838d6c2fff8926e0) >> +>> +endobj +7144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 423.385 217.777 433.968] +/A << /S /GoTo /D (class_authentication_values_af800bbd7144b184c244277c37297dba1) >> +>> +endobj +7145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 395.188 188.914 405.77] +/A << /S /GoTo /D (class_authentication_values_af74e9d15a79034c547ea621bb70899b4) >> +>> +endobj +7146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 336.886 203.064 347.361] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257) >> +>> +endobj +7147 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.564 336.886 242.587 347.361] +/A << /S /GoTo /D (class_authentication_values_a6902d22f3f59653cac4ee895273ed5c5) >> +>> +endobj +7148 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 308.581 199.835 319.164] +/A << /S /GoTo /D (class_authentication_values_a960384fb735ced0be6ee2d3e365fd5aa) >> +>> +endobj +7149 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.191 269.533 177.788 279.801] +/A << /S /GoTo /D (class_authentication_values_ae5df4bb87c20c0e83e1f13ca126a3b5f) >> +>> +endobj +7150 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 241.228 144.98 251.603] +/A << /S /GoTo /D (class_authentication_values_a0fa90664bfe590fec56cf4f399ff26b2) >> +>> +endobj +7151 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [206.683 226.429 234.248 236.055] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7152 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 202.071 147.724 212.447] +/A << /S /GoTo /D (class_authentication_values_a60a4d92454c4b2bbca1f299631da2f94) >> +>> +endobj +7153 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.634 127.142 242.04 137.616] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7154 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.223 109.517 114.629 119.992] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7160 0 obj +<< +/D [7158 0 R /XYZ 69.866 801.979 null] +>> +endobj +242 0 obj +<< +/D [7158 0 R /XYZ 70.866 771.024 null] +>> +endobj +7127 0 obj +<< +/D [7158 0 R /XYZ 70.866 724.273 null] +>> +endobj +246 0 obj +<< +/D [7158 0 R /XYZ 70.866 708.677 null] +>> +endobj +7161 0 obj +<< +/D [7158 0 R /XYZ 70.866 664.432 null] +>> +endobj +250 0 obj +<< +/D [7158 0 R /XYZ 70.866 647.663 null] +>> +endobj +7162 0 obj +<< +/D [7158 0 R /XYZ 70.866 576.31 null] +>> +endobj +7163 0 obj +<< +/D [7158 0 R /XYZ 70.866 376.914 null] +>> +endobj +254 0 obj +<< +/D [7158 0 R /XYZ 70.866 172.576 null] +>> +endobj +7157 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7182 0 obj +<< +/Length 2139 +/Filter /FlateDecode +>> +stream +xYK6Wp/dUߜIq2\&>P"fIJD*$ IQG F=꽝x7zI/&I +(ЋNBe޽/i'OđuZGS.w]4iΝnTNdKo^c?y$̍' Jw;mFfdLv^s!cu kV`Uvk؊Sן|]sپE6պmwh+S^d]TVVٔc]`5N pқUY1zMi|jY=:vݛVe: ~挑D)뚧U\Yڶ/eZtbYi +Iţ}.\.>^Ei 60!&Ȉyg樰 #}jLQu;B܉z_;~^HM; .BN`;yp rΆ@*J t`#-v&v[J7`ۢjEf#%ll)0}q>wwN r'*y{쬘 . +6Rқm WDs!WBX{ڸ~G7Nlvv$n g[jvlGK.Ǒk@g]nz(umT`kK.ouz[koVLC *m3#$|E$h3>uͧ(Œ ׋䵭Ky/" m&Z5Ͷo!E^HH8'$v_汫71MR$K esB>WWWOOOdk0&rsu~CD p43%JHX1'SJ벨jl Oׇ }\Xfœ2Ƞl |Ԡ5/h06RȊkC[OA]/oLFsLC bE!?$f´h"1ϙ a{YC”܇iιH Ҥsp&/Mzs9Q4 x3elHfzk 3\P&ajG +RsSZAjk` wSe1֘p!'S$$-X e_úeDq mgYRg*SD5/C-/Hz^0Qgbي/1P{dV4|x>q/zЎ슥=|[LUΐ7+2l4fAg~z"!"r'm9=ƂR2j'ʉ vgw)$blLKTW:܃aOM,;2veQd%;;MHy64k?z ;iϮd&m J'++s'ȹ.e֝\ʓ [!PJGu!a E@\A{T?I?c!ԝq u4旛|2$#L+A$a,ButqO׽϶#d* /n=qk9DqYHV˓!r&ǿE> us6 r13#0Ow C #[sw:`.G.QՐw]E?V\wU/(ϝڂ>;;qp '%.."  8o ;?TX=ध8iv ,t$40vo^92=\|"!XE=ۖ.MVS)\O*tجVO2v7qEQ(uѨ |#wG!v(` ɋePR!0F߃&.gXiGXH=L353mYUj_枻 T~yۛ~|hLj%oDXŐ#_"a.tջus$t> +endobj +7155 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 758.07 525.406 768.652] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7156 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.235 704.58 308.641 715.162] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7177 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [89.118 687.063 119.525 697.538] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7178 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [485.782 687.063 525.406 697.538] +/Subtype/Link/A<> +>> +endobj +7184 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 675.461 269.123 685.359] +/Subtype/Link/A<> +>> +endobj +7179 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.331 495.323 275.737 507.497] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7183 0 obj +<< +/D [7181 0 R /XYZ 69.866 801.979 null] +>> +endobj +258 0 obj +<< +/D [7181 0 R /XYZ 70.866 660.285 null] +>> +endobj +7165 0 obj +<< +/D [7181 0 R /XYZ 70.866 634.847 null] +>> +endobj +262 0 obj +<< +/D [7181 0 R /XYZ 70.866 634.847 null] +>> +endobj +7166 0 obj +<< +/D [7181 0 R /XYZ 70.866 590.625 null] +>> +endobj +266 0 obj +<< +/D [7181 0 R /XYZ 70.866 574.453 null] +>> +endobj +270 0 obj +<< +/D [7181 0 R /XYZ 70.866 473.373 null] +>> +endobj +7169 0 obj +<< +/D [7181 0 R /XYZ 70.866 451.503 null] +>> +endobj +274 0 obj +<< +/D [7181 0 R /XYZ 70.866 451.503 null] +>> +endobj +7167 0 obj +<< +/D [7181 0 R /XYZ 70.866 333.761 null] +>> +endobj +278 0 obj +<< +/D [7181 0 R /XYZ 70.866 317.588 null] +>> +endobj +7168 0 obj +<< +/D [7181 0 R /XYZ 70.866 217.842 null] +>> +endobj +282 0 obj +<< +/D [7181 0 R /XYZ 70.866 201.669 null] +>> +endobj +7170 0 obj +<< +/D [7181 0 R /XYZ 70.866 113.878 null] +>> +endobj +286 0 obj +<< +/D [7181 0 R /XYZ 70.866 97.706 null] +>> +endobj +290 0 obj +<< +/D [7181 0 R /XYZ 70.866 70.866 null] +>> +endobj +7180 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F115 6866 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7201 0 obj +<< +/Length 1860 +/Filter /FlateDecode +>> +stream +xYIs8p"%BX2j*ireB%,gtq$#1us$XO?W4+.$9[ղxKk}oң. +4Rr|t>8ОzN]\N kρ KsQ@095'\C}DY<,$ l}h׼ؕ:Kݓ6 k.Zh5As"T+J\G NDUh"0uuj\aހ%pH*fpPeZF'$ PT/mXFRz㢐Æ\Ӌ~,F0 *0P%/HZh5QhZoE B_@r7ԇýw?_Bgec5`@.fO@X!AsK Pռ[G0@GRE*@s\8?6&. +F 8f +) EKv 듭YNڣqYF &қ\>"@-3a/ľ<j&! 7Wߜ@n #9]=բ])D< oݑwdgnI.,9^ #O#` Jāx @ h 02>{ MdpB$QK{h?i4jB֬SK~q9rn7~8+ߢBW9RN2b`06pO ꯛBL]v>sT,8c`S*U1\ݺBV8㮁jBo EaG:̼Z^dgֲ(<>pбO{FéRG_Vm@{u Ygu #h55]gqJfT7X͡[cgVLu8RŊd+\R+;q7oA?˝$M4IA'Ãaws҉ +c@ քy٣]JO&K\([G8eAYh +3]vl6xд}vQ |5/Fv ϖ˭B#QF2J#0$ =Z96r [vrwA5@&2) /׃ +(=Ju.}Vb>/M%֧ZEŨmxW_S҆VHSL5]L[K&IJoj 2v%rxhk./k`u|eS]I :}$; o7zT~`H Kp{CAm Ŧce>#L2i#JOmskA{ngqŮ_oTgr˚ +endstream +endobj +7200 0 obj +<< +/Type /Page +/Contents 7201 0 R +/Resources 7199 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7164 0 R +/Annots [ 7185 0 R 7186 0 R 7187 0 R 7188 0 R 7189 0 R 7190 0 R 7191 0 R 7192 0 R 7193 0 R 7194 0 R 7195 0 R 7196 0 R ] +>> +endobj +7185 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.363 677.315 499.77 687.897] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7186 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.168 476.174 207.574 486.649] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7187 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.365 309.497 224.772 319.972] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7188 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.272 309.497 246.201 319.972] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7189 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.872 309.497 339.718 319.972] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7190 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 244.009 149.096 254.592] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a2e1d1cb310690b115794661ffdbb68b2) >> +>> +endobj +7191 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [439.624 227.388 517.527 237.014] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aecfdac4a2de6577291597477bcaec9c7) >> +>> +endobj +7192 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 212.166 131.432 222.748] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a17c00992e4bc685fbea02345c8e206cb) >> +>> +endobj +7193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 180.323 131.432 190.905] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_aa672474d138d6e1a4d7ef8c4ec616617) >> +>> +endobj +7194 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 148.479 190.78 159.062] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a289e0448db95485404474b3702e80943) >> +>> +endobj +7195 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 116.636 177.761 127.218] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a837567f440a3174151eab88afb34d019) >> +>> +endobj +7196 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 84.793 195.119 95.375] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a6aee5506a39fd2a26113addf8287f31a) >> +>> +endobj +7202 0 obj +<< +/D [7200 0 R /XYZ 69.866 801.979 null] +>> +endobj +7173 0 obj +<< +/D [7200 0 R /XYZ 70.866 750.871 null] +>> +endobj +294 0 obj +<< +/D [7200 0 R /XYZ 70.866 750.871 null] +>> +endobj +7174 0 obj +<< +/D [7200 0 R /XYZ 120.198 668.351 null] +>> +endobj +298 0 obj +<< +/D [7200 0 R /XYZ 70.866 646.578 null] +>> +endobj +7172 0 obj +<< +/D [7200 0 R /XYZ 70.866 603.258 null] +>> +endobj +302 0 obj +<< +/D [7200 0 R /XYZ 70.866 583.372 null] +>> +endobj +7175 0 obj +<< +/D [7200 0 R /XYZ 70.866 540.268 null] +>> +endobj +306 0 obj +<< +/D [7200 0 R /XYZ 70.866 520.382 null] +>> +endobj +7176 0 obj +<< +/D [7200 0 R /XYZ 70.866 466.999 null] +>> +endobj +310 0 obj +<< +/D [7200 0 R /XYZ 70.866 447.113 null] +>> +endobj +6976 0 obj +<< +/D [7200 0 R /XYZ 340.237 386.38 null] +>> +endobj +314 0 obj +<< +/D [7200 0 R /XYZ 70.866 365.138 null] +>> +endobj +7203 0 obj +<< +/D [7200 0 R /XYZ 70.866 286.826 null] +>> +endobj +7199 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7224 0 obj +<< +/Length 1798 +/Filter /FlateDecode +>> +stream +xYKs8ϯ ]ڑ@R(Jl2>l9>0Hu{jۍ8UKa +) +ЗF\ Z-u~{a[*dTpPzz?@  Yaкyq1€<| &qP `t;O>uì8;|`;Lh-a ^JM+_5[+z9i^.v7*>dubv<M@PIyf-lWah!$V> +h%Vi +d`{g}L 9S#0>ڱVoxEIޖ/pf9@ߩ@xKYA%~TCq=M?we(E!u HH6a8dlVu:/m>ލ]NjrKl}-##pve@%pDRPv"#o${$j;wUQt:*iz\tl}{_%j,n.u͇W雿=4B@Ǘ檞D~E5R t f@`z^B m!|[u+ܙUmwXMV $ѧv󎁑j1a15C'@"dsm؆[β3H2 +`Δȍ NǣQx G|?D@t)S;s^ݦ1tj?w!4A˶"wCh<6=@A`TIvWʭ Ltfs +LW@mD3جIaq f6BL&S쾠'Œt ujޕh "0AfqVZ=ZMG]٫Ew֞Gcp ڴ]j +12 +6[U:;nf,`=kFQ*RhA"]: .T0\ v)+*LuKU%?bޓa[; +{{~"8Oo  *7#HL4ʱe yNeWX/*6w݉4 t&]˝|hlPL< +endstream +endobj +7223 0 obj +<< +/Type /Page +/Contents 7224 0 R +/Resources 7222 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7164 0 R +/Annots [ 7197 0 R 7198 0 R 7211 0 R 7212 0 R 7213 0 R 7214 0 R 7215 0 R 7216 0 R 7217 0 R 7218 0 R 7219 0 R 7228 0 R 7220 0 R 7221 0 R ] +>> +endobj +7197 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.204 731.534 182.109 741.91] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_ad5488b697206375ef6b13d4fa33eafdf) >> +>> +endobj +7198 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.622 698.796 226.005 709.378] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a5f663f2af6204ea58ab29a5ee2bee316) >> +>> +endobj +7211 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [192.487 655.098 235.339 665.68] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a6ed4416ea6c6778dd857c95f3276a005) >> +>> +endobj +7212 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 611.401 164.034 621.777] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a647d38d28697bcb1c6600520130d4cbf) >> +>> +endobj +7213 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 527.404 150.996 537.319] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a3486dbba0f3a83529fe4f327375548cb) >> +>> +endobj +7214 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 494.204 169.028 504.787] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a91a15ffc97cfd40eea6cf7965b99e5dc) >> +>> +endobj +7215 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.365 410.592 224.772 421.066] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7216 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.272 410.592 246.201 421.066] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7217 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.872 410.592 339.718 421.066] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7218 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.748 392.86 368.682 403.442] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i) >> +>> +endobj +7219 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [447.087 392.86 525.406 403.442] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aa3d4261b652969dd5f94971ca48f5a7e) >> +>> +endobj +7228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 382.716 109.736 391.487] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aa3d4261b652969dd5f94971ca48f5a7e) >> +>> +endobj +7220 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.236 382.716 222.261 391.487] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a25f9db0c022bb0feda81d31f43053a81) >> +>> +endobj +7221 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [436.576 288.86 522.913 299.334] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aecfdac4a2de6577291597477bcaec9c7) >> +>> +endobj +7225 0 obj +<< +/D [7223 0 R /XYZ 69.866 801.979 null] +>> +endobj +7226 0 obj +<< +/D [7223 0 R /XYZ 70.866 775.009 null] +>> +endobj +7227 0 obj +<< +/D [7223 0 R /XYZ 70.866 570.418 null] +>> +endobj +318 0 obj +<< +/D [7223 0 R /XYZ 70.866 457.095 null] +>> +endobj +322 0 obj +<< +/D [7223 0 R /XYZ 70.866 362.773 null] +>> +endobj +7204 0 obj +<< +/D [7223 0 R /XYZ 70.866 335.031 null] +>> +endobj +326 0 obj +<< +/D [7223 0 R /XYZ 70.866 335.031 null] +>> +endobj +330 0 obj +<< +/D [7223 0 R /XYZ 70.866 268.916 null] +>> +endobj +7206 0 obj +<< +/D [7223 0 R /XYZ 70.866 242.878 null] +>> +endobj +334 0 obj +<< +/D [7223 0 R /XYZ 70.866 242.878 null] +>> +endobj +7207 0 obj +<< +/D [7223 0 R /XYZ 70.866 197.595 null] +>> +endobj +338 0 obj +<< +/D [7223 0 R /XYZ 70.866 176.656 null] +>> +endobj +7209 0 obj +<< +/D [7223 0 R /XYZ 70.866 133.233 null] +>> +endobj +342 0 obj +<< +/D [7223 0 R /XYZ 70.866 112.294 null] +>> +endobj +7210 0 obj +<< +/D [7223 0 R /XYZ 70.866 68.871 null] +>> +endobj +7222 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F82 6068 0 R /F96 6194 0 R /F77 6067 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7244 0 obj +<< +/Length 1411 +/Filter /FlateDecode +>> +stream +xڽXKs6Wpr"g,><}$gk'e6 `A,[n PoQxl1^B( +ٍSDD̛ͽK?!28?<qT-9* UufV6MU +(/jia6{~$! ^\^QocyglTN0,':E kCE-^RQj)B7 +A6Z"8I2Fk(bCy3(;\aycW`=~fPGɾrG9iϚN[Չx4@Ip\jxJOܽ O-y $vX7+(#'&}e_ǣzUub,0WNj\~%I `.smsCpWg8MȾq?=Np8ϔpb@Wkt;ը7rOK#`M\0?#]Ibhkeas];> r2'3J5R#롕wdL8u=SEpEb#$"Ȏ{) #pZ?> +endobj +7237 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.014 85.499 179.421 96.081] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7238 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.921 85.499 200.85 96.081] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7245 0 obj +<< +/D [7243 0 R /XYZ 69.866 801.979 null] +>> +endobj +346 0 obj +<< +/D [7243 0 R /XYZ 70.866 771.024 null] +>> +endobj +7208 0 obj +<< +/D [7243 0 R /XYZ 70.866 675.436 null] +>> +endobj +350 0 obj +<< +/D [7243 0 R /XYZ 70.866 656.131 null] +>> +endobj +354 0 obj +<< +/D [7243 0 R /XYZ 70.866 593.731 null] +>> +endobj +7232 0 obj +<< +/D [7243 0 R /XYZ 70.866 568.128 null] +>> +endobj +358 0 obj +<< +/D [7243 0 R /XYZ 70.866 568.128 null] +>> +endobj +7231 0 obj +<< +/D [7243 0 R /XYZ 70.866 523.172 null] +>> +endobj +362 0 obj +<< +/D [7243 0 R /XYZ 70.866 503.867 null] +>> +endobj +7229 0 obj +<< +/D [7243 0 R /XYZ 70.866 448.816 null] +>> +endobj +366 0 obj +<< +/D [7243 0 R /XYZ 70.866 429.512 null] +>> +endobj +7230 0 obj +<< +/D [7243 0 R /XYZ 70.866 386.524 null] +>> +endobj +370 0 obj +<< +/D [7243 0 R /XYZ 70.866 367.219 null] +>> +endobj +374 0 obj +<< +/D [7243 0 R /XYZ 70.866 292.756 null] +>> +endobj +7233 0 obj +<< +/D [7243 0 R /XYZ 70.866 265.061 null] +>> +endobj +378 0 obj +<< +/D [7243 0 R /XYZ 70.866 265.061 null] +>> +endobj +7234 0 obj +<< +/D [7243 0 R /XYZ 70.866 222.305 null] +>> +endobj +382 0 obj +<< +/D [7243 0 R /XYZ 70.866 203 null] +>> +endobj +6977 0 obj +<< +/D [7243 0 R /XYZ 70.866 159.797 null] +>> +endobj +386 0 obj +<< +/D [7243 0 R /XYZ 70.866 139.32 null] +>> +endobj +7242 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F82 6068 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7283 0 obj +<< +/Length 1945 +/Filter /FlateDecode +>> +stream +xZrF+P2a+NLE\^v 0"Ŋ>ݘ\dҒUE8[{`a)(ɋmZ.̯[lW-U•h+ATٱuW:<툧_I\xEw|DS:h'W!W"#T=ׂaip9c01Y3\h]P6]-5p/ʅdQ胐#!Y(k^ [žOtjɶc SM-4-q$5ϖ UjųWXRŘD'TUM1g@ޚ@SU D(33Bo 5q0hAǿ<o3 Ug6YR$>@W;O]p;!FCf4~E$Y<پ+bYЯd+$ǃM$) +zb6ڲɚ\&*|Xͧ6AMx+ٮ +w^6Έn()*z, 52oVbaƋr&WIXFꥬ&zqգ<@d厐0!J)&a˶L ߔ9u0(" ,ȣv"i`$ej7 f! +/ +t CL 7a'7y88/ڗ}c~b=td/,Y69,[n&qR)he^4 i1H +1MUkŨIN0 bNEWuCW%B$ML@/m}+qs945UUWYd1{ϡ$Lƨ-{e'H^GA`q4?`Q<4 +-`~Ȯ kaJDze}VV,L.>E3ϝ+*Qx?c5ވ +IQ?UR~qm^tG2AՑn? 4}A8vL,es-IQ I~,V<t[r`[ܶ_umV25d7eIge܋U|y^5Ƃm?@cA2`̎ԺVT=g.PQ\܇Nv{^VM9-#ֳ?n@1a-.CJ*] +Q IqR+@b״odlØ\bT2du [2?欫u$3⚷WLFcFtRfAӖA> +,7 'A@+xnCx O>r+7xaϼ-i@w{NDn]86,ruV0esmv"a6xتKR\0y5M`C觺Pg[f1uT<ԝ c[!'0K/Qa +Z c w~X-$|X6Y,vFiuEH4^rذ=1JuZFaEW}oCf!mtuFTweŁ)=zO(p90A2ۘa1]> +endobj +7239 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 734.427 192.456 745.009] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af4140117fa6da92e0a428c9666cfea94) >> +>> +endobj +7240 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 721.128 138.623 731.603] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5088b919addd1ae88cf8ed72d68c52c2) >> +>> +endobj +7241 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.109 721.128 220.341 731.603] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener) >> +>> +endobj +7246 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 707.614 149.598 718.197] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4fb7f78c7820b02fb0ec3c173ff0d2d5) >> +>> +endobj +7247 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.22 707.614 364.544 718.197] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) >> +>> +endobj +7248 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.589 692.512 231.154 702.138] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7249 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.405 692.512 250.441 702.138] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7250 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 678.917 145.644 689.392] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4e5b2c3dc8f4e43b053bd3436dd39c5f) >> +>> +endobj +7251 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 650.112 174.103 660.587] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a6b1cdbd8b56655e88e678441452f65a1) >> +>> +endobj +7252 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 636.706 159.828 647.181] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a21acfc202dc0114eabdba678e03f21f1) >> +>> +endobj +7253 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.982 621.399 206.018 631.123] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7254 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 607.901 162.33 618.376] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af9ac75f889489a06dbc8f6d7881367c4) >> +>> +endobj +7255 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [259.556 592.691 278.591 602.318] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7256 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 568.03 156.206 578.612] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aecfdac4a2de6577291597477bcaec9c7) >> +>> +endobj +7257 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 539.225 156.206 549.807] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a6f6d0d0942fff96f3be1d7efbe1c00be) >> +>> +endobj +7258 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 510.42 166.168 521.002] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5d233da812511bdf2f833461d4a501b6) >> +>> +endobj +7259 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 481.615 181.805 492.198] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a59215159b6403513f06f049a7491de80) >> +>> +endobj +7260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 452.81 201.333 463.393] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a03bb2ce2ead9b201cb94e53ed3ce3bd3) >> +>> +endobj +7261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 424.006 201.333 434.588] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_afc1caef482cb77613bbd9ddec3d65fe9) >> +>> +endobj +7262 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 395.308 180.997 405.783] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af3dade275735d7490a9872e965e6830f) >> +>> +endobj +7263 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 366.396 180.997 376.978] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a9ae2d62c65f72f1ebea7b22ca8ce3b91) >> +>> +endobj +7264 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 337.591 161.783 348.173] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a66aa30bff5ca81b1a1811d8e36b09546) >> +>> +endobj +7265 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.649 322.489 227.684 332.115] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7266 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 308.786 178.855 319.368] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a8071d5a27bc1828fdcb19deee57deac2) >> +>> +endobj +7267 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [286.682 293.684 305.717 303.31] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7268 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 279.981 250.279 290.564] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a24f6e608fc1b838de8de908c6756571f) >> +>> +endobj +7269 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 251.176 176.192 261.759] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a518706086a60688c5dbe946e3b437491) >> +>> +endobj +7270 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.922 251.176 392.241 261.759] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) >> +>> +endobj +7271 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 222.372 176.192 232.954] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_ad48f9b88b0635c9f2363322123044fb8) >> +>> +endobj +7272 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.346 222.372 333.665 232.954] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) >> +>> +endobj +7273 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 147.402 164.034 157.778] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a66e028cd73b441bbdd8d37ee0e2b1dee) >> +>> +endobj +7274 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 108.249 149.096 117.225] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) >> +>> +endobj +7275 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.829 108.249 223.931 117.225] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aa3d4261b652969dd5f94971ca48f5a7e) >> +>> +endobj +7276 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 82.888 149.096 91.863] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) >> +>> +endobj +7277 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.829 82.888 227.508 91.863] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a25f9db0c022bb0feda81d31f43053a81) >> +>> +endobj +7278 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 69.686 134.194 78.457] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer) >> +>> +endobj +7279 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.694 69.686 172.121 78.457] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aef3dc7f94f289f1dab629cbf647875db) >> +>> +endobj +7284 0 obj +<< +/D [7282 0 R /XYZ 69.866 801.979 null] +>> +endobj +7285 0 obj +<< +/D [7282 0 R /XYZ 70.866 775.009 null] +>> +endobj +7286 0 obj +<< +/D [7282 0 R /XYZ 70.866 187.984 null] +>> +endobj +7281 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7336 0 obj +<< +/Length 2515 +/Filter /FlateDecode +>> +stream +xZ[sۺ~PDX4 3mg_2>I!L'Cqﻋ(%vua)wGN`8iY:I97[̾Xs'\~k:E.Jܬ*YKC4mK\K4t.K vtywĸ3?O"y)N>c{3~VZ]7?J\E{5p 9"]E QWNCX 3,}WUq@$սFAo;AP +/u%pB7ݑLdVd&4ԛq[gW +>\ټZ \QkxkQQZy@N'ئbXfsg8idilz@+M `|F\Pir:L7 OKϋ[i`]?v}—UXnݴP($U3OiX8nIJ+xsduS>Rv6@"LxzGcy f{{2@6a7E1}rUMR`XRBϡ8tq:D@t={fxCSrUybR3ġ6!H=aLԾ}r/"4Xu m_=? R(Z=a2z̋Z/ +s.Ϋ dovbgiXgzۚlEoDNu+~ɗW?=' w@W@MlJk +ˉIg]. ^6fAl0eSEɨpUBm _iƸCŒ-(NCC,dT3lgh/-91z]b Ye}Qו=V:^/$䬐'6jojrzMh[o/2nQ=F;|lu6艿\[#/w5tp ÊdiMG0.>MO)hTF%iz܀./ P[ e!H efM^+HYb^\VkVuhz20R^[ Me؉X_ƛ KIhN]^3/[s*iCc.W{כzǼ۟\*O]m& ]N.Q}gޚ Ƿ^@}TR2ɍ3z07W0uq4}2q7è'zFj'DAg|&lWH4U96\n`oW٦((N}-/ ʿ1J"Q0(ұ"_d;QKsRtZK߹T*s' j^jwQ?-QNeo +endstream +endobj +7335 0 obj +<< +/Type /Page +/Contents 7336 0 R +/Resources 7334 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7339 0 R +/Annots [ 7280 0 R 7308 0 R 7309 0 R 7310 0 R 7311 0 R 7312 0 R 7313 0 R 7314 0 R 7315 0 R 7316 0 R 7317 0 R 7318 0 R 7319 0 R 7320 0 R 7321 0 R 7322 0 R 7323 0 R 7324 0 R 7325 0 R 7326 0 R 7327 0 R 7328 0 R 7329 0 R 7330 0 R 7331 0 R 7332 0 R 7333 0 R ] +>> +endobj +7280 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 731.433 204.57 742.015] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_afc6baf1a806a9a9ea803b14889ffb8c3) >> +>> +endobj +7308 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 698.558 189.686 708.934] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4693102ef8b77518b9eed0cbbdd650e1) >> +>> +endobj +7309 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 665.682 168.66 676.264] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5b8e2b595533f33e5c298fe5ced2726b) >> +>> +endobj +7310 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 633.267 136.642 643.388] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19) >> +>> +endobj +7311 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.142 633.267 160.07 643.388] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5d523809d52088df6fbd8927523d6238) >> +>> +endobj +7312 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.268 617.202 219.929 625.295] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7313 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 600.391 185.965 610.513] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8b) >> +>> +endobj +7314 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.465 600.391 268.688 610.513] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a05085dc638466b2660f1c694f90fbf8e) >> +>> +endobj +7315 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 584.95 151.588 595.071] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71c10e565150962413bb1abaa89af66a) >> +>> +endobj +7316 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 569.047 166.947 579.423] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a96bec51384215e8622397b8fe2fc90e1) >> +>> +endobj +7317 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 525.213 144.747 535.589] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a876c9a53400fe18fc365775ca728928f) >> +>> +endobj +7318 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [229.338 507.978 256.903 517.701] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7319 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [429.271 507.978 456.836 517.701] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7320 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 481.839 180.101 491.754] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) >> +>> +endobj +7321 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.601 481.839 227.55 491.754] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5c03b22e8271f95ee0b46ebbd2bac651) >> +>> +endobj +7322 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 448.503 147.724 458.878] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a8f757bc4e9f4038dc388a8fee3f47150) >> +>> +endobj +7323 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 415.627 254.377 426.209] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a0aa97db996a9928cfacb4ca1f2644e8a) >> +>> +endobj +7324 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.508 371.9 247.948 382.374] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71b068a3191927960e027b9f5a07b136) >> +>> +endobj +7325 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.359 326.961 242.608 337.544] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_afe63400b38e1a49f7ce90d27e9df1ea5) >> +>> +endobj +7326 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.44 294.086 187.122 304.668] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a3506656c033fb2bdc7822275aab6dac2) >> +>> +endobj +7327 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.014 210.103 179.421 220.686] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7328 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.921 210.103 200.85 220.686] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7329 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.586 192.479 299.818 203.061] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener) >> +>> +endobj +7330 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.309 168.569 214.155 179.151] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7331 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.002 150.944 281.408 161.527] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7332 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [282.763 150.944 303.693 161.527] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7333 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.059 121.472 137.905 131.947] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7337 0 obj +<< +/D [7335 0 R /XYZ 69.866 801.979 null] +>> +endobj +7338 0 obj +<< +/D [7335 0 R /XYZ 70.866 775.009 null] +>> +endobj +390 0 obj +<< +/D [7335 0 R /XYZ 70.866 256.746 null] +>> +endobj +7334 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F104 6525 0 R /F82 6068 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7368 0 obj +<< +/Length 2412 +/Filter /FlateDecode +>> +stream +xڵZYsF~ׯ@a 2'sJ>((:r~5pqXQ~}$(Yr"3=.۳oξ %Y6H(I8H2NbPƋ7?"f$MӳUu%OY[Uy_65={}s3KiFiJR.G^ d$H$Ez3jŤG8'%Iž "ub$"|d𢩻}ӂ< f~.t$"h{`%LoUG.hM75cCE4(8pYje׫Zfc)gmʘ, 8 VkTu`Q¯jK g۷kD7drKR(X2F(>i(nFT&"HvWBmIߔUeFcF VaWrX٦u5A+w7 s !,D8~ R0ίW>_|2Sk (mp @uek=śwFէ _+g4D lFvJCX:`X[]iu3Fk` m_֐Z] t'WCܕ͜k5=޹)\c9ZY8b:P23K'=!AUZzݭ s1=y*{4{cBUv!zIzNÛglJAFCU2)6xG7?|OV@<srQUT[;3r8̑T`Rve}Ϋa +cP#j9ojshPեsu3lzB{RT pP]NUVoTmfb^ƌE٭M9D,;6yg}R\/x՗[kE횮nʹ8n50SWf͠ItUR u3TCUFYchv2!(VU:{ri-뺱\?xc„TKQCMnL3]Y؞C '2;C6eB +MhUH2 +)%\ȱBh`2${63$t9Ũ_c0\xQ%<@'# &[_6S וʩ@d/^@"R>UQ)/A,|m6@)(Pio>7)KyfX<}$>k|¿  RjsQIFr'5d~3U܁~i1 +U$a|"KN'ч6qg.=uPcyvW\cG$K6#co+>)f2"ܞsDv+jPǥ`SӘ +p@$IM$\DfMZ.Xo\^IjB)~&<[U׌ ӻ:pR ߓ^Rm㦠&"+&>)DS]gۣ#\Նf{ysO"8\B!jxNF$Y涜Wʐ m,M 4(%H$qqR}l7ۃ"f6nkLÉyhI`BG |?2BKB0tg ^wj۔C7E_j4JܴǘI=u4 O)Ҷݦ&7e %Bq8  $Sx2%)C!ЂǒH '@" {! Z|'+ɒ? & qnRL\ǑmqfzD4>xx\\c0>cq^WWî5~()`?פ +q}U14x k)Y&ӵA&B_3ft)݂K8mݵ^sv[:اk 6,u#hDS."k4[> +endobj +7354 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.647 645.596 201.576 656.071] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7355 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.87 627.864 416.276 638.446] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7356 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.274 627.864 438.203 638.446] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7357 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.804 586.329 261.21 596.705] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7358 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 551.081 100.276 561.663] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7359 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.661 521.609 391.067 532.083] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7360 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.025 332.163 205.432 342.637] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7361 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.932 332.163 226.861 342.637] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7362 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.327 296.499 223.733 308.673] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7363 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [224.233 296.499 245.162 308.673] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7364 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [306.964 296.499 362.755 308.673] +/Subtype/Link/A<> +>> +endobj +7365 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.573 130.605 177.502 141.187] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7369 0 obj +<< +/D [7367 0 R /XYZ 69.866 801.979 null] +>> +endobj +394 0 obj +<< +/D [7367 0 R /XYZ 70.866 771.024 null] +>> +endobj +7288 0 obj +<< +/D [7367 0 R /XYZ 70.866 753.893 null] +>> +endobj +398 0 obj +<< +/D [7367 0 R /XYZ 70.866 753.893 null] +>> +endobj +402 0 obj +<< +/D [7367 0 R /XYZ 70.866 715.557 null] +>> +endobj +7301 0 obj +<< +/D [7367 0 R /XYZ 70.866 690.628 null] +>> +endobj +406 0 obj +<< +/D [7367 0 R /XYZ 70.866 690.628 null] +>> +endobj +7287 0 obj +<< +/D [7367 0 R /XYZ 70.866 427.296 null] +>> +endobj +410 0 obj +<< +/D [7367 0 R /XYZ 70.866 412.055 null] +>> +endobj +7289 0 obj +<< +/D [7367 0 R /XYZ 70.866 387.289 null] +>> +endobj +414 0 obj +<< +/D [7367 0 R /XYZ 70.866 387.289 null] +>> +endobj +7292 0 obj +<< +/D [7367 0 R /XYZ 70.866 191.12 null] +>> +endobj +418 0 obj +<< +/D [7367 0 R /XYZ 70.866 175.879 null] +>> +endobj +7303 0 obj +<< +/D [7367 0 R /XYZ 70.866 131.601 null] +>> +endobj +422 0 obj +<< +/D [7367 0 R /XYZ 70.866 116.361 null] +>> +endobj +7366 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7384 0 obj +<< +/Length 2260 +/Filter /FlateDecode +>> +stream +xZ[۶~[%fIԥyئI$[6D:=ןMdyA-ù}377^KPEwb(┢x7w'K'?J:ۉJQKvȦF/mCʺ,߉u@/ZQnaLS/o]{ڱqY +W<:&O{[ũA5+M'efrooF11u0"V`ZPŨ[F3 C_:=0yf vRvZE8)'h٬+9wFSjY6.}\ }5èSLc ω>ꪅ]h)Ju/3ݢGT+etnuC`anꡓӊn=| Rl{s׬]pPd5Ӛ@s%FLkif\!dt>,zP;&ġ3`Џ:4eLqJ ۾sh] Vߺ-L6;QC c#a, 5bNF9'~ט}cuf!="F/&,w֊:5]n.價uP2LBh>:wԇ9my + V3ؗ\.CȗKc2Յ`_Ay4Bz 5f/;9=a3zXtXa iPJ! # 1J=aO`z$TU7i)ώa_&6 OsV{ S<1< ǔiXH?Řz:lMCA =?(|]>#6rE{-jyM`XKmb!_kL1[StϿmԎ<nW +endstream +endobj +7383 0 obj +<< +/Type /Page +/Contents 7384 0 R +/Resources 7382 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7339 0 R +/Annots [ 7370 0 R 7371 0 R 7372 0 R 7373 0 R 7374 0 R 7375 0 R 7376 0 R 7377 0 R 7378 0 R 7379 0 R 7380 0 R 7381 0 R ] +>> +endobj +7370 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.628 524.756 177.557 536.929] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7371 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [267.35 410.495 288.279 420.97] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7372 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 392.871 100.276 403.346] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7373 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.87 363.184 416.276 373.766] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7374 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.274 363.184 438.203 373.766] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7375 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.804 321.649 261.21 332.025] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7376 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 286.4 100.276 296.983] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7377 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.661 256.929 391.067 267.403] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7378 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.87 239.197 416.276 249.779] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7379 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.274 239.197 438.203 249.779] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7380 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.804 197.662 261.21 208.038] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7381 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.661 162.521 391.067 172.995] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7385 0 obj +<< +/D [7383 0 R /XYZ 69.866 801.979 null] +>> +endobj +7296 0 obj +<< +/D [7383 0 R /XYZ 70.866 685.038 null] +>> +endobj +426 0 obj +<< +/D [7383 0 R /XYZ 70.866 670.048 null] +>> +endobj +7302 0 obj +<< +/D [7383 0 R /XYZ 70.866 468.657 null] +>> +endobj +430 0 obj +<< +/D [7383 0 R /XYZ 70.866 453.667 null] +>> +endobj +7291 0 obj +<< +/D [7383 0 R /XYZ 70.866 70.866 null] +>> +endobj +7382 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7392 0 obj +<< +/Length 2176 +/Filter /FlateDecode +>> +stream +xZYo~[H`70X3@KmtȖίOE-K lb}TUU8ZE8z˳W2娐EQQ.eI].1ϓ.$(쳣uIJ<~.6kRWmc֞<8"u՝2UrlǸ]լt"Fc"A`L]vʈ+21ϳZ9pX˰nm;GH6|ӇHun@3b_i'.!pp!L wO&\Yd1DasAf\ 9aDļ}$`),B8J(h l 읬FA'2x TLb P%z`n\bGhA"Z °`e ^f2 EbP9Ji6|y36?m˽܍5>2VX߆ ݅vֶkC"X72K˺wyeD*0{]b? +ġ$Bz&OGHP,-  HBgMP%Ḵ["rBšW $3:-V6='}?Ggxk(ɦb( ܛ7/S+?Fte~Mw읳TQ Zb7ʼnhpǐ8:bTz~Vz5Ӻ x=%9\0Wsu]/!+>P4,г%bXi6O9?'$> yNs&@s=gx|Yt)YB wYe`bQߩLz^9(9/\b(sɡ+'r-/рOyqX@o9#@"y9!  ᢗxH 9t\^-/{<1f>y6Y04cCð00>2# ݾ TΦMm&1C_c ٴ%.ܥzd?ّ:2.XQo(rp7SGt~LJö⻵Gb' ~r}1"`j+N>K 徭zҖ&)}z7jզ.뇩nQʻmhv@/jƆ0e9V7[Ʒ]Pa,vlbw(Ьc,Poڥ{ueݤVAu= @VM.[חݮK]-lʳ46{ -4'bFպ|dV'<,Xʑ7zOJǩuk:xsKk~SLǬ1G7AtSÚO%$樠jԅ.> +endobj +7386 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.628 624.472 177.557 636.645] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7387 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.628 398.605 177.557 410.779] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7388 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [275.853 176.709 341.129 187.184] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) >> +>> +endobj +7389 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [369.092 176.709 468.753 187.184] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a5d307822db6e769821d9dc86477171e2) >> +>> +endobj +7393 0 obj +<< +/D [7391 0 R /XYZ 69.866 801.979 null] +>> +endobj +434 0 obj +<< +/D [7391 0 R /XYZ 70.866 771.024 null] +>> +endobj +7297 0 obj +<< +/D [7391 0 R /XYZ 70.866 752.171 null] +>> +endobj +438 0 obj +<< +/D [7391 0 R /XYZ 70.866 752.171 null] +>> +endobj +7298 0 obj +<< +/D [7391 0 R /XYZ 70.866 565.715 null] +>> +endobj +442 0 obj +<< +/D [7391 0 R /XYZ 70.866 550.474 null] +>> +endobj +7290 0 obj +<< +/D [7391 0 R /XYZ 70.866 339.848 null] +>> +endobj +446 0 obj +<< +/D [7391 0 R /XYZ 70.866 324.608 null] +>> +endobj +7299 0 obj +<< +/D [7391 0 R /XYZ 371.332 254.74 null] +>> +endobj +450 0 obj +<< +/D [7391 0 R /XYZ 70.866 237.613 null] +>> +endobj +7390 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7404 0 obj +<< +/Length 1987 +/Filter /FlateDecode +>> +stream +xYIFWp :9xCjZ1 Ǔ_YlZt=88x5a>eă%R`"b)(H` +.FqKּJwFL z-@ϷicyZv^RR+idqvb>kB@y`\~ +$]C3X v +aD^W'A=!~璉i5F2OrTB0FN A) 44A iImE(A'@L\S7i% s9XDHR1dR+-"EQ JEVx58A߿։~UuWt8m9yJEL^uXgU8ggʞ'۩A( ibhn<JDs|J("CO@.+jPJF5jyaݗƚa 5-|CMԜ9A b0c.2y]" +| &Ak0w;i/txY:lZ(V?fR,jո7mݔ;3wʃk6 `#>;<[pٲ,lʸ ՟Oƀyp:2b>tC&]X["c7jgkewWQUۻcʨC ~HV̆rNovlmNzGɆol;يh51oƒ[Oi\`Aww-B}v* Lտ + 30LΣ=TǾ$ܬ% {` + n39J.}JP:Xr;.@Y=[q=]#\5(ᏚK4 o89}\s wsglulҔWmU,INRY{c$2\lX3ZUZOo>p{žkcvq0+pR. +Q}ޗ}EG]6iH(d;G:+`O @vQ/X +47@&*ɓ qfB4G$q)sď]ƧZM =|vu\M#QsVOh$J(9Qb=R)chX?qBz&B:`=>Ǿz&RmkGjM,k~]57GV#t> +endobj +7395 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [276.731 741.029 342.007 753.203] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) >> +>> +endobj +7396 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [275.853 606.236 341.129 616.711] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) >> +>> +endobj +7397 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [369.092 606.236 468.753 616.711] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a5d307822db6e769821d9dc86477171e2) >> +>> +endobj +7398 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.482 546.969 265.889 557.552] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7399 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [276.731 499.351 342.007 511.524] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) >> +>> +endobj +7400 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [234.886 369.828 255.815 380.303] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7401 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.945 215.003 392.874 243.276] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7405 0 obj +<< +/D [7403 0 R /XYZ 69.866 801.979 null] +>> +endobj +7300 0 obj +<< +/D [7403 0 R /XYZ 70.866 682.272 null] +>> +endobj +454 0 obj +<< +/D [7403 0 R /XYZ 70.866 667.032 null] +>> +endobj +7293 0 obj +<< +/D [7403 0 R /XYZ 70.866 428.24 null] +>> +endobj +458 0 obj +<< +/D [7403 0 R /XYZ 70.866 413 null] +>> +endobj +7205 0 obj +<< +/D [7403 0 R /XYZ 70.866 358.869 null] +>> +endobj +462 0 obj +<< +/D [7403 0 R /XYZ 70.866 343.629 null] +>> +endobj +7294 0 obj +<< +/D [7403 0 R /XYZ 70.866 206.037 null] +>> +endobj +466 0 obj +<< +/D [7403 0 R /XYZ 70.866 190.797 null] +>> +endobj +7402 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7410 0 obj +<< +/Length 1968 +/Filter /FlateDecode +>> +stream +xZ˒F+F~xIR)ۉ'+ e s@BdW 947ng?yP"% n?1FJ N($]CLbϙ׫i9Uʺu^i[Tn;{y;kF)HR)(G,ޯF,Qrp຋Un 41BOM$-!i!l~o#ôNy!ac2!'3u?$JbtsضQtF Eo3 ƝιD1͑i*"]Ç#;k?)̖lE\v˼z~bͯ<ŜpGlQXw*IxO}Bq<ncD +ɹ-y嘕q"P9Qs_\ڥjiV,KUaQ2 +現/*wE~ ,|SM7ཹ>uiEyDR!,ݙչΠH΋B1Db`a *3<Z7 ^0 jm$aGs>%zBP4 M["Rq=d$6k\g^97a?eMdcE.+.mGf(ILյ͈@a;g&ō"*(TJlIZv>'@:pw@1K,ov48/`E88-ctlJ='\/G!!yJ6aBrD)Hh"!"V ABH>(u>)aj>'_jey %1`#gA1`<\>qwj4iUҼ1zꚼASjqSwTA MTK^h FA-è:+iT sxkF)=_uR4|n@9]"PJMz]\k/00+IFqu=]ao:WMj %csVQ{gGm1iW#>1WBP|#w4\ MmD(vu;˴/Qi*+6;;O#?~$UOr!I8IN +˔֨^f^iy~nbuu^h+R9'DrMd1lNhƏًD&a{}E1 c)W B  bH |^%vR䓇_b@Ez̸G3wwn ~) ?N1P2L~0zTX}ƺZFVQWZSe-F`[m[>&ݴKx]]03YϺ>s Vt ۧo{5]LNy*m0ֶ]z +mͦ*}Rf):˛v<|0Tp p>'R-VhU^“MN,<HhlfX+t<]vl 8F<7AʡАMZe?ƍٿΆ2Gȕb,?]OaϯMqʱӳݯ_d t w4 +-|X"q/FC ˖.oHSD4;wb_:qY4sn&I(MPg$yg%{r.ŞYh^s/ٔ|7;y;9>8M +endstream +endobj +7409 0 obj +<< +/Type /Page +/Contents 7410 0 R +/Resources 7408 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7339 0 R +/Annots [ 7406 0 R 7407 0 R ] +>> +endobj +7406 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.945 666.816 392.874 695.089] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7407 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [234.943 183.023 382.125 193.605] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a9e1b1dd69f646b62d2958f9c49db2630) >> +>> +endobj +7411 0 obj +<< +/D [7409 0 R /XYZ 69.866 801.979 null] +>> +endobj +7304 0 obj +<< +/D [7409 0 R /XYZ 70.866 657.628 null] +>> +endobj +470 0 obj +<< +/D [7409 0 R /XYZ 70.866 642.04 null] +>> +endobj +7305 0 obj +<< +/D [7409 0 R /XYZ 70.866 457.102 null] +>> +endobj +474 0 obj +<< +/D [7409 0 R /XYZ 70.866 441.514 null] +>> +endobj +7295 0 obj +<< +/D [7409 0 R /XYZ 70.866 291.055 null] +>> +endobj +478 0 obj +<< +/D [7409 0 R /XYZ 70.866 275.467 null] +>> +endobj +7408 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7418 0 obj +<< +/Length 1796 +/Filter /FlateDecode +>> +stream +xY[o6~P$5KJDۀ,ii%n!-1PYtIËn&n־%h;(Z[z3}9{:- bĂ +#Z&ֹunW_ ߈ +fktrYE/yi0U!cSMynj9gFlN9cof矱o,Yj򩇨8fΰq#ʡ|y(Q0/ D cجD F>57"n6"WvO+T`bk(l)wzN b`^<D]CAJ+ʯ_#ߚ,1kFƟhk"w ^Tkglqnzd^tw0^hp%JkLԗ<#\?sؾ/1@:(Sa6JٍFFZU"Q|L?zY giA| RݓRWHXyJ!jU:ʏBDGGt~Õx܄'B+zۘ- 4iՠC5+m|QC+KE_z]oSZ/}&BjzE +endstream +endobj +7417 0 obj +<< +/Type /Page +/Contents 7418 0 R +/Resources 7416 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7420 0 R +/Annots [ 7413 0 R 7414 0 R 7415 0 R ] +>> +endobj +7413 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.569 503.466 231.976 514.048] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7414 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.5 503.466 449.906 514.048] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7415 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.046 207.447 315.689 218.029] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_ae4c3e779b7761f6a254231b9775fabcf) >> +>> +endobj +7419 0 obj +<< +/D [7417 0 R /XYZ 69.866 801.979 null] +>> +endobj +482 0 obj +<< +/D [7417 0 R /XYZ 70.866 771.024 null] +>> +endobj +7307 0 obj +<< +/D [7417 0 R /XYZ 70.866 753.893 null] +>> +endobj +486 0 obj +<< +/D [7417 0 R /XYZ 70.866 753.893 null] +>> +endobj +7306 0 obj +<< +/D [7417 0 R /XYZ 70.866 729.257 null] +>> +endobj +490 0 obj +<< +/D [7417 0 R /XYZ 70.866 729.257 null] +>> +endobj +7236 0 obj +<< +/D [7417 0 R /XYZ 393.38 639.882 null] +>> +endobj +494 0 obj +<< +/D [7417 0 R /XYZ 70.866 622.713 null] +>> +endobj +7235 0 obj +<< +/D [7417 0 R /XYZ 70.866 598.055 null] +>> +endobj +498 0 obj +<< +/D [7417 0 R /XYZ 70.866 598.055 null] +>> +endobj +502 0 obj +<< +/D [7417 0 R /XYZ 70.866 573.396 null] +>> +endobj +7347 0 obj +<< +/D [7417 0 R /XYZ 70.866 546.513 null] +>> +endobj +506 0 obj +<< +/D [7417 0 R /XYZ 70.866 546.513 null] +>> +endobj +7346 0 obj +<< +/D [7417 0 R /XYZ 70.866 492.507 null] +>> +endobj +510 0 obj +<< +/D [7417 0 R /XYZ 70.866 477.333 null] +>> +endobj +7348 0 obj +<< +/D [7417 0 R /XYZ 70.866 424.987 null] +>> +endobj +514 0 obj +<< +/D [7417 0 R /XYZ 70.866 409.814 null] +>> +endobj +7345 0 obj +<< +/D [7417 0 R /XYZ 70.866 365.747 null] +>> +endobj +518 0 obj +<< +/D [7417 0 R /XYZ 70.866 350.573 null] +>> +endobj +7342 0 obj +<< +/D [7417 0 R /XYZ 70.866 326.267 null] +>> +endobj +522 0 obj +<< +/D [7417 0 R /XYZ 70.866 326.267 null] +>> +endobj +7353 0 obj +<< +/D [7417 0 R /XYZ 70.866 283.631 null] +>> +endobj +526 0 obj +<< +/D [7417 0 R /XYZ 70.866 268.458 null] +>> +endobj +7344 0 obj +<< +/D [7417 0 R /XYZ 402.463 210.438 null] +>> +endobj +530 0 obj +<< +/D [7417 0 R /XYZ 70.866 193.269 null] +>> +endobj +7341 0 obj +<< +/D [7417 0 R /XYZ 70.866 169.071 null] +>> +endobj +534 0 obj +<< +/D [7417 0 R /XYZ 70.866 169.071 null] +>> +endobj +7340 0 obj +<< +/D [7417 0 R /XYZ 70.866 126.328 null] +>> +endobj +538 0 obj +<< +/D [7417 0 R /XYZ 70.866 111.154 null] +>> +endobj +7352 0 obj +<< +/D [7417 0 R /XYZ 70.866 70.682 null] +>> +endobj +7416 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F82 6068 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7436 0 obj +<< +/Length 2134 +/Filter /FlateDecode +>> +stream +xڽY[o~ϯ[e`u[S "E/i8,3Yrul}g8CrlrDCjH盫ZZ>#iN5"׉Њ 5_Z7v>P8q:={Rm;;>~.튺BރX]K [Ʊ{7]k ~\Ob^s-N Һ:e1] ćڟ$tԱpgu]P +yt{V{xC8A8Ƨ8Rzf&.߁BȞ$Q$1 g_cVsRbr'U*?3NuM4@OtNHr(Ap or}Ɏx>Uz\^uJAܯlE y}TGu5=VQ z&;];rB'-e6CMv {⼴W)B ݨeޗfyZW]@V'ˋ1rfF]ӻ4uL;[3a|w/lUT^d{Xt"NiR=jќhvÚ=^"miN|ViQ %JeWO/y %Kk&&4#"rl<gsv}4@UJ-Bgm'PH }3MC7Yb7%F ^.Rd%Uږ"/nTR=Q%[b\eUFkwgu474=,#9ABM.8h-J&8C`ЛW;qlCE +ޙ^[Ml$w+M! 8 EX1rszuCvp $'iq~Χp, جf^KiNJЉe}_BcϾn$їc#j/R]7Dj Y&M2a}xQV}H ʾZUܩnDasRw!,7wO?N k$Hm.R#95i[Ar`(KZD6kI^Ch9x~8 +k87.)ث5Dc)2^ 3x,MJFUAYy9g6;XBUZ-؊vH)3NG;gd5QRJ}?%ݯ VL<])u^dғ3sr oVHH +> oz\8 vQYmG7`_@O2$zKzoX(&Mw#۲~`o2rZnokc O׉$4*e(JL(qj"jjHNGO' !aN~^' esܥ#b; t)1"[L!%)na~|&&Ij. ?4}{ go$Ph3Ԕso#uվTpng rb5?߄BҢUL,鄦[qt7Rڭ"~""J"y +u~s[5JQxׇS#n{ +endstream +endobj +7435 0 obj +<< +/Type /Page +/Contents 7436 0 R +/Resources 7434 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7420 0 R +/Annots [ 7422 0 R 7423 0 R 7424 0 R 7425 0 R 7426 0 R 7427 0 R 7428 0 R 7429 0 R 7430 0 R 7431 0 R ] +>> +endobj +7422 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.113 590.569 192.959 599.34] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7423 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.497 215.631 251.904 226.105] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7424 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [252.404 215.631 273.333 226.105] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7425 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 152.978 199.746 163.561] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_ab7e29d342c622f6c6831c7c20638871e) >> +>> +endobj +7426 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 138.902 163.361 149.17] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a8aac3f985184cfbe4e228510d8f94c86) >> +>> +endobj +7427 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 124.61 204.139 134.986] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a87ce4bd7e75af0c0dff70221ba197dcc) >> +>> +endobj +7428 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 110.534 183.526 120.803] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a3d73aefea41f86d82c9c4895e595250a) >> +>> +endobj +7429 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 96.35 194.276 106.825] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a3b479b981bb71508f954d8dcf7390552) >> +>> +endobj +7430 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 82.166 179.948 92.641] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_ad5cb96a758e791541abac48e347f7517) >> +>> +endobj +7431 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 67.983 189.91 78.251] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a9746eb3bc69c51490ee9834efa47c74f) >> +>> +endobj +7437 0 obj +<< +/D [7435 0 R /XYZ 69.866 801.979 null] +>> +endobj +542 0 obj +<< +/D [7435 0 R /XYZ 70.866 771.024 null] +>> +endobj +7343 0 obj +<< +/D [7435 0 R /XYZ 371.691 652.753 null] +>> +endobj +546 0 obj +<< +/D [7435 0 R /XYZ 70.866 632.617 null] +>> +endobj +7351 0 obj +<< +/D [7435 0 R /XYZ 70.866 591.565 null] +>> +endobj +550 0 obj +<< +/D [7435 0 R /XYZ 70.866 573.424 null] +>> +endobj +7350 0 obj +<< +/D [7435 0 R /XYZ 70.866 528.858 null] +>> +endobj +554 0 obj +<< +/D [7435 0 R /XYZ 70.866 510.717 null] +>> +endobj +7349 0 obj +<< +/D [7435 0 R /XYZ 349.831 381.003 null] +>> +endobj +558 0 obj +<< +/D [7435 0 R /XYZ 70.866 360.867 null] +>> +endobj +6978 0 obj +<< +/D [7435 0 R /XYZ 106.937 290.42 null] +>> +endobj +562 0 obj +<< +/D [7435 0 R /XYZ 70.866 269.219 null] +>> +endobj +7438 0 obj +<< +/D [7435 0 R /XYZ 70.866 194.704 null] +>> +endobj +7434 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F82 6068 0 R /F96 6194 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7461 0 obj +<< +/Length 1210 +/Filter /FlateDecode +>> +stream +xXr6+ ulw2Mt:n4 IRJN/YZyэx{Ž‚eY!|[@D.5K;;3uоxE83Zpp,yYeϗ5byR=<:wiEDEMmqr13AP! AzV}V*} Qh}W#WG0 ܺ>.\"X-A@"o ,@Kl--Shm^.zTxm̯VI"G󒩽D+) コfQS- C7WN P+%4~p"*E{> +endobj +7432 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.497 732.851 251.904 743.326] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7433 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [252.404 732.851 273.333 743.326] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7446 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [263.997 456.99 294.403 467.464] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7447 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [294.903 456.99 315.832 467.464] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7448 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 393.732 189.524 404.001] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_af1232f522b282a7a5111802982b9ba42) >> +>> +endobj +7449 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 362.999 179.948 373.474] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a32c3f60a2876738427dca3f2de3bdb30) >> +>> +endobj +7450 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 332.266 189.91 342.535] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a740302e78e835ec1753d4cfa356be98f) >> +>> +endobj +7451 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 301.533 169.171 311.802] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a0f990d91b96cc9540bd90bb00e1cd59a) >> +>> +endobj +7452 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 270.8 188.699 281.275] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_abb220662c7522ea1b0943bb845b6c7dc) >> +>> +endobj +7453 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 240.067 201.503 250.542] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a73fb9701994e0bff895effbb28361f68) >> +>> +endobj +7454 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 209.334 194.276 219.809] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a76eac50d9c1919c0dfd65cde6d0f2464) >> +>> +endobj +7455 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 178.601 185.525 188.869] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_ade61a55585e9a364cdfaabc6c8b55e5a) >> +>> +endobj +7456 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 147.868 202.597 158.136] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a5adb2a4d7ca5b4edd59bef60d9d1ccae) >> +>> +endobj +7457 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [263.997 67.983 294.403 78.457] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7458 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [294.903 67.983 315.832 78.457] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7462 0 obj +<< +/D [7460 0 R /XYZ 69.866 801.979 null] +>> +endobj +566 0 obj +<< +/D [7460 0 R /XYZ 70.866 771.024 null] +>> +endobj +570 0 obj +<< +/D [7460 0 R /XYZ 70.866 715.268 null] +>> +endobj +7439 0 obj +<< +/D [7460 0 R /XYZ 70.866 689.702 null] +>> +endobj +574 0 obj +<< +/D [7460 0 R /XYZ 70.866 689.702 null] +>> +endobj +7442 0 obj +<< +/D [7460 0 R /XYZ 70.866 662.515 null] +>> +endobj +578 0 obj +<< +/D [7460 0 R /XYZ 70.866 662.515 null] +>> +endobj +7441 0 obj +<< +/D [7460 0 R /XYZ 70.866 637.328 null] +>> +endobj +582 0 obj +<< +/D [7460 0 R /XYZ 70.866 637.328 null] +>> +endobj +7443 0 obj +<< +/D [7460 0 R /XYZ 70.866 611.863 null] +>> +endobj +586 0 obj +<< +/D [7460 0 R /XYZ 70.866 611.863 null] +>> +endobj +7444 0 obj +<< +/D [7460 0 R /XYZ 70.866 586.676 null] +>> +endobj +590 0 obj +<< +/D [7460 0 R /XYZ 70.866 586.676 null] +>> +endobj +7445 0 obj +<< +/D [7460 0 R /XYZ 70.866 561.349 null] +>> +endobj +594 0 obj +<< +/D [7460 0 R /XYZ 70.866 561.349 null] +>> +endobj +7440 0 obj +<< +/D [7460 0 R /XYZ 70.866 536.023 null] +>> +endobj +598 0 obj +<< +/D [7460 0 R /XYZ 70.866 536.023 null] +>> +endobj +6979 0 obj +<< +/D [7460 0 R /XYZ 70.866 510.697 null] +>> +endobj +602 0 obj +<< +/D [7460 0 R /XYZ 70.866 510.697 null] +>> +endobj +7463 0 obj +<< +/D [7460 0 R /XYZ 70.866 435.625 null] +>> +endobj +606 0 obj +<< +/D [7460 0 R /XYZ 70.866 114.111 null] +>> +endobj +7459 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7480 0 obj +<< +/Length 1177 +/Filter /FlateDecode +>> +stream +x͘Ms6<Aucw2S׍d(8Hw%ґ?W3]hB# SX6ّسx!b{Ao%'a)ύՔa#=mFRZe]bp5!i Ϙ$+_+2u$tll^3n-p+M}3@8q58{Z4!t}nDMe^'$GzP.'m5>X:3ILI2m% +x"(L=_g3lQ:eҕpy {_bhr֏o]CSHEb~̿( +a*KE/ur,HGwL9t KP7E'N*tea\\i͚ P U +endstream +endobj +7479 0 obj +<< +/Type /Page +/Contents 7480 0 R +/Resources 7478 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7420 0 R +/Annots [ 7473 0 R 7474 0 R 7475 0 R 7476 0 R ] +>> +endobj +7473 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.971 181.611 409.377 192.085] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7474 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.371 181.611 431.3 192.085] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7475 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 112.136 177.824 122.61] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a57a10f00289e58aff71bdabf7cf4f319) >> +>> +endobj +7476 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 84.561 173.34 95.036] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a556f1d5a6cc2e8fb7dfb4f80fa39311b) >> +>> +endobj +7481 0 obj +<< +/D [7479 0 R /XYZ 69.866 801.979 null] +>> +endobj +610 0 obj +<< +/D [7479 0 R /XYZ 70.866 771.024 null] +>> +endobj +7471 0 obj +<< +/D [7479 0 R /XYZ 70.866 753.893 null] +>> +endobj +614 0 obj +<< +/D [7479 0 R /XYZ 70.866 753.893 null] +>> +endobj +7464 0 obj +<< +/D [7479 0 R /XYZ 70.866 709.857 null] +>> +endobj +618 0 obj +<< +/D [7479 0 R /XYZ 70.866 694.768 null] +>> +endobj +7469 0 obj +<< +/D [7479 0 R /XYZ 70.866 652.485 null] +>> +endobj +622 0 obj +<< +/D [7479 0 R /XYZ 70.866 637.396 null] +>> +endobj +7467 0 obj +<< +/D [7479 0 R /XYZ 70.866 595.113 null] +>> +endobj +626 0 obj +<< +/D [7479 0 R /XYZ 70.866 580.024 null] +>> +endobj +7472 0 obj +<< +/D [7479 0 R /XYZ 70.866 537.633 null] +>> +endobj +630 0 obj +<< +/D [7479 0 R /XYZ 70.866 522.544 null] +>> +endobj +7468 0 obj +<< +/D [7479 0 R /XYZ 70.866 480.369 null] +>> +endobj +634 0 obj +<< +/D [7479 0 R /XYZ 70.866 465.279 null] +>> +endobj +7465 0 obj +<< +/D [7479 0 R /XYZ 70.866 422.889 null] +>> +endobj +638 0 obj +<< +/D [7479 0 R /XYZ 70.866 407.8 null] +>> +endobj +7466 0 obj +<< +/D [7479 0 R /XYZ 70.866 365.625 null] +>> +endobj +642 0 obj +<< +/D [7479 0 R /XYZ 70.866 350.535 null] +>> +endobj +7470 0 obj +<< +/D [7479 0 R /XYZ 70.866 308.253 null] +>> +endobj +646 0 obj +<< +/D [7479 0 R /XYZ 70.866 293.163 null] +>> +endobj +6980 0 obj +<< +/D [7479 0 R /XYZ 70.866 250.881 null] +>> +endobj +650 0 obj +<< +/D [7479 0 R /XYZ 70.866 234.619 null] +>> +endobj +7482 0 obj +<< +/D [7479 0 R /XYZ 70.866 151.781 null] +>> +endobj +7478 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7503 0 obj +<< +/Length 1424 +/Filter /FlateDecode +>> +stream +xYMs6WVjB39J&ӸN@Ě"UbP$e:E X}Xaci`jlҳ ka仮ĘƝ#c5KVTaƃrً?K9x+~O/B_ mP{OQx SJziNwDI,x7YѰ\{`#,nysVϹee &f7R^1LELk0$R&߄jT^ x˶{j#7}R1|dYfQmL"'E2qeڢ`%y-xPxT˴13aO$;l50*;&q`.T4w,K: +RyW]h)z#+֥p)G*X;N +aLSM/H݇<Խ<U}vV;1'!X>Q9N嘸&%kՐVun/XlF0*e| ,V >՛6^(LW܀wqOOp> +endobj +7477 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 758.07 180.809 768.446] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a3125fb72f9cff51b552d77abd26bdcfe) >> +>> +endobj +7485 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 730.024 176.326 740.4] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ad5bc5de57ba8e78b5002e4a3c7b760ac) >> +>> +endobj +7486 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 702.086 173.34 712.56] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_af53fe36e56bbddcc7595ef9145c232f0) >> +>> +endobj +7487 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 674.04 168.857 684.515] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a7e8317fba9446f840f9f76af1ed77a05) >> +>> +endobj +7488 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 645.994 216.19 656.469] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a967db1960edbaaa9ee6de1cad924569b) >> +>> +endobj +7489 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 617.949 166.356 628.217] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a4725b80416516202851fced3224ddf10) >> +>> +endobj +7490 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 589.795 164.365 600.171] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a0a54ebe20f51af2268716891be3d6570) >> +>> +endobj +7491 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 561.749 168.848 572.125] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_abc7e73d686ae0713e349611c6ddd7a8e) >> +>> +endobj +7492 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 533.811 165.863 544.286] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_aaaeab778bcf9ca4da5add8112086e360) >> +>> +endobj +7493 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 505.765 209.842 516.24] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a4991d2c2c138a78d8c95be54d1c805da) >> +>> +endobj +7494 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 477.72 165.369 488.194] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ac8bd1610fc654ffbd7f37af327116d51) >> +>> +endobj +7495 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 449.674 169.575 459.942] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_add457c04174a03d5ba481dce96f4e8b9) >> +>> +endobj +7496 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 421.521 193.766 432.103] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ac71ce98ee09da1f9b010b11e8d6f73aa) >> +>> +endobj +7497 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 393.475 195.532 403.851] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ad3428d51c4eac42c0de3aa6d5819ecd3) >> +>> +endobj +7498 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 354.47 180.038 364.846] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ae3d9fc9495efc4447da13542e1e1f7e3) >> +>> +endobj +7499 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.971 279.831 409.377 290.305] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7500 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.371 279.831 431.3 290.305] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7504 0 obj +<< +/D [7502 0 R /XYZ 69.866 801.979 null] +>> +endobj +654 0 obj +<< +/D [7502 0 R /XYZ 70.866 325.229 null] +>> +endobj +658 0 obj +<< +/D [7502 0 R /XYZ 70.866 253.454 null] +>> +endobj +7484 0 obj +<< +/D [7502 0 R /XYZ 70.866 228.521 null] +>> +endobj +662 0 obj +<< +/D [7502 0 R /XYZ 70.866 228.521 null] +>> +endobj +7483 0 obj +<< +/D [7502 0 R /XYZ 70.866 184.342 null] +>> +endobj +666 0 obj +<< +/D [7502 0 R /XYZ 70.866 168.925 null] +>> +endobj +7505 0 obj +<< +/D [7502 0 R /XYZ 70.866 126.714 null] +>> +endobj +670 0 obj +<< +/D [7502 0 R /XYZ 70.866 111.297 null] +>> +endobj +7506 0 obj +<< +/D [7502 0 R /XYZ 70.866 68.979 null] +>> +endobj +7501 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7522 0 obj +<< +/Length 1021 +/Filter /FlateDecode +>> +stream +xڽXKs6WT7=Cn3V!c +p xP5Ja/X,vDu@M., 'Ȳ /#`^(‡ (.YuÔ +Q^rB3]Kat'擿&TI@&Q,T0> 8.jn$q%`6mB2|Ua_#U}Ճg G~E=y{B0WԂճSgΦwg^ZIt~fBY2_^AO"@FD{}fZծ )g>-b:Zt󉻍j_VԚ}r<17jam'Iw^H?jPۗڹî7=>(CTPL 4qy2n-Ӈs;;Kb!@%4w=JhyE<+s_;^Cڗ;q?ìi6d.g d +endstream +endobj +7521 0 obj +<< +/Type /Page +/Contents 7522 0 R +/Resources 7520 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7420 0 R +>> +endobj +7523 0 obj +<< +/D [7521 0 R /XYZ 69.866 801.979 null] +>> +endobj +674 0 obj +<< +/D [7521 0 R /XYZ 70.866 771.024 null] +>> +endobj +7518 0 obj +<< +/D [7521 0 R /XYZ 70.866 734.467 null] +>> +endobj +678 0 obj +<< +/D [7521 0 R /XYZ 70.866 718.988 null] +>> +endobj +7508 0 obj +<< +/D [7521 0 R /XYZ 70.866 664.702 null] +>> +endobj +682 0 obj +<< +/D [7521 0 R /XYZ 70.866 649.223 null] +>> +endobj +7507 0 obj +<< +/D [7521 0 R /XYZ 70.866 606.785 null] +>> +endobj +686 0 obj +<< +/D [7521 0 R /XYZ 70.866 591.305 null] +>> +endobj +7512 0 obj +<< +/D [7521 0 R /XYZ 70.866 548.975 null] +>> +endobj +690 0 obj +<< +/D [7521 0 R /XYZ 70.866 533.496 null] +>> +endobj +7513 0 obj +<< +/D [7521 0 R /XYZ 70.866 491.165 null] +>> +endobj +694 0 obj +<< +/D [7521 0 R /XYZ 70.866 475.686 null] +>> +endobj +7514 0 obj +<< +/D [7521 0 R /XYZ 70.866 433.463 null] +>> +endobj +698 0 obj +<< +/D [7521 0 R /XYZ 70.866 417.983 null] +>> +endobj +7510 0 obj +<< +/D [7521 0 R /XYZ 299.137 359.916 null] +>> +endobj +702 0 obj +<< +/D [7521 0 R /XYZ 70.866 342.441 null] +>> +endobj +7509 0 obj +<< +/D [7521 0 R /XYZ 70.866 300.111 null] +>> +endobj +706 0 obj +<< +/D [7521 0 R /XYZ 70.866 284.631 null] +>> +endobj +7517 0 obj +<< +/D [7521 0 R /XYZ 70.866 242.301 null] +>> +endobj +710 0 obj +<< +/D [7521 0 R /XYZ 70.866 226.822 null] +>> +endobj +7516 0 obj +<< +/D [7521 0 R /XYZ 70.866 184.491 null] +>> +endobj +714 0 obj +<< +/D [7521 0 R /XYZ 70.866 169.012 null] +>> +endobj +7515 0 obj +<< +/D [7521 0 R /XYZ 70.866 126.789 null] +>> +endobj +718 0 obj +<< +/D [7521 0 R /XYZ 70.866 111.309 null] +>> +endobj +7511 0 obj +<< +/D [7521 0 R /XYZ 70.866 68.979 null] +>> +endobj +7520 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7542 0 obj +<< +/Length 1762 +/Filter /FlateDecode +>> +stream +xXIs6Wprhə398v8n$qr(XbC* F4%˭sEG{+u1y98\kvcEA`1Ef چMgJ~#ɚ4XժeNW ?Wm*E~'uٍC`bECl8"-(Bt=콱0rȺk]{.s *aD}FAwD 0BEAJsgPN* :- lfBBQKGnܑ[S0_ #ʠZ7꿩ykV,*Q JwvHPN=6" +YHe4M*neB-$O4+Z#UZn2C_ +;K+p)3P@ + =,ßg>f׵, +&ueZj07Iu(;4K8j?.evs&sg)Ԏ Q> ~(|(䪹v2"b'Z6DcTĮR >9!pV xZC7na" ="ڡQD*7O= +}1h X$ơ8w4N82YΞ.Դ*_+bH[? ^Wz62u7}E7mc4:qHAFeg$W=}xAMŢcĠQ P\09t0 d%`%H><@sؑD fDzPiSUQAx:$4jWz`R֤ajEN>"mPeXÓ kTCx**Jդԍ/-geڬ}rއ.ؒs>^dL"`!B4ng܉y+BBۨSU;8bpP=eWЋ uwi[#lBqY~]>H$ /ީh[hkiWyl{TU9H|OK~`QC] +bǾb%J&}t-bIΠj3 |G=u#a6:SF(268i-0&ƨ!}_ 4}Fw{m끺1Idގ]_!>@4 55 Z Jw͕b91 L_ R}oO+BI|~M?5㷊±ScJٽ-6+F +XaY +endstream +endobj +7541 0 obj +<< +/Type /Page +/Contents 7542 0 R +/Resources 7540 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7550 0 R +/Annots [ 7524 0 R 7525 0 R 7526 0 R 7527 0 R 7528 0 R 7529 0 R 7530 0 R 7531 0 R 7532 0 R 7533 0 R 7534 0 R 7535 0 R 7536 0 R 7537 0 R 7538 0 R 7539 0 R ] +>> +endobj +7524 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.718 588.295 230.125 598.77] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7525 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.625 588.295 251.554 598.77] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7526 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [425.012 588.295 468.859 598.77] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7527 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 511.807 134.194 522.282] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_aed91dcd5ee2d58fe552890a22ce44b8c) >> +>> +endobj +7528 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 498.586 149.598 509.06] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a8eb05b4c21ba305d16c96abd95f809b7) >> +>> +endobj +7529 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.238 485.257 228.128 495.839] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a782952fe0a9498b789f00f83e36d525e) >> +>> +endobj +7530 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [412.375 485.257 497.699 495.839] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) >> +>> +endobj +7531 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [143.248 414.438 214.038 425.02] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a519dfbe02f058960380c92f72117dfc8) >> +>> +endobj +7532 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.781 399.52 240.346 409.147] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7533 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [143.248 386.002 212.047 396.585] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a98b8e0e86ca3713afbcbe5836c732ad1) >> +>> +endobj +7534 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [261.23 371.085 288.795 380.711] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7535 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 311.925 204.57 322.507] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_aea1e4db906d1cfe6c05d5215de564a7e) >> +>> +endobj +7536 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.991 297.007 228.556 306.634] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7537 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.718 225.582 230.125 236.056] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7538 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.625 225.582 251.554 236.056] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7539 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [425.012 225.582 468.859 236.056] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7543 0 obj +<< +/D [7541 0 R /XYZ 69.866 801.979 null] +>> +endobj +722 0 obj +<< +/D [7541 0 R /XYZ 70.866 771.024 null] +>> +endobj +7519 0 obj +<< +/D [7541 0 R /XYZ 299.137 718.651 null] +>> +endobj +726 0 obj +<< +/D [7541 0 R /XYZ 70.866 700.781 null] +>> +endobj +6981 0 obj +<< +/D [7541 0 R /XYZ 70.866 658.371 null] +>> +endobj +730 0 obj +<< +/D [7541 0 R /XYZ 70.866 641.323 null] +>> +endobj +7544 0 obj +<< +/D [7541 0 R /XYZ 70.866 552.01 null] +>> +endobj +7545 0 obj +<< +/D [7541 0 R /XYZ 70.866 454.748 null] +>> +endobj +7546 0 obj +<< +/D [7541 0 R /XYZ 70.866 352.235 null] +>> +endobj +734 0 obj +<< +/D [7541 0 R /XYZ 70.866 272.775 null] +>> +endobj +738 0 obj +<< +/D [7541 0 R /XYZ 70.866 210.702 null] +>> +endobj +7547 0 obj +<< +/D [7541 0 R /XYZ 70.866 185.677 null] +>> +endobj +742 0 obj +<< +/D [7541 0 R /XYZ 70.866 185.677 null] +>> +endobj +746 0 obj +<< +/D [7541 0 R /XYZ 70.866 159.17 null] +>> +endobj +7548 0 obj +<< +/D [7541 0 R /XYZ 70.866 134.114 null] +>> +endobj +750 0 obj +<< +/D [7541 0 R /XYZ 70.866 134.114 null] +>> +endobj +7549 0 obj +<< +/D [7541 0 R /XYZ 70.866 95.513 null] +>> +endobj +754 0 obj +<< +/D [7541 0 R /XYZ 70.866 95.513 null] +>> +endobj +758 0 obj +<< +/D [7541 0 R /XYZ 70.866 70.866 null] +>> +endobj +7540 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F96 6194 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7566 0 obj +<< +/Length 1658 +/Filter /FlateDecode +>> +stream +xXIs6Wpt)9cC{ǎ]g2%`>l\$yINڋR{6#:K!<_MG8pFLo$8("t\a}q$azRdu8qOYRd"祜;z=5"0;2IPBg]{iܪk'}RD\~ZY!aհUlAwH0; +e&231u`理JГ4e-rǯ<[9D+.xNVP? \:+o~co~1P6]M|=09=*ZeLIͣF 7"鬖׏#ZMF 1Y \xc$l`5+zp۟ ;b_0ߑS~`b3dj_&q'3r6&)TO6JΤ|iVK=K6NoWp\ ͂Cn^|K"SqGdhh$|#m&+^$Þ6_M^.*y)h@4PS^L|}#=cȏ -^hh(_pgY+WMUD㦂漀%Ox7fvVMmLn t͚lʊSwMVw`44zܲqؐ)c uy_°(MT? +N(cAg7~Ŭv̼A +,\kX0~^eu{HK.7fyYd rh{VnS`? ?. +۔\'A:}.p :\N M5ߞ?qgvOY r>9x604c۵vA54bf[N]VfLWLjseSt?#ѳj@1DƫzTY) l?p}$ pʠ*(*D>_5^!n>r[|\I7IZ?5,7FzFwlŐm:0޸'Ao2tK7z¹|-Ǿ2B{-Ҩ5Q|5ՈD5M#I+qycYis$ԽzE$ib -̔̊4撁KT:La- ߁Ksr#1n!MڛH[V`j}D>TKo[f HNKiEO5`` ˹<ȥGyܶk{U\ً QLؤbƯ=3ը >1,7nA_{5!G A$`&"mdUg ᩗFcSijzDI0ɓv\~2Li]C0`[$n)˂mpZ*< +endstream +endobj +7565 0 obj +<< +/Type /Page +/Contents 7566 0 R +/Resources 7564 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7550 0 R +/Annots [ 7554 0 R 7555 0 R 7556 0 R 7557 0 R 7558 0 R 7559 0 R 7560 0 R 7561 0 R 7562 0 R 7563 0 R ] +>> +endobj +7554 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.238 706.949 215.644 717.423] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7555 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.071 643.69 269.477 654.165] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7556 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.683 552.824 206.089 563.299] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7557 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 402.815 158.564 411.586] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a3ad23f7750af493dc34e7bb84fa6edcd) >> +>> +endobj +7558 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 370.938 164.679 379.422] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a5d307822db6e769821d9dc86477171e2) >> +>> +endobj +7559 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 338.9 158.564 347.671] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_af9f7b1d3f7cb4f6acb966679e7080ac2) >> +>> +endobj +7560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 305.239 153.812 315.508] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_ac0d131911c02002db06c39f7bd03d3b7) >> +>> +endobj +7561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 275.066 152.073 283.55] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a428da57bdeeb644c8fbeb3b1f5fb53b5) >> +>> +endobj +7562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 243.029 150.091 251.8] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_af729b56f77e02acbe8d1f079ace322a3) >> +>> +endobj +7563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 209.26 161.783 219.636] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a6db26d8e73bd24a01a9239caab6c6112) >> +>> +endobj +7567 0 obj +<< +/D [7565 0 R /XYZ 69.866 801.979 null] +>> +endobj +7551 0 obj +<< +/D [7565 0 R /XYZ 70.866 752.937 null] +>> +endobj +762 0 obj +<< +/D [7565 0 R /XYZ 70.866 752.937 null] +>> +endobj +7552 0 obj +<< +/D [7565 0 R /XYZ 70.866 707.945 null] +>> +endobj +766 0 obj +<< +/D [7565 0 R /XYZ 70.866 687.925 null] +>> +endobj +770 0 obj +<< +/D [7565 0 R /XYZ 70.866 624.666 null] +>> +endobj +7553 0 obj +<< +/D [7565 0 R /XYZ 70.866 596.72 null] +>> +endobj +774 0 obj +<< +/D [7565 0 R /XYZ 70.866 596.72 null] +>> +endobj +6982 0 obj +<< +/D [7565 0 R /XYZ 70.866 543.65 null] +>> +endobj +778 0 obj +<< +/D [7565 0 R /XYZ 70.866 522.457 null] +>> +endobj +7568 0 obj +<< +/D [7565 0 R /XYZ 70.866 443.903 null] +>> +endobj +782 0 obj +<< +/D [7565 0 R /XYZ 70.866 173.461 null] +>> +endobj +7564 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7580 0 obj +<< +/Length 1030 +/Filter /FlateDecode +>> +stream +xڵKs< +-홢bIvgHsaگ  +|ܔ_݌ eRHɊG:GGA` ގ'")8`| )@dr 3pxHD]i1V(y󫘢(Բ1j"C7j*X\т^NSLi$BP_ + Hڦ`1D=/r91 I#_f)έNn\!I giԴT*t.~zd`lQԥgwv?jY]M OcD_ PxrI2;bŸբP'1AQ*C'b¢X@ Hg_cf7r"sqf/~őZGCGHwBl\SM6C=1ƬAʲ~'(|>>+|/|D[h(V "^U|1j]lH7Z֛f90ڋ4!I M+*Z5W}c9qBlv'#[t" *(DxٳV: ^m?JDCֲbcZƎLZN+0}6IjN@@ǐx^iO`R3wYW/|!0v]\[> }ħϊ19m=}^T2an\\ 87'j 79JVyWǙsJoBJ",BqOt +X|շ+sE2Rm +endstream +endobj +7579 0 obj +<< +/Type /Page +/Contents 7580 0 R +/Resources 7578 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7550 0 R +/Annots [ 7575 0 R 7576 0 R 7577 0 R ] +>> +endobj +7575 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 275.619 162.375 285.887] +/A << /S /GoTo /D (class_encryption_data_parameters_a93bed68ee0b94820d7579c2b3010a309) >> +>> +endobj +7576 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 249.117 170.848 259.591] +/A << /S /GoTo /D (class_encryption_data_parameters_a60cf6b811cc22df22cb516c1ce93be54) >> +>> +endobj +7577 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 222.615 170.848 233.09] +/A << /S /GoTo /D (class_encryption_data_parameters_a837720bb0e44718f0a815f7fa5cf7d76) >> +>> +endobj +7581 0 obj +<< +/D [7579 0 R /XYZ 69.866 801.979 null] +>> +endobj +786 0 obj +<< +/D [7579 0 R /XYZ 70.866 771.024 null] +>> +endobj +7571 0 obj +<< +/D [7579 0 R /XYZ 70.866 753.893 null] +>> +endobj +790 0 obj +<< +/D [7579 0 R /XYZ 70.866 753.893 null] +>> +endobj +7572 0 obj +<< +/D [7579 0 R /XYZ 70.866 709.857 null] +>> +endobj +794 0 obj +<< +/D [7579 0 R /XYZ 70.866 695.272 null] +>> +endobj +7394 0 obj +<< +/D [7579 0 R /XYZ 70.866 652.99 null] +>> +endobj +798 0 obj +<< +/D [7579 0 R /XYZ 70.866 638.405 null] +>> +endobj +7573 0 obj +<< +/D [7579 0 R /XYZ 70.866 596.015 null] +>> +endobj +802 0 obj +<< +/D [7579 0 R /XYZ 70.866 581.43 null] +>> +endobj +7569 0 obj +<< +/D [7579 0 R /XYZ 70.866 539.148 null] +>> +endobj +806 0 obj +<< +/D [7579 0 R /XYZ 70.866 524.563 null] +>> +endobj +7570 0 obj +<< +/D [7579 0 R /XYZ 70.866 482.388 null] +>> +endobj +810 0 obj +<< +/D [7579 0 R /XYZ 70.866 467.804 null] +>> +endobj +7574 0 obj +<< +/D [7579 0 R /XYZ 70.866 425.521 null] +>> +endobj +814 0 obj +<< +/D [7579 0 R /XYZ 70.866 410.936 null] +>> +endobj +7582 0 obj +<< +/D [7579 0 R /XYZ 70.866 368.546 null] +>> +endobj +818 0 obj +<< +/D [7579 0 R /XYZ 70.866 352.789 null] +>> +endobj +7583 0 obj +<< +/D [7579 0 R /XYZ 70.866 314.727 null] +>> +endobj +822 0 obj +<< +/D [7579 0 R /XYZ 70.866 194.968 null] +>> +endobj +7584 0 obj +<< +/D [7579 0 R /XYZ 70.866 169.882 null] +>> +endobj +826 0 obj +<< +/D [7579 0 R /XYZ 70.866 169.882 null] +>> +endobj +7585 0 obj +<< +/D [7579 0 R /XYZ 70.866 125.846 null] +>> +endobj +830 0 obj +<< +/D [7579 0 R /XYZ 70.866 111.262 null] +>> +endobj +7586 0 obj +<< +/D [7579 0 R /XYZ 70.866 68.979 null] +>> +endobj +7578 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7611 0 obj +<< +/Length 2139 +/Filter /FlateDecode +>> +stream +xZIsWr U!HqٞI9@ĘH0קhByJSN"b# ;o~={u̜8tn8v,bܖg7'޾s˜yi{zt^m;I^Ȣ[srUIk.o`~4`ϿN s y+, +hGg>{AM|XBRzy 'S[H* 7HńEw)f2M R$ÿ́1nxp7~0@sjI|uf[4yIb~|O}4"+i9PWm8lõf^XD'|/ +{nk7+Њi%|+i{eI5$.o(wF͒4z=oEȁc]ϚŒ@pBZ k]@" QU8R+{2:p=v~N'A^Ov*4$bb>0!?u b]FJ5\]^& KDDQhzZ$y?@=q iA$ΔE/~È Q4ǟM cJ,[ϙiE)_n[QtK3t.@&*>Hu^Y{q^R7 +'i`I4PDiG\|Ls9?q#:*ܛ#?қLp0#{y]۝-6NPhfLY^U/ABg`(ˢ̰ߵ-l%W(ṢrB;:χy-@eKpX K[!lo4dg:b1rRzS5 ]dwQ\Ezͦ&;u8:f!xhC8}~jڮvh 3^jy+N r+Ci +; (lp72]&Fvi݅{;a$3KцoYvEJ!,ṵx?f: U㩈_I " +μ;& |Bmȶ 8IE>Yqټ-wC{'qWڷ1 EB@-fZvj饟W>s# Uui<ɚAPkͫp=El-lXzZ bI2}_a07 ĔkY0.1Q'zFd}`r]*VWtHKNN--dk(25M> +Rhp( +֌Ww晛Qh˯纯Vm +^C4h +V8Jôu3`J}V8v2~ //$z㰐(%,Du*rj{3(^#:2Sg_zmF6(AڍNUMb:/kΙ&4{9bv< +d 16}Zp?2^W늖ɻ}1eoE[ CF+7}ҔBɗ.Iax"aLU*Dp8Dp .چ D9bwD͆ XvOUy3%#PY%˼k\M*#t/l%2 M{hbgi`eGK:rmL,z )-tмBM9(7Ui U>ʖS)%cyfةpJ߬y涜 +d]{c4"^'7\f`ؖ$o'PǷTH2z,Q5^(`D1> +endobj +7587 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 666.076 113.215 674.847] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) >> +>> +endobj +7588 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.41 666.076 309.816 674.847] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7589 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 607.407 144.111 616.178] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a432f4d428147b0455487dc2b28474e86) >> +>> +endobj +7590 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 577.37 275.358 587.844] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_abe840b6d5d214a382cc3126010610e61) >> +>> +endobj +7591 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 538.077 218.871 548.552] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a83ca01ddd4c0f0dd69c9ae9d135716dc) >> +>> +endobj +7592 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 500.488 209.151 509.259] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_aa6418d5e27dd1c577387df71dbd2d97c) >> +>> +endobj +7593 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 472.155 214.71 480.719] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a020efa506a911d78481761219ad1a87a) >> +>> +endobj +7594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.713 455.477 377.278 465.103] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7595 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 442.118 218.853 452.592] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a0f067e65b9ee1a19254cddf431cf7f73) >> +>> +endobj +7596 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 415.488 171.511 424.259] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_aefa4bbc103cc10797c8b695ec03544b0) >> +>> +endobj +7597 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 387.154 184.97 395.925] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a5ece2c1d9636a3725b3d38dffaeafad2) >> +>> +endobj +7598 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 358.821 173.547 367.592] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a2c770f32de9265fe53d881768167d7b4) >> +>> +endobj +7599 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 330.487 183.114 339.052] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a989671a923b1616f8831545f9e5baf01) >> +>> +endobj +7600 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 302.153 227.559 310.718] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_ae5450434e0a521ecfa9491c225e59fce) >> +>> +endobj +7601 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 262.861 211.375 271.632] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a305ae576c8bcc601f64595333623287a) >> +>> +endobj +7602 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 234.527 201.414 243.298] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_ab1d9ee69b2b2f4112c84e6d3c2c54b6c) >> +>> +endobj +7603 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.319 217.85 239.884 227.476] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7604 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 193.424 186.566 203.8] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_af2c3cf51125257fba0d2d9f76cbb55f1) >> +>> +endobj +7605 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [214.584 178.557 242.149 188.183] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7606 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 155.942 244.057 164.713] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a112f0f8b62f7271dfc9793463f389482) >> +>> +endobj +7607 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 69.686 113.215 78.457] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) >> +>> +endobj +7608 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.41 69.686 309.816 78.457] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7612 0 obj +<< +/D [7610 0 R /XYZ 69.866 801.979 null] +>> +endobj +834 0 obj +<< +/D [7610 0 R /XYZ 70.866 771.024 null] +>> +endobj +6983 0 obj +<< +/D [7610 0 R /XYZ 70.866 734.412 null] +>> +endobj +838 0 obj +<< +/D [7610 0 R /XYZ 70.866 717.484 null] +>> +endobj +7613 0 obj +<< +/D [7610 0 R /XYZ 70.866 645.831 null] +>> +endobj +842 0 obj +<< +/D [7610 0 R /XYZ 70.866 113.449 null] +>> +endobj +7609 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7639 0 obj +<< +/Length 1825 +/Filter /FlateDecode +>> +stream +xڵr6-LE|3=rI:y4vNIK)#.(ґqN\žpZ?.gGgq`%NEuyeŮD 2>ى#‹巢;vue!yU6뜗M3\[5KK_YA^ͅkFVki$v$_._^^ `ȵ@8Xa:~X7sgpi],x!1"p8Lpܱ)\׵J6اY1κBU7u:I/r_VUbA5pPlgٷڝ̽-(ģ7+J~^l<O8 I( O{XmuEC@j5tG )k6BDVZR9Y], ׍B|-r=B8i9y82W,DhW`3Z7SX!|5.^l o +1;@7-2됙8?u`ڃs?!.躽׭bV* +d ҂\ pV1Ϊ+[YQ`~VNg驒[QCnY i̦Oل닔 ?Z2aHmFa# 52 H %) ! ݩFrPw[s|`eյdnW2C:>S ! itO";"<l, +i@? ++Ä 묑-1xP ]!șpˈBx4:vu); 槙)|f3OJA\Vj;Z|>jj}GiT=(?d8)NYe*P8Q{jUu}+f@ⱊ^/VuZne6 oP3]D\S 8$ywks; \?=bwYSG4=9S>I7~ն +I)MqL'um仾t/xS V"vq&i6<|8Y>g" C~t#Ś ͘:3eU#ނN MPVX"luaa%P:+i\mXV !Aa0X뒝ffUURdCW 29w +CfϮuݐ^FL\\!> OhEMK!iwpxOLQ384J԰Bq^`iiWY gCN쥨d P'\֗Ys1m.+3dD׵ ݕnro\f {c&PÈpXøF0k$& +Wc?/"0.'y4Cζ +!C6}1n/]v:Ey]$_3؋jEfX);S8wy㧀4_ EED2П}id}~#"-mёMd؊4O|'J" \BJ ΂&.qLlRkeeFo&.]`iT8dbߞ˙b.\CdBB!8Cg2oG2fóy B>3F/FZlUE7ow\rf,PH@YsP`NY # k +k]z -/NcV`94z B'8˞ +{#*/)^[O.^_W q,cW~ۿ۱4*:Юv@*tr#] +endstream +endobj +7638 0 obj +<< +/Type /Page +/Contents 7639 0 R +/Resources 7637 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7550 0 R +/Annots [ 7629 0 R 7630 0 R 7631 0 R 7632 0 R 7633 0 R 7641 0 R 7634 0 R 7635 0 R ] +>> +endobj +7629 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.385 292.875 367.791 303.35] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7630 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.601 151.052 216.007 161.527] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7631 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.628 121.365 234.035 131.947] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7632 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [304.806 109.517 335.212 119.992] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7633 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [431.984 109.517 525.406 119.992] +/Subtype/Link/A<> +>> +endobj +7641 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 97.915 227.28 107.813] +/Subtype/Link/A<> +>> +endobj +7634 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [299.78 79.938 330.186 90.412] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7635 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 79.938 525.406 90.412] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7640 0 obj +<< +/D [7638 0 R /XYZ 69.866 801.979 null] +>> +endobj +846 0 obj +<< +/D [7638 0 R /XYZ 70.866 771.024 null] +>> +endobj +7628 0 obj +<< +/D [7638 0 R /XYZ 70.866 752.657 null] +>> +endobj +850 0 obj +<< +/D [7638 0 R /XYZ 70.866 752.657 null] +>> +endobj +7621 0 obj +<< +/D [7638 0 R /XYZ 70.866 695.324 null] +>> +endobj +854 0 obj +<< +/D [7638 0 R /XYZ 70.866 673.908 null] +>> +endobj +7625 0 obj +<< +/D [7638 0 R /XYZ 70.866 630.39 null] +>> +endobj +858 0 obj +<< +/D [7638 0 R /XYZ 70.866 608.973 null] +>> +endobj +7620 0 obj +<< +/D [7638 0 R /XYZ 70.866 553.608 null] +>> +endobj +862 0 obj +<< +/D [7638 0 R /XYZ 70.866 532.192 null] +>> +endobj +7619 0 obj +<< +/D [7638 0 R /XYZ 70.866 488.674 null] +>> +endobj +866 0 obj +<< +/D [7638 0 R /XYZ 70.866 467.258 null] +>> +endobj +7617 0 obj +<< +/D [7638 0 R /XYZ 70.866 423.632 null] +>> +endobj +870 0 obj +<< +/D [7638 0 R /XYZ 70.866 402.216 null] +>> +endobj +7618 0 obj +<< +/D [7638 0 R /XYZ 70.866 358.698 null] +>> +endobj +874 0 obj +<< +/D [7638 0 R /XYZ 70.866 337.282 null] +>> +endobj +7616 0 obj +<< +/D [7638 0 R /XYZ 70.866 293.872 null] +>> +endobj +878 0 obj +<< +/D [7638 0 R /XYZ 70.866 272.455 null] +>> +endobj +7627 0 obj +<< +/D [7638 0 R /XYZ 70.866 216.875 null] +>> +endobj +882 0 obj +<< +/D [7638 0 R /XYZ 70.866 195.458 null] +>> +endobj +7626 0 obj +<< +/D [7638 0 R /XYZ 334.006 70.866 null] +>> +endobj +7637 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7652 0 obj +<< +/Length 2171 +/Filter /FlateDecode +>> +stream +xY_6OKX?Jrfln}J \[]r%ާ?eY溹N_LdY;U;7KY9eI⤳KgrI8mމ3*o4L3R\BދNЋ2/ c^|wVh9{ùuby"F>{@ktthзVg^zi[Ԫ`obk[zx67ڻlI ܺ+ Bݍ̋In䊤H5M4~ĞU4;0ͿT@m侙DM݀ -C =;d%wfo]8_ ޙWu")w)/+,=h0XtM# ivloWlHN0϶ݲ-;ENx3:%[^ϓz ĕU4a~&gNBJZiU"j_ Q/DVx (p $,}[7H茨ea]k;VWiUdH +3F!$ʗx +-W4yeNBT4F}By+I +@L尸߰ WD4^Fj<4@"kA6[$"볆ؗtV9$8Aqe #>(.-&xq ﵠ? W#grtI Jj n~dM*w)[άvWw /p̶q^B_̥޲j|d?b4%ѧA"#APF=bQ#Ku|׻ĈƢ(3D !hd!Y3]J`#f,WߏT@гȽHGME$cbͲicgJ6.BA,n1ʾ9=y2;{$Bt(8@ऐeg%>y8ގU呩G~T(R[loZ6UL +ӣB\ӧJ U4")Pm~OuA6XvE!%VsJSR 6&ך\*AChL]XI!Xd|^=['~0Lf2P< + Ջg(1 +{ַ|W{TB^\>wX[69۝,JHYaRw?Fq c0BaX74 {՜ϚB4z"ӈн68iXp+B VgRcVL5s ADebe%-u#ܸAW(1Go򲕗5ZpZQ.1lv(J$&EJQKIkFB RͩҠf[=~XZf- +,u NyYQitإ li`'VDC{ |b/bhՒJ" 3dj|z[YIN-$s*rfUT HAo1t=Kv3"sUgBo}Eekxb4d({chl^p2xFhn}8&lg̼(޶vۏL@@jJ!_H|w=s̋9P/ 'C2w%*َ^zV{ؕe \o|yo_[Jo(<7K,pKc=?uKwMDС#TJxi maIT [g,˥R4 L +g؋Gt F3Be(ALP q:zRq + Vm;i\A,-ZŇ v[46h`϶huҢfG-toAm"|h"fإXWz'4yeO--\ u ;n2iMq{6[k +Y6pgP2Y)j8ɹ]`@XOb8  X2_Gsch?( `FW!~)?_C@l<^&% ;Fyq1AP-g> +endobj +7636 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.183 733.519 215.59 743.994] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7642 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [299.78 650.45 330.186 660.924] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7643 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 650.45 525.406 660.924] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +7644 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 219.367 113.215 228.137] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +7645 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.41 219.367 309.816 228.137] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7646 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 161.76 144.111 170.531] +/A << /S /GoTo /D (class_error_code_a589b20e6c22d3c24bf3969e75b2868f6) >> +>> +endobj +7647 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 132.392 275.358 142.867] +/A << /S /GoTo /D (class_error_code_ae5e576ba8cd8ba6c430789a3244587b9) >> +>> +endobj +7648 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 93.77 218.871 104.244] +/A << /S /GoTo /D (class_error_code_a2c2a6c12d1f2a7c7f02cecfdd6aa0db3) >> +>> +endobj +7653 0 obj +<< +/D [7651 0 R /XYZ 69.866 801.979 null] +>> +endobj +886 0 obj +<< +/D [7651 0 R /XYZ 70.866 771.024 null] +>> +endobj +7624 0 obj +<< +/D [7651 0 R /XYZ 334.006 641.378 null] +>> +endobj +890 0 obj +<< +/D [7651 0 R /XYZ 70.866 626.063 null] +>> +endobj +7614 0 obj +<< +/D [7651 0 R /XYZ 70.866 571.906 null] +>> +endobj +894 0 obj +<< +/D [7651 0 R /XYZ 70.866 556.774 null] +>> +endobj +7615 0 obj +<< +/D [7651 0 R /XYZ 70.866 512.6 null] +>> +endobj +898 0 obj +<< +/D [7651 0 R /XYZ 70.866 497.468 null] +>> +endobj +7622 0 obj +<< +/D [7651 0 R /XYZ 70.866 403.69 null] +>> +endobj +902 0 obj +<< +/D [7651 0 R /XYZ 70.866 388.559 null] +>> +endobj +7623 0 obj +<< +/D [7651 0 R /XYZ 70.866 344.389 null] +>> +endobj +906 0 obj +<< +/D [7651 0 R /XYZ 70.866 329.258 null] +>> +endobj +6751 0 obj +<< +/D [7651 0 R /XYZ 70.866 286.975 null] +>> +endobj +910 0 obj +<< +/D [7651 0 R /XYZ 70.866 270.671 null] +>> +endobj +7654 0 obj +<< +/D [7651 0 R /XYZ 70.866 199.746 null] +>> +endobj +7650 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7686 0 obj +<< +/Length 2393 +/Filter /FlateDecode +>> +stream +xZKsFWj p)^Y=89@ +0xDR~vOASR 03GO==a~>{|#0[#8 (q1s[7Qlk^\PӢLWvئEoן `)5Qah _/ls7'ö$6Uύ0Ɨټ{/%0(t,[oW zuɪiiEr$^1W/vX!Evqi[jwzOzN>c#vDHZnsǷ(bth5# UӣBJȹ,Dֵz5C9Mkf\+B?-L YsP8A P|ѮjE{㾖Cx9|߼9!}}Q޵22#zl6Ԫ?̜d(Mtk5p^R!Z.G!Q `1U- +CMSJk[q~dlꮒGY|^Cw赗 H]#6E&pcA e-Di$s4,s5%*X7A߶W0 RuZ=q:]/3wf|0eT n mֺNZ :nEA!Ym[3e\*Z ٽXbrkcٖEe?hR9f~xG#?\TGˠ[ O=_YY:bYHѾfkq iw,; t?Gep4\K>auS{c)3;eF4ǫh^9/WrsRŮ:P9f3$A6 +u*$tY&DP{qK^lDъ8T]XmTz{SW'nŪb$(i W. W{):ݑNDBY;Lc!YOP +ǚOA=v|;hQ)ѽt X N xڛ P#;&P#<i=(80+"}XdݕHHS{'T[] :YB$h6R:PΎ?BWX/='ɅW/ \ݝd,kL'0RXY[UcJFAٚ$v4.v4(IE> +endobj +7649 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 758.177 197.441 768.652] +/A << /S /GoTo /D (class_error_code_a20d30b808843239ec76b929ef2c316e5) >> +>> +endobj +7658 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 732.32 209.151 741.091] +/A << /S /GoTo /D (class_error_code_a77dd2b2f1f69b7f2883afb0266b04e5c) >> +>> +endobj +7659 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 704.759 214.71 713.324] +/A << /S /GoTo /D (class_error_code_a872edd00cf4eab84fab8fd69c2d90a74) >> +>> +endobj +7660 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.713 688.467 377.278 698.094] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7661 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 675.494 218.853 685.969] +/A << /S /GoTo /D (class_error_code_acf7dfe0e3482105d028c258b6bab0b17) >> +>> +endobj +7662 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 649.637 171.511 658.408] +/A << /S /GoTo /D (class_error_code_a7f823534f0d35beb53a78d6083a69d2d) >> +>> +endobj +7663 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 622.076 184.97 630.847] +/A << /S /GoTo /D (class_error_code_a1c4efacb70415130bd0dda612c9fd99e) >> +>> +endobj +7664 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 592.812 197.433 603.08] +/A << /S /GoTo /D (class_error_code_ac764d0c308a4249ab16939ef30cc00c8) >> +>> +endobj +7665 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 581.731 173.547 590.502] +/A << /S /GoTo /D (class_error_code_a10cbd27d35c99b76eee99f90247a0a0d) >> +>> +endobj +7666 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 554.17 183.114 562.735] +/A << /S /GoTo /D (class_error_code_a40e5e7b6bf6688df5c6de67e9922fd5b) >> +>> +endobj +7667 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 526.609 227.559 535.174] +/A << /S /GoTo /D (class_error_code_a84290da3689bc3ea86a19c488ede9d6f) >> +>> +endobj +7668 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 488.089 211.375 496.86] +/A << /S /GoTo /D (class_error_code_a0f2f47487dda3e4731fb00da4447df72) >> +>> +endobj +7669 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 460.528 201.414 469.299] +/A << /S /GoTo /D (class_error_code_ab693a622556ed2e6aa7095b2ec29fc41) >> +>> +endobj +7670 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.319 444.236 239.884 453.863] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7671 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 420.197 186.566 430.573] +/A << /S /GoTo /D (class_error_code_ab799ccd0f66a406266346f29c5c46538) >> +>> +endobj +7672 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [214.584 405.717 242.149 415.343] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7673 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 383.488 244.057 392.259] +/A << /S /GoTo /D (class_error_code_acb92a50685729588d3dfc4594b1e0595) >> +>> +endobj +7674 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 343.265 243.151 353.533] +/A << /S /GoTo /D (class_error_code_a294ef9a4f4abbfd3defd4c0db705ba61) >> +>> +endobj +7675 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 304.637 214.728 315.013] +/A << /S /GoTo /D (class_error_code_adb4ef5f067b08c6bdc7cb0a672c357f7) >> +>> +endobj +7676 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 266.117 195.926 276.493] +/A << /S /GoTo /D (class_error_code_abaf9c6de084558d58e8387e278837a00) >> +>> +endobj +7677 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 238.664 248.361 248.932] +/A << /S /GoTo /D (class_error_code_a7aefe6e82478c9a479b7e925e27130b7) >> +>> +endobj +7678 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 212.807 253.301 221.371] +/A << /S /GoTo /D (class_error_code_ac3ca1983dd44173e855b61f87961fbd9) >> +>> +endobj +7679 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 172.583 263.478 182.852] +/A << /S /GoTo /D (class_error_code_a60de7771513847052846f54e5debbaf9) >> +>> +endobj +7680 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 135.767 261.496 144.332] +/A << /S /GoTo /D (class_error_code_a511ab919439555b4edc36bf28d821e0b) >> +>> +endobj +7681 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 108.206 246.819 116.771] +/A << /S /GoTo /D (class_error_code_a2366ccf7d7ec923b52be91c277bc7405) >> +>> +endobj +7682 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 67.983 203.906 78.251] +/A << /S /GoTo /D (class_error_code_a1c7a999816947e7e4db6f0c9b3e444ad) >> +>> +endobj +7687 0 obj +<< +/D [7685 0 R /XYZ 69.866 801.979 null] +>> +endobj +7684 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7718 0 obj +<< +/Length 1708 +/Filter /FlateDecode +>> +stream +xXKs6WVrbRrdXhTdwX,ۑәDX~ 3V3.g-g/gDv5BfGA`cXf'3/˷p; +]NΞIYs'&Thj],gfD-ȎH٧/`l7 wm#JznjO6g7 ,cN-3넞n1o-M/y-1/Dd:SwMPŭ̘}^ͤ}N={8{Fh}\6;yE:+ҤPUrWTg"=˲tLK1̎Xa8CF{qPܭ]LRH\dSbe8pg< ;?4L8RI`x+R.zoIiq3vaLRd'W7Y՟̠~`, ?E|XO\%$~A +Ts$mbpobO/P=˦h[8Ox\kgȤ$\Dj (Г>ͫ0- 6h }%JiaN\AOPئB K'wARFe]):36wkÕI%zqO͟{[BqcIN`H+F9V"X;_%2~| 7~H@nd.uds9c<"<*ҶXuv!z tYc8fPSL(ٔ6 !x4?VҲR;{TH2Ev2;_NT7rsn'4 ҃^V P|tT>ʁO$0 Lu Yw@\VhWbsQrP˟在@PeW_ܭ12;P2w9R ^cMG>gK1TJVѬTX@A0W +BVKW )Z.gM] dCT] +hPP=8tgdwJx. &(xB~#<iL)Ԁ;A`* ܪuE=0H2(lC"g'Z !:pDU:Age<ZQEY/dzZ}0 LQ0W*2 m]ES2 %,܇u]đ4b8="JШ=HߕPoKTuOg`ߗC^*bů)jɾ[xџ4`pL{?"*]<&]NҡN!m#9ByO0CiPDUzW5 "񀫖|P%OkAmsAۈ,E2tˤ6B^Ifs 1ox:LGq}F +ǒP_umhEIwpZT|ݦOfRaVy] śl =Y<)2o$Gj."{<+F5)Io=e1O?#生l`#-rm i!t i;޻uiY͢NLOC5%_:cK^[%6Sٿ7v+"<:cy +endstream +endobj +7717 0 obj +<< +/Type /Page +/Contents 7718 0 R +/Resources 7716 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7688 0 R +/Annots [ 7683 0 R 7712 0 R 7713 0 R 7714 0 R 7715 0 R ] +>> +endobj +7683 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 732.703 221.614 743.177] +/A << /S /GoTo /D (class_error_code_a8126103517b94ed6ebd0c92c6a832e4a) >> +>> +endobj +7712 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 703.383 168.023 712.154] +/A << /S /GoTo /D (class_error_code_ae522215ae10edc565a60b7790637e262) >> +>> +endobj +7713 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.659 670.655 246.675 680.924] +/A << /S /GoTo /D (class_error_code_a28b15046c7f8086552e38ba805a241af) >> +>> +endobj +7714 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 591.918 113.215 600.689] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +7715 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.41 591.918 309.816 600.689] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7719 0 obj +<< +/D [7717 0 R /XYZ 69.866 801.979 null] +>> +endobj +914 0 obj +<< +/D [7717 0 R /XYZ 70.866 636.411 null] +>> +endobj +918 0 obj +<< +/D [7717 0 R /XYZ 70.866 573.992 null] +>> +endobj +7695 0 obj +<< +/D [7717 0 R /XYZ 70.866 546.655 null] +>> +endobj +922 0 obj +<< +/D [7717 0 R /XYZ 70.866 546.655 null] +>> +endobj +7703 0 obj +<< +/D [7717 0 R /XYZ 70.866 519.538 null] +>> +endobj +926 0 obj +<< +/D [7717 0 R /XYZ 70.866 519.538 null] +>> +endobj +7702 0 obj +<< +/D [7717 0 R /XYZ 70.866 464.425 null] +>> +endobj +930 0 obj +<< +/D [7717 0 R /XYZ 70.866 445.504 null] +>> +endobj +7720 0 obj +<< +/D [7717 0 R /XYZ 70.866 390.529 null] +>> +endobj +934 0 obj +<< +/D [7717 0 R /XYZ 70.866 371.608 null] +>> +endobj +7694 0 obj +<< +/D [7717 0 R /XYZ 70.866 328.696 null] +>> +endobj +938 0 obj +<< +/D [7717 0 R /XYZ 70.866 309.775 null] +>> +endobj +7699 0 obj +<< +/D [7717 0 R /XYZ 70.866 266.648 null] +>> +endobj +942 0 obj +<< +/D [7717 0 R /XYZ 70.866 247.727 null] +>> +endobj +7693 0 obj +<< +/D [7717 0 R /XYZ 70.866 192.86 null] +>> +endobj +946 0 obj +<< +/D [7717 0 R /XYZ 70.866 173.938 null] +>> +endobj +7692 0 obj +<< +/D [7717 0 R /XYZ 70.866 130.919 null] +>> +endobj +950 0 obj +<< +/D [7717 0 R /XYZ 70.866 111.998 null] +>> +endobj +7711 0 obj +<< +/D [7717 0 R /XYZ 70.866 68.871 null] +>> +endobj +7716 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7732 0 obj +<< +/Length 1992 +/Filter /FlateDecode +>> +stream +xڭv4=_7skReXnxZxpm%1u˶ь|IR -/,fFs16c]|Z\DIzjmD% +ctؼnu̺sIKWeڶ4kK8ldI{=;< .W?C ؎]vϿ;F{ xP;J◅wpl7)FމvW];q3KYT<`MXV[74xn5o7^2a1n`" .~sGkC'}lj _cvNZ4MV/e\ CopC$vix +F1XR#e۵o[ pwU^di'.},vheY&2@BIh(Cq+*cc#%l,yL9ON6UZ~Bbl,ř&$lԧz'mQm ;UzF%z`ZQ澹,>Zpy1eU8tiT Mw2\,75lA"hE]$K$svX|+ez^,* gAr^hxnɇVif ~N( vf3wLhT_cx)Dx +G3'E1 Ö@8'b$P #.D)huh~_r:0˶Ѿ7E՞u^w(Y +]G|ly7*>s)8>T0bc$ꄂOQ&#>USe8$(8NuC7aJ^[y" 2&Q 6"-g#|8W\t,T5HBzߵ3=,l 0_82,RZHL/a~ 8#ǧ}Q=<0q%%;,a˻J<0j2Cd 0+t,hzǸ))2ӕ}JW[E.m;๐5@z_$w{u?wTAh<+ED}Zxv{WÃ\[X(zx_ xyo;a.n//. +"IŪ="7w(v'@ W, `FsC 4i..+HQ^=(XáyԸpxt0ZF Ñ9yjsp1TXG޳58 E፯3e"[DhK=z[q@9:I;#O?R]J]$VNP',ŘGq_eEuRfLoHܐ+4|AN$+~Q9Zh^O[hUiVׂ%e0*~`V7| -I?ч` J[L5EpGBOT+*u W0wEVc ejH 8i +Vj懺Ӎ١u ^̒ҧ.sa˓Mw0QzsV/ Zze7xg^ +endstream +endobj +7731 0 obj +<< +/Type /Page +/Contents 7732 0 R +/Resources 7730 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7688 0 R +/Annots [ 7723 0 R 7724 0 R 7725 0 R 7726 0 R 7727 0 R 7734 0 R 7728 0 R 7729 0 R ] +>> +endobj +7723 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.385 599.286 367.791 609.761] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7724 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.601 284.729 216.007 295.203] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7725 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.628 255.041 234.035 265.624] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7726 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.986 243.194 343.392 253.669] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7727 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [443.939 243.194 525.406 253.669] +/Subtype/Link/A<> +>> +endobj +7734 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 231.592 227.28 241.49] +/Subtype/Link/A<> +>> +endobj +7728 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [299.78 213.614 330.186 224.089] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7729 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 213.614 525.406 224.089] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7733 0 obj +<< +/D [7731 0 R /XYZ 69.866 801.979 null] +>> +endobj +954 0 obj +<< +/D [7731 0 R /XYZ 70.866 771.024 null] +>> +endobj +7690 0 obj +<< +/D [7731 0 R /XYZ 70.866 722.004 null] +>> +endobj +958 0 obj +<< +/D [7731 0 R /XYZ 70.866 703.982 null] +>> +endobj +7691 0 obj +<< +/D [7731 0 R /XYZ 70.866 661.035 null] +>> +endobj +962 0 obj +<< +/D [7731 0 R /XYZ 70.866 643.014 null] +>> +endobj +7722 0 obj +<< +/D [7731 0 R /XYZ 70.866 600.282 null] +>> +endobj +966 0 obj +<< +/D [7731 0 R /XYZ 70.866 582.261 null] +>> +endobj +7689 0 obj +<< +/D [7731 0 R /XYZ 70.866 539.422 null] +>> +endobj +970 0 obj +<< +/D [7731 0 R /XYZ 70.866 521.4 null] +>> +endobj +7657 0 obj +<< +/D [7731 0 R /XYZ 194.483 421.289 null] +>> +endobj +974 0 obj +<< +/D [7731 0 R /XYZ 70.866 401.38 null] +>> +endobj +7701 0 obj +<< +/D [7731 0 R /XYZ 70.866 346.478 null] +>> +endobj +978 0 obj +<< +/D [7731 0 R /XYZ 70.866 328.456 null] +>> +endobj +7710 0 obj +<< +/D [7731 0 R /XYZ 334.006 204.543 null] +>> +endobj +982 0 obj +<< +/D [7731 0 R /XYZ 70.866 186.337 null] +>> +endobj +7709 0 obj +<< +/D [7731 0 R /XYZ 70.866 131.543 null] +>> +endobj +986 0 obj +<< +/D [7731 0 R /XYZ 70.866 113.521 null] +>> +endobj +7707 0 obj +<< +/D [7731 0 R /XYZ 70.866 68.979 null] +>> +endobj +7730 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7740 0 obj +<< +/Length 2191 +/Filter /FlateDecode +>> +stream +xڥYKs8Wr*b=88S{HĘ5|ۍnPlFEF Y:an<̛'I=8eIKsW8_$y eiꢒm;i^ZNvewnDAdyY9zO)Gyl ډЋ#TQ9&l1a x"΄n^{-57Tn,B_zR#Q*^Z]TC_aFsbkpĝˢǾb: }>X~Dn_jM( ]TKJѠ*qa8H [< bW]'j,hd+MJd'ҶV#U. SQXT&@ļ# +($a@!P.=/˽ȳ&nQk]wD#,bI{Hd048FPӠyd>M(9g@ǩ8.L)KǼO)J,$~8_ ͪhYC͢-e60U.v K{=xy\[0#7ߦm-cmCzI h74*z^^\UaB6?{0R@{g,Q%ȁ]f4X5 Fu }W"k k jh 5ŶetΘ @l.[+A$B^(y[vq>hA< W1dHGBY nd&{*[ckzS9.̶wZjT/iU{Uvh5g {)JEH"QP>YbDcQEB`d!xf +J`ۢXWtDзOr/0 §&'XUӘ҆vJVt)٪EGӣG[fc&"a=WUJ*PxV;0$ggU"^_TڑB^9C#8,嫵|v[a=\%򁨒 J#ekQC=.cX傦:/X=|j @^MX}Tpo:$ێP;uDr_!'BwYQV[$ŴW|zHc @ U)^nT^B r]o*=) F8UkB/;goCnv9A=ƁJՆYQ0U%؏AG_8.Ӟ-(e6n +st9VzORwcYk2/U buXݾ8kta½x3dMӓO_pD&OĎT%ls<\RAt=-ze];zcT@o>_R@hhp}[l3I,yVsŒ1G&*Ž=G19p,n*K벪 &5 ';D^6iꗥ,5̟z\3]]"r 11 8k&^ +N`MTkLKqQ)0 dvSѵRUŠ5/ xʴVU \?"~Id0kBOԺ~U׏V8a&y═Y9CBcQ4/V*ǐyd+Z$< 3J?Ob(?GA9p`D$|sAimMϻ,"E9T0/R Vp]ݕ8!˙Y^xZb9Ȑ1 +endstream +endobj +7739 0 obj +<< +/Type /Page +/Contents 7740 0 R +/Resources 7738 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7688 0 R +/Annots [ 7735 0 R 7736 0 R 7737 0 R ] +>> +endobj +7735 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.183 533.543 215.59 544.018] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7736 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [299.78 450.474 330.186 460.948] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7737 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 450.474 525.406 460.948] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7741 0 obj +<< +/D [7739 0 R /XYZ 69.866 801.979 null] +>> +endobj +990 0 obj +<< +/D [7739 0 R /XYZ 70.866 771.024 null] +>> +endobj +7706 0 obj +<< +/D [7739 0 R /XYZ 70.866 724.08 null] +>> +endobj +994 0 obj +<< +/D [7739 0 R /XYZ 70.866 707.919 null] +>> +endobj +7708 0 obj +<< +/D [7739 0 R /XYZ 70.866 663.749 null] +>> +endobj +998 0 obj +<< +/D [7739 0 R /XYZ 70.866 647.589 null] +>> +endobj +7700 0 obj +<< +/D [7739 0 R /XYZ 70.866 594.87 null] +>> +endobj +1002 0 obj +<< +/D [7739 0 R /XYZ 70.866 578.71 null] +>> +endobj +7698 0 obj +<< +/D [7739 0 R /XYZ 334.006 441.402 null] +>> +endobj +1006 0 obj +<< +/D [7739 0 R /XYZ 70.866 425.058 null] +>> +endobj +7655 0 obj +<< +/D [7739 0 R /XYZ 70.866 370.717 null] +>> +endobj +1010 0 obj +<< +/D [7739 0 R /XYZ 70.866 354.556 null] +>> +endobj +7656 0 obj +<< +/D [7739 0 R /XYZ 70.866 310.198 null] +>> +endobj +1014 0 obj +<< +/D [7739 0 R /XYZ 70.866 294.037 null] +>> +endobj +7705 0 obj +<< +/D [7739 0 R /XYZ 70.866 200.076 null] +>> +endobj +1018 0 obj +<< +/D [7739 0 R /XYZ 70.866 183.915 null] +>> +endobj +7704 0 obj +<< +/D [7739 0 R /XYZ 70.866 139.453 null] +>> +endobj +1022 0 obj +<< +/D [7739 0 R /XYZ 70.866 123.293 null] +>> +endobj +7696 0 obj +<< +/D [7739 0 R /XYZ 70.866 68.871 null] +>> +endobj +7738 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7762 0 obj +<< +/Length 1810 +/Filter /FlateDecode +>> +stream +xYKo8W9Fw]MEi㢇Yfbmd+SI~g8,9-ÞD97C9s^MFONI,gr$KI2ž39!ORZHu\WjEb3W4Bbu ы N&F>t2JS/S,F2gcY '`33Gć&CXOOƇ>c-jRORIӌȭR֏]\4Խi[U4Ozo)imON'sy'<94|mQJz+y6h +fA`CWʃ!6J\ m1\l(gwY ع4U1_W#qoJ5UF檬Ax悾ۘ-f.E.O +&vV}1V׏({>Ϫ+-VE>2ߏn!t@8Z>5pbG84I=`#ZYh)c(4bKeLv; P +mވ;A#9_R^ߍHͥa/Fg=l^Z2#|6ͫ\#˼$bYǀ]g@ʂ0|TSNQVf Aӏ$MRp$5y)lŝvZ+]B.['ڏa +=b >11څ_RyE/Ui/LNKI6%WS1(}i+%<09U`,W.*֨RF3u!K$rf$l!Kڿ1޷ z鎆H׆8xXJK@3pꖩAQ)ȽW9ho^`6Q,pGW/{r G\mxG5l ] iݚq5/mr )Kp_ޮȦ.T' 9};Ꭸk'ꄺM@]/Z-̵.ob/!%jJm#bm69mcJEW%䏇hw^TRnZ"g<[xEi脷~1 햦2>io%/TݼmSm6Q^s3roD]A:fQmf-\z塲ϢtA%ػ%B<"{"yd-5z_ެ3;^7sSVLrX΂;HUoG+@,E1w:zT AoKWѮ.b/}QV~,gt]qC(1'gHhĿ=w})Շ+6OO%l1<1};إ(,r ~u1 Iw3Q4wb/2?2)C 3Yb&0t#4lFxkk)˨ +p%uq] + x8UBQ͎b.X'CG;Q>嬨ncoB;Xjj"5e-7G2;xNFnq*WhyvB=[5_WW[l9?vVfJAWљ  +~sF򈟜lȬF^  !E+[d8X&_%d~B-?#۫*2ѽ,ŷBд;Ϣk//p\o +endstream +endobj +7761 0 obj +<< +/Type /Page +/Contents 7762 0 R +/Resources 7760 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7688 0 R +/Annots [ 7742 0 R 7743 0 R 7744 0 R 7745 0 R 7746 0 R 7747 0 R 7748 0 R 7749 0 R 7750 0 R 7751 0 R 7752 0 R 7753 0 R 7754 0 R 7755 0 R 7756 0 R 7757 0 R 7758 0 R ] +>> +endobj +7742 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.107 549.308 337.513 559.89] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7743 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 491.313 178.317 501.788] +/A << /S /GoTo /D (class_event_code_a1ec979abe73b626a2b17b1a2d5db06dd) >> +>> +endobj +7744 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 463.276 207.224 473.751] +/A << /S /GoTo /D (class_event_code_a9f7e3812d0fea07355c6f4468e3983f3) >> +>> +endobj +7745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 435.239 187.803 445.714] +/A << /S /GoTo /D (class_event_code_a7fe212e647bd96d83003bb053b243440) >> +>> +endobj +7746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 407.202 164.365 417.47] +/A << /S /GoTo /D (class_event_code_a59dfbd091af6bb7cdc69802c39ea414b) >> +>> +endobj +7747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 379.165 176.335 389.64] +/A << /S /GoTo /D (class_event_code_a7f4c65ba232d561a371baa95148b3ee3) >> +>> +endobj +7748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 351.128 184.539 361.603] +/A << /S /GoTo /D (class_event_code_a805b47e96977c416d2c7c34adaa75c2c) >> +>> +endobj +7749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 323.091 199.486 333.566] +/A << /S /GoTo /D (class_event_code_ac3ccf8aec263389580df5634f8788e3a) >> +>> +endobj +7750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 295.054 156.394 305.529] +/A << /S /GoTo /D (class_event_code_a2371306aa8691dbea0f3e05687f2a5d5) >> +>> +endobj +7751 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 256.059 163.971 266.533] +/A << /S /GoTo /D (class_event_code_a8764d71552a912c1db73d41c7e4fb01f) >> +>> +endobj +7752 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 227.914 217.553 238.496] +/A << /S /GoTo /D (class_event_code_a395440a821a6c6400b9df174fb366fa1) >> +>> +endobj +7753 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 189.026 194.626 199.5] +/A << /S /GoTo /D (class_event_code_a34917fc738d56feff082f993d13e52e6) >> +>> +endobj +7754 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 150.03 174.56 160.505] +/A << /S /GoTo /D (class_event_code_a7ce7fa1807af9b040e3066ef62a35e6c) >> +>> +endobj +7755 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 110.927 221.677 121.509] +/A << /S /GoTo /D (class_event_code_a0058917d1018cde229ae231366e60325) >> +>> +endobj +7756 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.473 96.111 187.038 105.835] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7757 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 82.997 180.827 93.266] +/A << /S /GoTo /D (class_event_code_a0ab9a45c50351f9fef9cf11ca9c50f10) >> +>> +endobj +7758 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.473 68.171 187.038 77.798] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7763 0 obj +<< +/D [7761 0 R /XYZ 69.866 801.979 null] +>> +endobj +1026 0 obj +<< +/D [7761 0 R /XYZ 70.866 771.024 null] +>> +endobj +7721 0 obj +<< +/D [7761 0 R /XYZ 70.866 734.482 null] +>> +endobj +1030 0 obj +<< +/D [7761 0 R /XYZ 70.866 719.075 null] +>> +endobj +7697 0 obj +<< +/D [7761 0 R /XYZ 70.866 676.651 null] +>> +endobj +1034 0 obj +<< +/D [7761 0 R /XYZ 70.866 661.244 null] +>> +endobj +7764 0 obj +<< +/D [7761 0 R /XYZ 70.866 619.036 null] +>> +endobj +1038 0 obj +<< +/D [7761 0 R /XYZ 70.866 602.457 null] +>> +endobj +7765 0 obj +<< +/D [7761 0 R /XYZ 70.866 531.223 null] +>> +endobj +7760 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7786 0 obj +<< +/Length 1597 +/Filter /FlateDecode +>> +stream +xڵX[o6~$L.%iРME1}e"D~o8N[ۋ!yoUXFo-IYqk%GMbӂ4sʼn}ƲvGKNxJa;;_a0EL7+>~F.-ib +B Da~!&rP8[qFCEdN\9!rt {0m::w:W~:Y'^;G6U%ceIA`/6)Zǒ4b&ٶJ5TWho.fGintF+R2ˍ+# +ñALg-kv[0 k4 ?\a$k@f_J^lȎ>팔_wiߵڰm ǽ^6£.IQ<8 UXv.6^yWon%"ңqr'(,_ <8U/)[CGnaFuPϋ&0 +V>.D`b-7QMcUyp b "m g҉'b4ڀAtT/[{n;~s}jM9ј{yEuzV M3g~?Y*5Nر1ME\N+&5;ݲC6EF?ʺ`"6$sb{Ko-c'~M= ҙmĦt >Zg3VQnH.?pbDZ>V&ӡHa+(yP􎫒$Ԗ+qI hS/D:E2wY[g UY)x;K#lݯd1 zXd2ɝGbtߗJ>H"Z(Ġ\rft>љ )mj,OJفR‰QSFT~pIgy}%O_ysS[rOrL)6a&(6D[X?biڵr/ *jv-Y-ABte~+/;"س7m' HEJ̢-~h* )Uv1<ҐO:kT IǒiaPOa:+8 +*q +ۇS +O?1Ľ{љ+cH\:RHь}"ypE@fy,5JrRrvsZkJ +qhY[*h[P|f`|;!hoHI4Ĭ|PɛaOtyN +U)rs@j"(*lat[-~F?{ 5^d8]i73rCG`5%np +OxONq%bd$wE.e EJ_a'l/S~*$㬾jKRy/W|m&&Gvѻִ_VTsj(~$K7Lj(J@ 'c* 2f_J(0XQ3-iMajzo" .6x=Vg Nf{evQrEpKk +endstream +endobj +7785 0 obj +<< +/Type /Page +/Contents 7786 0 R +/Resources 7784 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7688 0 R +/Annots [ 7759 0 R 7780 0 R 7781 0 R 7782 0 R 7783 0 R ] +>> +endobj +7759 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.107 732.757 337.513 743.339] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7780 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.007 565.034 156.413 575.509] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7781 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.007 442.026 156.413 452.608] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7782 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.612 333.372 157.018 343.954] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7783 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [202.856 321.524 284.729 331.999] +/A << /S /GoTo /D (class_parameter_code_ac3df3792ba12483dfc9b7b1e90fe5817) >> +>> +endobj +7787 0 obj +<< +/D [7785 0 R /XYZ 69.866 801.979 null] +>> +endobj +1042 0 obj +<< +/D [7785 0 R /XYZ 70.866 771.024 null] +>> +endobj +1046 0 obj +<< +/D [7785 0 R /XYZ 70.866 697.616 null] +>> +endobj +7770 0 obj +<< +/D [7785 0 R /XYZ 70.866 672.171 null] +>> +endobj +1050 0 obj +<< +/D [7785 0 R /XYZ 70.866 672.171 null] +>> +endobj +7779 0 obj +<< +/D [7785 0 R /XYZ 70.866 627.481 null] +>> +endobj +1054 0 obj +<< +/D [7785 0 R /XYZ 70.866 608.968 null] +>> +endobj +7772 0 obj +<< +/D [7785 0 R /XYZ 70.866 566.03 null] +>> +endobj +1058 0 obj +<< +/D [7785 0 R /XYZ 70.866 547.517 null] +>> +endobj +7778 0 obj +<< +/D [7785 0 R /XYZ 70.866 504.472 null] +>> +endobj +1062 0 obj +<< +/D [7785 0 R /XYZ 70.866 485.959 null] +>> +endobj +7777 0 obj +<< +/D [7785 0 R /XYZ 70.866 443.022 null] +>> +endobj +1066 0 obj +<< +/D [7785 0 R /XYZ 70.866 424.509 null] +>> +endobj +7766 0 obj +<< +/D [7785 0 R /XYZ 70.866 265.177 null] +>> +endobj +1070 0 obj +<< +/D [7785 0 R /XYZ 70.866 246.664 null] +>> +endobj +7767 0 obj +<< +/D [7785 0 R /XYZ 70.866 203.835 null] +>> +endobj +1074 0 obj +<< +/D [7785 0 R /XYZ 70.866 185.322 null] +>> +endobj +7773 0 obj +<< +/D [7785 0 R /XYZ 70.866 142.277 null] +>> +endobj +1078 0 obj +<< +/D [7785 0 R /XYZ 70.866 123.764 null] +>> +endobj +7774 0 obj +<< +/D [7785 0 R /XYZ 70.866 68.979 null] +>> +endobj +7784 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7806 0 obj +<< +/Length 1695 +/Filter /FlateDecode +>> +stream +xYKs6Wprf"[ulI8(ṖAXy4'-X~.u2}2xrVг&s+"NV4vZԺcÑ2T߇yRj-)Y ?N^X9A:RK8dp5H,,Nl5H^XƱu#G,?e>*˭ P㎷ŝ:x8{T! ۊkƫC' m )uo 2u_i |r[kND 3pFz6>qMتp=Y2չΓG[ +vJ\E,J,%,=!UxU\@lGyڡ?y 싽*7n 2.BhtRs"̌ɪe_V,~DMXz.tOϒj6e!mp uA8BV,uT4~ +LZO_|5 0+|W2F!R;=KQ +TxZ5ϒ$/mwP@C'#s)Agu9 +!Y0|Yq!,JmUlRI5eapWMt&lS' ݙ9$~Sz3MOr{]5)?\fy +Ye=⋌;_Oӥǜ访!D~JDUV +<)zdwM`Uq,:eeqzʔUsuw C"W!25VٻXYa^+dPN(yԶ\w[dIS` KODU's݄| *6#Ս|b.w^k$ɖx3$5D٣`UkL`<Ҥ`&2`V׳㧄 F׺)V-rا9τntda +endstream +endobj +7805 0 obj +<< +/Type /Page +/Contents 7806 0 R +/Resources 7804 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7810 0 R +/Annots [ 7789 0 R 7790 0 R 7791 0 R 7792 0 R 7793 0 R 7794 0 R 7795 0 R 7796 0 R 7797 0 R 7798 0 R 7799 0 R 7800 0 R ] +>> +endobj +7789 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.873 293.006 276.196 303.48] +/A << /S /GoTo /D (class_extensions_ac26ac025c1ad77aebc61385abb9a0aa0) >> +>> +endobj +7790 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 279.818 167.853 290.4] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +7791 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.445 279.818 283.898 290.4] +/A << /S /GoTo /D (class_extensions_abd9afd41c4e0ce06bc3b49c04bed4523) >> +>> +endobj +7792 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 266.738 167.853 277.32] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +7793 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.353 266.738 232.463 277.32] +/A << /S /GoTo /D (class_extensions_a32cd3eb67b60887a800ecbc88ed7f121) >> +>> +endobj +7794 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 253.658 194.438 264.24] +/A << /S /GoTo /D (class_extensions_a35fba37c30e813d78f40fbb4b88dca33) >> +>> +endobj +7795 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 225.506 194.438 236.088] +/A << /S /GoTo /D (class_extensions_a0d7e1279d0951869d76856a5ea84e7f3) >> +>> +endobj +7796 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 197.353 194.438 207.935] +/A << /S /GoTo /D (class_extensions_a7ce33f2b493f18ef1d30ffd06a249517) >> +>> +endobj +7797 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 169.201 194.438 179.783] +/A << /S /GoTo /D (class_extensions_a740813774fff222b8d4a4f23f2fa2326) >> +>> +endobj +7798 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 141.048 164.311 151.63] +/A << /S /GoTo /D (class_extensions_a6b5d90a1ed678d74548f4ce759b47043) >> +>> +endobj +7799 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 112.895 207.26 123.478] +/A << /S /GoTo /D (class_extensions_ac37ceea048b52ed7df7dc2dc3ea49c04) >> +>> +endobj +7800 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 84.743 192.124 95.325] +/A << /S /GoTo /D (class_extensions_a646282c077a078cdaeab9184809c2e76) >> +>> +endobj +7807 0 obj +<< +/D [7805 0 R /XYZ 69.866 801.979 null] +>> +endobj +1082 0 obj +<< +/D [7805 0 R /XYZ 70.866 771.024 null] +>> +endobj +7771 0 obj +<< +/D [7805 0 R /XYZ 70.866 734.347 null] +>> +endobj +1086 0 obj +<< +/D [7805 0 R /XYZ 70.866 718.804 null] +>> +endobj +7769 0 obj +<< +/D [7805 0 R /XYZ 70.866 676.461 null] +>> +endobj +1090 0 obj +<< +/D [7805 0 R /XYZ 70.866 660.918 null] +>> +endobj +7775 0 obj +<< +/D [7805 0 R /XYZ 70.866 618.575 null] +>> +endobj +1094 0 obj +<< +/D [7805 0 R /XYZ 70.866 603.032 null] +>> +endobj +7768 0 obj +<< +/D [7805 0 R /XYZ 70.866 548.733 null] +>> +endobj +1098 0 obj +<< +/D [7805 0 R /XYZ 70.866 533.19 null] +>> +endobj +7776 0 obj +<< +/D [7805 0 R /XYZ 70.866 490.847 null] +>> +endobj +1102 0 obj +<< +/D [7805 0 R /XYZ 70.866 475.304 null] +>> +endobj +7808 0 obj +<< +/D [7805 0 R /XYZ 70.866 421.005 null] +>> +endobj +1106 0 obj +<< +/D [7805 0 R /XYZ 70.866 404.29 null] +>> +endobj +7809 0 obj +<< +/D [7805 0 R /XYZ 70.866 333 null] +>> +endobj +7804 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7827 0 obj +<< +/Length 1909 +/Filter /FlateDecode +>> +stream +xYKs6W7r&B LۙԎӤi@KĚ"lŋ")Y$}`GLKPǡ78FI{<(&tӗ^E4?fJ2yUGϦG D& JhVG؛÷FaxȕH-Qxoa&=ubztN2OF)83*7&yCªNB_)mQWP?`2f.3yh_wLf0 fǧ+,pr9JMCoB"FܯX[ *AMa..к],2W: +&anfz>,YLogѤE); 5Kbd[[wvxDJMs7/Nbz7ְV<+iRY΅}4țcV~˥ءEo!">=a=pЪYkp`V|78k&~ k7cY^[rIrFe@bR  b6 aٲ6 J$@݆jksU3 h:꘍0&5BƯeV.cR1?|XWb?!g9?ü"z!OE=^ڭz5>k Fmrn$kfh#;F"ʔGi 4x) D(ah֙&Y{ppJY痊['1 ׸8ǧ RL ~4#kæȍxs^iOq**($Qy5!f["t| [긵l{'ڑf6aPGFl8g8CDC9`r" ir!NB-hfuJ[ FP#'ڂ [yfkyFt1-UyjqY(3}ʱQW+ ҫAm1@JޘV3i{AfC!V* Y97Q?$`kgrjMJ.u05֙$۫ +YC$f&cg zZF>fEc>*+WNa(!%) +ؑT*`B &$n]1ucG.!E(GIOUH(sY-fyc!0ٴ 7= 9xAbo-28R -Tf +V b8VU~Tn'vްYƕlx B$f"oEDmH'"F81iO&ݛ6^vBS><#]_zD.&T#uuUA4cmv]Hqe2PWB#Pr س%oLw-KB&;Qk뾋0++Lч vu@Tfȥ2SF D@`-Q]fƈr >Dx #Q[=^ɡ.1 R%ʠ +ń'B &nnl\?ڢZ>zuwUBnl .Ǟ[ +endstream +endobj +7826 0 obj +<< +/Type /Page +/Contents 7827 0 R +/Resources 7825 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7810 0 R +/Annots [ 7801 0 R 7802 0 R 7803 0 R 7821 0 R 7822 0 R 7823 0 R 7824 0 R ] +>> +endobj +7801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 758.07 192.124 768.652] +/A << /S /GoTo /D (class_extensions_a1b7b71e82ac4afff238c3cf8cc5e54b0) >> +>> +endobj +7802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 730.174 160.375 740.757] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +7803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.875 730.174 233.773 740.757] +/A << /S /GoTo /D (class_extensions_a59cc48f36f7bf9a0ae0f8efefff91a74) >> +>> +endobj +7821 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 702.279 237.018 712.861] +/A << /S /GoTo /D (class_extensions_a733a7e102e781cf0879e96d535bbd2d8) >> +>> +endobj +7822 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [356.288 687.534 383.853 697.258] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7823 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 663.425 175.008 674.007] +/A << /S /GoTo /D (class_extensions_ac89906aaca1f1603398873874d981417) >> +>> +endobj +7824 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.194 578.802 258.93 589.276] +/A << /S /GoTo /D (class_extensions_a7d1d7b0427c24c20a65ea55d51faecd5) >> +>> +endobj +7828 0 obj +<< +/D [7826 0 R /XYZ 69.866 801.979 null] +>> +endobj +7829 0 obj +<< +/D [7826 0 R /XYZ 70.866 630.562 null] +>> +endobj +1110 0 obj +<< +/D [7826 0 R /XYZ 70.866 564.558 null] +>> +endobj +1114 0 obj +<< +/D [7826 0 R /XYZ 70.866 504.934 null] +>> +endobj +7814 0 obj +<< +/D [7826 0 R /XYZ 70.866 480.144 null] +>> +endobj +1118 0 obj +<< +/D [7826 0 R /XYZ 70.866 480.144 null] +>> +endobj +7815 0 obj +<< +/D [7826 0 R /XYZ 70.866 424.045 null] +>> +endobj +1122 0 obj +<< +/D [7826 0 R /XYZ 70.866 408.805 null] +>> +endobj +7816 0 obj +<< +/D [7826 0 R /XYZ 70.866 354.567 null] +>> +endobj +1126 0 obj +<< +/D [7826 0 R /XYZ 70.866 339.327 null] +>> +endobj +7817 0 obj +<< +/D [7826 0 R /XYZ 70.866 297.044 null] +>> +endobj +1130 0 obj +<< +/D [7826 0 R /XYZ 70.866 281.803 null] +>> +endobj +7830 0 obj +<< +/D [7826 0 R /XYZ 70.866 239.628 null] +>> +endobj +1134 0 obj +<< +/D [7826 0 R /XYZ 70.866 224.388 null] +>> +endobj +7825 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F73 4864 0 R /F82 6068 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7838 0 obj +<< +/Length 1931 +/Filter /FlateDecode +>> +stream +xڽZK6W>gȮSSәNd^PfƩ + vUٔ)#[w0fGOG3B,>FJ )$C TJEvP:/=oG|*S +)ʃ RCUR\\0n-_Gs/K(,(㭬 A$"Gdjb!:wIXC6yُq.UF!tN'7,ui +(rw/)gB}km0K;$h#\fM@%H~զ7AiϽDPT'D!̅ØPB7.%ٳKKn&n?=MNŞ gH15X1UReO 1aR&K]clL)XNYtisupmOa5w?j^pP=-t,"ApYz]@RY/2rhz(2!L)q?GkbDEUeڸ2@~;x`lgC>r(2"Ct) +41\6:gf` l! z@o?<[q@M5'r EExB}8PgO + 6ErV0vnva?~#b|3F&{|O{C.76ocI +Kp(Y'!:ݣ1$8A=.dn~&lh׬t2\×Ĭmy%=^,&0b.qZw +ڑQ9s~> +endobj +7835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.037 303.88 370.444 314.462] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7839 0 obj +<< +/D [7837 0 R /XYZ 69.866 801.979 null] +>> +endobj +7811 0 obj +<< +/D [7837 0 R /XYZ 70.866 694.898 null] +>> +endobj +1138 0 obj +<< +/D [7837 0 R /XYZ 70.866 677.209 null] +>> +endobj +7813 0 obj +<< +/D [7837 0 R /XYZ 70.866 652.199 null] +>> +endobj +1142 0 obj +<< +/D [7837 0 R /XYZ 70.866 652.199 null] +>> +endobj +7812 0 obj +<< +/D [7837 0 R /XYZ 70.866 626.912 null] +>> +endobj +1146 0 obj +<< +/D [7837 0 R /XYZ 70.866 626.912 null] +>> +endobj +7818 0 obj +<< +/D [7837 0 R /XYZ 70.866 601.764 null] +>> +endobj +1150 0 obj +<< +/D [7837 0 R /XYZ 70.866 601.764 null] +>> +endobj +7819 0 obj +<< +/D [7837 0 R /XYZ 70.866 503.203 null] +>> +endobj +1154 0 obj +<< +/D [7837 0 R /XYZ 70.866 485.513 null] +>> +endobj +7833 0 obj +<< +/D [7837 0 R /XYZ 70.866 367.333 null] +>> +endobj +1158 0 obj +<< +/D [7837 0 R /XYZ 70.866 349.644 null] +>> +endobj +7832 0 obj +<< +/D [7837 0 R /XYZ 70.866 249.487 null] +>> +endobj +1162 0 obj +<< +/D [7837 0 R /XYZ 70.866 231.797 null] +>> +endobj +7820 0 obj +<< +/D [7837 0 R /XYZ 70.866 70.866 null] +>> +endobj +7836 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7847 0 obj +<< +/Length 1466 +/Filter /FlateDecode +>> +stream +xXKs6WVr/fΤM83yVNKl)%:]MZ>'B$a `P@D8#%D  f44:}bA1kuMTrI, 8 I,Xl&g8X·Fqv&`Fq3;B RpibWmt.v| K=( *oXqe.bleE.ՅfŵnZ 0XjklgQ6v" j)H=mU8=z z1)D6V8V +S/eaZt?!a=8|#_1gdta M\ܙh$#J"򊇞NcD&ܜ-z?)7/&Qz (=DB%+ng|b)4fBxZKhc +䐑28*=0{5dԭ`;G`,0N$/) 3,&.w^li/is)&Ӭ~t#H4"i_"YVQ[S +@D:NPP[}cjG;fp+j_W\(ȷD?cGB\ʶC߆uc3Ia`oc%Z +^9:A_̓ݝA TQ0%B0${s/4 c5Flo9#1EI[]$%}%L] , FACmFޛzkfOW\iu]u+!peyTއGAmZ{lQqVI}D&?QjK[ 4 Uv(hhKCW *kFEvr$SwuXKN 6ں>&#B^&rF/g_eM~-]>N?[ܕx~2$uq38vk= +endstream +endobj +7846 0 obj +<< +/Type /Page +/Contents 7847 0 R +/Resources 7845 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7810 0 R +/Annots [ 7840 0 R 7841 0 R 7842 0 R 7843 0 R 7844 0 R ] +>> +endobj +7840 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 242.324 188.914 252.906] +/A << /S /GoTo /D (class_friend_info_a33b6ef199b025fda1898b8063f43b713) >> +>> +endobj +7841 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 177.26 145.231 187.636] +/A << /S /GoTo /D (class_friend_info_a9126b3a854a21d428ad1af0eda981bfd) >> +>> +endobj +7842 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 162.878 149.096 172.999] +/A << /S /GoTo /D (class_friend_info_a62a8cc42bf1e25a3f8d2fdf7adbedeb3) >> +>> +endobj +7843 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 147.575 145.231 157.95] +/A << /S /GoTo /D (class_friend_info_a40b0b66eced3c5d88c29f6a7409d1315) >> +>> +endobj +7844 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 133.193 154.574 143.108] +/A << /S /GoTo /D (class_friend_info_abe22fa87b796bce51e9250c46464e057) >> +>> +endobj +7848 0 obj +<< +/D [7846 0 R /XYZ 69.866 801.979 null] +>> +endobj +1166 0 obj +<< +/D [7846 0 R /XYZ 70.866 771.024 null] +>> +endobj +7831 0 obj +<< +/D [7846 0 R /XYZ 70.866 614.802 null] +>> +endobj +1170 0 obj +<< +/D [7846 0 R /XYZ 70.866 595.111 null] +>> +endobj +1174 0 obj +<< +/D [7846 0 R /XYZ 70.866 426.331 null] +>> +endobj +7834 0 obj +<< +/D [7846 0 R /XYZ 70.866 400.651 null] +>> +endobj +1178 0 obj +<< +/D [7846 0 R /XYZ 70.866 400.651 null] +>> +endobj +7849 0 obj +<< +/D [7846 0 R /XYZ 70.866 361.425 null] +>> +endobj +1182 0 obj +<< +/D [7846 0 R /XYZ 70.866 361.425 null] +>> +endobj +7850 0 obj +<< +/D [7846 0 R /XYZ 70.866 285.019 null] +>> +endobj +7851 0 obj +<< +/D [7846 0 R /XYZ 70.866 219.955 null] +>> +endobj +1186 0 obj +<< +/D [7846 0 R /XYZ 70.866 114.497 null] +>> +endobj +7845 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7866 0 obj +<< +/Length 1461 +/Filter /FlateDecode +>> +stream +xXMs8WP9AZHI63;I6%caEo[' 7w4c4=L"/Ec7RƼ$o4.$$?Crіh͓Us~󆋂,~ףOG4{x(RAyQ8 +.u#[u =Qg̍p`/|6 xISp. + !A]g\\O)jK7bqCĚyӔn̴):Д\LōZUQr,1<唃W. ]\Ku]z)Ct;R; )ܫ/\^?ߟafZElqTT}nEWkit귞}" .(b֋y-vZG[Tl٫cS7qӱhHNy{Yl +0Ĉ%ZO.M:uZOB濘UeZ([q}c<5S3.o뉥xyK;ތJ;Q{vpP@=ݙvUq=1h‡%ȄׅJHbv6`U7#v5B &P"(1sEiw9cjCdf +^|}GF-uI <,!X=fY"9@,~r`4 >[Ld9_o|<5ƨL@?+0V[MꔅpXmє_:3P✁Z!GxH%@|[+V8cHJ͡*O|.x?B[zFQ/tچ4KPBS9ydB$@/Qh#^UnՓB Z8qA=3wX +MqyXlyvJ 8Qn  mQ-oyza@z\ՠ՜F/V1jƒП%bnj89NPb*[+Ig\#$8rQʾc\q J%qV 4mL|@j +޷5`,o5k +c*wxNGUi]>f~0(J2Ω8n)RzNTB +Yޘ͂9}虻l" e||K1$ ^_)(Vx7.ݯ*CZYmm[ᚯgCpL\\ȭ7BK~7QhOF:$]T_Q ?q фEo(F>97_o 1+\S^q=aq%u>H.:Xԏ?7ɣ=Њul5\ +endstream +endobj +7865 0 obj +<< +/Type /Page +/Contents 7866 0 R +/Resources 7864 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7810 0 R +/Annots [ 7857 0 R 7858 0 R 7859 0 R 7860 0 R 7861 0 R 7862 0 R ] +>> +endobj +7857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 491.55 178.272 502.132] +/A << /S /GoTo /D (class_game_object_extensions_a2452ee61f765d9c4fbc27bf409666392) >> +>> +endobj +7858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.905 222.951 462.312 233.533] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 165.528 186.333 175.796] +/A << /S /GoTo /D (class_game_property_key_ade2fa0e08b62cc99f3a18b2baaa095c5) >> +>> +endobj +7860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 137.942 173.152 148.211] +/A << /S /GoTo /D (class_game_property_key_aa8d61743bfc509faa8260341ca3e5cc2) >> +>> +endobj +7861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 110.357 168.857 120.832] +/A << /S /GoTo /D (class_game_property_key_aa4161fbfcb2e11e18a9a5e08096d5ac0) >> +>> +endobj +7862 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 82.772 188.834 93.246] +/A << /S /GoTo /D (class_game_property_key_ab502d2822a156527d8e8a1dcf8938848) >> +>> +endobj +7867 0 obj +<< +/D [7865 0 R /XYZ 69.866 801.979 null] +>> +endobj +1190 0 obj +<< +/D [7865 0 R /XYZ 70.866 771.024 null] +>> +endobj +7852 0 obj +<< +/D [7865 0 R /XYZ 70.866 753.893 null] +>> +endobj +1194 0 obj +<< +/D [7865 0 R /XYZ 70.866 753.893 null] +>> +endobj +1198 0 obj +<< +/D [7865 0 R /XYZ 70.866 727.374 null] +>> +endobj +7856 0 obj +<< +/D [7865 0 R /XYZ 70.866 700.49 null] +>> +endobj +1202 0 obj +<< +/D [7865 0 R /XYZ 70.866 700.49 null] +>> +endobj +7854 0 obj +<< +/D [7865 0 R /XYZ 70.866 676.525 null] +>> +endobj +1206 0 obj +<< +/D [7865 0 R /XYZ 70.866 676.525 null] +>> +endobj +7853 0 obj +<< +/D [7865 0 R /XYZ 70.866 651.867 null] +>> +endobj +1210 0 obj +<< +/D [7865 0 R /XYZ 70.866 651.867 null] +>> +endobj +7855 0 obj +<< +/D [7865 0 R /XYZ 70.866 626.748 null] +>> +endobj +1214 0 obj +<< +/D [7865 0 R /XYZ 70.866 626.748 null] +>> +endobj +7868 0 obj +<< +/D [7865 0 R /XYZ 70.866 602.089 null] +>> +endobj +1218 0 obj +<< +/D [7865 0 R /XYZ 70.866 602.089 null] +>> +endobj +7869 0 obj +<< +/D [7865 0 R /XYZ 70.866 531.308 null] +>> +endobj +1222 0 obj +<< +/D [7865 0 R /XYZ 70.866 462.959 null] +>> +endobj +1226 0 obj +<< +/D [7865 0 R /XYZ 70.866 403.401 null] +>> +endobj +7870 0 obj +<< +/D [7865 0 R /XYZ 70.866 378.503 null] +>> +endobj +1230 0 obj +<< +/D [7865 0 R /XYZ 70.866 378.503 null] +>> +endobj +7871 0 obj +<< +/D [7865 0 R /XYZ 70.866 283.146 null] +>> +endobj +1234 0 obj +<< +/D [7865 0 R /XYZ 70.866 276.067 null] +>> +endobj +7872 0 obj +<< +/D [7865 0 R /XYZ 70.866 205.179 null] +>> +endobj +7864 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7886 0 obj +<< +/Length 1692 +/Filter /FlateDecode +>> +stream +xYKs6Wp|"g* >2+'NJ{Hr%bC* ֿŇ$QN21@` , +y7^~Jc/ $鵗0K/I`o:>i|Y{ztR $31[/y%,DdG/GD%,H͖77 +jR\Y͐SKH^A۲hz\^b\5?.>`lhid-Ei,xŵ1fEz+P)b˂7F^BMwTonWu!_윷Td, +-3{ `ܟ. +DaճD19\E1[9l* 9 vrxQMT3KHcdX5)9:ՄcU>D8?ZIZq #+!8[ly%MCo3sK.[90G&ࠣ/ + +&Š! MsK|U4qWŠJo"vPp4C 8Q6Vo2X,y&Ȯ~j%uq9k݊$ALIsNSiٔ8c-K(m9_57R8_jgӴ(V%Sh$}HC5 +())m(Q @$ 1A qɊR +%ofuj{l$1"w*75ڏj iBYt_d\_EG1yyju9-K~wiG1TWt8+!V Z|$* +"G.h|0tq[fl׍/ +3D![B>߇%= +{#!#;8d`/"."{Iwy}%P="ED]mEFEZJ ."H[+ŦB d- xR +Òw-?`%ɑhyw Jn/Ay@!n|}zrl'꫐> +endobj +7863 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 758.177 177.958 768.446] +/A << /S /GoTo /D (class_game_property_key_a9cfd46c08dabfee0a0650e54c38dd41d) >> +>> +endobj +7877 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 731.037 218.925 741.305] +/A << /S /GoTo /D (class_game_property_key_a24becd835a58abe1cbd1267607526f94) >> +>> +endobj +7878 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [282.378 716.659 319.111 726.285] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +7879 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 692.937 235.145 703.411] +/A << /S /GoTo /D (class_game_property_key_a79f4c70a196de29329f4c190da9b389c) >> +>> +endobj +7880 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 665.796 197.746 676.27] +/A << /S /GoTo /D (class_game_property_key_afb02ab4aae7ce3f39f4cf0ee5bc9b9c0) >> +>> +endobj +7881 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 627.696 200.741 638.171] +/A << /S /GoTo /D (class_game_property_key_af08d8a2181d2b416c408403b1496ed52) >> +>> +endobj +7882 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.905 553.861 462.312 564.443] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7883 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.64 182.211 263.622 192.793] +/A << /S /GoTo /D (class_parameter_code_ad05db066ac86d9670539d1ec1cb9ef55) >> +>> +endobj +7887 0 obj +<< +/D [7885 0 R /XYZ 69.866 801.979 null] +>> +endobj +1238 0 obj +<< +/D [7885 0 R /XYZ 70.866 599.332 null] +>> +endobj +1242 0 obj +<< +/D [7885 0 R /XYZ 70.866 512.285 null] +>> +endobj +7888 0 obj +<< +/D [7885 0 R /XYZ 70.866 485.602 null] +>> +endobj +1246 0 obj +<< +/D [7885 0 R /XYZ 70.866 485.602 null] +>> +endobj +7889 0 obj +<< +/D [7885 0 R /XYZ 70.866 441.567 null] +>> +endobj +1250 0 obj +<< +/D [7885 0 R /XYZ 70.866 426.681 null] +>> +endobj +7875 0 obj +<< +/D [7885 0 R /XYZ 70.866 384.291 null] +>> +endobj +1254 0 obj +<< +/D [7885 0 R /XYZ 70.866 369.406 null] +>> +endobj +7874 0 obj +<< +/D [7885 0 R /XYZ 70.866 327.23 null] +>> +endobj +1258 0 obj +<< +/D [7885 0 R /XYZ 70.866 312.345 null] +>> +endobj +7890 0 obj +<< +/D [7885 0 R /XYZ 70.866 270.062 null] +>> +endobj +1262 0 obj +<< +/D [7885 0 R /XYZ 70.866 255.177 null] +>> +endobj +7873 0 obj +<< +/D [7885 0 R /XYZ 265.119 185.202 null] +>> +endobj +1266 0 obj +<< +/D [7885 0 R /XYZ 70.866 168.322 null] +>> +endobj +7876 0 obj +<< +/D [7885 0 R /XYZ 70.866 126.147 null] +>> +endobj +1270 0 obj +<< +/D [7885 0 R /XYZ 70.866 111.262 null] +>> +endobj +7891 0 obj +<< +/D [7885 0 R /XYZ 70.866 68.979 null] +>> +endobj +7884 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7907 0 obj +<< +/Length 1779 +/Filter /FlateDecode +>> +stream +xXKs6W!g"ߙc׉Ӻ%Aɒ`wmә^Z,~ps5e<]Ɓ4|g_^@!$ IxLWOԙJ4q Bυnǀ(!>`1B7L' Ӫl%;AohmSUVȕOo<\?O^ +7y+캼&ZVxHO7`RgP#HC ++``<3"RzKjjF +sJI֠GqWw;|V[f5cfWdx.>a =Fn׊ٶFdR/`"ĢKL|`! d9A 6x񩶤S#ڢ-">aAEN*d {6ca X69n1;QƘo2XJXt]&]Vǜ h?QwǮeRlﳭ`[~<ƅz\e (:J8w*I t|ts:8L#K'J0hLSxx[}/r*sN"'1phpav8X* uѠc2t^<0%h6>sB8qRsBi +8>ȸt1xbeC$,`vy8#>v!pzJ,:* ˲NC)ңDF!Hq@% ksK W +B\s,`! `;kOfXY9$ip\ԷpWQn?H9 R_jir ջɦ +SɛoAV2íĂ" +#vNˆ +NWgwȤJ>"+ u\ +fsi6<~wdɨWA`z8 &N]B,}̻2 []v^P=]O:@Oo;ٜRh4b6ɦC[,Dx7>gbRgoBYpD"/Y풁2ct4~i5/n3lER9j eR6tMq([$Hv?cUIΗ$U[8s}MMGsEYQpZPJ5\Suu⩂u@L} q4B Xj=(+!լ/ؚXY|PȆoY]klRufGܴZ&P +}l)QY=k +?ROw BŝXSQ@׈$g hnNa/iؿbK#2oafǙoBy'NIEE>N1֭z]>=M-;~If&ZSmncw: P_V,V(0m(ɩ1'4?0y F+0& J5"> +endobj +7894 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [259.009 733.463 299.601 743.937] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +7895 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 569.739 159.55 580.213] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_g_u_i_1_1_gizmo_type_drawer_a9a9c702995c512168fae27aefc07f666) >> +>> +endobj +7896 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.163 569.739 271.915 580.213] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65) >> +>> +endobj +7897 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [227.343 438.663 265.703 449.245] +/A << /S /GoTo /D (class_help_u_r_l) >> +>> +endobj +7898 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 362.748 133.136 373.33] +/A << /S /GoTo /D (class_help_u_r_l_a05ccd7cc690df9533724d2c7cc8419d8) >> +>> +endobj +7899 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [227.343 302.893 265.703 313.476] +/A << /S /GoTo /D (class_help_u_r_l) >> +>> +endobj +7900 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 285.73 597.89 295.628] +/Subtype/Link/A<> +>> +endobj +7901 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.773 166.363 180.702 176.838] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7902 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.341 154.408 179.188 164.883] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7903 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 96.01 168.848 106.592] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_ae4c3e779b7761f6a254231b9775fabcf) >> +>> +endobj +7904 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 67.983 181.76 78.457] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a601455f328ead10ff4b8be9a30698170) >> +>> +endobj +7908 0 obj +<< +/D [7906 0 R /XYZ 69.866 801.979 null] +>> +endobj +1274 0 obj +<< +/D [7906 0 R /XYZ 70.866 771.024 null] +>> +endobj +7892 0 obj +<< +/D [7906 0 R /XYZ 70.866 722.504 null] +>> +endobj +1278 0 obj +<< +/D [7906 0 R /XYZ 70.866 706.981 null] +>> +endobj +6909 0 obj +<< +/D [7906 0 R /XYZ 70.866 664.534 null] +>> +endobj +1282 0 obj +<< +/D [7906 0 R /XYZ 70.866 647.839 null] +>> +endobj +7909 0 obj +<< +/D [7906 0 R /XYZ 70.866 609.721 null] +>> +endobj +1286 0 obj +<< +/D [7906 0 R /XYZ 70.866 555.212 null] +>> +endobj +7910 0 obj +<< +/D [7906 0 R /XYZ 70.866 530.258 null] +>> +endobj +1290 0 obj +<< +/D [7906 0 R /XYZ 70.866 530.258 null] +>> +endobj +7911 0 obj +<< +/D [7906 0 R /XYZ 70.866 492.626 null] +>> +endobj +1294 0 obj +<< +/D [7906 0 R /XYZ 70.866 492.626 null] +>> +endobj +7912 0 obj +<< +/D [7906 0 R /XYZ 70.866 402.838 null] +>> +endobj +1298 0 obj +<< +/D [7906 0 R /XYZ 70.866 348.221 null] +>> +endobj +1302 0 obj +<< +/D [7906 0 R /XYZ 70.866 271.203 null] +>> +endobj +7913 0 obj +<< +/D [7906 0 R /XYZ 70.866 245.896 null] +>> +endobj +1306 0 obj +<< +/D [7906 0 R /XYZ 70.866 245.896 null] +>> +endobj +6984 0 obj +<< +/D [7906 0 R /XYZ 70.866 219.32 null] +>> +endobj +1310 0 obj +<< +/D [7906 0 R /XYZ 70.866 219.32 null] +>> +endobj +7914 0 obj +<< +/D [7906 0 R /XYZ 70.866 136.1 null] +>> +endobj +7905 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7933 0 obj +<< +/Length 2017 +/Filter /FlateDecode +>> +stream +xYI8CCG3 ݜ(^h林9ɲ].$coa쏛o"( C,8 (($G_ #ߩ6iUM4blE^uVRٷ3#8F1|{ /#ޭz<`(rw}6fl8L"i7 J8VbkEV͋<seuv" +aI SJM7% Eq}4p>>M Oh¼+.WfD,J8"/y}К(͗[m^LHNBAOuZ_Ju1MAȧ|qwZ^$q2_-8e&ll2z o2vP8KfR}ʉKQ_JWF,RrA|upY.6ҭ`}f}ڊ}B QVb/LI1+5V< +:1LN|=z4PUa7},UZ=Nwvf +\7@10]\_T ( 98 Z _̿939>׃yQmp56AĔv幕B1p{dy%%Z"ʎ%^uҳ2Yf*̪&aA#ǃ7>asb2nB QOR4}^>P;_S9Yʩ^^T/v +c y1*;hV1l+6xjx|ɪZ@S^Ra U6 +P%p ahB#J QFP9(4@8`f3鄡iR9 8+P$elaXj +C+)lE.]Xf˽~vS15P> APF0//}Ew=Kf rs0prcs5rǻWrf9mfuيW/˶C.f7P3E6̖3k!0"jB<,T)ͧ@_BG'^1-k;uc<.*v?#msz0V͐GK7 PSi:~ʨ OnLCPZ1F郻2Z??<(9"#3JB9ylJ((K_x3W.07hpƧU/ &1ę۬'%NzBF ɝ܀>oɶؔ@튛׶9i Pm{yN[o֛=읏za&n@DUiblpcD 4=?CDC tNri +k$vʄhbDzD "!v=Z߉V}mf]ۛhw _ +endstream +endobj +7932 0 obj +<< +/Type /Page +/Contents 7933 0 R +/Resources 7931 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7915 0 R +/Annots [ 7917 0 R 7918 0 R 7919 0 R 7920 0 R 7921 0 R 7922 0 R 7923 0 R 7924 0 R 7925 0 R 7926 0 R 7927 0 R 7928 0 R 7929 0 R 7930 0 R ] +>> +endobj +7917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 744.388 170.803 754.863] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_af843b2308e71621bedf3d8ee060eb1cc) >> +>> +endobj +7918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 730.328 131.568 738.421] +/A << /S /GoTo /D (namespace_exit_games_1_1_client) >> +>> +endobj +7919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 714.709 198.715 725.291] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_aafb9a56eee22abe2c728d643629e8c28) >> +>> +endobj +7920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [202.2 714.709 244.066 725.291] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19) >> +>> +endobj +7921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.097 699.127 164.758 708.85] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 685.138 182.755 695.72] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a84ca1d0eee402e737803930a6ee6ec73) >> +>> +endobj +7923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 633.649 191.631 644.231] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a40b8c46d27d74b519f0fa34abd6fb81a) >> +>> +endobj +7924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 604.077 172.426 614.66] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a4dae08c2527025369671d13d8d67853e) >> +>> +endobj +7925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 574.506 182.387 585.088] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a9e1b1dd69f646b62d2958f9c49db2630) >> +>> +endobj +7926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 544.935 181.769 555.517] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_aa2165bd3e01be72b48d2cd1f7b7a94e9) >> +>> +endobj +7927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.773 467.379 180.702 477.853] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +7928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.341 455.423 179.188 465.898] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [87.811 250.708 131.658 261.29] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +7930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 147.2 94.78 155.971] +/A << /S /GoTo /D (namespace_exit_games_1_1_client) >> +>> +endobj +7934 0 obj +<< +/D [7932 0 R /XYZ 69.866 801.979 null] +>> +endobj +1314 0 obj +<< +/D [7932 0 R /XYZ 70.866 513.136 null] +>> +endobj +1318 0 obj +<< +/D [7932 0 R /XYZ 70.866 439.207 null] +>> +endobj +7421 0 obj +<< +/D [7932 0 R /XYZ 70.866 413.915 null] +>> +endobj +1322 0 obj +<< +/D [7932 0 R /XYZ 70.866 413.915 null] +>> +endobj +7935 0 obj +<< +/D [7932 0 R /XYZ 70.866 313.589 null] +>> +endobj +1326 0 obj +<< +/D [7932 0 R /XYZ 70.866 296.376 null] +>> +endobj +7936 0 obj +<< +/D [7932 0 R /XYZ 70.866 208.27 null] +>> +endobj +1330 0 obj +<< +/D [7932 0 R /XYZ 70.866 191.057 null] +>> +endobj +7916 0 obj +<< +/D [7932 0 R /XYZ 510.416 130.756 null] +>> +endobj +1334 0 obj +<< +/D [7932 0 R /XYZ 70.866 111.548 null] +>> +endobj +7937 0 obj +<< +/D [7932 0 R /XYZ 70.866 68.979 null] +>> +endobj +7931 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7943 0 obj +<< +/Length 2521 +/Filter /FlateDecode +>> +stream +xڽZw6%{5sfm=9es+H53A"$[Ҧ>`tv7WzF!V)>Y4%F9Qlv} :&{[<-yʺ##oWve]nwuWnVŢ_՜Ѭܔ561n̴Ǜ?Fgl0br1[<\}LgK%ܚa&$'Rp(gsEQK,'L'&lIN$XF)"k%.XC]-˶-:_lߨkaUv5x1ș%\J3okw_u~~hjR +0ʋs}N Q2g2kS¯RH3fX0 jn[.J,AŃ[d[ #`%ޗobTcgD)o7Js\rlV<>bd2_kB]s}}wAj!T*1puYbua`yEnLI5RmUKj@%Xqqr֭Әu݇ itM;h^i/tm]|@{R'HS4€0I8ԛ #!h[HC>tneH .%M SAy`r4('O7?mb"(aӘO)T©>lӝF)}3gi4VeaCˋk9cl|zlKkQ,u(BkiY@nWP&q.<_6E"ew4,CLבkecST$ <ω<}-e3U7k=baXNj :=sVos,1bfʞ_m?noŦuמ\,U*/y.%C)7fb{lMSjfIhX+I20&?dU༄ݶ|Ğy)rr<զc[X] o5hzdu[zwiHGa;bOFǰoBe{cPPcWڸͿzGS%Amr zd@tG 8< ȲQ̂d{Yi'"4Zwy`u|0ƞ;cG;Sw^J*n% q@\eJm@0@+6FHNk>$,qV 0`'; D"dH(Y A2G ?үu8Ҝeh]4)c3Z<`t&B3b+S2ڗCfԯnq]¶NmȈhOf%"3P t:3LWB a 4Nk#BcB%G><79s⷟!ߞ$6l[)B#4kqـf V#AO*kL;|ɵ xSn~3ԥJ.Wr)Ӿ+f_QF;ޡWu}}_v_|5µbC?>^W +endstream +endobj +7942 0 obj +<< +/Type /Page +/Contents 7943 0 R +/Resources 7941 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7915 0 R +>> +endobj +7944 0 obj +<< +/D [7942 0 R /XYZ 69.866 801.979 null] +>> +endobj +1338 0 obj +<< +/D [7942 0 R /XYZ 70.866 771.024 null] +>> +endobj +7938 0 obj +<< +/D [7942 0 R /XYZ 70.866 630.392 null] +>> +endobj +1342 0 obj +<< +/D [7942 0 R /XYZ 70.866 615.111 null] +>> +endobj +7940 0 obj +<< +/D [7942 0 R /XYZ 70.866 478.773 null] +>> +endobj +1346 0 obj +<< +/D [7942 0 R /XYZ 70.866 463.492 null] +>> +endobj +7939 0 obj +<< +/D [7942 0 R /XYZ 70.866 314.8 null] +>> +endobj +1350 0 obj +<< +/D [7942 0 R /XYZ 70.866 299.519 null] +>> +endobj +7412 0 obj +<< +/D [7942 0 R /XYZ 70.866 158.018 null] +>> +endobj +1354 0 obj +<< +/D [7942 0 R /XYZ 70.866 142.737 null] +>> +endobj +7941 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7947 0 obj +<< +/Length 353 +/Filter /FlateDecode +>> +stream +xڕ;o w>)=)CժeplXq|Bt:~@`>G<3bk ƀgf +&_B(<.чC1 MEؕS+XML-z'i)Qe-8pT1N3 2LxǢ) V"IpNԵq}֞JɃ۰Q|xf+#}P(Mf+]( +_X%1KFbA8K HPL9ӕR d_rvy`rJ ig(sPnOi6'ԡ #)ZuߍJ5"Ǔ-h5EfY4 za +endstream +endobj +7946 0 obj +<< +/Type /Page +/Contents 7947 0 R +/Resources 7945 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7915 0 R +>> +endobj +7948 0 obj +<< +/D [7946 0 R /XYZ 69.866 801.979 null] +>> +endobj +7945 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +7995 0 obj +<< +/Length 2156 +/Filter /FlateDecode +>> +stream +xZKs6WH,{K&L@ņ"\bIqG ,Y^~9*Iг/9qZQеs;Ϗx'Mu2_]H3Ab2[Ԣ.1d_3fۭN}+[>}aVXغV#זxN{.3gf7nBMvsiH=w]Q)G% |Ǎ ZN|0r0uPqY%0YpOJJm~|ߵt9!KkD:{̾!kekVZkTKY]"lMm7ȝۛ 8ww~=b8u]$&]o.cl`%e|hl12ا:}nH뜯 +.B͇9UiDNTv.>3ƫ-dEwjDYR#;\ɼ_||Z;W-]+Lhzej@Qz2ۙEAd/jd%/oܷfw*ZT!XS[o@zzGT+#U'՚7ZHRsЎ@Jo`z!q5̉$@zZf EFtx'Keb~2j&NG@gBS<ؑ(Bۜ,[PKp|Žb5wm83  YM0PX'@h*+Qa`Cs mZRoFu$-M9T4+3K⛬7xSn aUg<"vJ|LYT"+Hobڨ\Bm}TdNy1jg=: yoPn7 Ax`aKa!3A4&D)}|-VZyd~ԑ][qўJb4~@1j tʢsm%"`gв65vR"\Y*uAzv 6ST9з.L™m꺻/+FQ$@ʿB4r'X'[xYt6J}'S ()B>$M 0 /ou-cèԮ"H&롼ic^J6CCөĐ? ?`B L?Ȫ(;!Є~H[ao>Ԩ +=Ibmt ,Gص:9)j$>Ip*2QЪ +oaҏj R~ޯ>8(h⎿ss"JJ1'nu#Ůo}T']mGC L ЄiVѹtLw,|$jQBdZcxyoo PAs|g$@wȁz>4<B~oE^J۔܄y%"'\g7vGuq֫2C5k7_> +endobj +7949 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.166 633.335 208.202 643.604] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +7950 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 575.461 208.605 585.936] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa9014980a1dc2d9befc6129668c890a2) >> +>> +endobj +7951 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [429.372 560.598 493.017 570.321] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +7952 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [504.905 560.598 525.406 570.321] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +7998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 549.736 188.451 559.362] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +7953 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 536.584 166.311 547.059] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac6d7fe9f1dfe9aec1562c262a90f7d5b) >> +>> +endobj +7954 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 508.667 214.137 519.141] +/A << /S /GoTo /D (interface_i_pun_callbacks_abee2c86784a9a700b9f5b4073bd00be7) >> +>> +endobj +7955 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.622 508.667 272.991 519.141] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +7956 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 480.641 230.643 491.223] +/A << /S /GoTo /D (interface_i_pun_callbacks_a523ce991e9a0dcde1b57b13e4e3db38c) >> +>> +endobj +7957 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [162.322 465.886 215.427 475.609] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) >> +>> +endobj +7958 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.789 465.886 380.998 475.609] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +7959 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 452.723 220.18 463.306] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad56f84b6647d2e61d273db297deb08b1) >> +>> +endobj +7960 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [162.322 437.968 206.01 447.691] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da5988ddff3f148ce684fbbdb8f68896c1) >> +>> +endobj +7961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.372 437.968 371.581 447.691] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +7962 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 424.913 183.248 435.388] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5d06d8035078d422f08b0c72c97ab136) >> +>> +endobj +7963 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [302.344 410.147 365.771 419.773] +/A << /S /GoTo /D (interface_i_pun_callbacks_a113daf6c35e118aff8daa5537d8c1c6c) >> +>> +endobj +7964 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 396.996 178.012 407.47] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +7965 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [411.504 382.132 523.162 391.856] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +7966 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 369.078 166.553 379.552] +/A << /S /GoTo /D (interface_i_pun_callbacks_a74de405ce9dff20613c31ce891090f49) >> +>> +endobj +7967 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 341.16 231.989 351.635] +/A << /S /GoTo /D (interface_i_pun_callbacks_a12268b49cbab2203f8b664c7bef4655a) >> +>> +endobj +7968 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.474 341.16 307.726 351.635] +/A << /S /GoTo /D (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) >> +>> +endobj +7969 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [215.556 326.394 243.121 336.02] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7970 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [504.905 326.394 525.406 336.02] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +7999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 315.435 209.238 325.061] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +7971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 302.283 186.79 312.758] +/A << /S /GoTo /D (interface_i_pun_callbacks_a49f4cfb7c0e2c51ec71b8f52c7413b31) >> +>> +endobj +7972 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.276 302.283 262.528 312.758] +/A << /S /GoTo /D (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) >> +>> +endobj +7973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [456.02 287.42 525.406 297.143] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +8000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 276.558 160.352 286.184] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +7974 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 263.407 230.688 273.881] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +7975 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.876 248.544 263.441 258.267] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +7976 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 235.381 197.226 245.964] +/A << /S /GoTo /D (interface_i_pun_callbacks_a28ef052b776a594b305b08d7e80b6df3) >> +>> +endobj +7977 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.712 235.381 282.181 245.964] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +7978 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.087 220.626 515.759 230.349] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +7979 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 207.571 231.361 218.046] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +7980 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [313.755 192.708 416.012 202.431] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +7981 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 179.654 177.77 190.128] +/A << /S /GoTo /D (interface_i_pun_callbacks_a113daf6c35e118aff8daa5537d8c1c6c) >> +>> +endobj +7982 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 151.736 224.179 162.21] +/A << /S /GoTo /D (interface_i_pun_callbacks_a14eede4f84e088008e59fe63efb8775d) >> +>> +endobj +7983 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [227.665 151.736 283.033 162.21] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +7984 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.447 136.969 347.477 146.596] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +7985 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 123.818 235.136 134.293] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa200001beb114a07eac4b9442e2b793e) >> +>> +endobj +7986 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.621 123.818 293.99 134.293] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +7987 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [280.847 109.052 330.878 118.678] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +7988 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 95.793 230.15 106.375] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac0d022a7c6abd23f0039efec687eb0dc) >> +>> +endobj +7989 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.345 81.037 380.555 90.76] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +7990 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 67.983 207.591 78.457] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +7996 0 obj +<< +/D [7994 0 R /XYZ 69.866 801.979 null] +>> +endobj +6530 0 obj +<< +/D [7994 0 R /XYZ 70.866 734.255 null] +>> +endobj +1358 0 obj +<< +/D [7994 0 R /XYZ 70.866 717.816 null] +>> +endobj +7997 0 obj +<< +/D [7994 0 R /XYZ 70.866 615.283 null] +>> +endobj +7993 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8048 0 obj +<< +/Length 2585 +/Filter /FlateDecode +>> +stream +xZ[sH~ϯ<\5_0a[S,ul,I&d~Kw[eaH[Gݧ;&ˉ5y~t~YM"3w2$3'lΈˉfILgNϪteyU"'6Z[OEfxt}5`28z{D1ysK9'm 8Dm+6cV.-iR"&cH[Qc30ڕྴ*KVuD&cEެeT^.hdCF7=RUU/jlz9]%Z.`+iVʅBUh;r;jS2~Nqk&# #TƜO]VAK9 pį@'9f hyKṖHoDK24RZ , hj6 W~ 8rӛIdjP͏1OMl^=7K;ƞ@CS{'e̜5#e1Ӡ[me(8GG=1$O{B]I ˲\H3=vVj~$ L/{& ?ENtA=.O?IDREFdbogjh<|)Eݬf`pF_rHcuc(*w'&ZN=ZT3ryx-QX6 ~R:W<~s5%-3KU=Zs +fB=xiTi$|%oovwlוܣ +cu4r+&/d](a2Ox_l4DkEݡ])~bFOm3uِSDC2}ڡDf8|M7FC?&:scӊχ.=1 Z˲g, &pZ,@kE{v`, %Tc+9UA 6I{=kѮ{-kMŦg(- OOT + +PZHM^Bۂ`P`߶mP оnE.S9MzhXl F]rhP[HVL+J(LevrA몖r$V=T&MwD/*?L +zg1=/8KV +=,.dNݰ<\X:9De<5Vwwto_\nӎgaD ;c74_ 44x3inxک釆Yb1q0;R};L`Kxk߿so;.3s];@(@7w9pÐz?o~O٭Man+Z}E֛|De`^9%YDcN0NJTҷ;FnK c;p _F_,zez5vYM ᪘#۴( J{M(<2:g[`߲Cnc;~l*8?,wؐ"?vvyP8 +endstream +endobj +8047 0 obj +<< +/Type /Page +/Contents 8048 0 R +/Resources 8046 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 7915 0 R +/Annots [ 7991 0 R 8050 0 R 7992 0 R 8019 0 R 8020 0 R 8021 0 R 8051 0 R 8022 0 R 8023 0 R 8024 0 R 8025 0 R 8026 0 R 8027 0 R 8028 0 R 8029 0 R 8030 0 R 8031 0 R 8032 0 R 8033 0 R 8034 0 R 8035 0 R 8036 0 R 8037 0 R 8038 0 R 8052 0 R 8039 0 R 8040 0 R 8053 0 R 8041 0 R 8042 0 R 8043 0 R ] +>> +endobj +7991 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.72 758.366 525.406 767.992] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +8050 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 747.407 132.682 757.034] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +7992 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 733.887 229.102 744.362] +/A << /S /GoTo /D (interface_i_pun_callbacks_a445d24c62e4e3d8bbc2cc0d25853d43c) >> +>> +endobj +8019 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 705.124 288.26 715.707] +/A << /S /GoTo /D (interface_i_pun_callbacks_a3a210383eb25f1c6f509aaa23c792f6f) >> +>> +endobj +8020 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.746 705.124 333.925 715.707] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +8021 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [491.905 690 525.406 699.723] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +8051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 679.138 187.95 688.764] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +8022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 665.51 258.421 676.093] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa6d84e9c68f93825fb3bf453d6f5ca1b) >> +>> +endobj +8023 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 636.963 200.427 647.438] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5dd5d351e76698a0b6665064f6282baa) >> +>> +endobj +8024 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.71 621.828 482.812 631.454] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +8025 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 608.2 238.848 618.782] +/A << /S /GoTo /D (interface_i_pun_callbacks_a9b55ef4a99252e1a9a111a3f88b61e1d) >> +>> +endobj +8026 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 579.545 255.247 590.127] +/A << /S /GoTo /D (interface_i_pun_callbacks_af7c05722b8d15402bdb1a4e08850d989) >> +>> +endobj +8027 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 550.998 201.916 561.472] +/A << /S /GoTo /D (interface_i_pun_callbacks_aae3221aa2d3b999574fc55a6aaee2877) >> +>> +endobj +8028 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 522.343 203.682 532.817] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +8029 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [296.801 507.207 341.692 516.834] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8030 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 493.687 216.378 504.162] +/A << /S /GoTo /D (interface_i_pun_callbacks_a6922987e083f414d05464403e3b94bce) >> +>> +endobj +8031 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.347 478.455 509.812 488.179] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +8032 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 464.925 245.599 475.507] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5a8916735c974a747d63d107c340ffef) >> +>> +endobj +8033 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [249.085 464.925 304.453 475.507] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8034 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [189.678 449.8 217.243 459.524] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8035 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 436.377 212.209 446.852] +/A << /S /GoTo /D (interface_i_pun_callbacks_a98e3be45fd9367ec8695aeeadcf8ee18) >> +>> +endobj +8036 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [210.19 421.242 255.081 430.869] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8037 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.153 318.823 411.269 329.405] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +8038 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [497.227 301.306 525.406 311.78] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa9014980a1dc2d9befc6129668c890a2) >> +>> +endobj +8052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 289.243 206.024 299.825] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa9014980a1dc2d9befc6129668c890a2) >> +>> +endobj +8039 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.817 231.895 180.963 240.666] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +8040 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.947 144.766 525.406 155.241] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +8053 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 132.811 96.017 143.285] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +8041 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.568 115.186 232.438 125.661] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +8042 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [263.342 115.186 333.836 125.661] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +8043 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 67.983 222.692 78.251] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +8049 0 obj +<< +/D [8047 0 R /XYZ 69.866 801.979 null] +>> +endobj +1362 0 obj +<< +/D [8047 0 R /XYZ 70.866 406.104 null] +>> +endobj +1366 0 obj +<< +/D [8047 0 R /XYZ 70.866 216.757 null] +>> +endobj +8003 0 obj +<< +/D [8047 0 R /XYZ 70.866 189.977 null] +>> +endobj +1370 0 obj +<< +/D [8047 0 R /XYZ 70.866 189.977 null] +>> +endobj +8001 0 obj +<< +/D [8047 0 R /XYZ 70.866 68.979 null] +>> +endobj +8046 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8083 0 obj +<< +/Length 2562 +/Filter /FlateDecode +>> +stream +xZY~_A`b7o# R a!'<j9ýP @쳺zw6>e:q\8q$b\g7\eo> k~xu{rMݏf%|WơOSb۳\Lپ#ƳKe仳ϿNso Թ5+wN^Ю_~3'#l&XM,<z}JnSPDpC}}Ե{]\m>li~֙آZ^\لYЋ34nV[MCe]eë6MO5**f^q |i5mf`;ݢP8(rǷCŵgumSֺ[s7\ܡxN οq8%AR Ka~ӚTN +!5-bF[:k!,Y#- ;ՁUwsղL9*[>Lݤժ,$D`-. u1in` $s + x }Uy𘏦C Kd+?r5/nnz]֡e3flf "}w7 iLɪ胺xUvܱmvE^\ +?cQ%AP5AOZ#1:}TTݕx{v[Ψ%9nԎ-P z孬EOzP _KQ,N ؞x0B1@I P3uR^(Hhp0^ BDd#ê- ȂP^ +Ny]r#kvܫЄa)cfp6fqcaF"8j$nHHiFrL.o N`A{܈܄lK1 :"@(u,9 87CUP@^k2vlpɡx˾<~GOL#"#G"F큥aN,>-@Gm-Y۷>3vF7Fll p/JyВW%fTԦSY;L4‚ni@Q/xR + guOpQU$G(>Nr-S$~{szTG7 +?27ʣ%^)ĭn32]ٚf q8\gv6{7bQДp_,fHP(ȨeRiloUo[\M7u>Z-uG/lm(9[ؙttٽuܾ&bw 3PBGcWhzټ](6Ȗ3F3${Zhhnʨ717r1œwK{aOM%<>9 {Šabm.#T]]A_w/: syQr yZ*C:0nq]騢cyK74s6:ݠx|5P3EH`ʽٛ 83(@% +`HhL G8ܣ)CpAӷmc/7Uw`l,c7XkPXeعUa̜m=_ na~e?cҾt1_%QQ92$z_dl`DJuFC^S<`$P v36~ܐx LM~ܘ-"G$Dx` +懐cz"L̂ѧp.fJY^jgd;$عݮ-#űY`աU08k&Agp̰4ñb5M6NIybVH!4 ϡqVK :}Sk*ME"}z[4 i!˼$;J ).&|sFPZ8YdX tr#.&g1[ :yaBWEa?&C!dbvlGK9W +MJi ([jl3Bpr9SN1 B?j* 3ᘧ=;`Ŀ--E]u$L039մä0s4-v"3ՠe8,N=R;/{.u{xD~ 81}PKE/l%^ Oush̲/c9^5厫X6n +endstream +endobj +8082 0 obj +<< +/Type /Page +/Contents 8083 0 R +/Resources 8081 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8087 0 R +/Annots [ 8044 0 R 8045 0 R 8085 0 R 8066 0 R 8067 0 R 8068 0 R 8069 0 R 8070 0 R 8071 0 R 8086 0 R 8072 0 R 8073 0 R 8074 0 R 8075 0 R 8076 0 R 8077 0 R 8078 0 R 8079 0 R 8080 0 R ] +>> +endobj +8044 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [420.463 733.411 490.957 743.994] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +8045 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [503.709 733.411 525.406 743.994] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +8085 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 721.564 157.983 732.038] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +8066 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.715 691.984 238.186 702.459] +/A << /S /GoTo /D (interface_i_pun_callbacks_a12268b49cbab2203f8b664c7bef4655a) >> +>> +endobj +8067 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [256.134 691.984 379.305 702.459] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +8068 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 674.36 140.364 684.834] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +8069 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.328 674.36 251.402 684.834] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +8070 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 627.156 222.692 637.424] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_addc4f79164cd22c37d330b5ee2e340c7) >> +>> +endobj +8071 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [503.709 569.571 525.406 580.153] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +8086 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 557.724 181.08 568.198] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +8072 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 510.52 222.692 520.788] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a44be8bdd38ea28a1f540d38aede43bde) >> +>> +endobj +8073 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [284.753 453.042 355.006 463.517] +/A << /S /GoTo /D (interface_i_pun_callbacks_a113daf6c35e118aff8daa5537d8c1c6c) >> +>> +endobj +8074 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.785 435.418 453.428 445.893] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +8075 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.99 388.107 496.609 398.689] +/A << /S /GoTo /D (interface_i_pun_callbacks_abee2c86784a9a700b9f5b4073bd00be7) >> +>> +endobj +8076 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 358.635 222.692 368.903] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a67049b5cdc50467f4790aca093c34e82) >> +>> +endobj +8077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.169 271.578 228.663 282.052] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +8078 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.627 271.578 339.701 282.052] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +8079 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [346.593 224.374 402.384 234.849] +/Subtype/Link/A<> +>> +endobj +8080 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 155.039 222.692 165.308] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ade038a534b66b6d9a5faad53e21e22c9) >> +>> +endobj +8084 0 obj +<< +/D [8082 0 R /XYZ 69.866 801.979 null] +>> +endobj +1374 0 obj +<< +/D [8082 0 R /XYZ 70.866 771.024 null] +>> +endobj +8014 0 obj +<< +/D [8082 0 R /XYZ 70.866 628.152 null] +>> +endobj +1378 0 obj +<< +/D [8082 0 R /XYZ 70.866 612.958 null] +>> +endobj +8008 0 obj +<< +/D [8082 0 R /XYZ 70.866 511.516 null] +>> +endobj +1382 0 obj +<< +/D [8082 0 R /XYZ 70.866 496.321 null] +>> +endobj +8058 0 obj +<< +/D [8082 0 R /XYZ 70.866 359.631 null] +>> +endobj +1386 0 obj +<< +/D [8082 0 R /XYZ 70.866 344.436 null] +>> +endobj +8059 0 obj +<< +/D [8082 0 R /XYZ 70.866 156.036 null] +>> +endobj +1390 0 obj +<< +/D [8082 0 R /XYZ 70.866 140.841 null] +>> +endobj +8081 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8116 0 obj +<< +/Length 2179 +/Filter /FlateDecode +>> +stream +xYo6_!I}q8u A.I]!V>;VZnޡ<Ù %:yy$tRq)8v/b\G7__;ADUֶOR+Mg?\Lt(2MEN9t +{H,S87N" +q39U3XPt [{Jf-ɲ׭] oFOO5=3Zl;ϗ75( ^}X:֚9~U=lD8cvM:oh-tn6$RbElcM70ё($+) 8vf7?| 5UP!\wݶ8?/L.kӁ۲8s]7:rϭ p#f9 +]?Hzy|xu{i.bT\>^bB&MH,}!m| +̪jhVmn ͆51b|0Upq ?pǍsd7ŸD n v3ʹH⠫\ ͳV6; h Sr^ࢻYYF>+X{m&e; n/!P"A81A+0_d(G$xC!)(29ü6ojQ)At #D] 2~Tfxq0YĠ?C|' ĮeB`p. cJøxdz +pV9%]\yr3ꯟjoMGW4q?X$9# [Q2;m8y3~y_.Jr1UkV'v >Xo#f 164A$10c',9l5{-㞅ILMPItg UxҵRP WOMJLgU(5 o$mݭ5 !@^~(-`ƚ+ ${id\rWx{'@vp̋;}M_XȻ< ppЃ GP}phco#lPƩ"aU ::bDhP{p|I<)nm +4'S#v4p_ RݕLVG_aUc3xٲ%W7̐YZ"vflRCv*߀Xg6fڟ&pϛ炼_V7`C | gm]s?SY r' 2$H9YbO Z 8#I#y0o72w@n(a +BvcU|мNd]/R/E l+ kB`>/KM'k~oGgZD^5yܹ.M_w϶үw67 k?r;lj1EH@Z#!\Xi{½g;hcy%̉TJ7.j*+2"˟tGyAY|WӬܗ-п(p?YÏXIǯT )ֽM^:ߋ.iR%\exbvZ253WGp +endstream +endobj +8115 0 obj +<< +/Type /Page +/Contents 8116 0 R +/Resources 8114 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8087 0 R +/Annots [ 8092 0 R 8093 0 R 8094 0 R 8118 0 R 8095 0 R 8096 0 R 8097 0 R 8098 0 R 8099 0 R 8100 0 R 8119 0 R 8101 0 R 8102 0 R 8103 0 R 8104 0 R 8105 0 R 8106 0 R 8107 0 R 8108 0 R 8109 0 R 8110 0 R 8111 0 R 8112 0 R 8113 0 R ] +>> +endobj +8092 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 693.349 222.692 703.617] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a8a96aacb06c73f7cb25fe798ce01529a) >> +>> +endobj +8093 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [210.899 631.986 241.305 642.568] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8094 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [458.358 614.469 525.406 624.944] +/A << /S /GoTo /D (interface_i_pun_callbacks_a49f4cfb7c0e2c51ec71b8f52c7413b31) >> +>> +endobj +8118 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 602.514 91.83 612.989] +/A << /S /GoTo /D (interface_i_pun_callbacks_a49f4cfb7c0e2c51ec71b8f52c7413b31) >> +>> +endobj +8095 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.778 602.514 234.249 612.989] +/A << /S /GoTo /D (interface_i_pun_callbacks_a12268b49cbab2203f8b664c7bef4655a) >> +>> +endobj +8096 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 584.89 222.692 595.158] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +8097 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.24 523.634 224.646 534.109] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8098 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 511.679 193.041 522.154] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +8099 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 464.475 222.692 474.743] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a03bc6b8a9fffa6a7e7b43ff793ad2b28) >> +>> +endobj +8100 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.698 403.112 525.406 413.694] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +8119 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 391.264 106.741 401.739] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +8101 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.878 373.64 244.748 384.115] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +8102 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.364 373.64 378.438 384.115] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +8103 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.521 331.998 274.364 342.58] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +8104 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.649 331.998 411.144 342.58] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +8105 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 314.481 222.692 324.749] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +8106 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [82.333 223.538 119.204 234.12] +/A << /S /GoTo /D (class_photon_view_ad288db13a15d581e0f7c5886f4036720) >> +>> +endobj +8107 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.172 205.914 522.913 216.29] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +8108 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [306.059 194.066 404.573 204.541] +/A << /S /GoTo /D (class_room_info_a928b103a3e88d2c090152440aa6fa874) >> +>> +endobj +8109 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [438.495 194.066 514.782 204.541] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +8110 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 164.487 222.692 174.755] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a8ee05dd443b9e51ddf962e655ca8ab77) >> +>> +endobj +8111 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.794 85.607 221.607 96.081] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +8112 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.555 85.607 315.788 96.081] +/A << /S /GoTo /D (class_photon_network_aa9a112ccaaf71a296b823e9637584445) >> +>> +endobj +8113 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 67.983 222.692 78.251] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a0c64cd0591992e70393d719e07e09f6f) >> +>> +endobj +8117 0 obj +<< +/D [8115 0 R /XYZ 69.866 801.979 null] +>> +endobj +8013 0 obj +<< +/D [8115 0 R /XYZ 70.866 694.345 null] +>> +endobj +1394 0 obj +<< +/D [8115 0 R /XYZ 70.866 675.995 null] +>> +endobj +8012 0 obj +<< +/D [8115 0 R /XYZ 70.866 585.886 null] +>> +endobj +1398 0 obj +<< +/D [8115 0 R /XYZ 70.866 567.535 null] +>> +endobj +8002 0 obj +<< +/D [8115 0 R /XYZ 70.866 465.471 null] +>> +endobj +1402 0 obj +<< +/D [8115 0 R /XYZ 70.866 447.121 null] +>> +endobj +8009 0 obj +<< +/D [8115 0 R /XYZ 70.866 315.477 null] +>> +endobj +1406 0 obj +<< +/D [8115 0 R /XYZ 70.866 297.126 null] +>> +endobj +8011 0 obj +<< +/D [8115 0 R /XYZ 70.866 165.483 null] +>> +endobj +1410 0 obj +<< +/D [8115 0 R /XYZ 70.866 147.132 null] +>> +endobj +8004 0 obj +<< +/D [8115 0 R /XYZ 70.866 68.979 null] +>> +endobj +8114 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F82 6068 0 R /F73 4864 0 R /F77 6067 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8153 0 obj +<< +/Length 1742 +/Filter /FlateDecode +>> +stream +xY[s8~4. ;fN;mM݇l06Rq3;$dB:\$3wnz2:~xN"Ι39F!NQĉ3IK7DhI\NdLy%Yz.fc]Q\M1 jaf2>";(FWI#F\9ϐ1/#lLjj6GNn("7c2KAxU":?Yu.ʬ x|FDkUsE-9>b*RcBfT-Ֆ2f.Eq,3W`Fy R LԄ `O|ts3>uϾ|6slỰ4j\ۯ歒ɍjS\BM}.AC[As+* M3a% .iR5|nt-_X7)s w#R4TErU*?w+KI{IzQ7%H}QQEC Zup݁ꚍ6T afu Ξ^nV>W( 0wʶ1@VƊbͿ7Գ +G(%֯fhz@K|eZa_V!zpgJ)WZJbY%UDžE +;s6cy?gCBa^snP'ha$B hjN }(']C8Zf~߹6 !>VNz!}G&߀ӝ0}rΧ# wK@Xi( !q"smd̡ur-(:=:("~NlW#A .)o)~ lw{}s{~D.X3-c?P'e ]ˮ#Ou@K;2N9}cv nD9w[%Ζ^X؜ +0rޗA? S?X[M]ntTC]xތ0bMQ ǽV,؞+05v3v:ǐ>U#pսx>x' :a2"/k>D/1Mf%*{OoMپM*?n* +\_ +endstream +endobj +8152 0 obj +<< +/Type /Page +/Contents 8153 0 R +/Resources 8151 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8087 0 R +/Annots [ 8126 0 R 8127 0 R 8128 0 R 8129 0 R 8130 0 R 8131 0 R 8132 0 R 8133 0 R 8134 0 R 8135 0 R 8136 0 R 8137 0 R 8138 0 R 8139 0 R 8140 0 R 8141 0 R 8142 0 R 8143 0 R 8144 0 R 8145 0 R 8146 0 R 8147 0 R 8148 0 R 8149 0 R ] +>> +endobj +8126 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [99.629 703.18 170.123 713.762] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +8127 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.087 703.18 281.161 713.762] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +8128 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 685.663 222.692 695.932] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a4e9e2aebcfa279a2eec0020f0e44b57a) >> +>> +endobj +8129 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.2 624.122 515.052 634.705] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +8130 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 577.026 222.692 587.294] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a945651c506d001121aa81e4fc8010a42) >> +>> +endobj +8131 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 468.389 222.692 478.657] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a53833ef0f9be9906694fc600acc1b897) >> +>> +endobj +8132 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.594 406.956 328.251 417.43] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8133 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 371.707 119.527 381.975] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8134 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.091 371.707 280.748 381.975] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8135 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 353.975 125.238 364.351] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8136 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [285.875 353.975 341.243 364.351] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8137 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.57 318.311 224.227 330.279] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8138 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 296.595 222.692 306.864] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a943727ed00dbd38afc4b7d16c9c3454d) >> +>> +endobj +8139 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.36 235.162 232.017 245.637] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8140 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 199.913 119.527 210.182] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8141 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.574 199.913 285.231 210.182] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 182.289 125.238 192.764] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [266.203 182.289 321.571 192.764] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 164.665 125.238 175.139] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [261.899 164.665 317.268 175.139] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.582 147.04 288.93 157.515] +/A << /S /GoTo /D (interface_i_pun_callbacks_a98e3be45fd9367ec8695aeeadcf8ee18) >> +>> +endobj +8147 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 129.416 222.692 139.684] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a7a1add5919b1e6af0327e7e306e81da0) >> +>> +endobj +8148 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.172 67.875 187.957 78.457] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) >> +>> +endobj +8149 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.58 67.875 371.925 78.457] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8154 0 obj +<< +/D [8152 0 R /XYZ 69.866 801.979 null] +>> +endobj +1414 0 obj +<< +/D [8152 0 R /XYZ 70.866 771.024 null] +>> +endobj +8062 0 obj +<< +/D [8152 0 R /XYZ 70.866 686.66 null] +>> +endobj +1418 0 obj +<< +/D [8152 0 R /XYZ 70.866 668.161 null] +>> +endobj +8005 0 obj +<< +/D [8152 0 R /XYZ 70.866 578.022 null] +>> +endobj +1422 0 obj +<< +/D [8152 0 R /XYZ 70.866 559.524 null] +>> +endobj +8061 0 obj +<< +/D [8152 0 R /XYZ 70.866 469.385 null] +>> +endobj +1426 0 obj +<< +/D [8152 0 R /XYZ 70.866 450.886 null] +>> +endobj +8064 0 obj +<< +/D [8152 0 R /XYZ 70.866 297.592 null] +>> +endobj +1430 0 obj +<< +/D [8152 0 R /XYZ 70.866 279.093 null] +>> +endobj +8006 0 obj +<< +/D [8152 0 R /XYZ 70.866 130.412 null] +>> +endobj +1434 0 obj +<< +/D [8152 0 R /XYZ 70.866 111.913 null] +>> +endobj +8151 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8162 0 obj +<< +/Length 501 +/Filter /FlateDecode +>> +stream +xڕSMo0 Wh+[Sփ([lg](^ӢLROO|`;&2XEg*gRf2%2XaX}u2 \ ꧶d*vCgX}_ T0G5i]lgL) ;/rߢeH7d&11Yd'M{`|"PwTkmotts(;{ +ms)"'m LFzWH q|?G> +endobj +8150 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.801 746.115 190.521 756.697] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +8163 0 obj +<< +/D [8161 0 R /XYZ 69.866 801.979 null] +>> +endobj +8160 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8185 0 obj +<< +/Length 2347 +/Filter /FlateDecode +>> +stream +xZo8_ O{@R#צX,r}eF|48~3Rl%k'd"{~39Ksޜ<˯tb\^;0tD; ʍSŦ:Krf37:\Oz=W5)ߋcۓח':sx+Y,Nz޽u<'sW,>K?N<#DCڄM:3!ݴIW +qZ2KrR@2?. XɗyaDR0|,1ֆ{CS)VNV/j]I? x bb~}%&(ڼnfs;c^Y>9qMS7g@g2Dm0J -%M,tcW[("CO- )}?YZB0DպT+ijYT;"bToz%p'=ԗ `% $Wd1c|W޴cEmڮ^}EBwnW,O鱫 z`aD iwT`^^`120G[Cq/4@0>2 _}s* c44 &ؽUE~qw,TEuCK,@ՂN\kgyguեEeP4`"nZg +ҪEPAҺgՑ/v?MIS\TrIv 6yf̖u`@PuxK>PZ2 zd ق47|`i{~&wydMk+|)k=K(>xɓqLpr/G_,W(a~( Y(C {qa@!rBD~;A:-(HVE,ܮ954:P#(nV}Z> &^b4/.2ӈ(Qerd<."ԣ >i{ն)b)jյ{Sv1Z9R 2ޏH$"1] M5Hw]~|2hmw+Z0igKLEb*{ m(mZD$CѼaCMGtToư=\f4E+~JáaFaXY[j[pV__ӀK ;XXAe#'@ +XW?(6Hlx[ |Z]]_^67u;mHQ[=Q=fMÇtm F-}ۦw8ۮ(adO Fn-0<^!{z95/u V4Z,jJ!o`ə`pFwJ[ YY@ +NaK; mz6iE{]Y6d#w|0vvRn<`-ʫw2T)mS ķB%6:Td2n+ +Uu` ݉"aY}e]|ĵO^=w- @"ϻC>a"?}G鷳,|R&rqOJk+$AwdumaECXfrtjr,Mg +g@^7}{̀lQk"Z9x27 cD=&(?`(ZС"MUtCH/OkU NYeޙ$=-IiaH)Bi"ƺϸ2FoPN׆%E!Mqw: y +חzwm_F gvwx[/4ZN]N~*#Re~ԈZ>|2M=L7*mvڨpʠ~SʇL}sL1aG{t6R9+´0Ǻ|)8F+`IޭN_`D옜{c[cO0ek:ۢ-FEmoiYl]\8/gUt ttU5$꯭S' aAw4RWJ&j|?d'6ӨUwO>(Z@cqc'l ~Ɯ.rK422z%) :%ԄUꮆIH+d:bB$Z0LG&VQ&P 4]޾xpo[Biu??&B0?ڼQj*r@m%`q_G4O^xOs&zS^v}˄[wou]{w +endstream +endobj +8184 0 obj +<< +/Type /Page +/Contents 8185 0 R +/Resources 8183 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8087 0 R +/Annots [ 8164 0 R 8165 0 R 8166 0 R 8167 0 R 8168 0 R 8169 0 R 8170 0 R 8171 0 R 8172 0 R 8173 0 R 8174 0 R 8175 0 R 8176 0 R 8177 0 R 8178 0 R 8179 0 R 8180 0 R 8181 0 R 8182 0 R ] +>> +endobj +8164 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.167 741.029 296.512 753.203] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8165 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 719.313 222.692 729.582] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a9fb00e512c59fa60c0a95e0d6e4dbe89) >> +>> +endobj +8166 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 647.414 183.832 657.889] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +8167 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.963 617.727 335.926 628.309] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +8168 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 548.392 222.692 558.661] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_abf25d63a39ef13cb9a0519e6e7672a2f) >> +>> +endobj +8169 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.467 488.341 521.66 498.923] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +8170 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 470.716 151.339 481.298] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +8171 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 441.244 222.692 451.513] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a2f6b448cd6a97e4281d543196872d29a) >> +>> +endobj +8172 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.172 381.193 177.493 391.775] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da5988ddff3f148ce684fbbdb8f68896c1) >> +>> +endobj +8173 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [318.117 381.193 361.462 391.775] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8174 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.893 351.613 231.613 362.195] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +8175 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.167 315.949 296.512 328.123] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8176 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 294.234 222.692 304.502] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ac808cb2ed21bbbe52a0d33f4d927644e) >> +>> +endobj +8177 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.016 192.647 267.422 203.229] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8178 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [318.951 192.647 349.357 203.229] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8179 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 163.175 222.692 173.444] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_adcef9694244295ad493bc4ec0b4463d4) >> +>> +endobj +8180 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.568 103.124 189.974 113.706] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8181 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.304 85.607 183.366 95.875] +/A << /S /GoTo /D (class_photon_player_ab0bad4e5c05adfe0d524bc32430ecc20) >> +>> +endobj +8182 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.038 67.875 368.384 78.457] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5a8916735c974a747d63d107c340ffef) >> +>> +endobj +8186 0 obj +<< +/D [8184 0 R /XYZ 69.866 801.979 null] +>> +endobj +8055 0 obj +<< +/D [8184 0 R /XYZ 70.866 720.31 null] +>> +endobj +1438 0 obj +<< +/D [8184 0 R /XYZ 70.866 703.052 null] +>> +endobj +8015 0 obj +<< +/D [8184 0 R /XYZ 70.866 549.389 null] +>> +endobj +1442 0 obj +<< +/D [8184 0 R /XYZ 70.866 532.131 null] +>> +endobj +8007 0 obj +<< +/D [8184 0 R /XYZ 70.866 442.241 null] +>> +endobj +1446 0 obj +<< +/D [8184 0 R /XYZ 70.866 424.983 null] +>> +endobj +8054 0 obj +<< +/D [8184 0 R /XYZ 70.866 295.23 null] +>> +endobj +1450 0 obj +<< +/D [8184 0 R /XYZ 70.866 277.972 null] +>> +endobj +8063 0 obj +<< +/D [8184 0 R /XYZ 70.866 164.172 null] +>> +endobj +1454 0 obj +<< +/D [8184 0 R /XYZ 70.866 146.914 null] +>> +endobj +8183 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8210 0 obj +<< +/Length 2056 +/Filter /FlateDecode +>> +stream +xY[6~_{] v8lh#$g:X9b˞K +l"<<<9s.~X\1Q;{$"'NȜ7f_?$}اf/ 49\KQeo]P $$a*/nxNki) B(O\xC1tBLɳr.hŋbW3湷zfҮ+Ye9j6.{$-4e9oZk)w୨DyDs4&hz[ +&˵m1ǫ F_oe++r~[B}6A\' q?WK`$g`0F?Sσcg,peb} /h6JY 湔U%VZ//P(bا6Vsڙ.J0%a6R3T ]  r>xf:n+GԢn,z[PRDGG8}c˜ٽewy š`"A[K=m^*OGBè_R0xn艻WD\O!y*hR(1A^J LV*aiiD7b/2nۊ~U:}9REprahck5e¯7 ߂,f8pfiȞ.. >8|2(73`ٰk&p*II<ɣJT6y>xA L6$]]O`K&VRޘ$|ʫMkAV;@%jn즌3t.ʴj8VA5~u%2|W Y!zS[/)ͶK<c)ڃ1\ى>hH`ӟ'~b݇"/sLm Z?Wy{Yf +\:|UA4 ߘ0uXUk*n!PO^}haNBI;N?X.V`0B{ALD9 +y*$!yV A \j$@xi/0 ]X =>0H ;ExG8lN)挒BH=?zZWys^3 ݿwHhs]qẼ^펙d%!:#+QIn5^i7t);b!~r$AЁEB3<؛cAJFb'"i ".?CF*a$#Z1!H 䙪*rEqQ;K$Dt%c zQ҇U@EeFӧq'h@j"zbAd^+> +endobj +8192 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 740.553 222.692 750.821] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a2b7bf39a0463bc564724e22c9757917b) >> +>> +endobj +8193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.311 683.03 334.679 693.504] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8194 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.909 665.298 508.196 675.88] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +8195 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 635.826 222.692 646.094] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_abfe94f562c7abc261b25b0df95852a17) >> +>> +endobj +8196 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [260.867 578.303 316.236 588.777] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8197 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 531.099 222.692 541.367] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_af2f8ef712d9942f861f3357bb548e937) >> +>> +endobj +8198 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.38 443.996 195.748 454.471] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8199 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.963 372.774 364.94 383.356] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +8200 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [96.769 332.162 437.69 341.269] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa6d84e9c68f93825fb3bf453d6f5ca1b) >> +>> +endobj +8201 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.389 321.203 157.94 330.311] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8202 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.38 321.203 426.93 330.311] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8203 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.502 245.087 249.87 257.261] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8204 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 211.416 222.692 221.685] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aaec2f5973228b99c6ad781d5cedadb6f) >> +>> +endobj +8205 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.087 153.785 371.432 164.368] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8206 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.296 124.206 304.284 134.788] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8207 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.25 112.251 271.97 122.833] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +8211 0 obj +<< +/D [8209 0 R /XYZ 69.866 801.979 null] +>> +endobj +8016 0 obj +<< +/D [8209 0 R /XYZ 70.866 741.549 null] +>> +endobj +1458 0 obj +<< +/D [8209 0 R /XYZ 70.866 726.309 null] +>> +endobj +8017 0 obj +<< +/D [8209 0 R /XYZ 70.866 636.822 null] +>> +endobj +1462 0 obj +<< +/D [8209 0 R /XYZ 70.866 621.582 null] +>> +endobj +8056 0 obj +<< +/D [8209 0 R /XYZ 70.866 532.095 null] +>> +endobj +1466 0 obj +<< +/D [8209 0 R /XYZ 70.866 516.855 null] +>> +endobj +8018 0 obj +<< +/D [8209 0 R /XYZ 70.866 212.413 null] +>> +endobj +1470 0 obj +<< +/D [8209 0 R /XYZ 70.866 197.172 null] +>> +endobj +8208 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8242 0 obj +<< +/Length 2160 +/Filter /FlateDecode +>> +stream +xYKs8Wr"0=g3VEB!(;ίn<(Rd%5[;Altu̡ΛN.IIǁs7uJ8vwJ糛x,Iݷkq5N}>xăႛ 4/ [pM'Nyn.@ @a {C2r+1J>\ۥ]P"F$QOFF~(v]ce1F,ўy\-Cf4q\sͮWԃAm%uq$JH_An]ZLEXLWKr%nx^]%ۏ2oF;|#*p 7.zvhX_nE !6f@˃ѶcZ#Z;.tɩt~s0ܪK3$C{+tDl>[j6opQ,%7ZY@[qC|7*-=4K3XwמҤ_(e¾n4 F T$ɏs.ƀ)o5 +|F3BARW0 b6m6d:7 +H ?N^ZqHH8a5yE/7$W3I52o2GGѴil࿊QU 9b rP۬a@BF斅T$l)Yg/Κ1pCaGkA:(笥u5PDT5׽K >Y7(r*b +0p- ~ӃIOZf0uq$ҏ%ߟt$&'dZ@pLkˍ=ݓiV x6#{5y5k +JnfFn E J1v8|dON;Ƭ +H+jHUf>h :6Y>71Z KLՎw{r{b\0D _5 yc@(5VQ܄"ƏWcǨQ$}hLWbHY/c>XK'wߪ .bB7v(/ά~X+T55ҭ-ٌZ%7ŚC$"Z] /Bu鹧Oװ)Ov8Vu>NʹWO)홾ѳ5zVkTEatˍ:/!V5<ɰkUB$ֵUuc&*†L&=%I^=Jh!6nߕaA}a[ZK8)0ࢧnW]<ԓaXOeat\rX&[SڭfW3~>BM5I]>WRqwB4 =rB 1bkU=_N9r- +[ |a,&zm+دDa>nh9Tor{.e>N4cw;-FD G"'DC <BhNPOJwe߶Qɛ֯u; o/tyU>bԢ~ \tn?0{S!'&Y5 )lB'7)"95{@Dg2QQB@H?rbSpT˔ ˨6q&Y]9- ZCjçw W4S> +endobj +8216 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.167 741.029 296.512 753.203] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8217 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 719.313 222.692 729.582] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a94f901ce1a7af7b6c49937c5c47ceae4) >> +>> +endobj +8218 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.432 659.628 410.829 670.21] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +8219 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.089 642.111 329.201 652.586] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +8220 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.931 630.048 170.523 640.631] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +8221 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 570.997 222.692 581.265] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) >> +>> +endobj +8222 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.604 511.419 485.051 521.894] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +8223 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [189.013 493.687 284.46 504.27] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +8224 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 476.171 222.692 486.439] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a443380e89534a70dfe4ce7ca16083035) >> +>> +endobj +8225 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.329 398.969 275.735 409.443] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8226 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [376.2 387.013 452.666 397.488] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +8227 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.325 375.058 186.791 385.533] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +8228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [272.991 375.058 433.085 385.533] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +8229 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [93.792 333.416 195.811 343.998] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +8230 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [232.651 316.895 263.058 327.37] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8231 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.655 243.33 222.692 253.598] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_abddb6286cecb1409cbca26088328e86d) >> +>> +endobj +8232 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.166 155.119 204.696 165.701] +/A << /S /GoTo /D (class_photon_animator_view) >> +>> +endobj +8233 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.689 155.119 308.669 165.701] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view) >> +>> +endobj +8234 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.661 155.119 401.182 165.701] +/A << /S /GoTo /D (class_photon_rigidbody_view) >> +>> +endobj +8235 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [421.623 155.119 510.919 165.701] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +8236 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 94.505 209.483 105.087] +/A << /S /GoTo /D (group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) >> +>> +endobj +8237 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.969 94.505 272.273 105.087] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +8238 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.159 94.505 386.628 105.087] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +8239 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 79.13 525.406 88.757] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8245 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 69.777 128.268 77.612] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8243 0 obj +<< +/D [8241 0 R /XYZ 69.866 801.979 null] +>> +endobj +8010 0 obj +<< +/D [8241 0 R /XYZ 70.866 720.31 null] +>> +endobj +1474 0 obj +<< +/D [8241 0 R /XYZ 70.866 703.357 null] +>> +endobj +8057 0 obj +<< +/D [8241 0 R /XYZ 70.866 571.993 null] +>> +endobj +1478 0 obj +<< +/D [8241 0 R /XYZ 70.866 555.041 null] +>> +endobj +8060 0 obj +<< +/D [8241 0 R /XYZ 70.866 477.167 null] +>> +endobj +1482 0 obj +<< +/D [8241 0 R /XYZ 70.866 460.214 null] +>> +endobj +6529 0 obj +<< +/D [8241 0 R /XYZ 70.866 244.326 null] +>> +endobj +1486 0 obj +<< +/D [8241 0 R /XYZ 70.866 226.201 null] +>> +endobj +8244 0 obj +<< +/D [8241 0 R /XYZ 70.866 135.488 null] +>> +endobj +8240 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8264 0 obj +<< +/Length 2137 +/Filter /FlateDecode +>> +stream +x˒6>_RU>rs5rVW #1H-~v)q$ݓ@ZBwAǑ0HK2[m~.~_E${n4V&t[ͫao~XFheTpُ^DYS: +B盐 q?=ӑ' Y<X bq+0_ͦΏ=lл*uJ_ُa(KR{K}V;[5}ۅ l|= !Sү5.? :MUv uBZ77k$P0x< re Y * B`*ݲ+7"~U߻X/ֶ; U) >k֍a z!s"7ןX릤E {\g":!Q[{Xp+7DMKA&30U(>joFqPiBe^bBܑf}e=_כ#e; bk8tuEIGT BLWa%]fw+T)E:Xsp(>J0\bN{[m-Ija'ڢQه#Bv_=&N>khB8U[xm x"gGs?fIp7pO[T45i=vP/Ot0Hm]&.q .p>3pM1Hb#!9.sJbCLCi 4`2{\u'A,{.x8Fn8 +#=ό!P<ɏ2U$ƈ#h B6'۞PŠ2㧀 `Y9fs;Ç;.*jf4_T}{5O.FSpOCZ^8_"h#WT~FH=v8aǛm\82<ioTЗ>2k-s<N. h̜[9 U.{4 ض*p; Tx5)h%Gyo  ZA*# )C7Cy)/ڞ˸yVK`w>HXz<`0DoT;n[p|X>ۃlًuz):#4; wG5v'kPm^ZeWMtέߠL39̏+1lo$] +\m ǞqMvkm6`QSr%F;-Y39JB9mw=C.a8t IL(.c\Q>?."? +="~;j\'XujXzIC!>ʽzL@Oѳ$bsO. z]QHM;2_$ª2.`ix왁 %lKkio pdO]U|kT-c37Oi8n,^.1 7.̙aV͎q p:Wvhݱ䇼z'Q%;@2DT3,p/zdq iMyJK|:wMe. &,j $൑N3t!58懔WU($LBu>5OJ4-sz\d@r=:8ȑq𦐆h Z$ghSrIĪD c֮=K/ Q$s$*ӣ p\AM`{i垝ZEZEEZӴiE:ix!HO_ZL$><; +i&R"K+ b(l?i.hn4hkC +v¦kxNbEH@Ύ2cNo,smʪ|긣"ߊP_-,@7 r`DĦːv!/#⿧/ +endstream +endobj +8263 0 obj +<< +/Type /Page +/Contents 8264 0 R +/Resources 8262 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8246 0 R +/Annots [ 8255 0 R 8256 0 R 8257 0 R 8258 0 R 8259 0 R 8260 0 R 8261 0 R ] +>> +endobj +8255 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.596 607.155 190.959 617.737] +/A << /S /GoTo /D (interface_i_pun_prefab_pool_a7faad9f73d3ef1574d3bf512f5d870ea) >> +>> +endobj +8256 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 583.155 153.84 590.989] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8257 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 568.301 146.101 578.883] +/A << /S /GoTo /D (interface_i_pun_prefab_pool_a7e4be9281d4a5d2474134e54ef766aa0) >> +>> +endobj +8258 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 410.772 119.527 421.354] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8259 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [233.415 393.255 292.532 403.73] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +8260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.914 279.394 420.498 289.976] +/A << /S /GoTo /D (interface_i_pun_prefab_pool_a7e4be9281d4a5d2474134e54ef766aa0) >> +>> +endobj +8261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 154.423 119.527 162.907] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8265 0 obj +<< +/D [8263 0 R /XYZ 69.866 801.979 null] +>> +endobj +1490 0 obj +<< +/D [8263 0 R /XYZ 70.866 771.024 null] +>> +endobj +8266 0 obj +<< +/D [8263 0 R /XYZ 493.855 736.403 null] +>> +endobj +1494 0 obj +<< +/D [8263 0 R /XYZ 70.866 718.103 null] +>> +endobj +8267 0 obj +<< +/D [8263 0 R /XYZ 70.866 647.068 null] +>> +endobj +1498 0 obj +<< +/D [8263 0 R /XYZ 70.866 539.409 null] +>> +endobj +1502 0 obj +<< +/D [8263 0 R /XYZ 70.866 366.948 null] +>> +endobj +8268 0 obj +<< +/D [8263 0 R /XYZ 70.866 342.158 null] +>> +endobj +1506 0 obj +<< +/D [8263 0 R /XYZ 70.866 342.158 null] +>> +endobj +8269 0 obj +<< +/D [8263 0 R /XYZ 70.866 225 null] +>> +endobj +1510 0 obj +<< +/D [8263 0 R /XYZ 70.866 209.76 null] +>> +endobj +8262 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8286 0 obj +<< +/Length 1720 +/Filter /FlateDecode +>> +stream +xYKo8WaeaIJԣi6uXB[-z4ͿKoq{eÙfY99Z̞ }'Bqx 1 c,RʍeFZT"G\dN=u$efN /)ϋw7ٷCEwg흃Gέu|!{08acX|L p&!01#A9' zNPp`}eVe"{0|?z^ݙ(b56 +VԌ~,/hߪ,xI*46Qxch?$CGɐI~biJ~Ƴugy&_T.5<ښ1 Z $>F !aϛ?՗TNi*Jp Kn%—3bX5֛YtcrrDa76gZ9 ^C<5 5S=gv"0:Ou\ +!g@P + +i +m +u%e  {Ɛ3 eƀe[4-+Ďî>v+NW5ܮYUzhI 7o靔הU5*X%*J% BBZN4[(5sk p?^lcZ.3)YLn^͜npQ}x$O#1u eb80cƮB&[e^MFfȥHD!k'`,8d^u͉;[*B@]<cjū{܀8TFALqyi%Y-2ږ-#\8yz A!:@ +ƒp 8^ٽk +< J &=b #C1I@j`rnהKρFJ+&9IQUJ@JX;=b~ʢ)JS]Ny,]ӎ( E!8R9< ;q<]֠ŲݝP!K щ38BGFM6QA5; )'Z ?rXX(j#눜|h"3L9: ngRi9d@zRlw +F2rΓR'9R:Ɂ%jbN%ߩMYkU5!x~p!Lju># Vg򬗽eH|ƔPCbk[ |f0x.VHKEI͙b)T =z||7~y +>Swj7^[m> +endobj +8270 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.166 580.781 208.202 591.049] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +8271 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [228.643 580.781 278.3 591.049] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8272 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 513.059 144.433 523.327] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8273 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.933 513.059 193.595 523.327] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour_a27027ef7d8204896cb9381a200953892) >> +>> +endobj +8274 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.625 495.717 241.516 505.344] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8275 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.534 480.344 163.191 490.259] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8276 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [163.691 480.344 216.369 490.259] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour_a00c97185c3a8594bf5c1c518a701706e) >> +>> +endobj +8277 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.488 255.742 271.145 266.217] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8278 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.287 190.915 216.944 201.39] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8279 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.378 173.291 228.035 183.765] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8280 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.802 155.666 232.459 166.141] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8281 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.403 155.666 522.913 166.141] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +8287 0 obj +<< +/D [8285 0 R /XYZ 69.866 801.979 null] +>> +endobj +6339 0 obj +<< +/D [8285 0 R /XYZ 70.866 678.912 null] +>> +endobj +1514 0 obj +<< +/D [8285 0 R /XYZ 70.866 670.255 null] +>> +endobj +8288 0 obj +<< +/D [8285 0 R /XYZ 70.866 556.668 null] +>> +endobj +1518 0 obj +<< +/D [8285 0 R /XYZ 70.866 442.319 null] +>> +endobj +1522 0 obj +<< +/D [8285 0 R /XYZ 70.866 375.203 null] +>> +endobj +8289 0 obj +<< +/D [8285 0 R /XYZ 70.866 347.102 null] +>> +endobj +1526 0 obj +<< +/D [8285 0 R /XYZ 70.866 347.102 null] +>> +endobj +8290 0 obj +<< +/D [8285 0 R /XYZ 325.82 258.626 null] +>> +endobj +1530 0 obj +<< +/D [8285 0 R /XYZ 70.866 235.411 null] +>> +endobj +8291 0 obj +<< +/D [8285 0 R /XYZ 377.644 146.595 null] +>> +endobj +1534 0 obj +<< +/D [8285 0 R /XYZ 70.866 122.208 null] +>> +endobj +8284 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8312 0 obj +<< +/Length 1558 +/Filter /FlateDecode +>> +stream +xYˎ6+X!w,ɌtLtd!˴MT<>Jj]Hs$610yyFhG+#@vFdFp|lWi\֔6O-xYPdf0Cv 2흁l' +'9rkc{ɟ`"x+ 10/"Ұ徭)K$ 7laaϬ8-%fyվqط00`b^3!^oiyYk6AS5L0Pru-ٚnȤrJyc9̋k YRXS5v$^҈_1"_.g8睡#abȏ+I`"σ]KZV5+;Euj',uS:38{#W|$C!Ix^/wi,tZ9wE^bNF4iIkH=mXQ7y* `~B'-ρa卌;Q ES(;䜖Y*RoU'@% zڹ_^#t t"sZ<)):*U|jyȼ  7]2tq w._:}ɪ0! Zy͂ӪN62'kՐ!u͏%U>ĸK.wq-{K}gch$qdR%cĬN7_T[p"H4y=qcdT(:tW)SI֩8LŖn/ ۚu5u"n m۰2RT!!*~tG@{^ʌ35ͫ<2#?]Uv'UY[qZCm ]j4M `(ۅ\TX*O?2JI5O{Y :LHIuMEA=uM Wz8vHޫwWƁ#mWijF3*]ރi $R-X"{+69K~WzMd\mka&=";\U +endstream +endobj +8311 0 obj +<< +/Type /Page +/Contents 8312 0 R +/Resources 8310 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8246 0 R +/Annots [ 8282 0 R 8283 0 R 8292 0 R 8293 0 R 8294 0 R 8295 0 R 8296 0 R 8297 0 R 8298 0 R 8299 0 R 8300 0 R 8301 0 R 8302 0 R 8303 0 R 8304 0 R 8305 0 R 8306 0 R 8307 0 R 8308 0 R 8309 0 R ] +>> +endobj +8282 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 735.254 255.023 745.63] +/A << /S /GoTo /D (class_operation_code_af07ef9cbfd9be6c65a0e778636cc7d29) >> +>> +endobj +8283 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 722.569 156.394 732.837] +/A << /S /GoTo /D (class_operation_code_a2cc120dfb6e75603acd7fa8c6f813885) >> +>> +endobj +8292 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 694.99 210.954 705.465] +/A << /S /GoTo /D (class_operation_code_ac5d8c14445b243abacb4bdbf357d62ba) >> +>> +endobj +8293 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 667.412 189.524 677.68] +/A << /S /GoTo /D (class_operation_code_af6b5f9fc1d1cb173c4d078b7bee72e11) >> +>> +endobj +8294 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 639.834 180.549 650.102] +/A << /S /GoTo /D (class_operation_code_afcf10d9c4731816a135b1e010592423c) >> +>> +endobj +8295 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 612.256 188.126 622.524] +/A << /S /GoTo /D (class_operation_code_a0bb85825f6c89af48ed17ee6a7eff997) >> +>> +endobj +8296 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 584.677 191.273 595.152] +/A << /S /GoTo /D (class_operation_code_af0b568d437be437d31d9eb27588dc9f6) >> +>> +endobj +8297 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 557.099 180.809 567.574] +/A << /S /GoTo /D (class_operation_code_aa9c07799ccf6674d641bcf88fd65f27b) >> +>> +endobj +8298 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 529.521 214.693 539.995] +/A << /S /GoTo /D (class_operation_code_a1a42bb1ca4a7e0d72418ce410bbb8b0d) >> +>> +endobj +8299 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 501.942 163.971 512.417] +/A << /S /GoTo /D (class_operation_code_a42fcaeed38b9159d966bbc8495924ac9) >> +>> +endobj +8300 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 474.364 185.57 484.839] +/A << /S /GoTo /D (class_operation_code_a093642aa2579e1ad7c6aafc91e28c70c) >> +>> +endobj +8301 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 446.786 194.626 457.26] +/A << /S /GoTo /D (class_operation_code_aa33e652aaa457306f31741d8b4d78e80) >> +>> +endobj +8302 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 419.207 195.621 429.682] +/A << /S /GoTo /D (class_operation_code_ab70f6436c1fae5974e820c66ab291fd0) >> +>> +endobj +8303 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 391.521 200.75 402.104] +/A << /S /GoTo /D (class_operation_code_a1114cce9c7f9a533469a77f0ad48b3e5) >> +>> +endobj +8304 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 364.051 187.014 374.319] +/A << /S /GoTo /D (class_operation_code_a7af6e5117f55d3efc5299112e7865940) >> +>> +endobj +8305 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 336.472 198.993 346.947] +/A << /S /GoTo /D (class_operation_code_a22684fd1b6171ab6e21258a0a425a2d1) >> +>> +endobj +8306 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 308.787 187.292 319.369] +/A << /S /GoTo /D (class_operation_code_afdf083bb0c5cbd242b3a02b5af56854c) >> +>> +endobj +8307 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 281.316 174.058 291.584] +/A << /S /GoTo /D (class_operation_code_a4d45cf8e2d6766b2cc1613508ed92304) >> +>> +endobj +8308 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 253.63 198.795 264.212] +/A << /S /GoTo /D (class_operation_code_a508bcbe157617ab316b42f6e12551641) >> +>> +endobj +8309 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 226.159 192.77 236.634] +/A << /S /GoTo /D (class_operation_code_af8dfedb7aa2e0387b8a3732e97f79145) >> +>> +endobj +8313 0 obj +<< +/D [8311 0 R /XYZ 69.866 801.979 null] +>> +endobj +8314 0 obj +<< +/D [8311 0 R /XYZ 70.866 775.009 null] +>> +endobj +1538 0 obj +<< +/D [8311 0 R /XYZ 70.866 197.371 null] +>> +endobj +1542 0 obj +<< +/D [8311 0 R /XYZ 70.866 137.913 null] +>> +endobj +8315 0 obj +<< +/D [8311 0 R /XYZ 70.866 113.014 null] +>> +endobj +1546 0 obj +<< +/D [8311 0 R /XYZ 70.866 113.014 null] +>> +endobj +8316 0 obj +<< +/D [8311 0 R /XYZ 70.866 68.979 null] +>> +endobj +8310 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8337 0 obj +<< +/Length 1069 +/Filter /FlateDecode +>> +stream +xڥs(+tf졛34{j{Pdl3+# KY){:ȹ^Z|\&Yj$OI2Ynػ IhK&XStYutaҊz%afqZTU֋1Q Ļ!`8I'GQRo$]GB;%+rIZ?tA2z 炄~ڒo(BX?*wV󵮀[? +4C#|`oaL.w9zK+5V4z@N( $L IevԀZ +eic\`[V}[#^#m!I-y$}ubSRfjTn9((:ߏKIrg5 #aQrVZ]njٲ&g%nп=9KQ]Rǃn^ ._/+"G#GN{My8vt:S%㦿l^TmMKf&Z r=ˎ;N4Xpk %3pM?~aJzQ=ӎ"pA'\1F;੟KKRګB-\*oœ:!i.LKGPXx*N* ++'!-V@c'^3|ե| +`!.ߥl{}Ϫ{P5Imo.hr3"*Pkyn?-4&kQܪ?<AkJx"3P6ˢz@] Z0Zt Uu@fr8œXR<3ޑdڦ^c5\L<b&ؓOZl"칗qxʻؾSp1 ה+>Kt2x|K$ ]"HtƟp aiS˙4B_5hVץ|Ih# +endstream +endobj +8336 0 obj +<< +/Type /Page +/Contents 8337 0 R +/Resources 8335 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8246 0 R +>> +endobj +8338 0 obj +<< +/D [8336 0 R /XYZ 69.866 801.979 null] +>> +endobj +1550 0 obj +<< +/D [8336 0 R /XYZ 70.866 771.024 null] +>> +endobj +8328 0 obj +<< +/D [8336 0 R /XYZ 70.866 734.396 null] +>> +endobj +1554 0 obj +<< +/D [8336 0 R /XYZ 70.866 718.558 null] +>> +endobj +8321 0 obj +<< +/D [8336 0 R /XYZ 70.866 676.048 null] +>> +endobj +1558 0 obj +<< +/D [8336 0 R /XYZ 70.866 660.211 null] +>> +endobj +8317 0 obj +<< +/D [8336 0 R /XYZ 70.866 617.808 null] +>> +endobj +1562 0 obj +<< +/D [8336 0 R /XYZ 70.866 601.971 null] +>> +endobj +8329 0 obj +<< +/D [8336 0 R /XYZ 70.866 577.193 null] +>> +endobj +1566 0 obj +<< +/D [8336 0 R /XYZ 70.866 577.193 null] +>> +endobj +8334 0 obj +<< +/D [8336 0 R /XYZ 70.866 534.898 null] +>> +endobj +1570 0 obj +<< +/D [8336 0 R /XYZ 70.866 519.06 null] +>> +endobj +8330 0 obj +<< +/D [8336 0 R /XYZ 70.866 476.551 null] +>> +endobj +1574 0 obj +<< +/D [8336 0 R /XYZ 70.866 460.713 null] +>> +endobj +8327 0 obj +<< +/D [8336 0 R /XYZ 70.866 418.311 null] +>> +endobj +1578 0 obj +<< +/D [8336 0 R /XYZ 70.866 402.473 null] +>> +endobj +8331 0 obj +<< +/D [8336 0 R /XYZ 70.866 360.178 null] +>> +endobj +1582 0 obj +<< +/D [8336 0 R /XYZ 70.866 344.341 null] +>> +endobj +8318 0 obj +<< +/D [8336 0 R /XYZ 70.866 301.831 null] +>> +endobj +1586 0 obj +<< +/D [8336 0 R /XYZ 70.866 285.993 null] +>> +endobj +8322 0 obj +<< +/D [8336 0 R /XYZ 70.866 243.591 null] +>> +endobj +1590 0 obj +<< +/D [8336 0 R /XYZ 70.866 227.753 null] +>> +endobj +8319 0 obj +<< +/D [8336 0 R /XYZ 70.866 185.351 null] +>> +endobj +1594 0 obj +<< +/D [8336 0 R /XYZ 70.866 169.513 null] +>> +endobj +8323 0 obj +<< +/D [8336 0 R /XYZ 70.866 127.219 null] +>> +endobj +1598 0 obj +<< +/D [8336 0 R /XYZ 70.866 111.381 null] +>> +endobj +8324 0 obj +<< +/D [8336 0 R /XYZ 70.866 68.871 null] +>> +endobj +8335 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8351 0 obj +<< +/Length 1431 +/Filter /FlateDecode +>> +stream +x՘Mo84 I}衛A&!ۃb3P[tdي {0DCCr$<]~Nߦ/ Ӣj e +̳0ĄnK50Im #؇ߡJS'enQ +Aã~./ Dx3t*J)^9䄝ڋ) +DSNk [,&njQ#*y3x2JLAb6@BH9zJM%pUK+oڙ`"Si|(ܔVZ4 +{)LKBr0ˑ?k9eF5*U;l]ulψ:nuP[7B9}dW,5Lvmdq3[QHhНoolQr^+l^@9i7]PwA9 $)5ML<[eQZ^+ՔZ굂 ;, KHbD8*rz7'q˙fP.rLW[tzZAhu`˾n6̀(ӵ4Wv"IH1MzBw + +$.)j' gWkm;mfƭ OcVW+5HQZ`YRoAL}i 9oZ1B啰CAzaU˓TxrAV0+'bkV͖e w2E;+Kz )ieewůs\.o{YHd!=I, Bi2FX%IڅM A=s +KdKβ留sU*}5gtL.z87EH^o +endstream +endobj +8350 0 obj +<< +/Type /Page +/Contents 8351 0 R +/Resources 8349 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8246 0 R +/Annots [ 8339 0 R 8340 0 R 8341 0 R 8342 0 R 8343 0 R 8344 0 R 8345 0 R 8346 0 R 8347 0 R 8348 0 R ] +>> +endobj +8339 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 328.305 191.282 338.573] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a3e0593b8bebedc54bb00c47d6b079409) >> +>> +endobj +8340 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 314.071 165.863 324.546] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a8024f1b6758fb3fa6bcb54581965d7c9) >> +>> +endobj +8341 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 283.612 185.579 293.881] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a2baac6007f6dfe71804735eb52225e9a) >> +>> +endobj +8342 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 269.379 238.274 279.854] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a244b3fc5ac2e8b3a97428b6534ca9da6) >> +>> +endobj +8343 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 227.962 249.858 238.436] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a70f578a01789db64e2aefa055fba1732) >> +>> +endobj +8344 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 186.544 238.354 197.018] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a188165801d2b627e28b1476353e103ad) >> +>> +endobj +8345 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [497.841 170.41 525.406 180.133] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +8346 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 145.018 168.355 155.394] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a858cbc8aac0919b92ab761e92decf1da) >> +>> +endobj +8347 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 114.667 172.838 124.935] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a7fa2bc4b15e962459df490987acb4745) >> +>> +endobj +8348 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 84.208 166.356 94.477] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a2b1f96b419566ad8b1bfc78caf261f76) >> +>> +endobj +8352 0 obj +<< +/D [8350 0 R /XYZ 69.866 801.979 null] +>> +endobj +1602 0 obj +<< +/D [8350 0 R /XYZ 70.866 771.024 null] +>> +endobj +8320 0 obj +<< +/D [8350 0 R /XYZ 70.866 733.804 null] +>> +endobj +1606 0 obj +<< +/D [8350 0 R /XYZ 70.866 715.547 null] +>> +endobj +8325 0 obj +<< +/D [8350 0 R /XYZ 70.866 672.769 null] +>> +endobj +1610 0 obj +<< +/D [8350 0 R /XYZ 70.866 654.512 null] +>> +endobj +8333 0 obj +<< +/D [8350 0 R /XYZ 70.866 611.626 null] +>> +endobj +1614 0 obj +<< +/D [8350 0 R /XYZ 70.866 593.369 null] +>> +endobj +8326 0 obj +<< +/D [8350 0 R /XYZ 70.866 550.375 null] +>> +endobj +1618 0 obj +<< +/D [8350 0 R /XYZ 70.866 532.118 null] +>> +endobj +8332 0 obj +<< +/D [8350 0 R /XYZ 70.866 489.34 null] +>> +endobj +1622 0 obj +<< +/D [8350 0 R /XYZ 70.866 471.083 null] +>> +endobj +6985 0 obj +<< +/D [8350 0 R /XYZ 70.866 428.197 null] +>> +endobj +1626 0 obj +<< +/D [8350 0 R /XYZ 70.866 408.768 null] +>> +endobj +8353 0 obj +<< +/D [8350 0 R /XYZ 70.866 369.995 null] +>> +endobj +8349 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8369 0 obj +<< +/Length 1521 +/Filter /FlateDecode +>> +stream +xXKs6WVrF\8MQ{qsEXbC* ѿ.|S5uz@v};K;IXE3wbΒ(rTH8ܹu&DƉ{͚lj\Y-uoԽ'U-`}]g$ Kd,ֳaÙ&΃YvgaCt~q;g2.6M|Gpi4J$%f;s'S (.<әՋZU:E]K4s"GXP/jQW<;s/ЖHe׫Z;[ed\v{7ʀgF|~z@Av@#tyw$|f%1n8`'OuMUxIF|5sO䳠ٔX*ROϤo^m K~s(J+OqrW%d=VK1-櫢w?zw^ݖVRE,CwlVn-45ȕ=q5Vx YdiWVkpT4ֿbvCEc+6KoȜB4I<]Y3!6Կ}7fSc׉hNE{rJ8 8 uS1w&$a:>}̆Fr ]YuUn}=z }c̽ q=~G#98;:2l>sRv ;YTM,pkx}h'@]F P ~ +ܨ8:gxxf1M'EǞ͓TTm*Jj(Sa0PëJ/t,w}O3B̼h-dP!w!>9pf4$q +)pv؅d=4PL +1sz]%&B ', jɣ0f6QZ> wEڼ㹠jBCXدwpiH S°aU;M!"'1@D7=]a>|,qbѻɴ>Ix%cE|w^yma6_ tvh +tTH9g46ew&'Lls|Vv_DaպqfU o ҭ=DB<º(!)o>ke'y41f*way̟wotAȢ*R uKүwj[i R/袓)*W9J?в RFwK f +endstream +endobj +8368 0 obj +<< +/Type /Page +/Contents 8369 0 R +/Resources 8367 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8373 0 R +/Annots [ 8363 0 R 8364 0 R 8365 0 R 8366 0 R ] +>> +endobj +8363 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 589.013 100.276 599.487] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +8364 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 146.586 228.922 157.06] +/A << /S /GoTo /D (class_parameter_code_a944cc6bb015ba7083cc9819ac487a39e) >> +>> +endobj +8365 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 107.284 205.215 117.552] +/A << /S /GoTo /D (class_parameter_code_af4b80fb4f18f31a9cb58112385d6af8b) >> +>> +endobj +8366 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 67.983 180.854 78.251] +/A << /S /GoTo /D (class_parameter_code_a800c504da29fb79933110e88f28b8e8b) >> +>> +endobj +8370 0 obj +<< +/D [8368 0 R /XYZ 69.866 801.979 null] +>> +endobj +1630 0 obj +<< +/D [8368 0 R /XYZ 70.866 771.024 null] +>> +endobj +8361 0 obj +<< +/D [8368 0 R /XYZ 70.866 753.787 null] +>> +endobj +1634 0 obj +<< +/D [8368 0 R /XYZ 70.866 753.787 null] +>> +endobj +8354 0 obj +<< +/D [8368 0 R /XYZ 70.866 709.539 null] +>> +endobj +1638 0 obj +<< +/D [8368 0 R /XYZ 70.866 693.772 null] +>> +endobj +8356 0 obj +<< +/D [8368 0 R /XYZ 70.866 669.147 null] +>> +endobj +1642 0 obj +<< +/D [8368 0 R /XYZ 70.866 669.147 null] +>> +endobj +8359 0 obj +<< +/D [8368 0 R /XYZ 70.866 644.384 null] +>> +endobj +1646 0 obj +<< +/D [8368 0 R /XYZ 70.866 644.384 null] +>> +endobj +8358 0 obj +<< +/D [8368 0 R /XYZ 70.866 590.009 null] +>> +endobj +1650 0 obj +<< +/D [8368 0 R /XYZ 70.866 574.242 null] +>> +endobj +8357 0 obj +<< +/D [8368 0 R /XYZ 70.866 519.899 null] +>> +endobj +1654 0 obj +<< +/D [8368 0 R /XYZ 70.866 504.132 null] +>> +endobj +8360 0 obj +<< +/D [8368 0 R /XYZ 70.866 449.789 null] +>> +endobj +1658 0 obj +<< +/D [8368 0 R /XYZ 70.866 434.022 null] +>> +endobj +8355 0 obj +<< +/D [8368 0 R /XYZ 70.866 391.527 null] +>> +endobj +1662 0 obj +<< +/D [8368 0 R /XYZ 70.866 375.76 null] +>> +endobj +8362 0 obj +<< +/D [8368 0 R /XYZ 70.866 333.48 null] +>> +endobj +1666 0 obj +<< +/D [8368 0 R /XYZ 70.866 317.713 null] +>> +endobj +8371 0 obj +<< +/D [8368 0 R /XYZ 70.866 275.325 null] +>> +endobj +1670 0 obj +<< +/D [8368 0 R /XYZ 70.866 258.386 null] +>> +endobj +8372 0 obj +<< +/D [8368 0 R /XYZ 70.866 186.72 null] +>> +endobj +8367 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8406 0 obj +<< +/Length 2005 +/Filter /FlateDecode +>> +stream +xZY~_APe1M\uRr͌}=rnֈ +Kʯ9HR'^O4 ƻW˷gv4bmS#=uEb|1#yp.,.KkB|WU\<Ǿo^8ЕN3e!HAl7 +skxk.w Jç!(7FȎ۔&gaتWӠ8rrJ J.]I3MW|=7"Gz^$@]=o(Es8R|%a:D)wa :JMA(q,=ίN(KP+X5p%YRјwx? Rՙ/K0  kca+kR/kd ȤE/'O+u zȶwI? V%eŌp,R F]M0hǻ]T4!\n WBF:"]!hD!$gIBO&.! K?ud74xCR1%I,WDq= QUJMݸ\OV(B\\vr=n`?BfԇuV0`k^W`rV84%ړߎ%"m0$.3[+RXސ66̓BKن +<0!ڱN> ?X#Vn,.0KF_y7}[< 쁿s)5}>Mhqd@zu{ yб*Sp)?C]SSO@:L=嬈dEG +PC;vN K҉^GoW<:/O5zݾ|9mMmVO +endstream +endobj +8405 0 obj +<< +/Type /Page +/Contents 8406 0 R +/Resources 8404 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8373 0 R +/Annots [ 8377 0 R 8378 0 R 8379 0 R 8380 0 R 8381 0 R 8382 0 R 8383 0 R 8384 0 R 8385 0 R 8386 0 R 8387 0 R 8388 0 R 8389 0 R 8390 0 R 8391 0 R 8392 0 R 8393 0 R 8394 0 R 8395 0 R 8396 0 R 8397 0 R 8398 0 R 8399 0 R 8400 0 R 8401 0 R ] +>> +endobj +8377 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 734.402 195.128 744.67] +/A << /S /GoTo /D (class_parameter_code_a8a0f2f34b88d3da46ad79b46e2e32835) >> +>> +endobj +8378 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 695.709 197.567 706.291] +/A << /S /GoTo /D (class_parameter_code_aeee59502abab94712ec48dd74e717138) >> +>> +endobj +8379 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 657.232 177.599 667.706] +/A << /S /GoTo /D (class_parameter_code_a0e764e415c813d30ccd343d6e58998dc) >> +>> +endobj +8380 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 618.647 212.514 629.121] +/A << /S /GoTo /D (class_parameter_code_a2ef96c9739f0db1265d3d2f9555c5dee) >> +>> +endobj +8381 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 591.021 204.113 601.495] +/A << /S /GoTo /D (class_parameter_code_ab7f1030635b7abcec92d1986a8b892f2) >> +>> +endobj +8382 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 563.394 172.838 573.663] +/A << /S /GoTo /D (class_parameter_code_a89266a1af9d29e429ee93fde92e295fb) >> +>> +endobj +8383 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 535.768 182.36 546.243] +/A << /S /GoTo /D (class_parameter_code_abbfa6241444b2357788deed7df0a9eb8) >> +>> +endobj +8384 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 508.142 188.287 518.617] +/A << /S /GoTo /D (class_parameter_code_adc5f593d0a28eb9285f1f82f3ecd8c2d) >> +>> +endobj +8385 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 480.516 209.761 490.991] +/A << /S /GoTo /D (class_parameter_code_a9518836815815703bcec8e838602112c) >> +>> +endobj +8386 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 452.89 166.356 463.158] +/A << /S /GoTo /D (class_parameter_code_ae7ded9f621203e1055637f052dbed9a1) >> +>> +endobj +8387 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 425.264 191.282 435.532] +/A << /S /GoTo /D (class_parameter_code_aee141dbaedc9a7cec46a50ff249e9169) >> +>> +endobj +8388 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [282.05 410.643 309.615 420.27] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8389 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.107 410.643 400.672 420.27] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8390 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 397.638 171.395 407.906] +/A << /S /GoTo /D (class_parameter_code_a0009ad9f8e50d67349e3295cb7420ea0) >> +>> +endobj +8391 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 369.904 212.119 380.28] +/A << /S /GoTo /D (class_parameter_code_a96257bad8abedbae6f1f3bb6bcb292d7) >> +>> +endobj +8392 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 331.427 178.317 341.901] +/A << /S /GoTo /D (class_parameter_code_a5f9268263fa113b241f3b0af5e388fe6) >> +>> +endobj +8393 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 303.801 165.863 314.275] +/A << /S /GoTo /D (class_parameter_code_a7269ad7651361581a36c94f0eea57e6f) >> +>> +endobj +8394 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 276.175 185.579 286.443] +/A << /S /GoTo /D (class_parameter_code_ae3588b14921f4873c0b2de805fb0c62b) >> +>> +endobj +8395 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 248.548 199.486 259.023] +/A << /S /GoTo /D (class_parameter_code_af3ad8a7afbfeece08aa218613827fdbd) >> +>> +endobj +8396 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 220.922 213.706 231.191] +/A << /S /GoTo /D (class_parameter_code_a6dd3c089d5163862f166f84fe1739ea5) >> +>> +endobj +8397 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 193.296 219.678 203.565] +/A << /S /GoTo /D (class_parameter_code_a11f321547e2882495b0a72d0dd3253d0) >> +>> +endobj +8398 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 165.67 187.776 176.145] +/A << /S /GoTo /D (class_parameter_code_a482f50451b3deaac386d9d5993ec6d86) >> +>> +endobj +8399 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 138.044 180.316 148.519] +/A << /S /GoTo /D (class_parameter_code_a655b4c0d24601789dd140608f4473c57) >> +>> +endobj +8400 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 110.418 174.829 120.893] +/A << /S /GoTo /D (class_parameter_code_a4ec68978f777837045882cd08b596f70) >> +>> +endobj +8401 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 82.792 170.337 93.266] +/A << /S /GoTo /D (class_parameter_code_a1530bb122ef29d3e24143cf0aefe07e8) >> +>> +endobj +8407 0 obj +<< +/D [8405 0 R /XYZ 69.866 801.979 null] +>> +endobj +8404 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8458 0 obj +<< +/Length 2208 +/Filter /FlateDecode +>> +stream +xZKs6W| U5&=Lwo;CYaQX>ğK\i<B3F36`2~`vo%"A)<#j-j8”hw [mjxب;\Dx׵܅g̝c}X 2VKdǚmS>SW#dIPLY:oY rfn`r*(Q2 &4io"U|RG5Ǒ5"ќ>o~B%wt +yll֍;FDcݴ"zZRB6LkQ$ROY'5B;,W__Q79)-=@lX'*GR$!IzvȒ젓$v$9WBD=BndޮΑcZMнWjTeSCmg jIpW\hu*+E]d"boV1K̷(v{D;-͜k +Esڵ5;8+B0+.OSs$4C!Q-;'yX0&n(M3w ȼ*w(f!tsX0)F"'UW~a>A8/`!Rr36˛Xc.+~xOќڡ_y C CD}WVOiZsJy҃NO)BM6k.HO|.?') +ݹ OUU`k; U{Y Wo*[FQi%stF1+}T^v4!G=p{F׃;q \5·,SAY#A!x=13йwhԇ $<ş6y1EF[AхZh ȥ^~ꚗp[ RYA$V_ڳvBF:^JvS]~]QqlةlU B;Q,"r=f8K ]^ff~`G!o; FEW8)* PR5m^Sg%&iiT8eRpX(lFS+\"Rbjݙ8x+\Π¥]lDADy)دK ֏'HC3-CWzB쭕*q*KU)+ǁ^ ;%;or3X9"`lB8 ]s؉lxjg4=v3{?5`y&xyFU+^}hm[Q2϶[[1}OHߏ`Li)La⃜>ȅ槄L@57#i2*&>5%0/'*є?Hx@<"!8Zx \2 vC&^be!&Ԝ6{B\vH +p>&+:]oZcP@và>ݗn>;@jB|m~B!~ϒ =TTEhأ^U*27I:OJZ*;gO|oxzsjjb%mT_x>-0Tp. Uı[=҈m|qNލdpF#&C_ӊNV3pr*YM"[ >Ju+ݗkȲ]$i*~IN_K1Ic " n -~σ~`QBy/JQw"яImjEr.GGghHp;H` &*sODM3 m +endstream +endobj +8457 0 obj +<< +/Type /Page +/Contents 8458 0 R +/Resources 8456 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8373 0 R +/Annots [ 8402 0 R 8403 0 R 8431 0 R 8432 0 R 8433 0 R 8434 0 R 8435 0 R 8460 0 R 8436 0 R 8437 0 R 8438 0 R 8439 0 R 8440 0 R 8441 0 R 8442 0 R 8443 0 R 8444 0 R 8445 0 R 8446 0 R 8447 0 R 8448 0 R 8449 0 R 8450 0 R 8451 0 R 8452 0 R 8453 0 R ] +>> +endobj +8402 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 758.177 206.13 768.652] +/A << /S /GoTo /D (class_parameter_code_a50d6ee26796535284d0f9a244300de28) >> +>> +endobj +8403 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 730.008 224.941 740.482] +/A << /S /GoTo /D (class_parameter_code_a82aa021471b89acff7663a664b9a3fc9) >> +>> +endobj +8431 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 701.838 158.887 712.312] +/A << /S /GoTo /D (class_parameter_code_a3f9bca747a97dfebb9985a99cefc8d46) >> +>> +endobj +8432 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 673.668 161.38 684.143] +/A << /S /GoTo /D (class_parameter_code_a56c07276d621b868fbe18ce04a8b3ede) >> +>> +endobj +8433 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 645.498 205.583 655.973] +/A << /S /GoTo /D (class_parameter_code_a71f83a62a57f9f2191e4bf2d3c6cd5d3) >> +>> +endobj +8434 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 617.329 181.168 627.803] +/A << /S /GoTo /D (class_parameter_code_a4c7eb043b3ab8753feaf83447e1d64f3) >> +>> +endobj +8435 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [496.836 602.339 525.406 612.063] +/A << /S /GoTo /D (class_actor_properties) >> +>> +endobj +8460 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 591.477 148.038 601.104] +/A << /S /GoTo /D (class_actor_properties) >> +>> +endobj +8436 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 578.092 195.173 588.675] +/A << /S /GoTo /D (class_parameter_code_ae14214ee59dd64d41c3d5c8796f6dc30) >> +>> +endobj +8437 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 550.03 200.015 560.505] +/A << /S /GoTo /D (class_parameter_code_addcfa8d34a8a951c0249688ba5a87388) >> +>> +endobj +8438 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 521.86 165.863 532.335] +/A << /S /GoTo /D (class_parameter_code_aae1727a167cc76e53eefa0330dd3ffb1) >> +>> +endobj +8439 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 493.691 235.145 504.165] +/A << /S /GoTo /D (class_parameter_code_a687905530b32439509cf6375402a3e09) >> +>> +endobj +8440 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 454.562 164.867 465.037] +/A << /S /GoTo /D (class_parameter_code_a56d42106e3806d826ee38fdf70ccdfe9) >> +>> +endobj +8441 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 426.392 172.973 436.661] +/A << /S /GoTo /D (class_parameter_code_a7dafd17f70c1621b05c4732cca997fa7) >> +>> +endobj +8442 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 387.264 195.577 397.532] +/A << /S /GoTo /D (class_parameter_code_a7b9f7c20130b6c6b7cbae3b66d48292b) >> +>> +endobj +8443 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 348.135 155.901 358.403] +/A << /S /GoTo /D (class_parameter_code_ad66570a6adf1aa47db32f6b97db3eb71) >> +>> +endobj +8444 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 309.006 154.637 319.481] +/A << /S /GoTo /D (class_parameter_code_ac3df3792ba12483dfc9b7b1e90fe5817) >> +>> +endobj +8445 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.949 294.017 246.93 303.74] +/A << /S /GoTo /D (class_event_code_a7ce7fa1807af9b040e3066ef62a35e6c) >> +>> +endobj +8446 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 280.837 238.274 291.311] +/A << /S /GoTo /D (class_parameter_code_a0ebf68ac761870ce49218902d58d2b9b) >> +>> +endobj +8447 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 241.708 249.858 252.183] +/A << /S /GoTo /D (class_parameter_code_a0c9894a9caad2641e8053124e3001c74) >> +>> +endobj +8448 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 202.579 178.819 212.848] +/A << /S /GoTo /D (class_parameter_code_a0a4e0bd7b7dfb7cc503e305c6f70e126) >> +>> +endobj +8449 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 163.451 238.354 173.925] +/A << /S /GoTo /D (class_parameter_code_a2a6f0892c24a74942ad1fd06b429e1f7) >> +>> +endobj +8450 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [497.841 148.461 525.406 158.185] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8451 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 124.322 197.746 134.797] +/A << /S /GoTo /D (class_parameter_code_ad05db066ac86d9670539d1ec1cb9ef55) >> +>> +endobj +8452 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 96.152 234.356 106.627] +/A << /S /GoTo /D (class_parameter_code_a75d56249641f1fbb3dee2240561aee2f) >> +>> +endobj +8453 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 67.983 267.244 78.457] +/A << /S /GoTo /D (class_parameter_code_aa15af7fc19b63e3842c1730d6c464853) >> +>> +endobj +8459 0 obj +<< +/D [8457 0 R /XYZ 69.866 801.979 null] +>> +endobj +8456 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8503 0 obj +<< +/Length 2104 +/Filter /FlateDecode +>> +stream +xZsD_ VwuW)Mӯ^Bba-omYk2眽4ms~&!˳ogO.I4|gɉDQgv>hq#&rdv!Î5sQܳ˳_(L%mL7'۝}H5|{ON9AaGwgĐ9|*)AIH7%p +PI,?PC5K֣{<g|AY˵r/Jڝ/ =j^ +!eGyE^r= 9q4ɌͪRȁjO;-8 jOCnܖ> WKAHRY5"k[ughO Sb&&?+K} O<-Z|XmwpYT`V +[,*ܘ ŎZ'BڛRte_!v>¥Giw'V,?(9Ǟ?hZ{Nk0R]ow\pǁG-j^d ^ Z\SnnFa)ՂH٭Ђ컼ގ"5b^֫Q͍{[s$:vД|tc+1҉zdBORIϧ̄=Xv+*c^Qn`la> +K*Y|8+kaofd~VPyC?_MQA,7 yCm%0LZj Oj+jQ-tDu-9'ӴkuQdjCU٬Bƿ~V՜/yْ:-9l7<tTIJ9n5G_]_=akc_=~VH1|1ɹqꜫ : i ֲj1Od"P#Qc"ϔGVi4eiQ WzJfvF/~Y=wBA,ѭN-|>n0ϊwT8$joDĥ?=׼ PR5?:DՉ[霬7c/s` +X|5xw4T$Q #%ng&㛽*Q} C |Rq%&*Q*=݆ko]F0>8$ֶAv(6> (+*fÝ!>JV~SBmQ(D\ñzNYֆs 7[(5ʐv==i3FeVfTޠ7 _~`9ӼOUq`?#DWe 2uhw9ַ=l+Qs]Xk#dbOd9FV\juSƭ2&q5o_ڜT&ƬțeV]/=0m-4;=2?ѽ75B %{0m Uk#Ϊ0A%g:EbJ'F^Mv0#6,:Z^9V_+W'-d(1>RweYXӷ/.O޼(3:.:X( N۔ҷuM~ *9Q&;E+n~ly( ѹ]}qsۦ14gRvt-(/ Gaa-lh}>1SޘdzI~J iY>6B\/D<唸qF +?uI؍s-^;2B +'^ɬra-VQOlsz)ȵ@D}WӜIK +++űx=wGź'%.l;*_WU/)*z +d^ڤ~O 2Z6.ʼ6Rn2BmP@Cmhw +endstream +endobj +8502 0 obj +<< +/Type /Page +/Contents 8503 0 R +/Resources 8501 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8373 0 R +/Annots [ 8454 0 R 8455 0 R 8481 0 R 8482 0 R 8483 0 R 8484 0 R 8485 0 R 8486 0 R 8487 0 R 8488 0 R 8489 0 R 8490 0 R 8491 0 R 8492 0 R 8493 0 R 8494 0 R 8495 0 R 8496 0 R 8497 0 R 8498 0 R 8499 0 R 8500 0 R ] +>> +endobj +8454 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 743.997 272.722 754.472] +/A << /S /GoTo /D (class_parameter_code_a2d0752d2a36dcc59026ee5afbc475831) >> +>> +endobj +8455 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 713.644 188.018 724.119] +/A << /S /GoTo /D (class_parameter_code_ac0aa424c63a083d5dd46e45fd0cd071f) >> +>> +endobj +8481 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 672.332 182.961 682.807] +/A << /S /GoTo /D (class_parameter_code_a2f03a14e3f937193ed05b44b332c72f4) >> +>> +endobj +8482 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 631.02 184.539 641.495] +/A << /S /GoTo /D (class_parameter_code_a35b5bf3035e3e77e8f6b3af0e7f3cbdd) >> +>> +endobj +8483 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 589.601 168.355 600.183] +/A << /S /GoTo /D (class_parameter_code_a27a0956c0cf773371a4a45cab7ac538e) >> +>> +endobj +8484 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 559.355 169.619 569.624] +/A << /S /GoTo /D (class_parameter_code_ab160bb168c782479330c2bc83e20c7e5) >> +>> +endobj +8485 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 529.002 219.947 539.271] +/A << /S /GoTo /D (class_parameter_code_a48a87958496857f3248adf5dc1a4ce04) >> +>> +endobj +8486 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 498.649 222.619 509.124] +/A << /S /GoTo /D (class_parameter_code_a629a7615ac2fd13c2872b459bb7ea246) >> +>> +endobj +8487 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.56 482.665 390.125 492.291] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8488 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [434.775 482.665 473.984 492.291] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8489 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 468.188 237.566 478.564] +/A << /S /GoTo /D (class_parameter_code_a99d43f3bd5c63476c0861df5c3a0c851) >> +>> +endobj +8490 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.146 452.215 334.711 461.938] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8491 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 437.943 206.955 448.418] +/A << /S /GoTo /D (class_parameter_code_ac9de2b206b5285ede493970ebe773af4) >> +>> +endobj +8492 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 407.482 169.35 417.858] +/A << /S /GoTo /D (class_parameter_code_abf9a97fb9da41635cdd881baaa9312d3) >> +>> +endobj +8493 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 377.237 181.114 387.505] +/A << /S /GoTo /D (class_parameter_code_aead33191ff4786c0de1241b940d8ca61) >> +>> +endobj +8494 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 346.776 188.78 357.152] +/A << /S /GoTo /D (class_parameter_code_a96213fcf8761742fa24c3f4e1c0e264e) >> +>> +endobj +8495 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 316.423 194.546 326.799] +/A << /S /GoTo /D (class_parameter_code_a016c3b6d2d92b725e08969cca989d4bc) >> +>> +endobj +8496 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 286.178 210.218 296.446] +/A << /S /GoTo /D (class_parameter_code_a010c8bd777442bf8c547c5ecf6874cf5) >> +>> +endobj +8497 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 255.825 201.736 266.299] +/A << /S /GoTo /D (class_parameter_code_ae5c9b6ccc15e66103106afc52dfaa90b) >> +>> +endobj +8498 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 225.472 205 235.74] +/A << /S /GoTo /D (class_parameter_code_adf15cecb04e6ace568d821177e6a8ec0) >> +>> +endobj +8499 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 195.119 201.512 205.387] +/A << /S /GoTo /D (class_parameter_code_a9351f4aeb562c43eddf27290cffb5684) >> +>> +endobj +8500 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.958 164.658 212.2 175.24] +/A << /S /GoTo /D (class_parameter_code_a02b82fff7bf512f878d491a81655cc8a) >> +>> +endobj +8504 0 obj +<< +/D [8502 0 R /XYZ 69.866 801.979 null] +>> +endobj +1674 0 obj +<< +/D [8502 0 R /XYZ 70.866 131.549 null] +>> +endobj +8501 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F82 6068 0 R /F73 4864 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8528 0 obj +<< +/Length 1143 +/Filter /FlateDecode +>> +stream +x͘Ks6_3=$rq&qXL"!SP >FJ@.].BcV`VckXO $$ @K+05hU1dE,:8tŻrrĵ|YxBЉB빝[@uD?H dW6$ !V +InhMuMΊ)/ZOKlu$./b-*EU76KӃMR&y15k~QCfc⑁; "\-VȅnG nay2%VV /6զN RՔPXu)E)ޮXgH:z$/pt'stOq4hQ͍&U:aCN^f;bl\d8aX:aIZs՛$RcRU*jnы͑聊ةq^ DwYaIeJ;$Icyi!̍&϶{=:ȦhMQw?%k9y'fWҪ_67@QmCD07ᐥqw#'T6;~ռ礝2ZAsqt4i gz6Krۅף ߘ~Jmޫ7\vE1UڞoMzۼ<LJFvdyL{16`M~(NW8 Lo̔ 1FIrϫZay "R۹K}<((iE0j[9ɷ0Ԉ̃lDhz| CgMɖ\zxdCL7D,~h, +=oln0x"f Li*iu/a>XBZ"+)Er1[uS%lP \URjAm˸տ2 =gJM,o+R*ywmc Z=Rh#0$SG(>$~<}m[VFgS(|+J>(@05†2(jKH7=մ?N.%xIFtt +endstream +endobj +8527 0 obj +<< +/Type /Page +/Contents 8528 0 R +/Resources 8526 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8373 0 R +/Annots [ 8524 0 R 8525 0 R ] +>> +endobj +8524 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [262.204 468.206 292.61 478.681] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8525 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [363.378 468.206 393.784 478.681] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8529 0 obj +<< +/D [8527 0 R /XYZ 69.866 801.979 null] +>> +endobj +1678 0 obj +<< +/D [8527 0 R /XYZ 70.866 771.024 null] +>> +endobj +8429 0 obj +<< +/D [8527 0 R /XYZ 70.866 753.893 null] +>> +endobj +1682 0 obj +<< +/D [8527 0 R /XYZ 70.866 753.893 null] +>> +endobj +8430 0 obj +<< +/D [8527 0 R /XYZ 70.866 709.857 null] +>> +endobj +1686 0 obj +<< +/D [8527 0 R /XYZ 70.866 694.965 null] +>> +endobj +8474 0 obj +<< +/D [8527 0 R /XYZ 70.866 652.574 null] +>> +endobj +1690 0 obj +<< +/D [8527 0 R /XYZ 70.866 637.682 null] +>> +endobj +8413 0 obj +<< +/D [8527 0 R /XYZ 70.866 583.444 null] +>> +endobj +1694 0 obj +<< +/D [8527 0 R /XYZ 70.866 568.552 null] +>> +endobj +8418 0 obj +<< +/D [8527 0 R /XYZ 70.866 526.27 null] +>> +endobj +1698 0 obj +<< +/D [8527 0 R /XYZ 70.866 511.378 null] +>> +endobj +8423 0 obj +<< +/D [8527 0 R /XYZ 70.866 469.202 null] +>> +endobj +1702 0 obj +<< +/D [8527 0 R /XYZ 70.866 454.31 null] +>> +endobj +8425 0 obj +<< +/D [8527 0 R /XYZ 70.866 412.028 null] +>> +endobj +1706 0 obj +<< +/D [8527 0 R /XYZ 70.866 397.136 null] +>> +endobj +8426 0 obj +<< +/D [8527 0 R /XYZ 70.866 354.745 null] +>> +endobj +1710 0 obj +<< +/D [8527 0 R /XYZ 70.866 339.853 null] +>> +endobj +8424 0 obj +<< +/D [8527 0 R /XYZ 70.866 297.57 null] +>> +endobj +1714 0 obj +<< +/D [8527 0 R /XYZ 70.866 282.678 null] +>> +endobj +8428 0 obj +<< +/D [8527 0 R /XYZ 70.866 240.396 null] +>> +endobj +1718 0 obj +<< +/D [8527 0 R /XYZ 70.866 225.504 null] +>> +endobj +8469 0 obj +<< +/D [8527 0 R /XYZ 70.866 183.328 null] +>> +endobj +1722 0 obj +<< +/D [8527 0 R /XYZ 70.866 168.436 null] +>> +endobj +8514 0 obj +<< +/D [8527 0 R /XYZ 70.866 126.046 null] +>> +endobj +1726 0 obj +<< +/D [8527 0 R /XYZ 70.866 111.154 null] +>> +endobj +8411 0 obj +<< +/D [8527 0 R /XYZ 70.866 68.979 null] +>> +endobj +8526 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8534 0 obj +<< +/Length 1527 +/Filter /FlateDecode +>> +stream +xXo6~_Q@{hӴh-]=e}`e&j$7;%KnQ 0Lx$}<ɽ{{g/WieA$RdI⥹ --3&"YZ5?i^bUT;^ P̲ Wlf<Ƌ0#b}>LXtFG yguH"s +S5-+31۷2bV,A,\tz_ht}S5eE?S'y7ԅ ]zg0Ƚao CeIV 6fo KJWyGYaA1+rE+V0LwBxn䉉` rpѹXk5e*\V~8 _D0 cT۪/GRsGGV:y8ݖX^,uMW_ƬU7XǕ R44} -EPV>G假bXAǴv;c{[1^zctj_"X'0B͈L{;XRՖjՈHw"DZJ\BG\JT~ꭾԍ`U&mM`KF왆+v7Bj oKKh*vMkiB5‚d=BwNXV ^Ϧx2FHzUlTQ4_]P>G>lg;ӥWo&IN&M"i$I +t=!9PoLT"QbP$ANa;rL+1D`tHx(Տ@)' p =5PLC;]w6CE. .98hH|{c{U^.jL -> +ٹ>'ӁO(:fn|J%i }֘S-ӼkuExdץ3T>gr@q>1nID:t\!LK5LI(9n |Xj:}Muú T̈́`# #Ā1XeY5wQvk9vM2F˕ZB)'7>_nKȗ.#²b]F{"؏{vv(7*GOG=f4sX>Pc0nw;ݴg3Q31{gL̮7v8ON .s(m<ƚ/D08{WR {^w^=CQPs + +ZݝN:c6)c jczG3;5⍣¦\ +eMOG1> +endobj +8530 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 594.36 100.276 604.835] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8531 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.999 379.868 525.406 390.45] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8535 0 obj +<< +/D [8533 0 R /XYZ 69.866 801.979 null] +>> +endobj +1730 0 obj +<< +/D [8533 0 R /XYZ 70.866 771.024 null] +>> +endobj +8470 0 obj +<< +/D [8533 0 R /XYZ 70.866 734.392 null] +>> +endobj +1734 0 obj +<< +/D [8533 0 R /XYZ 70.866 719.074 null] +>> +endobj +8478 0 obj +<< +/D [8533 0 R /XYZ 70.866 664.82 null] +>> +endobj +1738 0 obj +<< +/D [8533 0 R /XYZ 70.866 649.502 null] +>> +endobj +8476 0 obj +<< +/D [8533 0 R /XYZ 70.866 595.356 null] +>> +endobj +1742 0 obj +<< +/D [8533 0 R /XYZ 70.866 580.038 null] +>> +endobj +8475 0 obj +<< +/D [8533 0 R /XYZ 70.866 525.785 null] +>> +endobj +1746 0 obj +<< +/D [8533 0 R /XYZ 70.866 510.466 null] +>> +endobj +8464 0 obj +<< +/D [8533 0 R /XYZ 70.866 456.213 null] +>> +endobj +1750 0 obj +<< +/D [8533 0 R /XYZ 70.866 440.895 null] +>> +endobj +8462 0 obj +<< +/D [8533 0 R /XYZ 78.344 370.904 null] +>> +endobj +1754 0 obj +<< +/D [8533 0 R /XYZ 70.866 355.402 null] +>> +endobj +8520 0 obj +<< +/D [8533 0 R /XYZ 70.866 311.4 null] +>> +endobj +1758 0 obj +<< +/D [8533 0 R /XYZ 70.866 296.082 null] +>> +endobj +8463 0 obj +<< +/D [8533 0 R /XYZ 70.866 253.784 null] +>> +endobj +1762 0 obj +<< +/D [8533 0 R /XYZ 70.866 238.465 null] +>> +endobj +8375 0 obj +<< +/D [8533 0 R /XYZ 70.866 196.167 null] +>> +endobj +1766 0 obj +<< +/D [8533 0 R /XYZ 70.866 180.849 null] +>> +endobj +8522 0 obj +<< +/D [8533 0 R /XYZ 70.866 128.38 null] +>> +endobj +1770 0 obj +<< +/D [8533 0 R /XYZ 70.866 113.061 null] +>> +endobj +8521 0 obj +<< +/D [8533 0 R /XYZ 70.866 68.979 null] +>> +endobj +8532 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8539 0 obj +<< +/Length 1230 +/Filter /FlateDecode +>> +stream +xڵXr6+8^ .\vIkVqEbC ZO>d7JCs..b:q8v)c2M|xsHk/.pR/YFtM7у%5k5IpԻ_}fgP ح$~Bg'>9٩['? +Q._3`l>dQ'+CW|ЛCfrgNtCឧ0vsy>W`~4PZO/t`p(T7!^PIvkN9+h7Q& ^M%ڎD{ka:&:'Bwݳ0('#Fh`ڕV=ڎ7h" ׭f-˶l{]J ԹpE:k3o.ծpHuK0HW!(֮6DT"V;P~TdIvhcY'h^h;XoL(MQwې̴xHZe^8Iպō4TQh`j[p+TE6G E([];p=7}qܐdQ٭Չg| yvГ(hvQ -e . ;; +U/\XJ,#կ( (6|enfݽnPQb~{J mpM%F+Z %wdD7 KF9.Xi/ ˎ),S8j1 32>+?=7mޤM G3??h{fNNhfsoTh`s#25$;Ax aZ:fK> +endobj +8536 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.869 67.875 222.961 78.457] +/A << /S /GoTo /D (class_event_code_a7ce7fa1807af9b040e3066ef62a35e6c) >> +>> +endobj +8540 0 obj +<< +/D [8538 0 R /XYZ 69.866 801.979 null] +>> +endobj +1774 0 obj +<< +/D [8538 0 R /XYZ 70.866 771.024 null] +>> +endobj +8408 0 obj +<< +/D [8538 0 R /XYZ 70.866 734.097 null] +>> +endobj +1778 0 obj +<< +/D [8538 0 R /XYZ 70.866 717.302 null] +>> +endobj +8519 0 obj +<< +/D [8538 0 R /XYZ 70.866 664.645 null] +>> +endobj +1782 0 obj +<< +/D [8538 0 R /XYZ 70.866 647.851 null] +>> +endobj +8412 0 obj +<< +/D [8538 0 R /XYZ 70.866 603.365 null] +>> +endobj +1786 0 obj +<< +/D [8538 0 R /XYZ 70.866 586.571 null] +>> +endobj +8479 0 obj +<< +/D [8538 0 R /XYZ 70.866 543.977 null] +>> +endobj +1790 0 obj +<< +/D [8538 0 R /XYZ 70.866 527.182 null] +>> +endobj +8480 0 obj +<< +/D [8538 0 R /XYZ 70.866 484.589 null] +>> +endobj +1794 0 obj +<< +/D [8538 0 R /XYZ 70.866 467.794 null] +>> +endobj +8505 0 obj +<< +/D [8538 0 R /XYZ 70.866 425.308 null] +>> +endobj +1798 0 obj +<< +/D [8538 0 R /XYZ 70.866 408.514 null] +>> +endobj +8415 0 obj +<< +/D [8538 0 R /XYZ 70.866 365.812 null] +>> +endobj +1802 0 obj +<< +/D [8538 0 R /XYZ 70.866 349.018 null] +>> +endobj +8421 0 obj +<< +/D [8538 0 R /XYZ 70.866 306.424 null] +>> +endobj +1806 0 obj +<< +/D [8538 0 R /XYZ 70.866 289.629 null] +>> +endobj +8465 0 obj +<< +/D [8538 0 R /XYZ 70.866 247.143 null] +>> +endobj +1810 0 obj +<< +/D [8538 0 R /XYZ 70.866 230.349 null] +>> +endobj +8471 0 obj +<< +/D [8538 0 R /XYZ 70.866 187.755 null] +>> +endobj +1814 0 obj +<< +/D [8538 0 R /XYZ 70.866 170.961 null] +>> +endobj +7788 0 obj +<< +/D [8538 0 R /XYZ 70.866 128.259 null] +>> +endobj +1818 0 obj +<< +/D [8538 0 R /XYZ 70.866 111.465 null] +>> +endobj +8409 0 obj +<< +/D [8538 0 R /XYZ 70.866 68.871 null] +>> +endobj +8537 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8545 0 obj +<< +/Length 1789 +/Filter /FlateDecode +>> +stream +xڵXKs6WVr&b)8qj;Ni[)B$%+I%Og4k,v`{~z:z.O"dYM< +, 3MgEQe3y My-6ߨrR ʎNGF,W.GD>xQO +H.$4-jQdBb u|@k0rj!_gNjZ Ÿ,ZR&/b)\9t/sעD4r@86v +|OEޘ'aΆ81ǰZNZu".u/x xK*EmJ q2I; bXn%zaYx`Z}&9ؐZ$܉tSZbA*F5@k0NҌ1զ]=,fT֫Fr&P*h㯪jBr~<t&?7qVΩfoЀN˶ 1!AŦ5.[؃ZKccY/4U3XA +ʮ( (HVRKcTtzd  6ʂƠ+O0V +Q+a2@Kdx0ki3ɧ](RgB[t>ύ+àKM%mjѓI1OA,+Cεpc8R\mLqݦ_P ytSc7G-͒oiqQ + f$oF dSP;.S5 ܮ'ˍ3y4A@5Tv>EU٤<œ6(% LmNܥ3fwJ,denstzXjFrY:Ylk],BxȌײSZPq-5Yfvq2q# +PA@X6t^V3A͖E5m cr4 Z սPV$z+?Aėh2f֗Zdw^̕w7oT~\Q +cs$4xmpo\\Qy^,a5l_?ژK0 W٣aj10mj&qQsizlQcWO.[gG|#JC流'tGIݭಁlYvJY&cS|Np5eٌͅoj' GÞsƇd,b%oχ8?a~I.Fx\NU$Q=tOQLN6._\<ߜEeZ dS h:D}o3%m(Zo0h,1U +OlE7i?K>bmq4ooBٽqU(zN*'pO2q}FyaàO$|4]][Ž@+|k*t_~.x;0XfX eOB>ΦyXc>ͺOY,AK,@22\T4 &69Lg-a&XN5,bPxO($Z?63Yh7> +endobj +8542 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.64 252.171 273.593 262.753] +/A << /S /GoTo /D (class_game_property_key_afb02ab4aae7ce3f39f4cf0ee5bc9b9c0) >> +>> +endobj +8546 0 obj +<< +/D [8544 0 R /XYZ 69.866 801.979 null] +>> +endobj +1822 0 obj +<< +/D [8544 0 R /XYZ 70.866 771.024 null] +>> +endobj +8410 0 obj +<< +/D [8544 0 R /XYZ 70.866 722.56 null] +>> +endobj +1826 0 obj +<< +/D [8544 0 R /XYZ 70.866 707.396 null] +>> +endobj +8477 0 obj +<< +/D [8544 0 R /XYZ 70.866 653.05 null] +>> +endobj +1830 0 obj +<< +/D [8544 0 R /XYZ 70.866 637.886 null] +>> +endobj +8506 0 obj +<< +/D [8544 0 R /XYZ 296.599 538.439 null] +>> +endobj +1834 0 obj +<< +/D [8544 0 R /XYZ 70.866 521.388 null] +>> +endobj +8508 0 obj +<< +/D [8544 0 R /XYZ 70.866 467.15 null] +>> +endobj +1838 0 obj +<< +/D [8544 0 R /XYZ 70.866 451.986 null] +>> +endobj +8507 0 obj +<< +/D [8544 0 R /XYZ 70.866 397.64 null] +>> +endobj +1842 0 obj +<< +/D [8544 0 R /XYZ 70.866 382.476 null] +>> +endobj +7893 0 obj +<< +/D [8544 0 R /XYZ 70.866 328.346 null] +>> +endobj +1846 0 obj +<< +/D [8544 0 R /XYZ 70.866 313.182 null] +>> +endobj +8416 0 obj +<< +/D [8544 0 R /XYZ 275.089 255.162 null] +>> +endobj +1850 0 obj +<< +/D [8544 0 R /XYZ 70.866 238.003 null] +>> +endobj +8420 0 obj +<< +/D [8544 0 R /XYZ 70.866 195.72 null] +>> +endobj +1854 0 obj +<< +/D [8544 0 R /XYZ 70.866 180.556 null] +>> +endobj +8516 0 obj +<< +/D [8544 0 R /XYZ 70.866 126.318 null] +>> +endobj +1858 0 obj +<< +/D [8544 0 R /XYZ 70.866 111.154 null] +>> +endobj +8414 0 obj +<< +/D [8544 0 R /XYZ 70.866 68.979 null] +>> +endobj +8543 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8550 0 obj +<< +/Length 1594 +/Filter /FlateDecode +>> +stream +xڵXݓ6_%0 >i|L>/<`m&tw0p4&%Vo?v.?OWonZoqZQ!ֹucǮ;K/+;myQ/ʴmqoJl*UFڔPzyAbb8vcϷ#rX{e%u807K TF*!uPsYRBU+@t/7 ;ߕUih%pD)i{b@b-Q?H@` TciX;Ǔj +G/4%="KEQWcUڵ<" 8^`J(J#'(bw JK6'9Qs9UJgxVP7 J[iȸ8!kEf*ƨjg\TXQ C{]ad +:H~]v?i\Lc$*&ԅ(_nG+YYp@ʋx +?"/緸86a״Ȗkg"gWDODt?ԝPCQEA\IΎdOtzt2>=eul`IEK,pZգ&EyY:ǝ9! Ds;`OKeGptAn|3rC(J:Ƙ9@#iQ"] ,m-H="J UQƛFfU "o#yQ ݋jB%钁>p!b+d}@?j +}IFkq p:*4ӭtY}8-6EYJRIt& rqP㙳_!v4rvĐYIEGMw;Gng,2ϮB܃cgx]3hEywjKR +' FG&dȩ4PΜ>&?f'@0o\m*,A_Y>rK99$pDҷ?_ifٷ{^!UuÌ#cf,ƴo0<|5;~{niU,` +$b7^O'_WL1o>EIk&yb2NVo:h7א2/I7ZB|.Jʻ#j`ZzWl@YkMT%YN=r%2\4ɡ%Hs٭ !l}?WغIBy?Q4t@A/kSG~& ׹0IyLWx3^|>hV^~/Mmy 8LFɤh7|#4/>nOO)^?^̏p6i9=UVGf䄍شHi'wrK'(m} "̇|e/xś#I@jLI/#(}FgDWZ#-}C}V}.5o!$U +endstream +endobj +8549 0 obj +<< +/Type /Page +/Contents 8550 0 R +/Resources 8548 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8541 0 R +/Annots [ 8547 0 R 8552 0 R ] +>> +endobj +8547 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.743 271.69 525.406 282.273] +/A << /S /GoTo /D (class_actor_properties) >> +>> +endobj +8552 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 259.843 113.08 270.317] +/A << /S /GoTo /D (class_actor_properties) >> +>> +endobj +8551 0 obj +<< +/D [8549 0 R /XYZ 69.866 801.979 null] +>> +endobj +1862 0 obj +<< +/D [8549 0 R /XYZ 70.866 771.024 null] +>> +endobj +8461 0 obj +<< +/D [8549 0 R /XYZ 70.866 734.108 null] +>> +endobj +1866 0 obj +<< +/D [8549 0 R /XYZ 70.866 716.83 null] +>> +endobj +8376 0 obj +<< +/D [8549 0 R /XYZ 70.866 674.139 null] +>> +endobj +1870 0 obj +<< +/D [8549 0 R /XYZ 70.866 656.861 null] +>> +endobj +8517 0 obj +<< +/D [8549 0 R /XYZ 70.866 604 null] +>> +endobj +1874 0 obj +<< +/D [8549 0 R /XYZ 70.866 586.722 null] +>> +endobj +8515 0 obj +<< +/D [8549 0 R /XYZ 70.866 542.14 null] +>> +endobj +1878 0 obj +<< +/D [8549 0 R /XYZ 70.866 524.862 null] +>> +endobj +8518 0 obj +<< +/D [8549 0 R /XYZ 515.732 454.587 null] +>> +endobj +1882 0 obj +<< +/D [8549 0 R /XYZ 70.866 435.314 null] +>> +endobj +8419 0 obj +<< +/D [8549 0 R /XYZ 70.866 392.623 null] +>> +endobj +1886 0 obj +<< +/D [8549 0 R /XYZ 70.866 375.345 null] +>> +endobj +8466 0 obj +<< +/D [8549 0 R /XYZ 70.866 332.655 null] +>> +endobj +1890 0 obj +<< +/D [8549 0 R /XYZ 70.866 315.377 null] +>> +endobj +8473 0 obj +<< +/D [8549 0 R /XYZ 70.866 260.839 null] +>> +endobj +1894 0 obj +<< +/D [8549 0 R /XYZ 70.866 243.561 null] +>> +endobj +8468 0 obj +<< +/D [8549 0 R /XYZ 70.866 188.808 null] +>> +endobj +1898 0 obj +<< +/D [8549 0 R /XYZ 70.866 171.53 null] +>> +endobj +8509 0 obj +<< +/D [8549 0 R /XYZ 70.866 128.947 null] +>> +endobj +1902 0 obj +<< +/D [8549 0 R /XYZ 70.866 111.669 null] +>> +endobj +8472 0 obj +<< +/D [8549 0 R /XYZ 70.866 68.871 null] +>> +endobj +8548 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8559 0 obj +<< +/Length 1463 +/Filter /FlateDecode +>> +stream +xڭXmo6_!$VHdMR$@,qm?2cEW~w|%[jg@Qt{tzlrzNgq8{'!~N1?l|t)aٵO6WU޶ޔ%{.2Qvr1|P%t)֓kA:JrQG!~r&N,!>BbN}~xSJq Qe;h>Jn<y+i-_ n~dִ YB)$LHD`<7 hV{X,6(q'\(˴@z07z-/Rf[ϵԬzE ~Te+}oFĽfOmjvw gϢH}S^@G7x६<\EzK hwH2 tzlXA1pv7FEѡa"v<'/refi3%6zo[3]w5}1Z/Zq^Ŷ\@ s׳gxa~ 8Ie;?;Ҍ]av +Ɩ?T^Yx[*0ysT( J2~"$ȗtLt/.~ʝqΫZ{-Uգd2|BJsLw ^\@8 z/ PMp5yr0'I#VcƆ.Ql h&0 L!ݫ{@Q:JT 2F=Ww :ҕY*n\Q/2pFQ 0XtCJԌ߫lj!mRر(aGdpHj4ʳBmDM G@͒(Kr?Pi6ĕ2FlDxoJ8d;x!1:yoo^مܶ(_U!l5<7~bv<ʐId8P 7WQ8a5{y)0GUVGa#vO1&eYj^ 4Q{U ,MN/{TGS-WeTKhyUh;'1|'?\npq74 jҪ&:uY' $%GzAEՙ,2N>^˛߾8JHۤM.ek[EB$$Hɟ8'*@&'#>2楩;,6IhVwE]tA\,4 i u\Y5 +dݫ\3%>Pߪb%UdR&1Hr~kQ<2 :eIhGKB-Wz#<ſKΉ +endstream +endobj +8558 0 obj +<< +/Type /Page +/Contents 8559 0 R +/Resources 8557 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8541 0 R +/Annots [ 8553 0 R 8554 0 R 8555 0 R ] +>> +endobj +8553 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.13 132.036 380.536 142.511] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8554 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [430.039 132.036 473.383 142.511] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +8555 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [290.089 67.875 320.495 78.457] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8560 0 obj +<< +/D [8558 0 R /XYZ 69.866 801.979 null] +>> +endobj +1906 0 obj +<< +/D [8558 0 R /XYZ 70.866 771.024 null] +>> +endobj +8427 0 obj +<< +/D [8558 0 R /XYZ 70.866 721.364 null] +>> +endobj +1910 0 obj +<< +/D [8558 0 R /XYZ 70.866 700.681 null] +>> +endobj +8523 0 obj +<< +/D [8558 0 R /XYZ 70.866 657.31 null] +>> +endobj +1914 0 obj +<< +/D [8558 0 R /XYZ 70.866 636.628 null] +>> +endobj +8422 0 obj +<< +/D [8558 0 R /XYZ 70.866 593.256 null] +>> +endobj +1918 0 obj +<< +/D [8558 0 R /XYZ 70.866 572.574 null] +>> +endobj +8374 0 obj +<< +/D [8558 0 R /XYZ 70.866 529.31 null] +>> +endobj +1922 0 obj +<< +/D [8558 0 R /XYZ 70.866 508.628 null] +>> +endobj +8467 0 obj +<< +/D [8558 0 R /XYZ 70.866 453.301 null] +>> +endobj +1926 0 obj +<< +/D [8558 0 R /XYZ 70.866 432.619 null] +>> +endobj +8510 0 obj +<< +/D [8558 0 R /XYZ 70.866 389.14 null] +>> +endobj +1930 0 obj +<< +/D [8558 0 R /XYZ 70.866 368.457 null] +>> +endobj +8417 0 obj +<< +/D [8558 0 R /XYZ 70.866 325.086 null] +>> +endobj +1934 0 obj +<< +/D [8558 0 R /XYZ 70.866 304.404 null] +>> +endobj +8511 0 obj +<< +/D [8558 0 R /XYZ 70.866 261.14 null] +>> +endobj +1938 0 obj +<< +/D [8558 0 R /XYZ 70.866 240.458 null] +>> +endobj +8512 0 obj +<< +/D [8558 0 R /XYZ 70.866 196.979 null] +>> +endobj +1942 0 obj +<< +/D [8558 0 R /XYZ 70.866 176.296 null] +>> +endobj +8513 0 obj +<< +/D [8558 0 R /XYZ 70.866 133.033 null] +>> +endobj +1946 0 obj +<< +/D [8558 0 R /XYZ 70.866 112.35 null] +>> +endobj +8251 0 obj +<< +/D [8558 0 R /XYZ 70.866 68.871 null] +>> +endobj +8557 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8597 0 obj +<< +/Length 1868 +/Filter /FlateDecode +>> +stream +xZ_o6d aIh%HѴYnmdʒgMa}G$[$ Sxw55./F'm$p]%^ˌ`S,+y"[!s;=vyQS,E 1F N V>Qcc J7ܰ8ĸ6%ܑMWc1gS!Z׈QJTbJ%VkR#F9s+05@]z\O4Œ!/hDS3["}͖Y-+t畈BR?J8KM<_$86 z6lRip~Of~Jkc$p^Z + y1 UH".Ƈ'w5"e* rֳF8qv\R5 9߬Wxe:/g션R/4Cӫ*}[$KNhhjQcĔxN[Y.aU)d.|"^`?r48.h^7uߜr%еMei]}Mp)s xoעa]-j Qđuy5V-sKѐA&OI< [>?v]/>ØȲ'cBsgO'ӆá>)$8I5cEd%UeZ8JsDK6O{|g$,_FB,+4ԦT59?9?uYF1[=kҟMڟ|,W>_Ԛ;0F fH +?!3bnI9j;SXi:p,1)Kwo1Re:Yoʵ- ,SWAbӊLT z$U5dXd]$5F"Qq8-*IbNo("zB,@Q;W6y*w:v8LB+J* SMnDǯs'V"?Rʣj5RI8ڸQfmhC#/ZEt{`P +ea0|CDX_*c2sR͔ e/_~7`STsr4͚OH*wт@4R D8،[ʃB5J*;1\r.!oBZlo}ӽ"?~?T-ѳ4Gp=Ͷ+qR"laz>>MG8fxag(lL~R0jWQާbUfxFKP3oS}#'&(L߁NxqpS,E8oFsp%˴*@ul0"Eq u4 'ia[!_v#汢QVx:ky>Ze>6* le$iW +߁/0P|n[JKǪJ4 +'F8r[q]K#; pϵ7>HnYާbGÀV<9wdp> +endobj +8556 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.205 717.55 207.736 728.025] +/A << /S /GoTo /D (class_photon_animator_view) >> +>> +endobj +8561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.493 700.486 252.639 710.4] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +8562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 639.964 195.846 650.438] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_layer) >> +>> +endobj +8563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 626.455 215.276 636.93] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter) >> +>> +endobj +8564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.237 566.493 185.492 576.761] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894) >> +>> +endobj +8565 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.745 566.493 283.29 576.761] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894a22ae0e2b89e5e3d477f988cc36d3272b) >> +>> +endobj +8566 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [313.296 566.493 387.879 576.761] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894a1686a6c336b71b36d77354cea19a8b52) >> +>> +endobj +8567 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.886 566.493 500.44 576.761] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894ac26f15e86e3de4c398a8273272aba034) >> +>> +endobj +8568 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 554.43 186.844 564.806] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894af698f67f5666aff10729d8a1cb1c14d2) >> +>> +endobj +8569 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.692 541.029 189.738 551.504] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +8570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [195.901 541.029 303.005 551.504] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fab9f5c797ebbf55adccdd8539a65a0241) >> +>> +endobj +8571 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [321.49 541.029 426.773 551.504] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fa4984667940802dedc139aa7a430a6553) >> +>> +endobj +8572 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [445.258 541.029 525.406 551.504] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fa535863a82f163709557e59e2eb8139a7) >> +>> +endobj +8601 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 529.204 142.03 539.549] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fa535863a82f163709557e59e2eb8139a7) >> +>> +endobj +8573 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 469.004 206.211 479.587] +/A << /S /GoTo /D (class_photon_animator_view_ad411c8f3e398f0b7b7ebcc09543f6cfe) >> +>> +endobj +8574 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 429.143 246.595 439.618] +/A << /S /GoTo /D (class_photon_animator_view_adc769a9e9d902955529aa36fd7f94c77) >> +>> +endobj +8575 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 400.026 266.025 410.608] +/A << /S /GoTo /D (class_photon_animator_view_a58c3ae7da3a1217062dd6f510c69e5a8) >> +>> +endobj +8576 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.961 371.124 197.113 381.599] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_layer) >> +>> +endobj +8577 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.847 371.124 304.935 381.599] +/A << /S /GoTo /D (class_photon_animator_view_a5cd222a56cf3364aea3fa1d2641383ed) >> +>> +endobj +8578 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.961 342.115 216.543 352.589] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter) >> +>> +endobj +8579 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [227.276 342.115 343.794 352.589] +/A << /S /GoTo /D (class_photon_animator_view_a03c466f84479ffeb0509324adfa27c5b) >> +>> +endobj +8580 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 313.105 164.823 323.579] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +8581 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.323 313.105 271.799 323.579] +/A << /S /GoTo /D (class_photon_animator_view_aca2599e3520233dd0a92550d2fef3781) >> +>> +endobj +8582 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 283.988 164.823 294.57] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +8583 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.323 283.988 291.229 294.57] +/A << /S /GoTo /D (class_photon_animator_view_ab5c89d5d60a51fdd97b883f85d27a10f) >> +>> +endobj +8584 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 255.086 205.099 265.56] +/A << /S /GoTo /D (class_photon_animator_view_a1ee474865e5e736760591b1c50644413) >> +>> +endobj +8585 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [266.175 255.086 336.221 265.56] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +8586 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 225.968 224.529 236.551] +/A << /S /GoTo /D (class_photon_animator_view_a4baf9e4d43b5cd41c0a1e0514ec63829) >> +>> +endobj +8587 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.839 225.968 342.094 236.551] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894) >> +>> +endobj +8588 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [364.39 225.968 434.437 236.551] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +8589 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 196.959 209.483 207.541] +/A << /S /GoTo /D (class_photon_animator_view_aa061f0b6fb761c3da8635b9ce7e85c8b) >> +>> +endobj +8590 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.969 196.959 272.273 207.541] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +8591 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.159 196.959 386.628 207.541] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +8592 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 181.754 525.406 191.38] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8603 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 172.401 128.268 180.236] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8593 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.205 97.562 207.736 108.037] +/A << /S /GoTo /D (class_photon_animator_view) >> +>> +endobj +8594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.039 67.875 257.57 78.457] +/A << /S /GoTo /D (class_photon_animator_view) >> +>> +endobj +8598 0 obj +<< +/D [8596 0 R /XYZ 69.866 801.979 null] +>> +endobj +1950 0 obj +<< +/D [8596 0 R /XYZ 70.866 771.024 null] +>> +endobj +8599 0 obj +<< +/D [8596 0 R /XYZ 70.866 680.589 null] +>> +endobj +8600 0 obj +<< +/D [8596 0 R /XYZ 70.866 607.118 null] +>> +endobj +8602 0 obj +<< +/D [8596 0 R /XYZ 70.866 509.737 null] +>> +endobj +1954 0 obj +<< +/D [8596 0 R /XYZ 70.866 156.846 null] +>> +endobj +8595 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8626 0 obj +<< +/Length 1306 +/Filter /FlateDecode +>> +stream +xڽXK8WpFoܒyݚx wے0Dw?2ɇB@XJ̮2P1EE5$Gg& Ҋ:)hJvc*4xD!u0ه_v*"r4p ae +dFڀi].WVwC- +)oQ -Jdž=DEl=Q @Y +!IT}M4[DO[ȽoT^! 'O30z"f6cxkzP3BQLߟY9Oˬ-"5:zWW#pZGq#v-|&Ua!Y RZ4 1/г`6 6vmKtpBH1)\!i.C;,{O;({=_XHLJy5! 5H!Hpڨ˘S~TGN~4rdcI4 KAU_Sa=F> +endobj +8627 0 obj +<< +/D [8625 0 R /XYZ 69.866 801.979 null] +>> +endobj +1958 0 obj +<< +/D [8625 0 R /XYZ 70.866 771.024 null] +>> +endobj +8606 0 obj +<< +/D [8625 0 R /XYZ 70.866 753.893 null] +>> +endobj +1962 0 obj +<< +/D [8625 0 R /XYZ 70.866 753.893 null] +>> +endobj +8607 0 obj +<< +/D [8625 0 R /XYZ 88.314 696.454 null] +>> +endobj +8608 0 obj +<< +/D [8625 0 R /XYZ 88.314 680.514 null] +>> +endobj +8609 0 obj +<< +/D [8625 0 R /XYZ 88.314 664.574 null] +>> +endobj +8610 0 obj +<< +/D [8625 0 R /XYZ 88.314 648.634 null] +>> +endobj +8611 0 obj +<< +/D [8625 0 R /XYZ 70.866 636.676 null] +>> +endobj +1966 0 obj +<< +/D [8625 0 R /XYZ 70.866 621.436 null] +>> +endobj +8612 0 obj +<< +/D [8625 0 R /XYZ 88.314 565.858 null] +>> +endobj +8613 0 obj +<< +/D [8625 0 R /XYZ 88.314 549.918 null] +>> +endobj +8614 0 obj +<< +/D [8625 0 R /XYZ 88.314 533.977 null] +>> +endobj +1970 0 obj +<< +/D [8625 0 R /XYZ 70.866 518.625 null] +>> +endobj +8615 0 obj +<< +/D [8625 0 R /XYZ 70.866 491.952 null] +>> +endobj +1974 0 obj +<< +/D [8625 0 R /XYZ 70.866 491.952 null] +>> +endobj +8616 0 obj +<< +/D [8625 0 R /XYZ 70.866 435.853 null] +>> +endobj +1978 0 obj +<< +/D [8625 0 R /XYZ 70.866 420.613 null] +>> +endobj +8617 0 obj +<< +/D [8625 0 R /XYZ 70.866 283.021 null] +>> +endobj +1982 0 obj +<< +/D [8625 0 R /XYZ 70.866 267.78 null] +>> +endobj +8620 0 obj +<< +/D [8625 0 R /XYZ 70.866 130.081 null] +>> +endobj +1986 0 obj +<< +/D [8625 0 R /XYZ 70.866 114.84 null] +>> +endobj +8624 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F107 6686 0 R /F39 4826 0 R /F115 6866 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8640 0 obj +<< +/Length 1985 +/Filter /FlateDecode +>> +stream +xY[oܶ~_!IlH]mzN"m|biZ+m%m /ZIk'){$soZ<^|sxXx I(o$8$bu}lj*6YW7+T7kʬm NQRD +3*[z낁t^Z oY|z9}Q;7!"]Pk%\"==#12Ϛl:̱P +’ +B+8` N(hyf$5 m x $ć{,pE+|L2"DTMtA9V [A}kwke>9VRrC&$UĘx?61YHSݮO9j8g ¦EݠoK?eU]uEwH^疳T?Ó%$ƫjb PW9uA̷2Dc0. %>yQjY12$- lHvMQ|ЋL0N +ϨCp/EhP < *Ss +,h'UZ ׷Y0_G m8Ta+I9{2F=ڊ'b dh""`߅n(wFb]y=^ͣ(!SPO C= :>߀zB 0$K8%}=z|51Bo2|qo9 's H&oĺMN,^JCSx2X^u6sS`!p[lns t{նme䢺Յ3'& bs@SZ~N̩W:;Aƍ.|P:!rN Z  0mm7P]c9/*vyUۅNpP_YW\unQq +ylMcJQnv;Xf0]\dى NJ }z 1RMPvڢɾphscGȥ&*D77Xcfm[*w4޴>vyYou)fmrXN?nXH]֩\ [s @u|o;U9_y޽3Ll~VĶ#ȰeY>8\l(W}NS@wv͊)$7. +zm.kCbTтڕgyoNp rL8B5j(jDoWs܍2~[ ӈlbQ3! FSr\aAJ,4!c5g}\=AIZ&ILO;\S!MyjZGG)1ߙ La pDO:;؁L@4jSwvElwhevn3΋&!(zg tIC+~ X2+wʬ0.ˑ4Inc.FXZBݕ%~ٸOA7qȻ{޷Vg~)ǷlSכfN4"~O1yO^Ǻ8iLlpi> Z5;>=NYl(^-R~_m]zokн$US q s +endstream +endobj +8639 0 obj +<< +/Type /Page +/Contents 8640 0 R +/Resources 8638 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8643 0 R +/Annots [ 8628 0 R 8629 0 R 8630 0 R 8642 0 R 8631 0 R 8632 0 R 8633 0 R 8634 0 R 8635 0 R 8636 0 R ] +>> +endobj +8628 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.714 436.388 196.865 464.661] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_layer) >> +>> +endobj +8629 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.714 329.359 216.295 357.632] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter) >> +>> +endobj +8630 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 263.701 525.406 274.175] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8642 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 253.53 91.113 262.014] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8631 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [401.942 234.014 451.598 244.596] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8632 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 223.87 220.405 232.641] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +8633 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 210.103 174.068 220.686] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +8634 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.249 180.524 356.906 191.106] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8635 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.206 150.944 473.863 161.527] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8636 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.189 121.365 258.493 131.947] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +8641 0 obj +<< +/D [8639 0 R /XYZ 69.866 801.979 null] +>> +endobj +8621 0 obj +<< +/D [8639 0 R /XYZ 70.866 687.159 null] +>> +endobj +1990 0 obj +<< +/D [8639 0 R /XYZ 70.866 672.208 null] +>> +endobj +8618 0 obj +<< +/D [8639 0 R /XYZ 70.866 537.692 null] +>> +endobj +1994 0 obj +<< +/D [8639 0 R /XYZ 70.866 522.741 null] +>> +endobj +8619 0 obj +<< +/D [8639 0 R /XYZ 70.866 428.96 null] +>> +endobj +1998 0 obj +<< +/D [8639 0 R /XYZ 70.866 414.009 null] +>> +endobj +6869 0 obj +<< +/D [8639 0 R /XYZ 70.866 321.931 null] +>> +endobj +2002 0 obj +<< +/D [8639 0 R /XYZ 70.866 306.98 null] +>> +endobj +8638 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F82 6068 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8654 0 obj +<< +/Length 1895 +/Filter /FlateDecode +>> +stream +xYK8WT!T25L`,'$^{e_;ɄRm_Sg"$J8U 0"`> I< +*Z:YYߧo#Sq@:R"I`}<{`%23A"b".Gp(c'؄[CߕZA *f$Ūeq0K1 ԧL)oYR[YM~V5) әqM *;3#" MPc+<,A֩.+,!lDCtsUuy[a̭PPy1 uì a=(vY`|h?*l޳6K`02c>͂!E+7y∷ HvD`B2+CE9 VY;~_񋏸UaE*kَ{E(~_Ht4 Hz8AEqz2LaIHLVu"l"pK0hwq (O #(屖 &m!j ! <0QPr4(0 d{1<m;0;Β,ym]c}͞B k|hիT7UވƹvO穟.խKwӵ'0ae,ͅ鮨.rc[8>vDӹqW{-HwZZͥre=`(C o2'1 %XBU]_7xw#'`"B +R/cm >Ԑ'1Nxo6Q +&'_>Z_j kg +aG'!ٌhF%҅y"\ NMue(4'+2F&M +A:GF}w8<"ӷNK& Xowo[ӲkyFìUFy؋SVg[}/jQ?&]3Z=t*[]ƕ.ƺWҴaX+ ewAݕ[)m@~}"pn)jgIXmE,!ԮDpzƟJ@Y%_ЄDXޱkySѹY}@6}b7!ߗ_fy> +endobj +8637 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 728.598 184.846 739.072] +/A << /S /GoTo /D (group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) >> +>> +endobj +8644 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.352 394.109 267.758 404.691] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8645 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 301.727 134.777 312.202] +/A << /S /GoTo /D (class_photon_lag_simulation_gui_ab080d78f9ae59eeb2779b5e61be897bb) >> +>> +endobj +8646 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 287.448 143.384 297.923] +/A << /S /GoTo /D (class_photon_lag_simulation_gui_abc9399cb95160e6994a1ad8661adbdc5) >> +>> +endobj +8647 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [115.704 224.538 167.88 235.013] +/A << /S /GoTo /D (class_photon_lag_simulation_gui_a1d267bda81b30f6b32f77e4b5cc90649) >> +>> +endobj +8648 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 195.691 147.957 204.255] +/A << /S /GoTo /D (class_photon_lag_simulation_gui_a0e20da80809bd2181828edabed39ccc9) >> +>> +endobj +8649 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 165.22 142.434 173.704] +/A << /S /GoTo /D (class_photon_lag_simulation_gui_ad790a872afa4c4c1b34401f55982203a) >> +>> +endobj +8650 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.171 84.608 164.652 94.523] +/A << /S /GoTo /D (class_photon_lag_simulation_gui_ad6ae62fc67cdb2936b13029ec7c68d64) >> +>> +endobj +8655 0 obj +<< +/D [8653 0 R /XYZ 69.866 801.979 null] +>> +endobj +8622 0 obj +<< +/D [8653 0 R /XYZ 70.866 729.594 null] +>> +endobj +2006 0 obj +<< +/D [8653 0 R /XYZ 70.866 711.229 null] +>> +endobj +8623 0 obj +<< +/D [8653 0 R /XYZ 70.866 612.533 null] +>> +endobj +2010 0 obj +<< +/D [8653 0 R /XYZ 70.866 594.167 null] +>> +endobj +6883 0 obj +<< +/D [8653 0 R /XYZ 70.866 469.275 null] +>> +endobj +2014 0 obj +<< +/D [8653 0 R /XYZ 70.866 449.737 null] +>> +endobj +8656 0 obj +<< +/D [8653 0 R /XYZ 70.866 343.486 null] +>> +endobj +8657 0 obj +<< +/D [8653 0 R /XYZ 70.866 266.297 null] +>> +endobj +8658 0 obj +<< +/D [8653 0 R /XYZ 70.866 126.013 null] +>> +endobj +8652 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R /F104 6525 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8677 0 obj +<< +/Length 1368 +/Filter /FlateDecode +>> +stream +xڭXMs6WVrb;3=$qqNXI4 ˨)B!A;]`A[R_DXo"!t, 8pwNB4$c~Li\Po̒ԝK%K޶G;/;W͕jBa3vu+BRx7ӏ?# +nۦ)0!~Γ;aQ@rF= +Y,p((WOST\TGY +omш69 3f,{ v/e-\C(ds|(yMlWsY>kc1Ysю͋5WO: zqV{WfٞkF7Bh[,3[3F"ìQbgɫ\?(=ўj((BJ9hSy]9z.@?6y}?2m^@8Ip"l 2o?.,8jŋ{e n6c+%KٕO_5!R85wfRHvD;?URV/9Wъ[8Zupu/O-UZߋ. MRݵ0= +rD=k5{9OY'KG@fzO#R qj4@K4R]-w|'QU*򮵃m;p? UM?Q}Br8JVw l((4sAl=&G4[3iRrmx~Lt }8=ڱjidCS1A=Ep$)mV)So+[SּEi{zpKyAwJ5gtaTxy)k(R/Ϥ[j̅r[]f}Ug;wb?^eظQa(%P|&>#=:#?/b%qF~ 9[fʜzy6YiuV!> ME[%`ߦg?֘= ˀkOdz?WUK +endstream +endobj +8676 0 obj +<< +/Type /Page +/Contents 8677 0 R +/Resources 8675 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8643 0 R +/Annots [ 8651 0 R 8665 0 R 8666 0 R 8667 0 R 8668 0 R 8669 0 R 8670 0 R 8671 0 R 8672 0 R 8673 0 R 8674 0 R ] +>> +endobj +8651 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.352 733.003 267.758 743.585] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8665 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 217.814 176.246 228.396] +/A << /S /GoTo /D (struct_photon_message_info_a8497209fff12bb41b79d010905e1cb39) >> +>> +endobj +8666 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.731 217.814 235.1 228.396] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8667 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [276.064 217.814 319.409 228.396] +/A << /S /GoTo /D (struct_photon_message_info_a8a9879f9d95f99f4d066aba32d5853ca) >> +>> +endobj +8668 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [322.401 217.814 372.058 228.396] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8669 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 203.995 188.914 214.577] +/A << /S /GoTo /D (struct_photon_message_info_adf3bb70090d012d863d915f564e7018f) >> +>> +endobj +8670 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.654 142.952 187.023 153.22] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8671 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.523 142.952 216.925 153.22] +/A << /S /GoTo /D (struct_photon_message_info_a99d31effc25e87b9fc7129adba5fa188) >> +>> +endobj +8672 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.654 129.133 181.311 139.401] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8673 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.811 129.133 230.473 139.401] +/A << /S /GoTo /D (struct_photon_message_info_ac170e8d3714ad1f3f3c848feea660ac5) >> +>> +endobj +8674 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.006 67.983 167.351 78.251] +/A << /S /GoTo /D (struct_photon_message_info_a8a9879f9d95f99f4d066aba32d5853ca) >> +>> +endobj +8678 0 obj +<< +/D [8676 0 R /XYZ 69.866 801.979 null] +>> +endobj +2018 0 obj +<< +/D [8676 0 R /XYZ 70.866 771.024 null] +>> +endobj +2022 0 obj +<< +/D [8676 0 R /XYZ 70.866 704.761 null] +>> +endobj +8660 0 obj +<< +/D [8676 0 R /XYZ 70.866 679.562 null] +>> +endobj +2026 0 obj +<< +/D [8676 0 R /XYZ 70.866 679.562 null] +>> +endobj +8659 0 obj +<< +/D [8676 0 R /XYZ 70.866 652.635 null] +>> +endobj +2030 0 obj +<< +/D [8676 0 R /XYZ 70.866 652.635 null] +>> +endobj +2034 0 obj +<< +/D [8676 0 R /XYZ 70.866 627.568 null] +>> +endobj +8663 0 obj +<< +/D [8676 0 R /XYZ 70.866 602.369 null] +>> +endobj +2038 0 obj +<< +/D [8676 0 R /XYZ 70.866 602.369 null] +>> +endobj +8662 0 obj +<< +/D [8676 0 R /XYZ 70.866 557.817 null] +>> +endobj +2042 0 obj +<< +/D [8676 0 R /XYZ 70.866 540.535 null] +>> +endobj +8661 0 obj +<< +/D [8676 0 R /XYZ 70.866 497.951 null] +>> +endobj +2046 0 obj +<< +/D [8676 0 R /XYZ 70.866 480.668 null] +>> +endobj +2050 0 obj +<< +/D [8676 0 R /XYZ 70.866 420.587 null] +>> +endobj +8664 0 obj +<< +/D [8676 0 R /XYZ 70.866 393.295 null] +>> +endobj +2054 0 obj +<< +/D [8676 0 R /XYZ 70.866 393.295 null] +>> +endobj +6335 0 obj +<< +/D [8676 0 R /XYZ 70.866 350.944 null] +>> +endobj +2058 0 obj +<< +/D [8676 0 R /XYZ 70.866 332.488 null] +>> +endobj +8679 0 obj +<< +/D [8676 0 R /XYZ 70.866 259.003 null] +>> +endobj +8680 0 obj +<< +/D [8676 0 R /XYZ 70.866 184.034 null] +>> +endobj +8681 0 obj +<< +/D [8676 0 R /XYZ 70.866 109.064 null] +>> +endobj +8675 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8712 0 obj +<< +/Length 1793 +/Filter /FlateDecode +>> +stream +xYrH+⦻f PPŐI , YYH-2%YNH*ʲ܏{9ml--l9z9?z:AZ++( ++) +5ϬK:gAQDHƙ0O]'K~"IE|N&BFكVIӫUo,սS +86-~m;0q(7E4E&|OiɚJI36~p" ؾ*a7fyy;0΀b'}CY2iyWa]h{,AxhJ9]IPS'׫<]JX<mMMUsݖg@):+>Sq>^ uɚ}r"Qq lP-?Iӱ R² &;~Yss20ȮDe߅.AV/iI|8~4|!^a1|,!de𱩔b{bo#5}IiUF"iSͮe1 +1Xj +0UAYZPL0zlsD}J5Irn6df|]nIjHJ%O7zͧ>/}Qb쨄 H(T-wx[M7f|UizV>HCSZ?}%NƹT|s֚rL`[vj>l5⮨ԕ +0"tjɠ*eSwZĜ&MP՛eot|l$vV5\!G{S 57cK kUi3a': <;}h3\k vm<揖cΔ:.!qy?L +z9y·@UQ%)́y>Ȍ\vs&Z]K6*8/dk-4<?Ghhx 0|JV'hwn//X[m:'&z"9cbM!ꄵ-AQ^La;HJR\ڬ>&p +endstream +endobj +8711 0 obj +<< +/Type /Page +/Contents 8712 0 R +/Resources 8710 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8643 0 R +/Annots [ 8687 0 R 8688 0 R 8689 0 R 8690 0 R 8691 0 R 8692 0 R 8693 0 R 8694 0 R 8695 0 R 8696 0 R 8697 0 R 8698 0 R 8699 0 R 8700 0 R 8701 0 R 8702 0 R 8703 0 R 8704 0 R 8705 0 R 8706 0 R 8707 0 R 8708 0 R ] +>> +endobj +8687 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.523 436.351 237.854 446.727] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +8688 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.376 378.7 209.268 389.282] +/A << /S /GoTo /D (class_photon_network_a90ec16d1df1a0332d0ad16493d641f56) >> +>> +endobj +8689 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 306.305 207.582 316.78] +/A << /S /GoTo /D (class_photon_network_af4ff9e4128181a1a4974c20bf899a4c4) >> +>> +endobj +8690 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 278.488 228.33 289.07] +/A << /S /GoTo /D (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec) >> +>> +endobj +8691 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [256.365 278.488 310.46 289.07] +/A << /S /GoTo /D (class_photon_network_a2a8b1690325d73930d6bc8b99d8e736d) >> +>> +endobj +8692 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.217 263.837 177.782 273.56] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8693 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 250.779 209.806 261.361] +/A << /S /GoTo /D (class_photon_network_a981e7244e915f41e18cb9da5f12fc858) >> +>> +endobj +8694 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [439.562 250.779 493.657 261.361] +/A << /S /GoTo /D (class_photon_network_a2a8b1690325d73930d6bc8b99d8e736d) >> +>> +endobj +8695 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.947 236.127 184.512 245.85] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8696 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 223.177 182.486 233.651] +/A << /S /GoTo /D (class_photon_network_aa93441ca5a719b31dddb38e4aaeccf7c) >> +>> +endobj +8697 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 195.467 223.847 205.942] +/A << /S /GoTo /D (class_photon_network_ab7c39b4f0ec783b86b59cb2460332058) >> +>> +endobj +8698 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 167.65 250.217 178.232] +/A << /S /GoTo /D (class_photon_network_afba456bbc9d1525b87eb060c959af2b6) >> +>> +endobj +8699 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.252 167.65 332.347 178.232] +/A << /S /GoTo /D (class_photon_network_a2a8b1690325d73930d6bc8b99d8e736d) >> +>> +endobj +8700 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [163.677 152.998 191.242 162.722] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8701 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 139.94 210.81 150.523] +/A << /S /GoTo /D (class_photon_network_a84b7be74d130b19eeeb1d7b4e8193ad4) >> +>> +endobj +8702 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [214.296 139.94 289.543 150.523] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +8703 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.494 139.94 398.589 150.523] +/A << /S /GoTo /D (class_photon_network_a2a8b1690325d73930d6bc8b99d8e736d) >> +>> +endobj +8704 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.712 125.289 195.277 135.012] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8705 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 112.231 240.999 122.813] +/A << /S /GoTo /D (class_photon_network_a7dc90dd05d697c3f8f04e50cc0e039b2) >> +>> +endobj +8706 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [244.485 112.231 319.732 122.813] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +8707 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.727 97.579 418.611 107.303] +/A << /S /GoTo /D (class_photon_network_afba456bbc9d1525b87eb060c959af2b6) >> +>> +endobj +8708 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 84.521 246.074 95.104] +/A << /S /GoTo /D (class_photon_network_a6ffa9e23d8060c9898064cda0a21710b) >> +>> +endobj +8713 0 obj +<< +/D [8711 0 R /XYZ 69.866 801.979 null] +>> +endobj +2062 0 obj +<< +/D [8711 0 R /XYZ 70.866 771.024 null] +>> +endobj +2066 0 obj +<< +/D [8711 0 R /XYZ 70.866 719.255 null] +>> +endobj +8682 0 obj +<< +/D [8711 0 R /XYZ 70.866 694.464 null] +>> +endobj +2070 0 obj +<< +/D [8711 0 R /XYZ 70.866 694.464 null] +>> +endobj +2074 0 obj +<< +/D [8711 0 R /XYZ 70.866 667.945 null] +>> +endobj +8684 0 obj +<< +/D [8711 0 R /XYZ 70.866 643.155 null] +>> +endobj +2078 0 obj +<< +/D [8711 0 R /XYZ 70.866 643.155 null] +>> +endobj +2082 0 obj +<< +/D [8711 0 R /XYZ 70.866 616.636 null] +>> +endobj +8686 0 obj +<< +/D [8711 0 R /XYZ 70.866 591.846 null] +>> +endobj +2086 0 obj +<< +/D [8711 0 R /XYZ 70.866 591.846 null] +>> +endobj +8685 0 obj +<< +/D [8711 0 R /XYZ 70.866 565.327 null] +>> +endobj +2090 0 obj +<< +/D [8711 0 R /XYZ 70.866 565.327 null] +>> +endobj +2094 0 obj +<< +/D [8711 0 R /XYZ 70.866 540.668 null] +>> +endobj +8683 0 obj +<< +/D [8711 0 R /XYZ 70.866 513.785 null] +>> +endobj +2098 0 obj +<< +/D [8711 0 R /XYZ 70.866 513.785 null] +>> +endobj +6241 0 obj +<< +/D [8711 0 R /XYZ 70.866 489.359 null] +>> +endobj +2102 0 obj +<< +/D [8711 0 R /XYZ 70.866 489.359 null] +>> +endobj +8714 0 obj +<< +/D [8711 0 R /XYZ 70.866 418.52 null] +>> +endobj +8715 0 obj +<< +/D [8711 0 R /XYZ 70.866 346.018 null] +>> +endobj +8710 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8773 0 obj +<< +/Length 2298 +/Filter /FlateDecode +>> +stream +x[Ks6Wpz)5|Lu";$,PwH$E4\~],Vvo~\-4&h3-0`b&=4{4P;YN&qdz^<,*KQ2uRر-s2tٗ3 65Z( vxqᓩ%F3 gjBs=\ʙvs̔ěM8&=G |0.>ڶǩPôcE,lODC2{I^|4\g(arJJºgj_.,E`mÞ8mn(3K9ɈfMӖ;nMD cB;YF9F z<,Sz#K959y;a7։5͞$=\Q)f9[,`*UY.#@!9/HSz08 єQp H`OGE#8?| ܥ.,8(U%Hreұ+CXi\5UGf,LA# %Sw*|9$f)GZJB ?)W㻠?RYPeGOjx۬?%7!{I( }8sZ53g>ď"K;BrJA5E8c oL'Do6pGHtM)<#>cѡɱ xiObz@i 4<6"PxP~N}C9'J{/+R ! +k৴WWzWJ\L\'AmʘYhszT8/Hk;j-^G,M.5GK$@>'i-[`|L| PE'[ )ʀ64NئX8j4Q+H*dF( }S)|/6/0(ꚢѼ}2p$s\ :Rk"|`T!j&ǩp9h*_l ZԤmu)wo9ױ`ulakpX#85nvN>n`]{=EuhOX`a]prg^cZq{8]&OtPMGܞZixڎkVqLTG7yMqAL=. +KьI=$%GQBqt"m? c5 jhUzv*et)• o?2 T6DHB%&F$Y3eYN!.z$$9Y7.rr\<(~q˩\Wd;vhz(b;7Uʹ\qu}!jO;D=cwm`b٪"C26WEA(S^o^޶kpW."Z;gTY̓}*Yz[K<.hOhzUma?Szh1F*)>W~[u Z'W} ܢ(/;Y;A$? I09.-0 +>6Zľ X<_Du'=j++CF_ 2%kuH3V=tFVG66:cF8qyKl^*}hLA*6Q0|!vvC/ͪlk>v27d) cp,f4?׎W>%DBۀ8Oyp؁: S{J; `;A l5hO]nVCX-loO[l3ە`t8j4 rew7 \^zkI58'x-W*{ڑVR8,"Bk%mp7$ҏf>Aw{䋤'GdJ9Oeaްӝ#TrTVL,QVyw9R&j~hIE+RNR2Kq@NILdƏKRIE:&>wppxoEEZH% Xl; {auT޴_ q{n<6؝J + 24!=锹7C <~q7:6W/0<Կ||3|Wh:oG#K`ZImOidY/KRjN lp6ґAF<Mo Z +endstream +endobj +8772 0 obj +<< +/Type /Page +/Contents 8773 0 R +/Resources 8771 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8643 0 R +/Annots [ 8709 0 R 8728 0 R 8729 0 R 8730 0 R 8731 0 R 8732 0 R 8733 0 R 8734 0 R 8735 0 R 8736 0 R 8737 0 R 8738 0 R 8739 0 R 8740 0 R 8741 0 R 8742 0 R 8743 0 R 8744 0 R 8745 0 R 8746 0 R 8747 0 R 8748 0 R 8749 0 R 8750 0 R 8751 0 R 8752 0 R 8753 0 R 8754 0 R 8755 0 R 8756 0 R 8757 0 R 8758 0 R 8759 0 R 8760 0 R 8761 0 R 8762 0 R 8763 0 R 8764 0 R 8765 0 R 8766 0 R 8767 0 R 8768 0 R 8769 0 R ] +>> +endobj +8709 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 758.177 231.119 768.652] +/A << /S /GoTo /D (class_photon_network_a43f616ce19891d3de81269a7821c5656) >> +>> +endobj +8728 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 730.365 246.477 740.948] +/A << /S /GoTo /D (class_photon_network_aebed3f221d6a2d918cb734a15b9df8e0) >> +>> +endobj +8729 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 702.769 203.673 713.243] +/A << /S /GoTo /D (class_photon_network_aa4005f5ff36461d51f9d2c2c326550ac) >> +>> +endobj +8730 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 675.064 183.248 685.539] +/A << /S /GoTo /D (class_photon_network_aeb81fe77dfd0ebf7c8a63191a6a8fced) >> +>> +endobj +8731 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 636.293 186.691 646.875] +/A << /S /GoTo /D (class_photon_network_a5c08f89cdf5766c1b69d5b7b8786b734) >> +>> +endobj +8732 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.072 621.741 481.173 631.367] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +8733 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 608.589 190.448 619.171] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +8734 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 569.925 190.448 580.508] +/A << /S /GoTo /D (class_photon_network_a08435c2d064fd6a85e51e1520e5a63d8) >> +>> +endobj +8735 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [267.672 569.925 324.475 580.508] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +8736 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.148 569.925 431.137 580.508] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8737 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.394 542.221 193.207 552.803] +/A << /S /GoTo /D (class_photon_network_ab979353e224caa01b6ff654e6d131fef) >> +>> +endobj +8738 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.915 542.221 331.718 552.803] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +8739 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.496 542.221 441.485 552.803] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8740 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 502.561 179.984 513.144] +/A << /S /GoTo /D (class_photon_network_a8c94dd51fe8e8986117b499161ff4461) >> +>> +endobj +8741 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.723 488.009 338.15 497.636] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +8742 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 474.857 179.984 485.439] +/A << /S /GoTo /D (class_photon_network_aa323d9dd09d0a64352d5232f8fe23996) >> +>> +endobj +8743 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.723 460.305 338.15 469.931] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +8744 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 447.152 216.853 457.735] +/A << /S /GoTo /D (class_photon_network_a902344ffd109a23f1a0606599af5eb96) >> +>> +endobj +8745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [294.077 447.152 350.88 457.735] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +8746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.553 447.152 457.542 457.735] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [141.797 419.448 221.015 430.03] +/A << /S /GoTo /D (class_photon_network_af022551a359708341bd3b73c3c946f68) >> +>> +endobj +8748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.002 419.448 361.805 430.03] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +8749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [423.161 419.448 473.15 430.03] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 379.896 213.868 390.371] +/A << /S /GoTo /D (class_photon_network_aa9a112ccaaf71a296b823e9637584445) >> +>> +endobj +8751 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 352.192 213.868 362.666] +/A << /S /GoTo /D (class_photon_network_a08119a6962c1d179a34d0388927ead3c) >> +>> +endobj +8752 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.354 352.192 259.533 362.666] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +8753 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.764 324.487 220.997 334.962] +/A << /S /GoTo /D (class_photon_network_a50fc7126ad9a866ce32951d87f13e8ed) >> +>> +endobj +8754 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [228.047 324.487 270.226 334.962] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +8755 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 312.424 172.507 322.8] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85e) >> +>> +endobj +8756 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.955 312.424 291.944 322.8] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8757 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 272.765 191.443 283.347] +/A << /S /GoTo /D (class_photon_network_a026d325f77bc2f87f2d4926ba64f21da) >> +>> +endobj +8758 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 245.168 180.226 255.643] +/A << /S /GoTo /D (class_photon_network_a62c512b8fe143fac07ff55e849aa48d5) >> +>> +endobj +8759 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 217.464 180.226 227.938] +/A << /S /GoTo /D (class_photon_network_a631231346113712f11319749d6e1a3eb) >> +>> +endobj +8760 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.712 217.464 233.701 227.938] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8761 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 189.759 187.803 200.234] +/A << /S /GoTo /D (class_photon_network_a941ac37ca7e275c93f3a1f95f0df84ae) >> +>> +endobj +8762 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 162.055 187.561 172.529] +/A << /S /GoTo /D (class_photon_network_abb27939f0325b53c94f5ad52199b63b7) >> +>> +endobj +8763 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 134.243 222.834 144.825] +/A << /S /GoTo /D (class_photon_network_ad698087a5e4dcb58608f1df693059259) >> +>> +endobj +8764 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226.32 134.243 276.308 144.825] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8765 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 95.687 158.788 106.162] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +8766 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.38 95.687 219.691 106.162] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +8767 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [222.287 81.027 259.019 90.654] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +8768 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 67.983 249.428 78.457] +/A << /S /GoTo /D (class_photon_network_a3badca00ee2bacec4eaccac76002f0ac) >> +>> +endobj +8769 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [252.913 67.983 295.092 78.457] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +8774 0 obj +<< +/D [8772 0 R /XYZ 69.866 801.979 null] +>> +endobj +8771 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8829 0 obj +<< +/Length 2463 +/Filter /FlateDecode +>> +stream +xZ[W6~Wxycymn Г<glcÒ_*[CrN,KeTnmqzgDV1Bۊc +H&c{ .|(yR׳#'c\l&%,~;`@j3eqm0a[n0<ߵ|ȍls|38Dƙ[f7bsQ۷sLrh0յʓk36y̷M"^UbūّgMƩ3)Sը]%M. jG55{͘F"nYŗM[d}t:rb8b2>~`֨Z"KXݒ>/Hu [bn`/pw ̕x&ژe1c89odNC-JE, bjZu%=ތ7 CD١!eWNd+A$e[9RXVR4jT6wIyTu<0m~,kB1y5;^ QԸ3#ȼ"Tnh^&YOf.5njV{ПEʑØڹ$]$cez,k4v!+4B W t?&-ײwa(+Ɏulg(jV)B=J `z-6,ǝan-2!ܝ3ܲ9!38vvm{/Һ^(nQIw`RRIo庪@[rO|5x|{IO=w -'ѧCA?5n5s O%ȴ:QHAʊf*ls2+k+C":Swɛ{DkLeٞts\Ggvt%a8aY\6rR/i(=f?yMM-ʰՋ0dFH1]$7xc}[YxssӐk8ر UK^u4v?Ofq<)` `` +LLL~KteBod1 ҤIv ,jzEtCo'ޞ|ΎV ;'"oiz@DDf4Fr6 )K@EG~%!:G%:TZN4޿VY5My%KIhE^JYH^{2Xfqʛ x#]-u공"fRZI`P*aeW[UțՀ-` LX"K~Sn#b]<KOp,V`}u kus+@E1yZEsY)e\@D+<)L |DjZ &zglkZ@K5^g?I[hQyȉm34zɄ|ՊZo5X~]D@ze̹$&}FITBcS`<9!2//opSV_-Nŷ @}CV}!"mseT >Y 9ʙJůhW7fLk]yMcV7bK~}eN˨f+Փ`ܣBW5o 4ݿ{mLrY:qxNۋ)h +p78F΋tb}6hIyڶ`8Zf\QK *$\ +*`OD9 +0a_ {<\ Pu@R4/1 h\-DQ(j+|*1 +DTzI%"Y$I.ivKk7<򏞋i˦pڇ2hmdlة˱%lD#\Y9bsČ11۴B*u }=7|U>H٫ԉ?;Q4P@YR:`"ZτDuMk(:T~nQx$J}CIJA\2hD7dug%frmtЊ,' > +endobj +8770 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 744.929 268.992 755.511] +/A << /S /GoTo /D (class_photon_network_a4c59e3c4feeaf44293eef1d8d19b98a2) >> +>> +endobj +8795 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.917 705.804 184.53 716.279] +/A << /S /GoTo /D (class_photon_network_aa9088b089a8c1b3548f8a7a792146e50) >> +>> +endobj +8796 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [412.869 705.804 491.379 716.279] +/A << /S /GoTo /D (class_raise_event_options) >> +>> +endobj +8797 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [366.57 690.86 408.281 700.486] +/A << /S /GoTo /D (class_event_code) >> +>> +endobj +8798 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 677.531 192.259 688.005] +/A << /S /GoTo /D (class_photon_network_a2eefb7151b27169d11062be9996a0eab) >> +>> +endobj +8799 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 649.257 217.678 659.732] +/A << /S /GoTo /D (class_photon_network_a8a2bd25668b204f681c7d27174735ba1) >> +>> +endobj +8800 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 620.983 210.469 631.458] +/A << /S /GoTo /D (class_photon_network_ae5c32625fb17b425e105de49ea267ddf) >> +>> +endobj +8801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.016 592.602 214.378 603.184] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +8802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.975 564.328 214.337 574.911] +/A << /S /GoTo /D (class_photon_network_ab563beb25fcb8a3b2b0ec285495ef128) >> +>> +endobj +8803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.754 524.1 267.448 534.682] +/A << /S /GoTo /D (class_photon_network_a83496ecf6be88e7ec7ea2fc193239fbe) >> +>> +endobj +8804 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 472.912 164.544 483.494] +/A << /S /GoTo /D (class_photon_network_a901a33962274b4467919acd868016d6b) >> +>> +endobj +8805 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 444.746 231.845 455.221] +/A << /S /GoTo /D (class_photon_network_a88ef2952a1d0a468d5ba2bff48fa084c) >> +>> +endobj +8806 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 416.365 242.057 426.947] +/A << /S /GoTo /D (class_photon_network_a3b8d0c1cefdf577e1dff8aecb147b7fd) >> +>> +endobj +8807 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 388.199 207.896 398.673] +/A << /S /GoTo /D (class_photon_network_a9cc8da229d513fce2fddbc5e2c6eaed2) >> +>> +endobj +8808 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [211.382 388.199 266.75 398.673] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8809 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 359.925 203.404 370.4] +/A << /S /GoTo /D (class_photon_network_a85b058bab4a369d0c5730cf43b462962) >> +>> +endobj +8810 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [206.89 359.925 262.258 370.4] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8811 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 331.544 169.521 342.126] +/A << /S /GoTo /D (class_photon_network_a52fdada993f0729be0912113c0ddb3f8) >> +>> +endobj +8812 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.007 331.544 222.664 342.126] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8813 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.513 316.707 348.403 326.333] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8814 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [390.235 316.707 435.126 326.333] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8815 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 292.311 169.521 302.893] +/A << /S /GoTo /D (class_photon_network_abade51a8c3af0e9c280c2817f9ca15e5) >> +>> +endobj +8816 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 264.038 224.878 274.62] +/A << /S /GoTo /D (class_photon_network_a4c8c84b764c759a16296a1f3ebe48c46) >> +>> +endobj +8817 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [228.364 264.038 283.733 274.62] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8818 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 224.805 224.878 235.387] +/A << /S /GoTo /D (class_photon_network_aa3e39af39baae3611730b914a8fe6f8b) >> +>> +endobj +8819 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 185.68 179.482 196.155] +/A << /S /GoTo /D (class_photon_network_a3b52beccf64860705cc467d7abf9fc41) >> +>> +endobj +8820 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 146.34 195.335 156.922] +/A << /S /GoTo /D (class_photon_network_a0b99a01696f62ff29e005e6f939f8dc4) >> +>> +endobj +8821 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.821 146.34 254.189 156.922] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8822 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 107.107 195.335 117.69] +/A << /S /GoTo /D (class_photon_network_a808fc6d1770c999fb1f5716abb45451a) >> +>> +endobj +8823 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.821 107.107 248.477 117.69] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8824 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 67.875 227.73 78.457] +/A << /S /GoTo /D (class_photon_network_ae6fd306fd4adf0c44d64d9cfadc038aa) >> +>> +endobj +8830 0 obj +<< +/D [8828 0 R /XYZ 69.866 801.979 null] +>> +endobj +8827 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8883 0 obj +<< +/Length 2320 +/Filter /FlateDecode +>> +stream +xZ[s۶~K#Ug&ubwص3qCQSP ʎKHK8OqˇĚY:|gw?gO80uBjOЍF\"KlQDJU|$~#깰s߃rfC4ߊJrCI>R DN =FVӓ=ڧX: +`i +\ΓR5_k9zr]sS/]&ŌX-^`kCOM7.@6M"K^DlL,D&Q !%NJ*jZP!'OVIV)MiiXZ`xJZUN@6t]Ǎ= sH4R\n60B[ISE[%k'Ssv'oD.0);P\_]>7K-JPM;` +)Aeʒ-RUu\Un/CP~L$ v<KX?(K([b)rӆUO&r~J춻?r-ؖan㪹~P=:J]3=L`LLdoIt @34tbwaTe=npRS(:KKBܴ%5c= 9e)@P:O*;IN p۸BXLof UI s 7Z=XF.MYQjT6IY~l8㺇=׆yd<`CukZCg:?su9ݠjg'/N1r DJ1g`as3Or 57ko0 [Q N@CSd*.uG69U)M;@y!n0sCW"4 +n T隕əQ&__4;ɤMEc#ᷫŘӝb@'SoWf;,dkZI2 F@g C+veEdF&O +  +Cm!4*K%Z]B=OW=m3ݪԋ*):>]vDUh:lBn|z LξsL͊I~G ]2xKU~1Iĺ*;yaߒF-eR+:6zHwe9nDEyيJ !# B\UwG˲,'\L(9 h+Gt.Kmp`Pr)6~+dw'p N5urq-`qPhwt$kKPV+/%9%!HE,Xѵצj7-Eq9XmCk|,GY$fnt̀DU@Cw Ч[V^f +䷡;_:x(`Խl!o+ wIxhf~a8a*k.Lu> :6*MIKhj<wZB^hgk{DJl+ٝ2 +endstream +endobj +8882 0 obj +<< +/Type /Page +/Contents 8883 0 R +/Resources 8881 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8887 0 R +/Annots [ 8825 0 R 8826 0 R 8849 0 R 8850 0 R 8851 0 R 8852 0 R 8853 0 R 8854 0 R 8855 0 R 8856 0 R 8857 0 R 8858 0 R 8859 0 R 8860 0 R 8861 0 R 8862 0 R 8863 0 R 8864 0 R 8865 0 R 8866 0 R 8867 0 R 8868 0 R 8869 0 R 8870 0 R 8871 0 R 8872 0 R 8873 0 R 8874 0 R 8875 0 R 8876 0 R 8877 0 R 8878 0 R ] +>> +endobj +8825 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.287 749.013 203.177 756.848] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8826 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 734.033 273.87 744.615] +/A << /S /GoTo /D (class_photon_network_adbb6045e5c8e64e0076cadbcb62703b5) >> +>> +endobj +8849 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.868 705.991 364.389 716.466] +/A << /S /GoTo /D (class_photon_network_a89e99e64c1b6232132012bc311e7e205) >> +>> +endobj +8850 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 677.734 224.439 688.316] +/A << /S /GoTo /D (class_photon_network_af7728267e9576c7b2d205df53ac74fe1) >> +>> +endobj +8851 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 664.656 211.662 675.238] +/A << /S /GoTo /D (class_photon_network_aafd2d1fa7fc0f83c8db50920cbc75a1e) >> +>> +endobj +8852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 636.507 224.439 647.089] +/A << /S /GoTo /D (class_photon_network_ada44c5edfa6e93e67db635bd0764ef70) >> +>> +endobj +8853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 623.536 211.662 634.011] +/A << /S /GoTo /D (class_photon_network_acb9f431e95b0bfea67159921159aa944) >> +>> +endobj +8854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 595.279 217.974 605.861] +/A << /S /GoTo /D (class_photon_network_a8f8d6db18d74855e18ec43b3a221102b) >> +>> +endobj +8855 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 582.201 217.974 592.783] +/A << /S /GoTo /D (class_photon_network_a8c382332dd89c20585053c3374002268) >> +>> +endobj +8856 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 554.052 217.974 564.634] +/A << /S /GoTo /D (class_photon_network_a208a46eaefe19c965eb62d18ca59ac41) >> +>> +endobj +8857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 540.974 217.974 551.556] +/A << /S /GoTo /D (class_photon_network_a8298744a53aff22f52299ab63fbd841b) >> +>> +endobj +8858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 512.932 196.213 523.407] +/A << /S /GoTo /D (class_photon_network_a6b98294843798e6ebac72704a867b6da) >> +>> +endobj +8859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 484.783 179.778 495.257] +/A << /S /GoTo /D (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) >> +>> +endobj +8860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 456.526 179.778 467.108] +/A << /S /GoTo /D (class_photon_network_aaa7a2114de2a80a0a2ded65d1c0079ba) >> +>> +endobj +8861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 428.377 173.735 438.959] +/A << /S /GoTo /D (class_photon_network_ad9a866c73b3e417d55266ed548a52cb8) >> +>> +endobj +8862 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [188.088 413.506 215.653 423.229] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8863 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [143.248 354.989 192.842 365.365] +/A << /S /GoTo /D (class_photon_network_ac6b98cecd29a9ced8ec4a6ae78908dfc) >> +>> +endobj +8864 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.035 281.709 236.292 292.184] +/A << /S /GoTo /D (class_photon_network_ad3b82aa2ac8d89db5ebf0bc5ac9add9e) >> +>> +endobj +8865 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [403.919 266.73 491.787 276.454] +/A << /S /GoTo /D (general) >> +>> +endobj +8866 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.427 242.494 183.264 253.076] +/A << /S /GoTo /D (class_server_settings) >> +>> +endobj +8867 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.995 242.494 277.246 253.076] +/A << /S /GoTo /D (class_photon_network_a505f06c3eb4ca67db5dd517aab34143d) >> +>> +endobj +8868 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [296.921 242.494 357.759 253.076] +/A << /S /GoTo /D (class_server_settings) >> +>> +endobj +8869 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.301 230.538 257.138 241.121] +/A << /S /GoTo /D (class_server_settings) >> +>> +endobj +8870 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 202.497 230.823 212.972] +/A << /S /GoTo /D (class_photon_network_ae0036d259f2b793b4838393837d4cf6d) >> +>> +endobj +8871 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 174.24 184.494 184.822] +/A << /S /GoTo /D (group__public_api_gaf0468f6a0c8ab8caec09678e6dc6f3d5) >> +>> +endobj +8872 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.994 174.24 219.884 184.822] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +8873 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [228.113 174.24 339.744 184.822] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5ae0a1284706116eec7a83a489235a9ef8) >> +>> +endobj +8874 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 146.199 277.662 156.673] +/A << /S /GoTo /D (class_photon_network_acff20b8fd3871e0b3be350e0d1c98605) >> +>> +endobj +8875 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [115.68 120.261 160.57 129.984] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8876 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 107.091 297.047 117.565] +/A << /S /GoTo /D (class_photon_network_a65cc14cdfda9c9cb8dad3b3f862097d4) >> +>> +endobj +8877 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.767 92.112 428.658 101.835] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8878 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 67.983 272.399 78.457] +/A << /S /GoTo /D (class_photon_network_a734d436869fa53cb8660de63e79e6252) >> +>> +endobj +8884 0 obj +<< +/D [8882 0 R /XYZ 69.866 801.979 null] +>> +endobj +8885 0 obj +<< +/D [8882 0 R /XYZ 70.866 395.089 null] +>> +endobj +8886 0 obj +<< +/D [8882 0 R /XYZ 70.866 321.701 null] +>> +endobj +8881 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F82 6068 0 R /F73 4864 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +8946 0 obj +<< +/Length 2749 +/Filter /FlateDecode +>> +stream +xZYsF~ׯ`%`8 nfd:&[}#rb Q~}Cb:0ӘrbO.Ϟߜ=}DLn&MBߟ#>ܤl旉S(Y\ BElr^4q#i~9=aHBNG{/8Q8")9sql8_%Fm? +qjG$ra6߬0ȧԶ6HԱ-^"D4jm;efZQV\Ѫ~@$作ZMY|lXRѪS~zSLtF=Kęc +7ϢX|] 2XK'ya3Q:u>0yoըD ,z[u,J`9_xϢT8}7_Jmt%$[ 8E|g<=׳?ؼV>HVj8\W$ovR+Og"n{E~ɛV5ː)x8'PcOT$C@ +)SI88M(,>خny$-lV39 mȋ@f=xgÏ*4kDaqYx"^UʮJچ&Q(Wu>|qiw@)~.TE#Fy`HkJ'vIT{|B8_esdy+O'(5y|н|]]K2Cp\7;-hk1ޭ[Q4qo/D,[|I n24pB渆 +K`3JASݱ`ۡ]Ll> e4t0sٿz[A%3u%ubSICr'tv*N +̖fz0#pB%wy 2VAg`+׼/ @׫ߥ,p4|kw 0`u/͔jɛR0S`4zRke +smߓlS B.$fb h*$p.r1Eku31ӀD ~_@~[K5vFc.,[~`W~Ya,^RX$ֶPb$96NO :mtDs,}HY $E=/+F8QHV$2Э֟ZI7SI8;xC]yչkc]`f5#byYyD"Kۀm!=9AKmF^MWC⩌eLVu;WǕi Iw\Y8bވc|oNMo\|%/ORM'+]3>JEMiԫ˨31c1q^g" +U-1) )gͳgHeW`p +yP?\4o>TڞWߠ5_Bz`lL7ƢvjlizϜ726⦏ !1O-ky0&"A!6K3j\f{>|X"J #x+D04t+;v`^qQҾl·ѤUK\ r-KRm#Tc+_CL/%; 'eQN +I&dJ\|b*݌4h.0b6"M+H+j9$rh_GڔN8Jo6Tvm3hڪZ㦵qa*ø{eYI;#{ԓzѓɡL $;OPauX)b溁uQb#g K+SBOodR4ph1FK ]d \sJN ]-xUFg|NFҿ>Ӄ@mz@ +By.Ka(ȵ6E#2u}zIcS@̫`F@% ng#4ӄű`u$25u2EymH|rbB"[:P#j]~Mjch4=`]` +mKc5B|l4l`+}yۂ7X*"EW]ICuPe=}f8o68HCԫrQ@Lw M\6 /X;R| ZsPNFp5WGP%QHVhWYp^`qڰR/$Fo:eCCgBUį( ooppZ-# &Ge8`[/!8>&6Q Z`Q X7ض:u +Q|XdD!^>F>%,V[+E^Y9VI*ĩmlf&8~*`aɠf1al d7?PNMړ +pJ퇼;gWg yiwVElGW. +V+8ߠ ԲKY)G}כo +/rMkqdݤכ,7ᇊ1{~_uDj1 ۍ0Ԯ?Uz~(T|/\ |$~Wq +a7D6MuG3=h˂_$٧l~Sb,?1+ +endstream +endobj +8945 0 obj +<< +/Type /Page +/Contents 8946 0 R +/Resources 8944 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8887 0 R +/Annots [ 8879 0 R 8880 0 R 8908 0 R 8909 0 R 8910 0 R 8911 0 R 8912 0 R 8913 0 R 8914 0 R 8915 0 R 8916 0 R 8917 0 R 8918 0 R 8919 0 R 8920 0 R 8921 0 R 8922 0 R 8923 0 R 8924 0 R 8925 0 R 8926 0 R 8927 0 R 8928 0 R 8929 0 R 8930 0 R 8931 0 R 8932 0 R 8933 0 R 8934 0 R 8935 0 R 8936 0 R 8937 0 R 8938 0 R 8939 0 R 8940 0 R ] +>> +endobj +8879 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [334.268 758.269 379.159 767.992] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8880 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 745.304 260.035 755.778] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +8908 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 708.308 207.627 717.079] +/A << /S /GoTo /D (class_photon_network_a232458dc1894d99134f6d978524cbb99) >> +>> +endobj +8909 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.491 691.83 357.783 701.553] +/A << /S /GoTo /D (class_photon_network_a5d231578fbaadcb89dd592d2d8ddfd0a) >> +>> +endobj +8910 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.83 655.842 211.88 666.425] +/A << /S /GoTo /D (class_photon_network_a5d231578fbaadcb89dd592d2d8ddfd0a) >> +>> +endobj +8911 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.868 628.102 336.917 638.684] +/A << /S /GoTo /D (class_photon_network_a71b2a9299c3906b3e3d49f0ac296a87b) >> +>> +endobj +8912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.545 600.362 264.966 610.944] +/A << /S /GoTo /D (class_photon_network_a598db34bb93cdb17a3032a96c64b0ce3) >> +>> +endobj +8913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 572.729 228.68 583.204] +/A << /S /GoTo /D (class_photon_network_ac8fda24b1f55b00f4968559a599ca88b) >> +>> +endobj +8914 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 546.693 198.921 555.464] +/A << /S /GoTo /D (class_photon_network_a7a74751daa6e6e979cff9ba3aceb56dd) >> +>> +endobj +8915 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [353.909 530.214 459.087 539.938] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +8916 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 517.141 219.588 527.723] +/A << /S /GoTo /D (class_photon_network_ae4186352869ef922cb84efbd5c1f2465) >> +>> +endobj +8917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 480.253 177.088 489.024] +/A << /S /GoTo /D (class_photon_network_a90ec16d1df1a0332d0ad16493d641f56) >> +>> +endobj +8918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.588 480.253 229.684 489.024] +/A << /S /GoTo /D (class_photon_network_a81af9e901341d6b647df1f6d7f2d7583) >> +>> +endobj +8919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 405.895 196.841 416.27] +/A << /S /GoTo /D (class_photon_network_a2a8b1690325d73930d6bc8b99d8e736d) >> +>> +endobj +8920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 378.154 204.076 388.736] +/A << /S /GoTo /D (class_photon_network_a3b90d30007fbeced0293dde881d0421e) >> +>> +endobj +8921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 350.414 193.443 360.996] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +8922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.943 350.414 247.76 360.996] +/A << /S /GoTo /D (class_photon_network_ab1f97129b0b7601e64645223ce1c1560) >> +>> +endobj +8923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.811 335.747 215.368 345.47] +/A << /S /GoTo /D (class_region) >> +>> +endobj +8924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 312.176 180.997 322.091] +/A << /S /GoTo /D (class_photon_network_ad96fd99b5e9384771ee44b427edf7487) >> +>> +endobj +8925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [215.783 297.145 243.348 306.771] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 273.016 182.988 283.392] +/A << /S /GoTo /D (class_photon_network_a0141dc0df0d2e0a7fcda2e2101c44254) >> +>> +endobj +8927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [422.654 258.349 450.219 268.072] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +8928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 245.383 222.861 255.651] +/A << /S /GoTo /D (class_photon_network_a7698c3e61503df2cb5375ffc3182fb1f) >> +>> +endobj +8929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 207.037 186.476 217.158] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9b) >> +>> +endobj +8930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.976 207.037 253.265 217.158] +/A << /S /GoTo /D (class_photon_network_aa2a46d8ce13fedd3f4550b6164524e81) >> +>> +endobj +8931 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 179.297 164.042 189.418] +/A << /S /GoTo /D (group__public_api_ga8d4a6786d6193f0e6245c44e4a7bb4a0) >> +>> +endobj +8932 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [164.542 179.297 263.719 189.418] +/A << /S /GoTo /D (class_photon_network_a7b1f4dbdcb9e30722be54b374bba6934) >> +>> +endobj +8933 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 151.556 191.99 161.678] +/A << /S /GoTo /D (_networking_peer_8cs_a85638c2837a71574f29802d46793c990) >> +>> +endobj +8934 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [192.49 151.556 220.933 161.678] +/A << /S /GoTo /D (class_photon_network_a9225b990f7b3d0fffadc23c7b3118ef2) >> +>> +endobj +8935 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 123.816 203.521 133.731] +/A << /S /GoTo /D (class_authentication_values) >> +>> +endobj +8936 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [204.021 123.816 250.97 133.731] +/A << /S /GoTo /D (class_photon_network_a282677f512ce2f53e4a0893d4e3844b8) >> +>> +endobj +8937 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 96.076 144.102 105.991] +/A << /S /GoTo /D (class_room) >> +>> +endobj +8938 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.602 96.076 167.019 105.991] +/A << /S /GoTo /D (class_photon_network_ac7c6623c88f254b965aa366b1229781e) >> +>> +endobj +8939 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 67.983 173.565 78.251] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8940 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.065 67.983 200.024 78.251] +/A << /S /GoTo /D (class_photon_network_a1b3803f17c6d713593bca41547b8b9b3) >> +>> +endobj +8947 0 obj +<< +/D [8945 0 R /XYZ 69.866 801.979 null] +>> +endobj +8948 0 obj +<< +/D [8945 0 R /XYZ 70.866 445.73 null] +>> +endobj +8944 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F82 6068 0 R /F77 6067 0 R /F73 4864 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9007 0 obj +<< +/Length 2785 +/Filter /FlateDecode +>> +stream +xZKs8W2TUVeI*)!Ɂ` +Њz~_hNJAэffqy8%nEz37Yzng'q}o9[ZSQ=g|\fUEsq=[!s1_܋}soG>@xK(I f'6[Bߛs4Yn.gG17Ei,uD\3/ RY9#7WG07;>+Ϝ;ؚܵDsaws:4" +܃E][igr9$bS + Ɇ̒:nZ϶jsBTZI|eT+PZ3@g˅`[ 4LI\[֤\bEYRKSgu6­FBYO{x[x>8 G GR^aTuVZNhlYgH,@2#h@H*\yp#O#vEMq[Mޞ(̈́nkzv`lmoeJ{cL5uU,p9XA/!@&5;ZLX b/gEBHt }PR +LczU/ka:W1g<H|,q#zۢ^Q9 |%͢ -Pk>ьƬ8=GaXn4R`G].!En J+`#  JޠMx;fAFB@q ˩) +  k`|RT&ć=Ɔ؍t )2YlҤ<Y'Ϲ@C*l$)%L9 GM m?:ao{45b +x9Bx!%;] z۶T N"O\%y..C윋lPۇ>x0Q. @]M5Zt~24rk$: pN@uQZuƯKe!_=AXixĘ-=A a+Ж w 6c Q|Q\.(*{] b_h/df&,|%'>kٖȺ )U>$N9t q0:TT?ywkRNː~4 ?4'la==O36҈BHAYmAEE"iV༇S}gK#Ŧ4_wv%y! {P^e$!N돌h"V-;h@;`/! ޵<,4t"te>?h):M5PX6$Bnೂ t2fAϿVBm*~8 +[Vd)0n ؒFm;ӡ#U(Y%5043 +'E5%MxP-_71S<:ėc{T-;{0:{2ށ~˃55'%Qd'6]~&ByK\zl4&TjrIL2hTTkePy1&xmM |~ea=8VOR@}s$KaGNw:4с?4T  i%گ\/H~#=,NMQPWf8BGIߠes%ly=v#&wڒڊr Šm]]Ш *䉺B4f2K_D;  0F6.Q *^*5= %s ZP&П~*"z RP %ԯWC<]m~&[ sTԴ b Ki++!`Lyc&+QU) ]j\_r{jWs ؈aE#%58vx]:)+ 0l)tnolU3 TS2ށv ͗{dM ' {+֦X0~L +j3vU桕U޻,Flhh }=gaawnVaQBVϧBiMX軫  )'y˾p+!百8H\"Ia:+mne .vAډE2M*Ҵ2C3 +=' -4LRIѶW (k$06ܥYY@vPɂ'Qt5.]lM_Gn<),@;aA4t]̬d/nZ ^:݋)rȦ?4w+4шFw=)F~z`v%%oǙgm(tˢduj/t Yj~Km +L+Uex##J =DFnEYd=y5zYbCol|U\NUPfA=B(E,]!qևM7 תAn%tS@R5$hMA#\ݔ|w1[wv?qSO[޳=ZN.z3y*8}?QA1#o{=4CL8/]`x_iiA4n+!Ŗr6!|1K͓Z_ 鶾wfgsR;_X6e +endstream +endobj +9006 0 obj +<< +/Type /Page +/Contents 9007 0 R +/Resources 9005 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8887 0 R +/Annots [ 8941 0 R 8942 0 R 8943 0 R 8970 0 R 8971 0 R 8972 0 R 8973 0 R 8974 0 R 8975 0 R 8976 0 R 8977 0 R 8978 0 R 8979 0 R 8980 0 R 8981 0 R 9009 0 R 8982 0 R 8983 0 R 8984 0 R 8985 0 R 8986 0 R 8987 0 R 8988 0 R 8989 0 R 8990 0 R 8991 0 R 8992 0 R 8993 0 R 8994 0 R 8995 0 R 8996 0 R 8997 0 R 8998 0 R 8999 0 R 9000 0 R 9001 0 R 9002 0 R 9003 0 R ] +>> +endobj +8941 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.023 758.269 194.054 767.992] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8942 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 734.434 173.565 744.909] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8943 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.065 734.434 226.375 744.909] +/A << /S /GoTo /D (class_photon_network_aa7e51b5e5f9f8b89f057096f47d11c5b) >> +>> +endobj +8970 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 706.766 192.618 717.142] +/A << /S /GoTo /D (class_photon_network_abb168e543c15731ec4de869d3a1ad8f4) >> +>> +endobj +8971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 668.353 173.565 678.622] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8972 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.157 668.353 220.067 678.622] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +8973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 640.792 173.565 651.061] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +8974 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.157 640.792 232.028 651.061] +/A << /S /GoTo /D (class_photon_network_a894df24398c8cfe2d06e22ddc39576fa) >> +>> +endobj +8975 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.381 613.585 184.201 623.706] +/A << /S /GoTo /D (class_friend_info) >> +>> +endobj +8976 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.935 613.585 226.552 623.706] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +8977 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 585.563 191.676 595.939] +/A << /S /GoTo /D (class_photon_network_a5aca6d5aea9bb5b55967959d1ecd0ccd) >> +>> +endobj +8978 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 558.463 182.271 568.584] +/A << /S /GoTo /D (interface_i_pun_prefab_pool) >> +>> +endobj +8979 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.771 558.463 228.402 568.584] +/A << /S /GoTo /D (class_photon_network_a1ed1ac94f91b8746d218e22146eb515e) >> +>> +endobj +8980 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 519.943 185.974 530.064] +/A << /S /GoTo /D (class_photon_network_a4a1cd1887cb41a0592322527a7304ed7) >> +>> +endobj +8981 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 504.905 525.406 514.628] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +9009 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 493.946 140.574 503.669] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +8982 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 484.69 205.622 492.525] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +8983 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 470.111 237.296 480.585] +/A << /S /GoTo /D (class_photon_network_af721675dc5cf3c5ac4d4b67339246cdf) >> +>> +endobj +8984 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.246 455.523 520.475 465.149] +/A << /S /GoTo /D (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) >> +>> +endobj +8985 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 442.55 247.312 453.024] +/A << /S /GoTo /D (class_photon_network_a6c6fb3cd57d7e2a13d1fc354db0c1fd7) >> +>> +endobj +8986 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.149 427.865 426.039 437.588] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +8987 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 404.03 197.675 414.298] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +8988 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.368 389.345 352.565 399.068] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +8989 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 365.51 227.389 375.985] +/A << /S /GoTo /D (class_photon_network_a8ce4ab4a44e705199ff795b2eb9b395b) >> +>> +endobj +8990 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.381 337.949 207.056 348.424] +/A << /S /GoTo /D (class_typed_lobby_info) >> +>> +endobj +8991 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.79 337.949 279.811 348.424] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +8992 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 310.388 187.202 320.656] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +8993 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 282.827 168.185 293.095] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +8994 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.685 282.827 191.838 293.095] +/A << /S /GoTo /D (class_photon_network_a3af7f8d0082599e6e3a56a5b1481a505) >> +>> +endobj +8995 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 255.619 170.525 265.535] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +8996 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [240.577 240.581 297.773 250.305] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +8997 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 217.099 216.862 227.221] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +8998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 189.078 242.784 199.66] +/A << /S /GoTo /D (class_photon_network_a9cf8214080471001a1a32e17eff9b402) >> +>> +endobj +8999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 161.978 235.602 172.099] +/A << /S /GoTo /D (class_photon_network_a3315be88f62dbdc24819946fc6171e08) >> +>> +endobj +9000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.426 123.458 166.356 133.373] +/A << /S /GoTo /D (class_photon_network_a86ab96957666ef72830a35662ef3d30b) >> +>> +endobj +9001 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 108.516 136.515 117.957] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9002 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 95.544 202.938 106.018] +/A << /S /GoTo /D (class_photon_network_aa3c3ed1a8a1da54e52c5b7284f69c8a4) >> +>> +endobj +9003 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 68.336 196.419 78.457] +/A << /S /GoTo /D (class_photon_network_af498064a6019a6c69e875bd64db40216) >> +>> +endobj +9008 0 obj +<< +/D [9006 0 R /XYZ 69.866 801.979 null] +>> +endobj +9005 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9037 0 obj +<< +/Length 2085 +/Filter /FlateDecode +>> +stream +xZ[s8~ϯ` +3Ľ3vmzIܾy 8l0rlG7 qb7 tsvZo^|+FIzŠ\%ؚWc98Ey{Z;!)X%5;~akn8F1lq̵rxrֵC/(ӃOs|rcWI$nv)]#˚* z\" 8+ PO)k/fB"gM0A-wFH0x: ZR.'rQT'-F'*$'`l0},Q B |^?Ҹ5<(Ѳk.TIa\MxB]ҶbeEEsX{P:j%ѝ0G=p>x@L\{BqNx;R aT=@0Q_ \]A-K|ֽUX7D t,qL`<1J e9Nk,Wި%cW\ނ[*! Γ_[TD+O5KQ"NWOLK/*g[aco/XC{CT̘(0r! O1جtTi}rjS'uICȅ5n0C"?6 #P\ewoPg7L&p$H=p_(4'j$c*hKJ:# Ać %-IsY9T Q$ AC8AZ + 3c˖Ӈ ЃTi#Ko_zP*o`{LB}2R(Fj/󂏞BaYv:Үxf쟪WPiiҋoK28dtBS +-P'n F~Wuޜ{V͌ڐ~>gzP%"_SneHnҲ?{.x u)fj ] -.V:^ZW@d^a%1v<32k.]6SdYo#R\+*NyڤsVʷ BTWFڋAf2,,C?:>(*5m1_LAC{E%sH_'䣤;)СH;舅ƔO"q,-*ZtN=g=\z']` d:&eIyL2 >EMD:,&Vp#89V9 dևT$JB *Y\![k 37Ur38`~D;#yŮL?^Akon_.R+UHE;[Mmѡ&m +&#BY2FE\̏#DxSΚ]+\FgM%anl5DaNTW @*H t&BN$ROe6uGE\0XvHyVp" G1޳ՑmOaG$S}e;/* gRt "ZD~Vj&> t \mݒq·!9[* +,EEӌVKtQA:C,$9!BImzvG P h|tiA?jՔ"i051pȅ-f ЈG^nVO ahTE'8ُsђݨ^ٟI~'[/)Ǭb"(fN ׂ :nP ?oTCU3z䡄tunMhDn-\na8Ȑز-W>[^Ziֺ姀4Eo#M6BSXR֢{d!/1Q3Q zUGΗV$H0~.6NCVNƟ&ܔV_޺)/ +7suq02; +endstream +endobj +9036 0 obj +<< +/Type /Page +/Contents 9037 0 R +/Resources 9035 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8887 0 R +/Annots [ 9004 0 R 9021 0 R 9022 0 R 9023 0 R 9024 0 R 9025 0 R 9026 0 R 9027 0 R 9028 0 R 9029 0 R 9030 0 R 9031 0 R 9032 0 R 9033 0 R 9034 0 R ] +>> +endobj +9004 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 746.227 170.516 756.142] +/A << /S /GoTo /D (class_photon_network_a4f968278990dea7202b04eed1f833b6c) >> +>> +endobj +9021 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 719.627 244.254 729.749] +/A << /S /GoTo /D (class_photon_network_afbff4452088b29acf41bf3012a8d2545) >> +>> +endobj +9022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 692.675 232.356 703.149] +/A << /S /GoTo /D (class_photon_network_a1e23b1e0ff44046e6532c8588ac08140) >> +>> +endobj +9023 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 666.075 228.868 676.549] +/A << /S /GoTo /D (class_photon_network_a8830a7a4b92490f7882780630b1fcf99) >> +>> +endobj +9024 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 628.516 192.994 638.991] +/A << /S /GoTo /D (class_photon_network_a56b04c065a4f5d54e3f9113056b32da2) >> +>> +endobj +9025 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 602.27 191.945 612.391] +/A << /S /GoTo /D (class_photon_network_a6cbf85644c07b9ceb4b4a1accd0f4ce9) >> +>> +endobj +9026 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 575.67 241.143 585.792] +/A << /S /GoTo /D (class_photon_network_a67cb40d5f2dede55b03b2be1f792e93a) >> +>> +endobj +9027 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 549.07 238.597 559.192] +/A << /S /GoTo /D (class_photon_network_aaaf92ee5eec22fff548ee9bb735913b6) >> +>> +endobj +9028 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 522.471 211.519 532.592] +/A << /S /GoTo /D (class_photon_network_ae995c021d1295f00afd9f87cd3bd118c) >> +>> +endobj +9029 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 495.518 227.416 505.993] +/A << /S /GoTo /D (class_photon_network_a587a1fb0147ddc48a5176e48a2940985) >> +>> +endobj +9030 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 469.272 254.96 479.393] +/A << /S /GoTo /D (class_photon_network_ad86d4af661dd7365f6e172e106ca7cb2) >> +>> +endobj +9031 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 431.713 190.269 441.834] +/A << /S /GoTo /D (class_photon_network_ab5e68c8f4799fabb200d08ff8c313c43) >> +>> +endobj +9032 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.523 358.05 237.854 368.426] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +9033 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.695 236.709 287.352 263.197] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9034 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.695 133.403 287.352 159.892] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9038 0 obj +<< +/D [9036 0 R /XYZ 69.866 801.979 null] +>> +endobj +2106 0 obj +<< +/D [9036 0 R /XYZ 70.866 403.521 null] +>> +endobj +2110 0 obj +<< +/D [9036 0 R /XYZ 70.866 344.416 null] +>> +endobj +8834 0 obj +<< +/D [9036 0 R /XYZ 70.866 319.626 null] +>> +endobj +2114 0 obj +<< +/D [9036 0 R /XYZ 70.866 319.626 null] +>> +endobj +6390 0 obj +<< +/D [9036 0 R /XYZ 70.866 230.982 null] +>> +endobj +2118 0 obj +<< +/D [9036 0 R /XYZ 70.866 216.351 null] +>> +endobj +8888 0 obj +<< +/D [9036 0 R /XYZ 70.866 127.676 null] +>> +endobj +2122 0 obj +<< +/D [9036 0 R /XYZ 70.866 113.046 null] +>> +endobj +9035 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F96 6194 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9073 0 obj +<< +/Length 2536 +/Filter /FlateDecode +>> +stream +xMw6_Ro#A-qڼ4ϭ(!-%R%8_3(ZD K +xNXǡ7󒀩8T{W,H*U7euOۗ묮iy&~<k J;[QYrwXUU/)J@6_y}SN20<1&1J_$2a( i"X??MϤd4u2[i+JZ{oޝy{NyѠ~:+Eq(#&@԰N:"#vq~*Vy7O8c-]5挑 Bnqb| be? 7e{`chDEX*hTu2x0)%-ʱ 0,%>7mlzGovS7׀w)O +)6La Of`63dn\a6@}J(.*/3(Ep$@Lp7mʍϩ﵆t. SHqkzt 1Y_x m1kJ< oz;cqlv9|dٲГv%1Iz`睊pT+rgM2'\ƅfh\@Y[žWrvէLrQAә0?ڛ{Ϊ+"~E_[Zk @fkzCY(a( } !PxSUN JXx _bEKb΁x ˍ(QDx%9: +Kx lozu[5{nl$)oתiM4 'd,T(mg0MGr%$in=-^?<8.;]OY6]Ogc8VvPϽm[ [XR Ⱥ1=ɏzn-Y$OXLty')#^*v9!` "\הHF+ $1[?2&S \n]3, ktm-? <,P!.9[Y]owTbO!EzpB(&E4dx ~{p@Y#ّudl} + ]iLAhܽG8UFIMMIZo +=U>)̴hٍc#ImGiHNEUO=RlUPBo|A\CCD;K_6 H6 ?"JQo}{DԢX a7]Kei`K n3u.G}hVk xb#E((~0S5CB~7#Ƞ>C(IۂP{,N; +#wO;] +*$e$ |Gk$zgE#R xB+/xzpǡV< ?"4ߗ&b(VY +endstream +endobj +9072 0 obj +<< +/Type /Page +/Contents 9073 0 R +/Resources 9071 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8887 0 R +/Annots [ 9051 0 R 9052 0 R 9053 0 R 9054 0 R 9055 0 R 9056 0 R 9075 0 R 9057 0 R 9058 0 R 9059 0 R 9060 0 R 9061 0 R 9062 0 R 9063 0 R 9064 0 R 9065 0 R 9066 0 R 9067 0 R 9068 0 R ] +>> +endobj +9051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.57 597.838 229.938 609.806] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.678 529.953 161.085 540.536] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9053 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.659 500.374 369.58 510.956] +/A << /S /GoTo /D (class_photon_network_a7dc90dd05d697c3f8f04e50cc0e039b2) >> +>> +endobj +9054 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [85.644 458.839 116.05 469.421] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9055 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [372.456 458.839 402.863 469.421] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9056 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [485.782 458.839 525.406 469.421] +/Subtype/Link/A<> +>> +endobj +9075 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 447.345 269.123 457.242] +/Subtype/Link/A<> +>> +endobj +9057 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.639 429.26 173.046 439.842] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9058 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.194 403.562 299.665 414.036] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +9059 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.591 383.215 309.062 393.689] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +9060 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [176.683 362.76 255.955 373.342] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +9061 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [255.738 342.52 335.01 352.995] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +9062 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.286 330.565 239.87 341.04] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) >> +>> +endobj +9063 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [223.954 305.113 411.251 315.028] +/Subtype/Link/A<> +>> +endobj +9064 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.201 115.079 153.607 125.661] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9065 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.872 97.454 171.279 108.037] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9066 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.11 97.454 447.517 108.037] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9067 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 85.96 299.011 95.858] +/Subtype/Link/A<> +>> +endobj +9068 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.639 67.875 173.046 78.457] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9074 0 obj +<< +/D [9072 0 R /XYZ 69.866 801.979 null] +>> +endobj +8841 0 obj +<< +/D [9072 0 R /XYZ 70.866 722.299 null] +>> +endobj +2126 0 obj +<< +/D [9072 0 R /XYZ 70.866 706.563 null] +>> +endobj +8723 0 obj +<< +/D [9072 0 R /XYZ 70.866 591.063 null] +>> +endobj +2130 0 obj +<< +/D [9072 0 R /XYZ 70.866 575.327 null] +>> +endobj +8720 0 obj +<< +/D [9072 0 R /XYZ 70.866 186.149 null] +>> +endobj +2134 0 obj +<< +/D [9072 0 R /XYZ 70.866 170.412 null] +>> +endobj +9071 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9099 0 obj +<< +/Length 2296 +/Filter /FlateDecode +>> +stream +xMs6_[ +H$}:[O4uvvh8H@V}?Eɖ9xBҡ?n +'"ssDB8a2&f_n~q|HpPo_RFrQeQ%UV{ϛ1kqFY>}N +PǑՐk'>^;~;Nڧ׏{F!wB6aP°NXփ` 0ġYHg?Ӏ Ps|! p 4HvAt"8$( Ր)mDN,qmtOvھ[kfæBe^r0+ g>-㯳OHJk̋I @&FI-V˧ K τrMد£!Q&N*qdYj Hl$KbgnBNp[YjKy8-]cP#8*Y 7D@זX@ b~5mfWWoܠ2uP`%N[:( +g4Z DoB0gE + +[ DgJeVY1*eUMBEϘFOO . 0b$|ԬYUD\5L/zHTPY _bNx2I/Y)dWXKQV)SnetRVZNtAa͟7jxq]EZ6ӗsV|;,d[+qsOԭRUzlS*k*wZP<W4qŴeYsIC߭q 6f[h @3~|&d8}. C؊D(4!զ#u_[.ml~YWՁYٍN᭕2P$x{y[wZݕ]up~.Ϸ-yԷb ZCipdͰw'%E:[^#dub F1o5߿|V[z Ͽ`Ƅ|x84&alhs1W!⟜ NQ$DJrc؏dx3ToPZ^lf/(kvcK~-6e4Xy/%H8k +endstream +endobj +9098 0 obj +<< +/Type /Page +/Contents 9099 0 R +/Resources 9097 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 8887 0 R +/Annots [ 9069 0 R 9070 0 R 9076 0 R 9077 0 R 9078 0 R 9079 0 R 9080 0 R 9081 0 R 9082 0 R 9083 0 R 9084 0 R 9085 0 R 9086 0 R 9087 0 R 9088 0 R 9089 0 R 9090 0 R 9091 0 R 9092 0 R 9093 0 R 9094 0 R 9095 0 R 9096 0 R ] +>> +endobj +9069 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.194 758.177 299.665 768.652] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +9070 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.591 738.358 309.062 748.833] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +9076 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [176.683 718.432 255.955 729.014] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +9077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [255.738 698.721 335.01 709.195] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +9078 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.286 686.765 239.87 697.24] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) >> +>> +endobj +9079 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [223.954 661.737 411.251 671.652] +/Subtype/Link/A<> +>> +endobj +9080 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [319.347 626.073 349.753 638.247] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9081 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [236.598 589.411 267.004 601.585] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9082 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.162 497.863 165.568 508.445] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9083 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [115.723 440.39 146.129 450.972] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9084 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [440.042 393.186 470.448 403.768] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9085 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.286 381.231 237.692 391.813] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9086 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [276.074 363.606 412.076 374.189] +/A << /S /GoTo /D (class_photon_network_a981e7244e915f41e18cb9da5f12fc858) >> +>> +endobj +9087 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.872 345.982 171.279 356.564] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9088 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.11 345.982 447.517 356.564] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9089 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 334.488 299.011 344.385] +/Subtype/Link/A<> +>> +endobj +9090 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.639 316.402 173.046 326.985] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9091 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.194 291.128 299.665 301.603] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +9092 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.591 271.309 309.062 281.784] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +9093 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [176.683 251.383 255.955 261.965] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +9094 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [255.738 231.672 335.01 242.146] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +9095 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.286 219.716 239.87 230.191] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) >> +>> +endobj +9096 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [223.954 194.688 411.251 204.603] +/Subtype/Link/A<> +>> +endobj +9100 0 obj +<< +/D [9098 0 R /XYZ 69.866 801.979 null] +>> +endobj +8724 0 obj +<< +/D [9098 0 R /XYZ 70.866 558.327 null] +>> +endobj +2138 0 obj +<< +/D [9098 0 R /XYZ 70.866 543.137 null] +>> +endobj +8718 0 obj +<< +/D [9098 0 R /XYZ 70.866 498.859 null] +>> +endobj +2142 0 obj +<< +/D [9098 0 R /XYZ 70.866 483.669 null] +>> +endobj +6754 0 obj +<< +/D [9098 0 R /XYZ 70.866 140.294 null] +>> +endobj +2146 0 obj +<< +/D [9098 0 R /XYZ 70.866 125.104 null] +>> +endobj +9097 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F96 6194 0 R /F73 4864 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9106 0 obj +<< +/Length 2386 +/Filter /FlateDecode +>> +stream +xZ_s6KZ%֦m&;m{H[]Yr-L)JN'O v譽;}14 W*.4 24%wgAQ6MԿ< +f'n[/"}Q/"QBOog?^ zeA%r;z+ 8ϼ3s%2dø>5 ]|By%jv eʿ5*%WMUGkhr_ ǡ.8y4E.i##Mp* kn^ o X fpSKdі뚦vѯ=Bj9j!DKI8xyJ.z DЯJ BfY QSfrIUzi5=a@hY5Wh+-,Fߢ$,#(pM"Tq]U.KTo’7f;`60Z.Y'}+T ㆑D1j#aθc D,TgZ!0GN}D 5Fz-}4m &R]bEZIߠP}Av; I*t^ntA4 +kM9L8yV gkTOgA*tqҨW?Xv-s].4Ee*##T+=lrhnpcIw4\eXe@6@ńU 糵'E~ 6S/Q +yۃBC#Me 'A3FDqg f( +2$]10SAƴNw3$SeƁ6A7pvN' Ԗ}waI>oGBiJ*|⻵̡`/þ">GBY,x nD6r 6_8d V'kXQ BV!$D6$Vx{ <0_H + !]kB>3aO&+hPx&tv ;ߡ)P,Se]^p1Wv抣E&xuFd(fR&EbpKrƧF[*cM%3./s86*aTO.8c +AeۡIDWTqpB?}d3E+p]SDMRaPahD PJ]%3;f+B4(U-$6E~dK ɔ$PzD|hvS)v7JT+sxA GGہ?QD9)OcN_Xv5w}u=օ9q7zwKZD/d:6TB0nxMˬ`>2QɪeKiG`(;bϜ cc@8mDs#n|d?;63Mq* pZ  Hg$VtHb9@ߡrGS)X]w#e6Eg&a!aJEXo 'B: $z]hº?t\7xiiʙopNSYC5a'{C!#f3Pі'ɶO\ {ɄaawA8M:`R[*Gu?~G}øрk߼<|@w>l^'6NK |0GpK`E:{P,'ʞ| DHws@RkSR:є<6yEmVDƻ`>#iQ~T :ǹ' Ə+nM6‹+a^u ChT2|-gD@ˮ\ Q7 +gp;)eGd7oCQ/鷹Xl eA|"8|#(%<Y;z >Ii :Ra͘ܩxyâ1qsWN0HªfSb|㔂ot-4zP`i`$RiNk$kHιRF#Pn Np;Z_w3ICy YIeAi절/VAkOH*QoEP$߰ |=MY +BJTI).Nqܳ< (g(R ȿ =!Qo +4Uv +Cc,|616֬D +endstream +endobj +9105 0 obj +<< +/Type /Page +/Contents 9106 0 R +/Resources 9104 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9108 0 R +/Annots [ 9101 0 R 9102 0 R 9103 0 R ] +>> +endobj +9101 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 669.439 243.377 679.913] +/A << /S /GoTo /D (class_photon_network_a6c6fb3cd57d7e2a13d1fc354db0c1fd7) >> +>> +endobj +9102 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 321.905 243.377 332.38] +/A << /S /GoTo /D (class_photon_network_a6c6fb3cd57d7e2a13d1fc354db0c1fd7) >> +>> +endobj +9103 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.072 249.978 231.875 262.151] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +9107 0 obj +<< +/D [9105 0 R /XYZ 69.866 801.979 null] +>> +endobj +8780 0 obj +<< +/D [9105 0 R /XYZ 70.866 563.993 null] +>> +endobj +2150 0 obj +<< +/D [9105 0 R /XYZ 70.866 548.84 null] +>> +endobj +8781 0 obj +<< +/D [9105 0 R /XYZ 70.866 167.842 null] +>> +endobj +2154 0 obj +<< +/D [9105 0 R /XYZ 70.866 152.689 null] +>> +endobj +9104 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F104 6525 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9120 0 obj +<< +/Length 2883 +/Filter /FlateDecode +>> +stream +xr@`U-+'*memGj"F$ %-)U9q1k-׺_+1se'Q϶7/*X1YWFZ`X[5tui`$9O{++ptE Fo]5{q.iI!ٗ)kDȦ6C;E%xxFO9P Kܟ,ßKL#5fkpLfC5:n.S L=u 3ufEOfU((\dAa>tĻ0L_z"v([]B>5IaKIF%xaڗOFa\c$ۜsiqvjn0mݛHzܿ@v(8|>$~di3ZC:a~>a?/:||/햒, qO&>.¨*qkm|zeW\NU ֖|{A.eK3Q?*txF1K%  %!1SB) mvyaawLd ,+}Pr:hTڪo1BL|܏A"?\_2D q%Sq$aZ/I$M_FCܗ ~CrݬJFmr2{&9 ׿oҼ#(jh"Ԫ^R[P*9D-݀ HSԪq@*D +S)NbfSVj\OgzU +վb'I0`pϾMQDՖ\ DvU(je_%r;QiJ>{;'ѥx0ص?\<Ml("pd`C&e]{P)cW|w>PZS] ≞G-^UsMhU޴im=j8x{Oo9mrrֻ |e'!(4GV\o#?e06j)W S"6G4P5Aow o0(kt& W# .K~Sӏ,83nL GZYTWzHHPCOiwnxFm`M&/4Wi3ؕu@ }ǪFdd=?З=u-݁ukߛSBy_bxeL類 2S^La\II~wVD\?DNqx&@ׯGzw`+!)?(ԦMo 2N{3X_lY+^w Zz65aVCGs0;~[9^%ǢKl$¿YdȀfy/{z[Vh|[M-gFپ%(E^=K +endstream +endobj +9119 0 obj +<< +/Type /Page +/Contents 9120 0 R +/Resources 9118 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9108 0 R +/Annots [ 9109 0 R 9110 0 R 9111 0 R 9112 0 R 9113 0 R 9114 0 R 9115 0 R 9116 0 R 9117 0 R ] +>> +endobj +9109 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 633.573 243.377 644.048] +/A << /S /GoTo /D (class_photon_network_a6c6fb3cd57d7e2a13d1fc354db0c1fd7) >> +>> +endobj +9110 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.473 591.931 139.88 602.513] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9111 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.072 531.958 231.875 544.132] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +9112 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [290.085 373.117 339.742 383.591] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9113 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.628 373.117 438.285 383.591] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9114 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.823 343.43 284.729 354.012] +/A << /S /GoTo /D (class_room) >> +>> +endobj +9115 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.94 301.718 507.133 312.3] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9116 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.772 230.427 440.936 241.01] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9117 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.227 218.472 291.884 229.054] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9121 0 obj +<< +/D [9119 0 R /XYZ 69.866 801.979 null] +>> +endobj +6419 0 obj +<< +/D [9119 0 R /XYZ 70.866 430.931 null] +>> +endobj +2158 0 obj +<< +/D [9119 0 R /XYZ 70.866 416.288 null] +>> +endobj +8843 0 obj +<< +/D [9119 0 R /XYZ 70.866 70.866 null] +>> +endobj +9118 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F104 6525 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9130 0 obj +<< +/Length 1800 +/Filter /FlateDecode +>> +stream +xYKs6Wpr)5!-uO2u^hPdJRUﻋ]e*".o| 9rN|+Izڊ%uYv,q%̻nPqw/43Z4kV47e9U8!Ӷ5ɗo$9qwLASLٴ KW{67vP|ā5pW˴OrLbzw718N! Aj +peG'tF kzSYDH')q}hq [@)R^ĭd) +yx9u6}9Mz@FAorv#G둻ca_1-]>>-|2%j1*h/1 NWs?(hqh"Щ$]0"Hh\EǂHNȵP=/^=d F@̀HO& 2#0fn=A ِ=N}qS9p>9nn Q6^{#z>_P}?A+" ~gPL-#EŁ T +7##|.4m焦ߗy˥d2ڮrSr +endstream +endobj +9129 0 obj +<< +/Type /Page +/Contents 9130 0 R +/Resources 9128 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9108 0 R +/Annots [ 9122 0 R 9123 0 R 9124 0 R 9125 0 R 9126 0 R ] +>> +endobj +9122 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.94 670.297 507.133 680.879] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9123 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.772 595.227 440.936 605.809] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9124 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.227 583.272 291.884 593.854] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9125 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.772 219.857 440.936 230.44] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9126 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.227 207.902 291.884 218.484] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9131 0 obj +<< +/D [9129 0 R /XYZ 69.866 801.979 null] +>> +endobj +2162 0 obj +<< +/D [9129 0 R /XYZ 70.866 771.024 null] +>> +endobj +8846 0 obj +<< +/D [9129 0 R /XYZ 70.866 420.551 null] +>> +endobj +2166 0 obj +<< +/D [9129 0 R /XYZ 70.866 405.315 null] +>> +endobj +8844 0 obj +<< +/D [9129 0 R /XYZ 70.866 155.969 null] +>> +endobj +2170 0 obj +<< +/D [9129 0 R /XYZ 70.866 140.733 null] +>> +endobj +9128 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9140 0 obj +<< +/Length 2276 +/Filter /FlateDecode +>> +stream +xZKs8W|Y*Bˌ8{{N̒0҉8ЉB,r+$}_x`qB=}Qm;(v/lQUvE]!rG[ەD?7+r'-~?Tw?F +C[OԻ_f +dՖQm" zC- ] cEM9D`CZ8,786hд{[o*zGCCۚ/Mq/ r )Cu_y5KƶU\;”}}_ sx_QgW}9Y4]w"rW +rf)^A+yȉ^r6dce!O$b3~/&xA 2Ɍ';bM5LR }/Ą:K7ތ Yy1Z M,4@!z67c3PB%@-Agzb +/OʈpμmiET aԪ*7< c侑Hj$sf,t\}J4ms丷hШK #1sFHй̈ Rb $=hՔDS=iJ̉بzٕ Dnp ]W lў=RwkY/qXbxPz SL<[ՊfLaeQusp~,Ul6*HF ƊdH6(!nԪn>gU^FDX!6ʈ fV>lD煡BVS .8`CXE_tšZ+ӮNC1'P@/Е"Ϲ2 XϟsJ`Qj#|8y@#˜owMρWgkqG`xL +~1d( Gln;ĽٱKu;{ܧ}\ѦXqUomγv:ecyoNe~YY?\5 a}[yކ,ծ`uCQ4oiSE6wUޙ+b{xM"M0K*/wӫlj +"5{GSlwpt @9A-to@T -f HNYj/dBOA8HqaC / TEGS&ѣ5쥾JUMٺ +endstream +endobj +9139 0 obj +<< +/Type /Page +/Contents 9140 0 R +/Resources 9138 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9108 0 R +/Annots [ 9127 0 R 9132 0 R 9133 0 R 9134 0 R 9135 0 R 9136 0 R ] +>> +endobj +9127 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.94 739.363 507.133 749.945] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9132 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.772 697.498 440.936 708.08] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9133 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.227 685.543 291.884 696.125] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9134 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.94 510.262 507.133 520.844] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9135 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.772 468.397 440.936 478.979] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9136 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.227 456.442 291.884 467.024] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9141 0 obj +<< +/D [9139 0 R /XYZ 69.866 801.979 null] +>> +endobj +8845 0 obj +<< +/D [9139 0 R /XYZ 70.866 639.652 null] +>> +endobj +2174 0 obj +<< +/D [9139 0 R /XYZ 70.866 624.985 null] +>> +endobj +8778 0 obj +<< +/D [9139 0 R /XYZ 70.866 410.551 null] +>> +endobj +2178 0 obj +<< +/D [9139 0 R /XYZ 70.866 395.884 null] +>> +endobj +8716 0 obj +<< +/D [9139 0 R /XYZ 460.375 290.151 null] +>> +endobj +2182 0 obj +<< +/D [9139 0 R /XYZ 70.866 273.489 null] +>> +endobj +8839 0 obj +<< +/D [9139 0 R /XYZ 70.866 145.44 null] +>> +endobj +2186 0 obj +<< +/D [9139 0 R /XYZ 70.866 130.773 null] +>> +endobj +8779 0 obj +<< +/D [9139 0 R /XYZ 379.94 70.866 null] +>> +endobj +9138 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9151 0 obj +<< +/Length 2517 +/Filter /FlateDecode +>> +stream +xڽZYsF~ׯ`e*s4NVy+)HU +"b0Zק{.$ak>(:ۓON#$ dDa8NB6/'ӘxO?*?tZ՟7E4zy)WSY2L0)̻pɗ s1?6'7tw?L(IhOi^JBjEfAȫV5VƼ"a`Om1&!I"y)y(43M0<ƐeV*ח4+_Q}wL}vQPL5sc^XVZ~TU?z>ȩH4şoc@ui }ʓ'$\g55Q]B<. P]j>Pb O & "7hssX8O;ܫJT}:(O=6tRcõL ]U}0 BN(jmPB5 +rLF%P(+ YѦ'><wIUg!uk`09#3Lqгfdt<|>;ˀ'$ +m]]H9vvbB}[ŊjUúJ|QV +lΡ@?A#5&/KhW؋uA4ߛoT- o*4uӍL>iFӇuZfΐD%h̆ǹj%pǡ1l>mWu q#myD"5o\,~[ҿ؉K0>qvh~jiD{8{~<`O0 A> B,t-IOS5%u3? oec{]2nkXiLɾqIB\'(1%N> }Gs`[煇t/ Ky#`EiG!V<1 v,ت{sGC{` +CL薏[پAZmj{ݮP `\ U.W܇.l>W#뇪ȡGpEK8E׈8et$@i@".s7+N%ۡq\ouӂKݗJ%4L ZVW?}ww86`SH0|Z=uMM%}{P袼?ӵAiF- <:+S\M'WMQ-"J_FVW* +q8jJ P +h_A\˪KCQ+}KF@[VK}:Uis_fJӔ@/@xЭ`™~jC('뽇=Y&mݞ.l6ڐڜrkN45&Ճd(gi-jNAΚz:p/G*R,ċj)G$  WuRG g +1ZX fA@C;PP {YG Hyt],en KZ7؄ p?G\> +endobj +9137 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [387.784 732.731 483.231 743.205] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +9142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.061 697.482 275.508 707.957] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +9143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [333.313 667.795 444.092 678.377] +/A << /S /GoTo /D (class_photon_network_a282677f512ce2f53e4a0893d4e3844b8) >> +>> +endobj +9144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 657.732 155.194 666.422] +/A << /S /GoTo /D (class_authentication_values) >> +>> +endobj +9145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [370.327 638.323 400.733 648.798] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [474.264 620.591 525.406 631.173] +/A << /S /GoTo /D (class_parameter_code_aa15af7fc19b63e3842c1730d6c464853) >> +>> +endobj +9153 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 608.743 222.943 619.218] +/A << /S /GoTo /D (class_parameter_code_aa15af7fc19b63e3842c1730d6c464853) >> +>> +endobj +9147 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [317.816 608.743 517.773 619.218] +/A << /S /GoTo /D (class_parameter_code_a2d0752d2a36dcc59026ee5afbc475831) >> +>> +endobj +9148 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.816 200.181 366.097 210.763] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +9152 0 obj +<< +/D [9150 0 R /XYZ 69.866 801.979 null] +>> +endobj +2190 0 obj +<< +/D [9150 0 R /XYZ 70.866 771.024 null] +>> +endobj +8889 0 obj +<< +/D [9150 0 R /XYZ 70.866 487.173 null] +>> +endobj +2194 0 obj +<< +/D [9150 0 R /XYZ 70.866 467.992 null] +>> +endobj +8793 0 obj +<< +/D [9150 0 R /XYZ 70.866 322.696 null] +>> +endobj +2198 0 obj +<< +/D [9150 0 R /XYZ 70.866 303.515 null] +>> +endobj +8838 0 obj +<< +/D [9150 0 R /XYZ 70.866 70.866 null] +>> +endobj +9149 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9163 0 obj +<< +/Length 2045 +/Filter /FlateDecode +>> +stream +xYKs6Wpz)5!xڴ$Ӧm&T\w(Ųstt , RƣُK"]\{1%Iy$bʻ󫋷Ib 2mljSmyե]QWH;b׌)X3IH/[.%B&ޝ\{A(H~9)!>⟕ZLH R+vB'-<guWWnBn>ywVT7zOB2O O< 7f1<ɥJ +#Yv͂$ +6׺̶M+३ժk_lXW iWvN ЇB.-ymuOs.XBhGO:'Z J?,lΩ0g9v%`vkk +X"z^75n^F 1 k.#~)F&e֧ Ȥ^ [F_sUxwm@VϤttxwHjQM/M3gO +"`[~iQK|+sMMhU+=zw[hthCz*戨6d6b2M =$O%R'0,+=}b5S_Qu~zfֆ޼gi:򶵻 Z_ZWyW0+{^eL62-,U 3[xt3e,[Oޤ&!4,/!t;Q3#=^]#̫T0LԆY:qlJQT͌V!R~) ÷0[lhsx +ʭq *!s=h])Eo5n<[=&DZP-`Uc)4Y3|0uʪpͻæh J1V4ÎVM^y['֘nz{#-'gjg=$w5ҥWc7*\,Nv@.V芴,/?EwLYHD'QeQj`nӇԁ:8`PuUl\eߨ܉鶫xv*`kEyV XUy~LpJE-EI5ߖ~ +5+P5v *@X$ ,^&NT=&}=q +U7b=-PSl e_OS4iv/'tk5Y&pgOeA/fL@N S +$!%sr'b.p<uĮW0/,Z7|\֙)4Gl\ti eߍ=\+^Dj_tjgN_1BZ>6MA_ܘuE? +kZ:{X]PnB'1MfS7 GYHA0w'@>;hq(#ibr:;xnGoA[+>/&Sxxiσ[30F#Oʦev;'c.7헂ȕ޿/$?/ S%IhyPn.> +endobj +9154 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [195.327 623.125 235.919 633.599] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +9155 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [467.881 605.501 508.473 615.975] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +9156 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [472.279 558.297 525.406 568.771] +/A << /S /GoTo /D (class_room_a8792cdddd5a4b8933bea7adab8438edf) >> +>> +endobj +9157 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [87.318 546.234 135.657 556.816] +/A << /S /GoTo /D (class_room_a86a1e0952d484cc7a679e141463f43c1) >> +>> +endobj +9158 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.299 503.325 132.891 531.598] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +9159 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [229.03 275.905 278.687 288.078] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9160 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.81 226.222 342.467 254.495] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9164 0 obj +<< +/D [9162 0 R /XYZ 69.866 801.979 null] +>> +endobj +2202 0 obj +<< +/D [9162 0 R /XYZ 70.866 771.024 null] +>> +endobj +6242 0 obj +<< +/D [9162 0 R /XYZ 70.866 681.644 null] +>> +endobj +2206 0 obj +<< +/D [9162 0 R /XYZ 70.866 666.404 null] +>> +endobj +8777 0 obj +<< +/D [9162 0 R /XYZ 70.866 494.359 null] +>> +endobj +2210 0 obj +<< +/D [9162 0 R /XYZ 70.866 479.119 null] +>> +endobj +6306 0 obj +<< +/D [9162 0 R /XYZ 70.866 436.728 null] +>> +endobj +2214 0 obj +<< +/D [9162 0 R /XYZ 70.866 421.488 null] +>> +endobj +8836 0 obj +<< +/D [9162 0 R /XYZ 70.866 217.255 null] +>> +endobj +2218 0 obj +<< +/D [9162 0 R /XYZ 70.866 202.015 null] +>> +endobj +9161 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F115 6866 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9180 0 obj +<< +/Length 2699 +/Filter /FlateDecode +>> +stream +xZs۸_L$6f9ǗN'-^(RGRs.Dٖ^gn:~-ޭG7g:;{ȽRՍRI酱O$YDhaU6ej>W~'uKu3gt*Uj3/Wvuc-("Ͻt} Σ$#\{\Dƹ3jzQH8xsϒ*YFUsf̑Pp¢V F^}BAhnFbI0G&ħTΒHJfΣc&B"}15ȗ7۬D'](7+&),iԜٕZw Ka'g`&+`;4l}eoP4ڦMYC&c,.~@N$x>?ADIL/&yxOg}X<~&ڛ-|1+;X]ciQ'FDnuc> `x̲r4sI UZ.ߜy{St<2`ڃ -8 Zi v*!IջLd?GDuboTO\3rH8 ltkkuuZ-Gѳ݇م32[XڱM3HkhPvP080SR uV0=t#[0[P.F,"eL Tg,{ ug.a28Pv%h`_$P$]1UEo? +:_ʁfZ>L9IMxAK|epOs6Silj @aۉQ ( M'9&ZZBfkw"f/InkiT/IHG$r 0d)^ @0 6e``dlTdk ˆYmiQj%'ŨI+ +JD1¦1Mq9kneTeGؗYp?]Rɼ3U4-7񠎅ELA5K+FeXUͤyqr[~=%( +" iҁW\2R"6[3djNiR>=apMh5ց CVwjm=RZV X>aa,  Ha#{˼]i}'.c?K +qں84j=οGpwcy< -mGDZ[,.x@Ogt-]#OZ~]d9Dh +<] HSGFٵ8\]$ NZh>ف] NIM jZæER¸q$Lm`_sƱLI +_8i|lqoo!n\i-m0v ՕeMI$JR=]m;k_q)֥ٛ0_Zʅ)aZpA d]с $KX#s6O*ipK\ٶIem2Qj-~#|͞eM^Z⎫u׬zݗ4@bQ݅Ptk~Td*$m% *mg 6 | NOKUhٵ6m=RzeaPsV7 i6uwB5-ݿГP&/?.pc.A"v>53I08-8T7Z[o7_%IWV0hi.!W;=K6`wδlB!a'FU8{c8@'˭%a}ƞig^w]amS]2Y8?6۠3gҡ@#2 _Z .n>Όh䆋C"O{C^\tz8Jjq)3.T\Yةa$UmJ\ z)21HAC}5gzQcFO+eϚj'1 rj~eta'4/Y~2@d7Ƨ0M՞9D.C_zHFK  +$ 3r$9d}-67 ^@RkˢlZ#[Y 00Abd5~~HV{1k +$;?Qq`iFk|U-ѐQ:Cw`^7Zs5mKvL_(}c㠰sQJװ>w{Dml&mB {cF.H~]d-A[ LDnU&t $|o''~AMu?(X-]B)m*T}t}9/GnoA旲Gb+\w H[EX2yzm9vk@c- +endstream +endobj +9179 0 obj +<< +/Type /Page +/Contents 9180 0 R +/Resources 9178 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9183 0 R +/Annots [ 9167 0 R 9168 0 R 9169 0 R 9170 0 R 9171 0 R 9172 0 R 9173 0 R 9174 0 R 9175 0 R 9182 0 R 9176 0 R 9177 0 R ] +>> +endobj +9167 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [229.03 703.968 278.687 716.142] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9168 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.685 691.614 480.076 703.788] +/A << /S /GoTo /D (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c) >> +>> +endobj +9169 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.81 640.9 342.467 669.173] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9170 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [229.03 444.12 278.687 456.294] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9171 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.685 431.766 480.076 443.94] +/A << /S /GoTo /D (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c) >> +>> +endobj +9172 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.81 381.052 342.467 409.325] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9173 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.801 292.969 522.913 303.444] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +9174 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [296.889 275.237 327.295 285.819] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9175 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [390.141 245.658 525.406 256.034] +/Subtype/Link/A<> +>> +endobj +9182 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 234.163 400.63 244.061] +/Subtype/Link/A<> +>> +endobj +9176 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.178 186.499 462.233 197.081] +/A << /S /GoTo /D (class_photon_network_a631231346113712f11319749d6e1a3eb) >> +>> +endobj +9177 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [398.801 67.983 522.913 78.457] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +9181 0 obj +<< +/D [9179 0 R /XYZ 69.866 801.979 null] +>> +endobj +8837 0 obj +<< +/D [9179 0 R /XYZ 70.866 630.903 null] +>> +endobj +2222 0 obj +<< +/D [9179 0 R /XYZ 70.866 614.045 null] +>> +endobj +6244 0 obj +<< +/D [9179 0 R /XYZ 70.866 371.054 null] +>> +endobj +2226 0 obj +<< +/D [9179 0 R /XYZ 70.866 354.196 null] +>> +endobj +8790 0 obj +<< +/D [9179 0 R /XYZ 510.326 147.955 null] +>> +endobj +2230 0 obj +<< +/D [9179 0 R /XYZ 70.866 129.21 null] +>> +endobj +9178 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9189 0 obj +<< +/Length 2832 +/Filter /FlateDecode +>> +stream +xZ[sH~ϯeZuU03,,C0fW3ϵ5w<Ȇ;j9SDWndoʵ<vWm^Wնa^xh]\*B|XN/6%oVͦaڭg!JVrRNVxkgkyx 9}&*l;soMCHy){Q?]m@ݩN0J̱y"s<-ƫh5D"GW{Yu"ȳ3*m5Ywu!Dݓ$sOPJHYl }f lj#>%V^ 9X sv +ސ(+<8SŏZ( t"`eg./#:VqrĢ=t +S$y{#˅0!I!+f׹Oh@F(|Xmw^@Z!943^fG+0x=Y5{tN+AA$$ ΊR 0je* +9( F%ff2۲2aS1vuEΏM[)Cb&o|!x<=,/xSκZG-9֥6J\{1@8d({Z_TKj2e?\~w gcx9Tebἲ_P'JNzIO L޴cIc?=ʍN=ePNc  j}Pys}hL,"k>x%1{/%Ib9 %X|?Zj,U2&dH2FC˶lVx˃%y@1 W3YI<1RZDj0C,T&4]Uϻ*mpʏl T\'VOy^/f +$%\ia귌.oZN\8$@Z}#D!Qm‰ &xe=PTƗ ha L EP q@l3k%g̋ -o*8Oj47T$ߟd8b鐊W2 +٦jL4ɲfIV//qu=qZgM(,TWl"'2D/͔TP˒R:dYy{&+/9F\C:̔{(PXnSr=6oM \Z_o$gv#;ts3X7uٻs* دqOZH;QC,nxxavUwvKG <3rCB  +)pƼl?7Uhs%2Zn'jR  +E!$$5nOhEї1j]6/Ia76HXNzN*U[YO!W2ģx<k>ޡ4d~/[rdM?Rw]E;V !w8t?X\Gַ{}s 1@}D4i^ ݻK{Ӟ2qS6jé5LJ4N&Sisyq`ن7N=Tu8Tnw{k؛#nޫzAו.nu9t$sCG {c:Ǐ@wnxz?&mF--W~pwϷ?Nj,qr5ǿwd?Lp @ăh nM}>h-Ļ?.逓rT{f xK]g3e1K{w 2R몘GJ=VcWvŝʼwMd !/E%Ua]*Pqf +endstream +endobj +9188 0 obj +<< +/Type /Page +/Contents 9189 0 R +/Resources 9187 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9183 0 R +/Annots [ 9185 0 R 9191 0 R 9186 0 R ] +>> +endobj +9185 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [408.073 639.752 525.406 650.128] +/Subtype/Link/A<> +>> +endobj +9191 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 628.257 328.899 638.155] +/Subtype/Link/A<> +>> +endobj +9186 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.687 610.172 328.093 620.754] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9190 0 obj +<< +/D [9188 0 R /XYZ 69.866 801.979 null] +>> +endobj +8784 0 obj +<< +/D [9188 0 R /XYZ 70.866 479.103 null] +>> +endobj +2234 0 obj +<< +/D [9188 0 R /XYZ 70.866 464.252 null] +>> +endobj +8785 0 obj +<< +/D [9188 0 R /XYZ 70.866 209.074 null] +>> +endobj +2238 0 obj +<< +/D [9188 0 R /XYZ 70.866 194.223 null] +>> +endobj +9187 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F104 6525 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9197 0 obj +<< +/Length 2345 +/Filter /FlateDecode +>> +stream +xZM۸ϯPDUY\| 7gvn&C`I1EjI(F)rdϨ\T|Fl˫?^"MfYk-gg)3gi.bg(/DEכou\mKqYdS-|!Heą}}WeYd]}f+xzbg;7r7KU"]~+/ 5YS1s<5u9 l4Z5Vc2zuT4 W%Q~ }ޛ57i9W3x呭i[Y/uK@Q_[ֶ IS;j}y[?eoe4j[;S8WLV4=4 qf]wj?l= EYpҺͲsnzTT0 mocgl/[ KaDN&\9&!TygIU5ӹ0ր*p8K !^~#C@$ITك +#J E;!#W]WMV&I롵CWuw(x%@'lfO\B)%}ɟV?YQ4.>MG҃^86}6 eц|bC6xwQS>aI<.k11h1K C^1B8edf+8g4%Wb(RsQyo ="B6(%+"|CaAVu&&s`z`Ұח)I⌥P`HOԁy 1yKORaJ}(%YrK@XG_MM +hjN-׮ɒ]oo@=`[uB{qv<)XŢX+htv\C1kR5gt&cZyˍZ Y=1@s:!pnƎHN7(:[h>l-N5tfPsmĊ_qevKmR(Ca9*q&Nil>ة`8+`W ; WFq5jp@G Qâ-9s:sNBGO=~!mj\["y:աYX[,7#‚ u l'49HiD1ǐѭHL]o,n +5fX6:]5`e$*BrxFc2#c4`0܀Nݴ}LX鼥@'}SWA}ځ0:;iwvNSO1p`X720M~"DL2 Ci> oD:H|#;Cr @FΎ7OYOv*BgG7OY6 (Z6L$ti=/1> +endobj +9192 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.473 728.49 139.88 739.072] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.17 485.756 387.159 496.132] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +9194 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.17 310.154 387.159 320.53] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +9198 0 obj +<< +/D [9196 0 R /XYZ 69.866 801.979 null] +>> +endobj +6755 0 obj +<< +/D [9196 0 R /XYZ 70.866 579.285 null] +>> +endobj +2242 0 obj +<< +/D [9196 0 R /XYZ 70.866 559.52 null] +>> +endobj +8786 0 obj +<< +/D [9196 0 R /XYZ 187.211 417.633 null] +>> +endobj +2246 0 obj +<< +/D [9196 0 R /XYZ 70.866 395.873 null] +>> +endobj +8787 0 obj +<< +/D [9196 0 R /XYZ 70.866 90.632 null] +>> +endobj +2250 0 obj +<< +/D [9196 0 R /XYZ 70.866 70.866 null] +>> +endobj +9195 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F104 6525 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9207 0 obj +<< +/Length 3211 +/Filter /FlateDecode +>> +stream +x˒۸>_R%>*ǎ=>>p$Ę"dZ{>h/QLUr"F fYW__&,eY, Xdz$,泫xLƜvy7b)tB;Uµvai0-4eg/l B2Kg,$B<}"`M l2)`2Z,yZi8ֺV]SGs]eotQ}ȫ}zG 3"qyJ+o&^`^*Zy[FL_{2j:^`)Tݿ1La,-,,s<q[{@*@gwܬpv-[D ,oMjÙ{OE~w}}MN, " ק9}j ԀlWi-Eip4|L y@| 92y^„O ̧Ʊ D,eYĸ9Rա,'0 ˲ |ڟI,­qdzYe1j7ZM(wO~7Ia0[Sz_Yݡ& Ishr`f!y^[qCJW4l]-+on䯅psnA!̚)j2 +M*K8/Ǽ.LeΗړk L|- 7L@Z1& $чJ0;ojKMЮ 1!E"\' Г|ey鉇J߷c.gF$,味1CC9) Y4+BHX+Is䫭rH>q†rZ}FcZ +t0k7 fkh85DV{7[9Nf1Z&:t+5JC%#_ 9ƧC=F,ywjBLt]W7}{I'I O"M)<cCZе٣CiN">}N.3ilW%u_֗,pV6d]hӲtrn/_n @xj|-RBv +޾o5 @6ӈK |}f=倗 J w"y7gV띜j q +c ,*eC"G8d9#ٙrlT.nP>b =vn5Ζ"_޴USYP[Yޗ@R +P0RPFXΉJUPűvZR´QJP eh MPLcéKP}&rセlw> e +9po=6ht"?&9/?%۱p=< '?)i<, ei|Ô+bieqyWެ%W[XqN_rf9iڂNd5GbpEܣմo1rWuty+3~\<%C%y$1O{%pFdL&IߑǕO>Ϻ"wcwߗVK .f D3)S .2)3&3Ora(Lrq=yY4FE>CC F;bUp`K,8dt0C Uqpwni/z_f^@3t?@ ҇]<{^_~4 +̡3a) ¨W[sk1vvy|;7 +{m: +ҡmd)x\oTs|y|@ϴ\Rw\ޡ\O4r'.~΄e ڙoZݵ&g7BZFxv5Hj^9_lIrvmTP)2.[Y=t ^d%QW`rroz]~=KE|jf9nQ.8E]Ne,f|-n깢 +{Q|0Ʈi7SizU'dGƮk:{noni9<ueXU﹊-f/o%lHxPBǍ}дʛ}&>`D=r#_ŏ=? %Ir$(f#̛>,RM;r|R};4FpG);-Qr;g$3s!l1=ؼ|Bo] /N[ߗ93;a4z^ֺp'vV-,D÷ +g5m޸|`L>Ͼ:_5{kb<ԇ4rokMgkpw9[-_ГFzs<54zL!zY>2  'c<<|gpmo&د1<4eu&d)K#%k&tlK8f"CّHl镪Tqw{9W9LdFƳSOMca 5;v6ڦߪ/, +endstream +endobj +9206 0 obj +<< +/Type /Page +/Contents 9207 0 R +/Resources 9205 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9183 0 R +/Annots [ 9199 0 R 9200 0 R 9201 0 R 9202 0 R 9203 0 R 9204 0 R ] +>> +endobj +9199 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.473 549.648 139.88 560.23] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9200 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.063 267.727 324.315 278.201] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +9201 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.911 249.995 239.163 260.577] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +9202 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.217 220.415 226.879 230.997] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3ad62b9539e5cf97eacf06e2268dea5a) >> +>> +endobj +9203 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.983 202.791 308.622 213.373] +/A << /S /GoTo /D (class_room_info_a7ae1c65429e1be34fdefd1b477fcd200) >> +>> +endobj +9204 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.58 178.988 226.986 189.463] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9208 0 obj +<< +/D [9206 0 R /XYZ 69.866 801.979 null] +>> +endobj +8782 0 obj +<< +/D [9206 0 R /XYZ 70.866 325.759 null] +>> +endobj +2254 0 obj +<< +/D [9206 0 R /XYZ 70.866 310.898 null] +>> +endobj +8783 0 obj +<< +/D [9206 0 R /XYZ 70.866 70.866 null] +>> +endobj +9205 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9222 0 obj +<< +/Length 2826 +/Filter /FlateDecode +>> +stream +xڭZKs8W2ꪴ"Qlfr*3S[IjD-i~ԫ՝س7)$jV.u{eB3}gu{ +,3U ӷWXoDe[d{Q_)L'Xol˲,Ehl2蜶4_YqSlyzz>̯b{Ҷ²M?Sq$V{h҄c5]ShO@-_LZ~ldfa7mYp"ȶI1K'-q\uoQ+FI[m&;0}0Eu@{>A2Ǚ%$g" ܝyo3e1wm`^ge*YD2mKV٧?S )JSY}r|a(i(Wu;UFSfL"3yv*KQo^;MJ9/bʤ<0Ck {Jo㦅۶ j3lYB;=P.'KE^v!Xc/Jђ:@Yz66|^tu@bCoL=q]*fh_F!ʐ5 4J}Sb2?FmC͌7f7Y't`aNo*[=5)WYzIi㶫e(x!QF6c;T鯏[񬘙iZ&Ԩ`% (H:jiG-2@&ϰ i\  omDK \̳>4~Bs0C>PC%ڷqxތM' g^(!(nԽ'(4-W/+I1};p}\L qm`Z Yy#c rIe_lq 5&9TMȆgxuO\SԮJV2deIէcPPHK9/)yx7'21e){nbaEU (ty\j˸ N$ +FK3P*OPw'0TcWW".ނ*W +A~=C5XDfdXT }'}o5[e (%ơ~RaEB8Hy:$ >s1u8j+ S$d~o<'JHTeQ@3 +}o걢zy QJϙ>U"]\ `k7bzu8VZU9@ ^/ԐM|H];خV&7_% ̥>vz w(f`a},_KBdp?w;芜J0at}\T(Ɲ#|dF.H}͒3y6CE>[92Kf}1KsSh(mpX%R*@`M, iO`0T0!ql떦])A}۱"T U?QP'^cNqz;ƢgV1\|L'FVSG2`sPS5ԅG0LUf %H[,_*bXl`\]>LLkG av7?k1,'P&E^.x?hM}~sxJvR~,ClA>;"_e?ϖfQ4?P"kٛmRvCd18 +endstream +endobj +9221 0 obj +<< +/Type /Page +/Contents 9222 0 R +/Resources 9220 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9183 0 R +/Annots [ 9210 0 R 9211 0 R 9212 0 R 9213 0 R 9214 0 R 9215 0 R 9216 0 R 9217 0 R 9218 0 R 9219 0 R ] +>> +endobj +9210 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.063 733.519 324.315 743.994] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +9211 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.911 715.787 239.163 726.369] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +9212 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.217 686.207 226.879 696.79] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3ad62b9539e5cf97eacf06e2268dea5a) >> +>> +endobj +9213 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.983 668.583 308.622 679.165] +/A << /S /GoTo /D (class_room_info_a7ae1c65429e1be34fdefd1b477fcd200) >> +>> +endobj +9214 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.58 644.78 226.986 655.255] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9215 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.473 615.093 139.88 625.675] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9216 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.611 402.703 235.594 412.972] +/A << /S /GoTo /D (class_photon_network_a3af7f8d0082599e6e3a56a5b1481a505) >> +>> +endobj +9217 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.029 280.244 320.686 290.826] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9218 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [232.365 175.625 395.856 186.099] +/A << /S /GoTo /D (class_photon_network_af721675dc5cf3c5ac4d4b67339246cdf) >> +>> +endobj +9219 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.719 133.982 295.698 144.565] +/A << /S /GoTo /D (class_photon_network_a9cf8214080471001a1a32e17eff9b402) >> +>> +endobj +9223 0 obj +<< +/D [9221 0 R /XYZ 69.866 801.979 null] +>> +endobj +2258 0 obj +<< +/D [9221 0 R /XYZ 70.866 771.024 null] +>> +endobj +8791 0 obj +<< +/D [9221 0 R /XYZ 70.866 478.739 null] +>> +endobj +2262 0 obj +<< +/D [9221 0 R /XYZ 70.866 463.499 null] +>> +endobj +8792 0 obj +<< +/D [9221 0 R /XYZ 524.409 358.383 null] +>> +endobj +2266 0 obj +<< +/D [9221 0 R /XYZ 70.866 341.148 null] +>> +endobj +6357 0 obj +<< +/D [9221 0 R /XYZ 452.602 253.656 null] +>> +endobj +2270 0 obj +<< +/D [9221 0 R /XYZ 70.866 236.421 null] +>> +endobj +9220 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9235 0 obj +<< +/Length 2502 +/Filter /FlateDecode +>> +stream +xڽZs6_K +?Cr$qjܤy%X"U껹vD){']v[y{q_^( +{/,"/N%wB&/ ,h/gs'be5yUۋ_/rOk& Kd-6?po c/=΂4Fr*`*- + nL*liLhJ~og2]ӭ́k[rRC2W0a2[{K#g<>dRa0?T0eBG ɘBI~s&Y(3=Y`R=~Yk(h*;TeK6wk]RɩLplWτ 7Ǚ&z{@Η|5+sVܛ REَVIpΣ{ 0B'"[#?b>Q$ $,5F]&xV_Kjnj1>ቢ/\q`=/TO  _,BJ`L4/H(ddᄥzOF|$RA7!t&4mmCH0]k(8 Իu_z -fV@-:I]r6Z \QɞJ tQ)U IZfj]eeEy͚Śf4i%vhڶPv +bו]'f|Ь3vhvƢry{o0dxV"(^h^V/bDC23*t60D4&FǨ@)t[VqIT =V}؊l.>sF7# 4Ev&ʞpfoMf{p +,t=uCS۸bՍmо445u(އHDNA3(yQXv1=͚Z1TSx(L=Epj_^Q+fYlhB/ˆ\:뷗5 ijr6Y{4X-dYVn7\T@4 Hd,+4LUL"{2 !b1'aqb!!Ec1iϹ& ="+]Q^O|Y^^ᶝƶn ,$w#3d +[sx2V`"CZqΓ.{')0hd*5ӌJLrodqOXFXz݅+ +WNLArE_ڥCltF[2Ŕc.qe\#ɟ8l0 \׾i5̬5qN F[4]9'<"|$r| Sz>MVLߎZuKϖs6̭*P0>!^>._t\~yy_?%H–O3zWP/'`PRˈ)D9W!6z0ܡ37)} ]1dVP~%n +9ngTG+1z_4buw‚ CK:P?uN^6 +OKww#Gz&ݭΠ p^1lwt ;].iT~v5j :!h\{^BP5zS/ H9Zqtq[{5\jƙ**u?{,JPSqߡC6G1 +z*72wC&e4vgje(2mo0N5u iȡd +*=A~X z@(2 Q~fM+HnM>/ +!aXYp _C&9Jv0]茆<[a4CgL;Hg貃ףfDTˢlG CD1*qjc^.J>KR"}J:*;_4>[ڞmf( 9SJ#b,T!lOhZzu3~2H. e#pnFv%/no^}+Z_>Xۿ@cϩSIgv70 uzN-6ᕋދQ$Aoڷ?U6;ӵRI^@tVʚM,̘82J-d߷zt!FOraag/ ۺ?b2BSDyod߸_Rﲖ:w;K:~>&S"D ej*w6bůTw]_8E +endstream +endobj +9234 0 obj +<< +/Type /Page +/Contents 9235 0 R +/Resources 9233 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9183 0 R +/Annots [ 9224 0 R 9225 0 R 9226 0 R 9227 0 R 9228 0 R 9229 0 R 9230 0 R 9231 0 R ] +>> +endobj +9224 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.719 630.349 295.698 640.931] +/A << /S /GoTo /D (class_photon_network_a9cf8214080471001a1a32e17eff9b402) >> +>> +endobj +9225 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [232.365 612.832 395.856 623.307] +/A << /S /GoTo /D (class_photon_network_af721675dc5cf3c5ac4d4b67339246cdf) >> +>> +endobj +9226 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [218.511 275.153 413.716 285.735] +/A << /S /GoTo /D (class_photon_network_afba456bbc9d1525b87eb060c959af2b6) >> +>> +endobj +9227 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [164.4 233.618 301.406 244.2] +/A << /S /GoTo /D (class_photon_network_a84b7be74d130b19eeeb1d7b4e8193ad4) >> +>> +endobj +9228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [355.731 162.39 401.855 172.865] +/A << /S /GoTo /D (class_event_code) >> +>> +endobj +9229 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [354.816 144.658 470.742 155.241] +/A << /S /GoTo /D (class_photon_network_a81af9e901341d6b647df1f6d7f2d7583) >> +>> +endobj +9230 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 98.122 185.796 108.037] +/A << /S /GoTo /D (class_photon_network_a81af9e901341d6b647df1f6d7f2d7583) >> +>> +endobj +9231 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226.53 79.83 281.898 90.412] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9236 0 obj +<< +/D [9234 0 R /XYZ 69.866 801.979 null] +>> +endobj +8899 0 obj +<< +/D [9234 0 R /XYZ 70.866 722.299 null] +>> +endobj +2274 0 obj +<< +/D [9234 0 R /XYZ 70.866 705.512 null] +>> +endobj +8775 0 obj +<< +/D [9234 0 R /XYZ 70.866 511.235 null] +>> +endobj +2278 0 obj +<< +/D [9234 0 R /XYZ 70.866 494.447 null] +>> +endobj +8776 0 obj +<< +/D [9234 0 R /XYZ 70.866 451.752 null] +>> +endobj +2282 0 obj +<< +/D [9234 0 R /XYZ 70.866 434.964 null] +>> +endobj +8726 0 obj +<< +/D [9234 0 R /XYZ 70.866 335.529 null] +>> +endobj +2286 0 obj +<< +/D [9234 0 R /XYZ 70.866 318.741 null] +>> +endobj +8832 0 obj +<< +/D [9234 0 R /XYZ 479.94 236.609 null] +>> +endobj +2290 0 obj +<< +/D [9234 0 R /XYZ 70.866 217.826 null] +>> +endobj +9233 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9243 0 obj +<< +/Length 2976 +/Filter /FlateDecode +>> +stream +xڽZKs8W%ꪴV"IfN$٭$Y5ĎP-U{ER ~>[˫MH.n&QSFX|vWJĉa{ݼSRxnQ*:j^9UM+X:H_ޞ|u̇?.$n"E^}- +{\&[3^t@BZ|<̛*/#GY6G9j)=ϥtÃF}rrq4Zќ^̞G;ҵ7e~15j4{N˕:eV[n~bapdm)0en*&E"3)A5 &[TC'7d).g}3 p] j@w7(;'K/r.38S?[oo{_p4l,azBa?8P%M!&庾. yd>|`KGƫz] at>4 s)H"rX& tl < ;gEf!v>d1km5݋$Cgՠ: w1"*Wl`4~Bu[U`LjHDa,SW'A N܎佮aK*>s6!(y9ǂ +iчkMc=?!I(%A$6KY+]_j]BO_R^,)C# v8:[yg 3 ㈅Q'W)|A"'DB0*.c>1:+~:B#@."!\?WM}`Mi 7"38`U>xg$a~17p&9Aj- Ч# °)ӀNs0clwyK\ozj".3C@qxud4bk!Œ~FV7GL :Kw[|9z.{xNnS:+`)X M@S +B 8 +U2I>NhjѤrIG_aiUi9t=Dl;s.kPGbВ:cU_irȌa0".rC#6U;ݲLy[P^cZs5eD4QP4=ZPrV/oԻ". g}k(UX NZPVk@mY4T&#w(wqY?ݷr}rUơp <ڇ!jALPӨP 0 +sxГ +8ZqNΉSk~"#\LJCy[a'"'4ZWnzP+Qke(x6Ta@XEWֵZ8FGBb``u?jC/ =+#q8| k9';Eyx-)RCW nz_0ff&ŞVCUcpޢbXJԅy܂Apֺo*ch"2.BAĶ L|Ym@߬!W vWjNTtWt%`_5~9`8#o5Tر@-Ze֫&G#^?kϑ r_}fk>1Ya+c ʵ auAݽb<֚fgl-.`\Q + 2V, y7H8L,*%t$ +UOGH+, 5|TBFJ|坪v*"E:\~Aw'ʚx3)HIcpo(c 6f,Ycػ񧰙N6Tb{?T cQ82^Gr[&Ӈx\%U6B3.3iCӴ%|VIx]v~~;& ڏEx.@j~Dz.Gi@1( 2Jŭ2¡)ܾx͟l-?r \ޱL0ۈ I 7g|VR%\" +fl]-z-C&<)`bġhMrQ N|<? Fzjpd=  +<2~S>HT"9B%ğtY7ͫJ j/3H?F,xOVmX +ZQ4D;w;S{ E7ܘ\M*KT##Cv=ץu6;N84pꪀ"ogD!]C"O +}E|aF+eoՓ.;}"_MCc"]d(⍿QjNjzH1||'cQ'Ԝ jٺ[#&mF +endstream +endobj +9242 0 obj +<< +/Type /Page +/Contents 9243 0 R +/Resources 9241 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9246 0 R +/Annots [ 9232 0 R 9237 0 R 9238 0 R 9245 0 R 9239 0 R ] +>> +endobj +9232 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [282.638 722.204 350.183 732.786] +/A << /S /GoTo /D (_custom_types_8cs) >> +>> +endobj +9237 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.058 704.58 166.568 715.162] +/A << /S /GoTo /D (class_raise_event_options) >> +>> +endobj +9238 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 704.58 525.406 715.162] +/A << /S /GoTo /D (class_photon_player_ac363d86e7c6ea63573e0ecfda7f7eaa7) >> +>> +endobj +9245 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 692.625 107.835 703.207] +/A << /S /GoTo /D (class_photon_player_ac363d86e7c6ea63573e0ecfda7f7eaa7) >> +>> +endobj +9239 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.347 561.823 446.351 572.406] +/A << /S /GoTo /D (class_raise_event_options_af1fcb68ddd5f76876c8448de8b5ecb4d) >> +>> +endobj +9244 0 obj +<< +/D [9242 0 R /XYZ 69.866 801.979 null] +>> +endobj +8721 0 obj +<< +/D [9242 0 R /XYZ 70.866 490.126 null] +>> +endobj +2294 0 obj +<< +/D [9242 0 R /XYZ 70.866 473.877 null] +>> +endobj +8722 0 obj +<< +/D [9242 0 R /XYZ 273.439 389.961 null] +>> +endobj +2298 0 obj +<< +/D [9242 0 R /XYZ 70.866 371.717 null] +>> +endobj +8727 0 obj +<< +/D [9242 0 R /XYZ 70.866 186.445 null] +>> +endobj +2302 0 obj +<< +/D [9242 0 R /XYZ 70.866 170.197 null] +>> +endobj +8789 0 obj +<< +/D [9242 0 R /XYZ 70.866 127.604 null] +>> +endobj +2306 0 obj +<< +/D [9242 0 R /XYZ 70.866 111.356 null] +>> +endobj +9241 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F104 6525 0 R /F96 6194 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9257 0 obj +<< +/Length 2619 +/Filter /FlateDecode +>> +stream +xZs۸_G۝s:stO,)GRqݿEP8#ow :n{sS"O[n,*M,E*(X|\T +E龬[\_7N}їMs~Xq&ajARBڝ}xk{"ʕ`f8DgX(t +mzݢF_5]YR{Ե^j`G?.o4+o=6#wM]8⧾V{;Px츣^+egaUce -oyʪ*.;݄]oN&.ytobqD([>7gއ(+ OtЖpvEkm6DeB5vŎ]$lFBfH}dzoۦQ/R~LëetHIL|1D_^q/$qR,oaR$]Dy$."Mrz@PT4`Sy7L87t瘚Ω olkƬ,L ,kX\=֫mQ5Mkat-[:2{hag\m;NO!MUHCdmw͍VPG\^b'4bt &Ɣk-Y5 Nj36z}:"cH!j889*́r@LfC> ")=*)F\qd7dFh -=; +I.Zj3ҟ[޵5t`1 ฆ@qWdž$&'9>lK Iq+ILcʪFϺ_a|Rt˹#8I2ΈrJy`4!A#3d"KQ퍗r8zUQ/ǐ< 75#:(F F; +䬀Gu j̘ ssNļhƋ-:uML#,y3Ⓣ-x8`DtK,}E؉QmaMke`VoE-'qAowWWy rҀcT LN:7ebq4fgƄTƔ||o"C.-,1285WY*r]0i*G2,O |"US2/Jz$T22PZqTNI*!']"IE,3|6DүW"@C +q^jq'_ʄc#0b7O/p8w\r7I/1ADA.DtoHN"_U|p!mK2_dnI0q^! ])>\$4Oy8aN~Yd`Eo޸[<})@sm)G/8G,ٺ/{0L4%:.#Zgي%˂P)Z^|B/uM#72W$0{nL?]op?`k=)s &W0^[3+BNf"ioaLbarz@6wnY0`nW#cMȞ*`X+ߎ@0o}8 #I|i=-o"#ŰT=p12LASo-eWּ^9l9^l/xlanW|ߴs~b=KS9v-2^L(!g*[$q3 @$i:cĜd3/Tc8j~e7yiD_`7p;)+NSGa88L`SYtK"5&1}vlĶ͂>}h&@2V/+M9u0gyñz&[E9֣8A_}yygҝ')_ *Gx+!̠KDjS H>\uœQKW2H8uiU.mQn¥v7|u+#[=5s +endstream +endobj +9256 0 obj +<< +/Type /Page +/Contents 9257 0 R +/Resources 9255 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9246 0 R +/Annots [ 9240 0 R 9250 0 R 9251 0 R 9252 0 R 9253 0 R 9254 0 R ] +>> +endobj +9240 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.744 746.115 175.567 756.697] +/A << /S /GoTo /D (class_photon_network_aa93441ca5a719b31dddb38e4aaeccf7c) >> +>> +endobj +9250 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.626 716.643 501.711 727.117] +/A << /S /GoTo /D (class_room_options_a2d2471ba446949054e81362057d0d8ad) >> +>> +endobj +9251 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.761 699.018 170.565 709.493] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9252 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 540.801 188.36 551.276] +/A << /S /GoTo /D (class_photon_network_a3badca00ee2bacec4eaccac76002f0ac) >> +>> +endobj +9253 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [285.622 297.412 340.99 307.887] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9254 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [285.622 83.702 335.279 94.177] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9258 0 obj +<< +/D [9256 0 R /XYZ 69.866 801.979 null] +>> +endobj +8831 0 obj +<< +/D [9256 0 R /XYZ 463.729 672.322 null] +>> +endobj +2310 0 obj +<< +/D [9256 0 R /XYZ 70.866 655.087 null] +>> +endobj +6420 0 obj +<< +/D [9256 0 R /XYZ 70.866 432.918 null] +>> +endobj +2314 0 obj +<< +/D [9256 0 R /XYZ 70.866 417.678 null] +>> +endobj +8847 0 obj +<< +/D [9256 0 R /XYZ 70.866 219.208 null] +>> +endobj +2318 0 obj +<< +/D [9256 0 R /XYZ 70.866 203.968 null] +>> +endobj +9255 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9269 0 obj +<< +/Length 2123 +/Filter /FlateDecode +>> +stream +xY[s۸~ׯL .Rwv:t<",@Zr3" s?;`(fAR>J8DJM܆ |AD~Tm)9ªj/ˬiZqZ/bLDϿ8fmpP`~D(NѬňei,rG0=^xB0fe8'4l+[Y1Ù?rCFN3 ӎE"P$$F)vYp4K . +fZ(Z _"NQL5'fFvQBP5 `Lyq +^R]149O8L |ҹڝf`w?vM~Gw +AUtGx(我`$a8+~ ;-ީ2uYN~nc'j]# tpS{o ǢG@P_GHbYD +DtHlxI}WDٴ{c*/db&QxLu\.ġ!)s&^U%ߡ`N&zMϨןڵPjT Kus9?=&vɓ@NG/I]#meVEJD96Kέ{LVot3uḪ? r#b *ս.j;e44duϸ0|(JFo76,n1vehEOVw뤪=Y;S5o,o sThu(Žϋ&3谔{medk9o;=jgz(݄yXJxA5 $|#`gegh;TZ9@_Eo'x0UU9u"*&X$81p"{I[Oʄ13ʻr*$jv] ffn}W] *yXG@.Ht2zqS4Þ~2;.:g:]b3)RQJ2Q]Mun'6X%Ҹr| +x LtUf 4do;"o7{q +迿!>I[ ;~~2wӶrW+`Vu$ZUۥT]|ةjW ؀NYXVZ-Eծ,(iVCInH9- +D +I03g?*I|UѾ/ .2wղjNZp2*kq]}pE3:?u=U_.mbU-ȔuOкp^NQBwc0ƿ7$LiYb@TwGL4𞘊RdĠ Ow'J5}d'q/gAŸ0n8'0Ed}ʇm5#"4P鲳]p%ևy}c|?Ž0ES1uU`ɿ5*MO3G+" 4 +endstream +endobj +9268 0 obj +<< +/Type /Page +/Contents 9269 0 R +/Resources 9267 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9246 0 R +/Annots [ 9260 0 R 9261 0 R 9262 0 R 9263 0 R 9264 0 R 9265 0 R 9266 0 R ] +>> +endobj +9260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [246.604 741.029 296.261 753.203] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.689 651.722 174.346 660.206] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9262 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.78 586.793 232.437 597.268] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9263 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [91.102 330.07 649.01 340.191] +/Subtype/Link/A<> +>> +endobj +9264 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [91.102 312.445 553.368 322.567] +/Subtype/Link/A<> +>> +endobj +9265 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [91.102 150.396 649.01 160.517] +/Subtype/Link/A<> +>> +endobj +9266 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [91.102 132.772 553.368 142.893] +/Subtype/Link/A<> +>> +endobj +9270 0 obj +<< +/D [9268 0 R /XYZ 69.866 801.979 null] +>> +endobj +8848 0 obj +<< +/D [9268 0 R /XYZ 70.866 722.299 null] +>> +endobj +2322 0 obj +<< +/D [9268 0 R /XYZ 70.866 707.059 null] +>> +endobj +8840 0 obj +<< +/D [9268 0 R /XYZ 70.866 536.385 null] +>> +endobj +2326 0 obj +<< +/D [9268 0 R /XYZ 70.866 521.145 null] +>> +endobj +8891 0 obj +<< +/D [9268 0 R /XYZ 281.599 437.327 null] +>> +endobj +2330 0 obj +<< +/D [9268 0 R /XYZ 70.866 420.092 null] +>> +endobj +8893 0 obj +<< +/D [9268 0 R /XYZ 70.866 257.653 null] +>> +endobj +2334 0 obj +<< +/D [9268 0 R /XYZ 70.866 242.413 null] +>> +endobj +9267 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9274 0 obj +<< +/Length 2721 +/Filter /FlateDecode +>> +stream +xڵZYs6~ׯ`♪ xj;q)%Z[>8~8+$DzP'`?\;NjN&a+'8 (n(i%\QpHFZ~[m(^C.Bړ.N{"sD3XNV|9[x*[,?Pn' +ɿN<#8XՂ!H,ZIKf-Ī%,E ƮT~/p0p"_Hnb2 Fxc'đ+'HVgZzBoþ=sePH r&N +lێ[LUL\Lr;^xl냉dmUqgg;x|ܣBI^ \v +\=W|ز8='rU}*[^xۼܣ|3$rb[~ iq,enMNA^2]^# 4fK}ۇ/٧ kP +U܉)r[$^t:3dyс?KƉY4be&7?gyM5Зmx͍MO3 IQ љyּAcU +f=Th|@RFoīv)ڻ*5uMq?odLJظ٥!f`(]}b809gGdf3cƶlZ]iM,HlPI"@!`et\R>[&_>K]x+#feH\Gވ<(}@ɂ{jS 8岮0YB,-rJZ=QZ(c˓iXl*EGiRY=q.Xu0+1eBF駌~$!&3q1=)d.vy3&zT@@ӂ hQ¾-ϳ(h}K^3bcђ9b`r1"^vjx~m  OOt]6pqY\^aDD/ +#טJ_ph1EIazV aC޹V*>pahf|e͌s` sž +"5L**;@#o־17h7!iyPes 0/:N|6N^1`KU~|OUQI +枥Dds n’})Cnu#ο>vS +]"^͋;@ȁUbbl@xކ b{59'μ֗vƹlR"3Ms]2R_ܸP(*p>3(yxhlh~m$zh` Dž_~ࡨ="ha)|X"\{+&d,![CQ! +ʄVaM_j6b@G }C;⁃`S]۝=YwyN9j?,$k1+{v̀}օ9FRo;ոo!JBeݙy_>"qa\:ȏ ŷN7Qu LȭP/>bzν <@Y~n]8&{;pR|7QbKŦKե>aS{oO8^Ԑ*r@>!1М;4ӕpD0BbM GsPT,G?l'bC;#ȧ9;jH>zFx)n ]>(B {]fZb@*7=/3z"Eg#9ՒTygj즿Uj:"w؏[8F| +endstream +endobj +9273 0 obj +<< +/Type /Page +/Contents 9274 0 R +/Resources 9272 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9246 0 R +/Annots [ 9271 0 R ] +>> +endobj +9271 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.334 332.87 226.475 341.641] +/A << /S /GoTo /D (class_photon_network_aa7e51b5e5f9f8b89f057096f47d11c5b) >> +>> +endobj +9275 0 obj +<< +/D [9273 0 R /XYZ 69.866 801.979 null] +>> +endobj +8898 0 obj +<< +/D [9273 0 R /XYZ 70.866 721.901 null] +>> +endobj +2338 0 obj +<< +/D [9273 0 R /XYZ 70.866 700.512 null] +>> +endobj +8842 0 obj +<< +/D [9273 0 R /XYZ 70.866 517.27 null] +>> +endobj +2342 0 obj +<< +/D [9273 0 R /XYZ 70.866 495.88 null] +>> +endobj +8794 0 obj +<< +/D [9273 0 R /XYZ 70.866 70.866 null] +>> +endobj +9272 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F104 6525 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9280 0 obj +<< +/Length 2278 +/Filter /FlateDecode +>> +stream +xZKsW  `ovYWm C10= !J$*jỌ{54xw۟b$$UUS(iD &Lf(N뺫aѰn2k[;W3FC*׳9gQCՏ]1`L3JD"n` kJxf} $'Rp]QwyJ"C Q#t( LgsF) .%oHuOYDY'}(3|z YH+tk |{ +xJbZ0s֮Vj19/Isox𴜆+EԎ\M +R)(Ie7X}|1z~Od\E$GIPsn]j4)(0B'n&nuYM]Am랕wFݖu]gezܧ,w#ޟN@skǺ(aQ3&qm¡x(vPtk; I !s\׍:t5}]TfƜ,z!B>e {X؏7P@Xxİ:u֕]v$:[5 ;x]eV +KNwvʎ/EU;RBX]>Svʰq+;U馷%9Ws-$fV; ̱yW `O8i C*ܶ,ߠD=I#@g%H$4>N]F4܄S@ Iهl 0d%(1AP4g kT\k2źM+s7]ZYuwia2 H6M8 VV%2JƱD|MأW iKecR"Fx/ Ka4&\ +%Q0eae4!0R,(u8P$yb- Ajr 6IP]CՎռ=#beCLGUIFRA:2PqӃL88mw o( +Cf냄# .Napa;.u $ʔ`tU1RJƞ`+phJ ;UEu#~1o9@s!K79a.",nLH8綮)z$ҕG Eʎ֣Z@ʣX98{Mq(_&5h>9T;ovRN? ,Wݲhy<ـ|^xO7 Bdj򁒭V=:Z@"N.S lr Y/@O<r߽>Fj~}ͩ[HH{I˞,ӡeҋZ7A+tn{x=z0(*n#.j;ʰN&-.e˾#0ņ>˭s!^ `;c)H)R1L.BH Z$>nw]4: +jt`p;ݍdroُӥ;Dp^fgqAi "b6,/3yw6'eutK,ޡJEPiDI +X:Uh 9 ehm)qtu^*hLBV">L)N_E"UG@b +gJyQi_^ +1e9X,w{XzomjWۉ{FPA[K"Xe }=?yS(>'$it`bBp޺PRKYlG}ie?Q;*:I໺>E ?6_1> +endobj +9276 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.817 430.292 221.223 440.668] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9277 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.817 227.548 221.223 237.924] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9281 0 obj +<< +/D [9279 0 R /XYZ 69.866 801.979 null] +>> +endobj +2346 0 obj +<< +/D [9279 0 R /XYZ 70.866 771.024 null] +>> +endobj +8890 0 obj +<< +/D [9279 0 R /XYZ 70.866 589.492 null] +>> +endobj +2350 0 obj +<< +/D [9279 0 R /XYZ 70.866 570.315 null] +>> +endobj +8892 0 obj +<< +/D [9279 0 R /XYZ 70.866 542.874 null] +>> +endobj +2354 0 obj +<< +/D [9279 0 R /XYZ 70.866 542.874 null] +>> +endobj +8894 0 obj +<< +/D [9279 0 R /XYZ 70.866 517.428 null] +>> +endobj +2358 0 obj +<< +/D [9279 0 R /XYZ 70.866 517.428 null] +>> +endobj +8895 0 obj +<< +/D [9279 0 R /XYZ 70.866 491.982 null] +>> +endobj +2362 0 obj +<< +/D [9279 0 R /XYZ 70.866 491.982 null] +>> +endobj +8896 0 obj +<< +/D [9279 0 R /XYZ 70.866 335.857 null] +>> +endobj +2366 0 obj +<< +/D [9279 0 R /XYZ 70.866 316.68 null] +>> +endobj +8897 0 obj +<< +/D [9279 0 R /XYZ 70.866 289.239 null] +>> +endobj +2370 0 obj +<< +/D [9279 0 R /XYZ 70.866 289.239 null] +>> +endobj +8717 0 obj +<< +/D [9279 0 R /XYZ 70.866 133.114 null] +>> +endobj +2374 0 obj +<< +/D [9279 0 R /XYZ 70.866 113.936 null] +>> +endobj +9278 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9291 0 obj +<< +/Length 2350 +/Filter /FlateDecode +>> +stream +xڵYKs8WpNKZA|xv*kOR[9P,qBZ㚚@")JSVNģ4u7Xk˱L_8xO1~i{Tzѓhh,:Z*/ULPg^6 |jT9uQGN[F@-Mb83:+"'QfNER'Y,ChI$ǜh'M'[xnZ&$<Ύ!\UqdF#b-1+#"ʇJ3J0X2/Hen all#_4HARPc%*U8P8JCΕ:&!ԇ+~AAY">_))qjr;ϩu8ߩ6򋬀sdj>>p"7Y2tNƘ ndI4eIsaJhھF8K-8gff 5d)>(C@,j/,7>i)x /#?'.`n_@lCġ.Ʃ@Q<7=3w% ӡmaNhX`1>˽Lʸ&Ua2# Ô.Ɏe (ԛgR_ nUUVzR+V-h8i ->w.43EFnlנz'&MW_UM_s6F`:n ZT= =GSTV904K<'Ɩ*6T=%Êư-k"4q(Б5>$yt]Fq @T5r2 eBOZ8Y]W>A)9&$_TՋ-1AI ooYe^Ҩ˙qYqO@;')@6b:Hp|rx{.؝{  ;j?9cll?GuTn%!ZM?[Ƙx sJ60rW'gˈ> +endobj +9282 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139.959 698.911 236.625 709.493] +/A << /S /GoTo /D (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec) >> +>> +endobj +9283 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.801 417.092 188.208 427.674] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9284 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.308 399.575 321.714 410.05] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9285 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [69.87 376.018 556.047 385.916] +/Subtype/Link/A<> +>> +endobj +9286 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.598 286.926 187.064 297.401] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +9287 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.389 195.574 168.699 204.681] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +9288 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [268.923 195.574 448.45 204.681] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +9292 0 obj +<< +/D [9290 0 R /XYZ 69.866 801.979 null] +>> +endobj +8835 0 obj +<< +/D [9290 0 R /XYZ 70.866 585.358 null] +>> +endobj +2378 0 obj +<< +/D [9290 0 R /XYZ 70.866 568.118 null] +>> +endobj +8900 0 obj +<< +/D [9290 0 R /XYZ 70.866 480.006 null] +>> +endobj +2382 0 obj +<< +/D [9290 0 R /XYZ 70.866 462.766 null] +>> +endobj +2386 0 obj +<< +/D [9290 0 R /XYZ 70.866 97.065 null] +>> +endobj +8956 0 obj +<< +/D [9290 0 R /XYZ 70.866 70.866 null] +>> +endobj +2390 0 obj +<< +/D [9290 0 R /XYZ 70.866 70.866 null] +>> +endobj +9289 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F82 6068 0 R /F77 6067 0 R /F73 4864 0 R /F104 6525 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9300 0 obj +<< +/Length 2554 +/Filter /FlateDecode +>> +stream +xڥY[w6~وTu.n4!% f@UO0onph;87'/&$uqLnDiO&|qR73?IkhA6S_82k^Z,$p ~O=QH`DsEW7pB8 +T^R?d ޭ*SMzO,\D^Ǔ9x/b\nX|5*6wX=3z-G_IkZ#'4d +g8 Z.ʙ4C If-iJ.B0lȊ~i$uζ۲XdHq +'X$,pYYY'r qټ΢] yBZ$=qcr's+k4@9 +A2͋%$B!շ9Lm˽jc-ܯRҏKcMYYk[:hddZEE_\6 &Tլ ѧYUf#NS ӻhi }lbG7SYg*7؀ x'b-F*=AݽZ_;|Q zZKoa,ocZ]^w.Cqg@=ri(K*9Ha7ќZ +p+֍d]QUV0=ޤTZl͔yVfzqYx̓;()sLSmFnHemEV,#Q6;a5*bIGl6ncaTU&WLfWV­\Y9fMt=oh-?pP gDbl;wRG^ߵ"@OoYCOEY%$QRZ_W9%q(5⥔E|p>QvRi5D'h?eoIF c#-09mѲd.Ų >Nu7pr+3|N5Zۺn=tܽl(Kz!U&lxJ6}i/!bHq< E\CBζ`] 0H+ؖk]C܈S47~֘uˬ0o#/6L<&Ba5#xGeR٩LVMK[uKpڭI\Էtct +uA駳śϿ]E(@ȋӀ Q)-rY2εd)0}O@Fj:KZ/vm:$ 3?LiOק[fS"^]]ٞlE@ii,? VvO KekW ~~} B–͠"ԨZX(0spFb0|ezGon}{z<_1#  \1\uc gW7܉̳`J~ߟgn͹e[EG?F BK 1,3 +W0Ue)WP,c%Aׯ +L5<᛬eӘj'VYi(oal"?8y*CP?%A'gxWFC Yu-8du,!Q5J9=#5v'[4n$WC }#O..Rb(r,@=[>c=o m"iwvo6vUZ׍TC ~ +endstream +endobj +9299 0 obj +<< +/Type /Page +/Contents 9300 0 R +/Resources 9298 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9302 0 R +/Annots [ 9293 0 R 9294 0 R 9295 0 R 9296 0 R ] +>> +endobj +9293 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.774 674.018 330.945 684.493] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +9294 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [404.728 305.756 502.645 316.338] +/A << /S /GoTo /D (general) >> +>> +endobj +9295 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [342.047 234.227 458.691 244.809] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +9296 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 141.296 117.483 149.78] +/A << /S /GoTo /D (class_photon_network_aa9088b089a8c1b3548f8a7a792146e50) >> +>> +endobj +9301 0 obj +<< +/D [9299 0 R /XYZ 69.866 801.979 null] +>> +endobj +8904 0 obj +<< +/D [9299 0 R /XYZ 302.839 517.049 null] +>> +endobj +2394 0 obj +<< +/D [9299 0 R /XYZ 70.866 498.212 null] +>> +endobj +6752 0 obj +<< +/D [9299 0 R /XYZ 82.971 427.895 null] +>> +endobj +2398 0 obj +<< +/D [9299 0 R /XYZ 70.866 410.843 null] +>> +endobj +8901 0 obj +<< +/D [9299 0 R /XYZ 70.866 366.326 null] +>> +endobj +2402 0 obj +<< +/D [9299 0 R /XYZ 70.866 349.377 null] +>> +endobj +8955 0 obj +<< +/D [9299 0 R /XYZ 70.866 296.689 null] +>> +endobj +2406 0 obj +<< +/D [9299 0 R /XYZ 70.866 279.74 null] +>> +endobj +8957 0 obj +<< +/D [9299 0 R /XYZ 70.866 235.223 null] +>> +endobj +2410 0 obj +<< +/D [9299 0 R /XYZ 70.866 218.274 null] +>> +endobj +8903 0 obj +<< +/D [9299 0 R /XYZ 118.979 142.395 null] +>> +endobj +2414 0 obj +<< +/D [9299 0 R /XYZ 70.866 125.343 null] +>> +endobj +8907 0 obj +<< +/D [9299 0 R /XYZ 70.866 68.871 null] +>> +endobj +9298 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9308 0 obj +<< +/Length 2376 +/Filter /FlateDecode +>> +stream +xYے6}RULoKl٩- IEo Ec8UY@X{˱]<\<|+fIrk"ahEB{7.#uejERT]ɺRl.>] X0g󭬼xѱr0֍,-?, tz֠cԎgj:cp^(C ݬkvlD&[Pn +|s[e>4Z0ݩ>JB+mPis} }Ԇ1;ztœ ͘0p dr/#݊;hDVoD|#QۭrleVl.3Z+ρ)O*plZeF4i!Tf^n[ z}.u@b83;֚dNM/p9kQB?yi zzIBȕZu\c"{ >gk?5}%>Gs+c/dvZ0< [ 5QJ%:GLV\:"z ַbm7d*wB,3Gy20Qqk~4-uSY$kR:,yMEJNS݉̉J5.QSHS};h(`a0OdI"5mߢ~ 1jŌĮ\>HFeiOe. !W &}ܣ USFwm*ZtkSE3(ދ9ܝRu`OG6<чYK#>7#ZӪ&(.EY#i~P=*:} ۺo@SeEC{X#PEgU|[DoV5[lU#K3L+Nqf1Zjp(6lK&dACE} z b~"5ICI!j4FJЀy,<"Xzœp&K|5h|θ|-hs^xy]Eۦ {bREFx; ? J`\ՄJBEA2Xh}+?T,΂<YZBLbؘXm/ -X^q&ƆZb l _ؕWR`וr{*ج\e`)jWP]uΨ;F+. @r:xgSOh?snI784#Ie =l8I#pzS@FȱŁTJtr2,=YܚJھr&-f/N܊C/lyrRI[o96b<<Dyx +<+HTicN<ŏGjޭz ڜ֓b{Q<l呚bwhHsGМ&gИ>CenqL:yur,Ҿe)#e#Z6'PטV*=eҲEade8U'Sp/^ܷ,CW't;A{d{P%aL*C X:SwbyhKe5Kg/c!vr ;6,s1YX訾n*efzp154gR)G)#GG;WS(8AU8.2'Rt:=]>ö;CSa7Ǭ}^xkwmǙ< 3Av +ɧ0RZZmU" IKS#B|3obٶxOf'o[qvm?8 a~1?A'ȳEeN9v((X9DI8;‚`bNU {r  <1t!gVe)ջ>PM0g S ѦÉiP/ bP<Lkȼ(^e$YYDȧyJ U+={ +/FrG5ttJvTi_j!(OOk}ݫl͍? . +endstream +endobj +9307 0 obj +<< +/Type /Page +/Contents 9308 0 R +/Resources 9306 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9302 0 R +/Annots [ 9297 0 R 9303 0 R 9304 0 R 9305 0 R ] +>> +endobj +9297 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [320.224 732.947 369.881 743.53] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9303 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [369.493 672.64 419.15 683.222] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9304 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [77.348 588.423 127.005 599.005] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9305 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.262 79.83 343.142 90.412] +/A << /S /GoTo /D (class_photon_network_a5d231578fbaadcb89dd592d2d8ddfd0a) >> +>> +endobj +9309 0 obj +<< +/D [9307 0 R /XYZ 69.866 801.979 null] +>> +endobj +2418 0 obj +<< +/D [9307 0 R /XYZ 70.866 771.024 null] +>> +endobj +8906 0 obj +<< +/D [9307 0 R /XYZ 70.866 733.944 null] +>> +endobj +2422 0 obj +<< +/D [9307 0 R /XYZ 70.866 716.383 null] +>> +endobj +8905 0 obj +<< +/D [9307 0 R /XYZ 70.866 661.789 null] +>> +endobj +2426 0 obj +<< +/D [9307 0 R /XYZ 70.866 644.229 null] +>> +endobj +8951 0 obj +<< +/D [9307 0 R /XYZ 369.548 561.834 null] +>> +endobj +2430 0 obj +<< +/D [9307 0 R /XYZ 70.866 542.279 null] +>> +endobj +8952 0 obj +<< +/D [9307 0 R /XYZ 127.263 459.992 null] +>> +endobj +2434 0 obj +<< +/D [9307 0 R /XYZ 70.866 442.329 null] +>> +endobj +8953 0 obj +<< +/D [9307 0 R /XYZ 462.518 293.322 null] +>> +endobj +2438 0 obj +<< +/D [9307 0 R /XYZ 70.866 273.767 null] +>> +endobj +8954 0 obj +<< +/D [9307 0 R /XYZ 471.889 203.436 null] +>> +endobj +2442 0 obj +<< +/D [9307 0 R /XYZ 70.866 183.988 null] +>> +endobj +8950 0 obj +<< +/D [9307 0 R /XYZ 70.866 141.133 null] +>> +endobj +2446 0 obj +<< +/D [9307 0 R /XYZ 70.866 123.573 null] +>> +endobj +9306 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9321 0 obj +<< +/Length 2565 +/Filter /FlateDecode +>> +stream +xYKo8W4r HkD.q&FI;,ݭZJx﷊U˲ !HjWg'nN~~8XmWqJ2b)V Iu뷪uO"VyB]wTrׁI q?o^9׉7JS/j{8_0z{An*/ +W˓clAXxRu]Y@):o@w|G(yZEűq"r{ߡcݕ^r[Vj`[)W8yCo +;vSSjgYݾ59~z-Gwx:H+X<ˢ + tQ^ѸC1q%qxgnش2ǁ0ΙAٱ +ljx=s'#3|;قt- <ñ}8ٕΠ|jB8_Kpv~ū 61n&e%q>]ޕ$%L}Y!0pT۬T)ჩ^26D5=ovO!6G})7$\݉8( fng;Շ]1rH("/" /djT^ +Dkd{YO~{ "/ҮY/# :Ap'J|#~jxU +$^&S b8oQg_3Yv\x\x}TǪٱk8;Y}9")6떷lwchkҌ`2&>YWp NVKeK$GŽR!A>*ێF._B V0|وOw4A(7S&O, A;1Q~,N& d98#h4ć^GǑɍ|}6s\MBLA~X3kaٶLb(aZtj?]zԻ/j=%Q\o!?b[]#Hڮ!GѾX[[Z7z<)p<<%f4S^ӓfZAzKǶC1B.L1u{z,| \)+L +H^[rbMr O/-[lѬ۲X$ b + wHRlxEmx;| ƠPFƓR*pD4lCoR?04͂O ݷᗨ * ݠU ʼݛvGqĤkJ=̇ިwG P'Ȃ[ҧX09rBz~sC2*@L=4B6:Ho>VBYX0y.!1PB,hɐv&E*R4F!poH[JQ|uШӳ8cTU쟐4\X@ B l=:[?ufľ ŞfAR> ˩_> Z r/F>\?Jm| :G;T`ڄ).nqol< yBDQ__4)v&o;kAs/h%.q[8fHmYb +I5,P%Ȅ}x>1TL!J:|  ?D2HX3b椊7|YR6tfc.>'x/[/zcN2@L +/@BLa( mi)^LlDPl-H/k""x }8Zv',`KĐ7r8~}sk!DxjZEX/42/jO0Lժiw|lS$|6&x&g*'Ɂ P}]vW{z$arT \ +endstream +endobj +9320 0 obj +<< +/Type /Page +/Contents 9321 0 R +/Resources 9319 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9302 0 R +/Annots [ 9310 0 R 9311 0 R 9312 0 R 9313 0 R 9314 0 R 9315 0 R 9316 0 R 9317 0 R ] +>> +endobj +9310 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [277.007 654.507 326.664 665.089] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9311 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.912 636.882 407.569 647.464] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9312 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [301.287 625.035 350.944 635.509] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9313 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.788 340.326 417.444 350.908] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9314 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.205 239.632 297.111 250.214] +/A << /S /GoTo /D (class_room) >> +>> +endobj +9315 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.311 177.603 336.641 188.186] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +9316 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.509 148.131 226.583 158.606] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +9317 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [454.911 148.131 525.406 158.606] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +9322 0 obj +<< +/D [9320 0 R /XYZ 69.866 801.979 null] +>> +endobj +8949 0 obj +<< +/D [9320 0 R /XYZ 301.199 749.106 null] +>> +endobj +2450 0 obj +<< +/D [9320 0 R /XYZ 70.866 728.224 null] +>> +endobj +6272 0 obj +<< +/D [9320 0 R /XYZ 348.925 615.963 null] +>> +endobj +2454 0 obj +<< +/D [9320 0 R /XYZ 70.866 594.973 null] +>> +endobj +2458 0 obj +<< +/D [9320 0 R /XYZ 70.866 533.052 null] +>> +endobj +8969 0 obj +<< +/D [9320 0 R /XYZ 70.866 505.311 null] +>> +endobj +2462 0 obj +<< +/D [9320 0 R /XYZ 70.866 505.311 null] +>> +endobj +9014 0 obj +<< +/D [9320 0 R /XYZ 380.532 405.345 null] +>> +endobj +2466 0 obj +<< +/D [9320 0 R /XYZ 70.866 384.355 null] +>> +endobj +6243 0 obj +<< +/D [9320 0 R /XYZ 416.745 242.623 null] +>> +endobj +2470 0 obj +<< +/D [9320 0 R /XYZ 70.866 221.633 null] +>> +endobj +9013 0 obj +<< +/D [9320 0 R /XYZ 197.54 91.856 null] +>> +endobj +2474 0 obj +<< +/D [9320 0 R /XYZ 70.866 70.866 null] +>> +endobj +9319 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R /F82 6068 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9331 0 obj +<< +/Length 2102 +/Filter /FlateDecode +>> +stream +xYK6 WTA=:C4d&n$̵֔u}+{DA J,^^p|yxyPi_z 4" +;_z0_yqyËfi]j=_DY?Sn#ljPwY ;yQU[³WȽk<)jlˌVmWOVr $H拐1_(U*Vj~<~ ]6説y}SUE0W\"ݭ>[Ѫ [I򼳴픙^똙_y\ -,L( RמOEP//1BUK{S{*^]D9kU.hܐTy?P7nOV8sk%Xۘle3A!3%x봰g^ +sjƒO,aV':FNgaX'< y0 +Z#燡2S+f1x+ R*y8I} ުFI,pç=aGH?4v=ؘ8{WT>IOs?>feڽnئ6(Nl- isxEP;jvW˲%]8oJ62^66aGy[%9'Wʌ۪+40[sR۫F8/o\?0ǃ|@UD W$>%V.@ފrfi's7`b'E!yE20Q=HrK vČ47BrE7ĎD`K\ɜ1~4YXNb0/k-p!hmCb4aݻ?SP0ҭX@xkq0UXLF'GCPV,'v1]-ߋ4ORL&L:½Y&J` o]o_MWXM<iA[D&9HƋe +Tza_@ls>d/iĆQl^TC]3S#Ӡ ['Ըa?4֭`ks+rEL`oԞ,-J5Z06_b, 89J/F?wM+ cr %U'jw&!VV†۶%;wS`6u QeCfCy8J3LInaZMnOTmf mb.RSYW&K􌏓 XZh7ۡfw6eŸ oqS ^ծQ̵Znd]nmfzzˉΧVܵ izI¤3-R3-ݽ6[YǙq +60Ω6@ Vi)Lnj|09rC6zqU<Ɂ[Lt ,q P1ROmRje׆Z:S$iR+{uA]JՔo}HwEa?u%Mֵ,ofðc +j=./m@ic=;9rvvkQVYsbsZܵq0z#M`շҶfVYh^T¦E$C0pt8 љcK8,'K>+`ބ`NFjdEFڡ"t]ߋӢO/@N< +rVmcpW8chQo]Mqo;lsVxE~F sYLTh.+{sAQ>Ųi:'&kz<ѥWy>Mwx +ͽ9(|ӿmb \y2J}بk0@;!Sܟ428` 0Dp шmٺ\:;f> +endobj +9318 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.899 733.519 525.406 743.994] +/A << /S /GoTo /D (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) >> +>> +endobj +9333 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 721.564 92.799 732.038] +/A << /S /GoTo /D (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) >> +>> +endobj +9323 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [321.637 703.939 428.337 714.414] +/A << /S /GoTo /D (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) >> +>> +endobj +9324 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.113 674.36 179.018 684.834] +/A << /S /GoTo /D (class_room) >> +>> +endobj +9325 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [304.976 662.297 473.956 672.879] +/A << /S /GoTo /D (class_photon_network_a9cf8214080471001a1a32e17eff9b402) >> +>> +endobj +9326 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.632 592.895 187.029 603.477] +/A << /S /GoTo /D (class_region) >> +>> +endobj +9327 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.853 523.601 217.259 534.075] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9328 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.431 384.689 448.837 395.271] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9332 0 obj +<< +/D [9330 0 R /XYZ 69.866 801.979 null] +>> +endobj +8959 0 obj +<< +/D [9330 0 R /XYZ 445.492 653.333 null] +>> +endobj +2478 0 obj +<< +/D [9330 0 R /XYZ 70.866 636.174 null] +>> +endobj +8961 0 obj +<< +/D [9330 0 R /XYZ 70.866 582.044 null] +>> +endobj +2482 0 obj +<< +/D [9330 0 R /XYZ 70.866 566.88 null] +>> +endobj +8963 0 obj +<< +/D [9330 0 R /XYZ 70.866 512.534 null] +>> +endobj +2486 0 obj +<< +/D [9330 0 R /XYZ 70.866 497.37 null] +>> +endobj +8962 0 obj +<< +/D [9330 0 R /XYZ 70.866 443.24 null] +>> +endobj +2490 0 obj +<< +/D [9330 0 R /XYZ 70.866 428.076 null] +>> +endobj +8965 0 obj +<< +/D [9330 0 R /XYZ 70.866 385.685 null] +>> +endobj +2494 0 obj +<< +/D [9330 0 R /XYZ 70.866 370.521 null] +>> +endobj +8966 0 obj +<< +/D [9330 0 R /XYZ 70.866 328.346 null] +>> +endobj +2498 0 obj +<< +/D [9330 0 R /XYZ 70.866 313.182 null] +>> +endobj +9043 0 obj +<< +/D [9330 0 R /XYZ 486.574 255.162 null] +>> +endobj +2502 0 obj +<< +/D [9330 0 R /XYZ 70.866 238.111 null] +>> +endobj +9042 0 obj +<< +/D [9330 0 R /XYZ 70.866 195.72 null] +>> +endobj +2506 0 obj +<< +/D [9330 0 R /XYZ 70.866 180.556 null] +>> +endobj +9041 0 obj +<< +/D [9330 0 R /XYZ 70.866 126.318 null] +>> +endobj +2510 0 obj +<< +/D [9330 0 R /XYZ 70.866 111.154 null] +>> +endobj +9044 0 obj +<< +/D [9330 0 R /XYZ 70.866 68.871 null] +>> +endobj +9329 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9340 0 obj +<< +/Length 2379 +/Filter /FlateDecode +>> +stream +xY[s۸~Pwf:qo6tD|!EiR?\l'?.8 tqva( `\.Nz‰x03Ă1/,d"\+DMWO˺>H,^dp"NY3\|;:8f㳙BԞ:2,FT8ƃ~y_١\(Vd+.d,ˢHP>;=Uaw(HYWFE>}(CmV_ +q<ڶ)^e92CNdD~߮|qOmNQ輻0($2i"?Z7~̋{^<9X:`> +s\08mHdkiד~Z?";@.^Ew t6=E?98(gw:%GVo[ 8 \Ur;];Ž\5N]י >,ʢ?0 |)eO04fa*\SZP]d ȎTr#197^7j囮ܮpqI~fSĽ٘sݦ9㰉?}7CXGL?]n⹑]{qv$s'}!7ǵ ,{ƙ_g檹bn@,uH @Уۃ# %zE +&5Z,NseM*̫z:gr:7y.+d, RaĬK!{ {`h7BaN ËᛢpB艙%pg  &6*%)̜,h_f0cIj>@;|*K1;&#̦(w)jCN + Y-K(c0e!ajм1QQ(xכLCUyY02bճڞ-CC",] #@z[X8Bi|FD x|7S([ FjE Z/jjR hKKM"_[vsńBt{eY3 9u9(a"ñ(AvpyUWߡF%Qd +G!hPYջN!ژȆec!2&",b&S θoDp}nӭk?E`ycȔ.;HgYv*lzer{*})Bfl*:FQ(؞*tJAiS#M".\f.:QqR]5 wu4n}Ȝz l=tl#Ld˝. wS̀3cv83Nx͘mjMgam|GL +0IoiQ\a?!J-@,2؋J 92. !S!,~/:_i㽿,Hmɬybkc(Jr6ᤵ2UKa[ +o2rf3SѶ/Cvl%orlf7 Vݔ`'ݸq%M'RH!v#Xݵ?-U*c<:[ 茈z +Ql"N5%Z`T ^" [|Pn5s)GbdOsovUYƊ|AT6Bt&yʿ)D0gTBJz+?S4y!٦":.Fw"݂7&}> +endobj +9334 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [368.89 715.309 493.002 725.891] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +9335 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.63 703.353 326.036 713.936] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9336 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 529.802 195.722 540.276] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +9337 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.898 79.938 297.223 90.412] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +9341 0 obj +<< +/D [9339 0 R /XYZ 69.866 801.979 null] +>> +endobj +2514 0 obj +<< +/D [9339 0 R /XYZ 70.866 771.024 null] +>> +endobj +9047 0 obj +<< +/D [9339 0 R /XYZ 438.247 706.345 null] +>> +endobj +2518 0 obj +<< +/D [9339 0 R /XYZ 70.866 686.718 null] +>> +endobj +9015 0 obj +<< +/D [9339 0 R /XYZ 70.866 643.957 null] +>> +endobj +2522 0 obj +<< +/D [9339 0 R /XYZ 70.866 626.324 null] +>> +endobj +6824 0 obj +<< +/D [9339 0 R /XYZ 116.181 520.73 null] +>> +endobj +2526 0 obj +<< +/D [9339 0 R /XYZ 70.866 502.995 null] +>> +endobj +9011 0 obj +<< +/D [9339 0 R /XYZ 322.869 389.222 null] +>> +endobj +2530 0 obj +<< +/D [9339 0 R /XYZ 70.866 369.595 null] +>> +endobj +8719 0 obj +<< +/D [9339 0 R /XYZ 70.866 326.834 null] +>> +endobj +2534 0 obj +<< +/D [9339 0 R /XYZ 70.866 309.202 null] +>> +endobj +9039 0 obj +<< +/D [9339 0 R /XYZ 501.539 250.812 null] +>> +endobj +2538 0 obj +<< +/D [9339 0 R /XYZ 70.866 231.185 null] +>> +endobj +6796 0 obj +<< +/D [9339 0 R /XYZ 88.547 160.839 null] +>> +endobj +2542 0 obj +<< +/D [9339 0 R /XYZ 70.866 143.104 null] +>> +endobj +9338 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9350 0 obj +<< +/Length 2605 +/Filter /FlateDecode +>> +stream +xZYs8~e*}vv+ɸቕJHĄ"'QN⚩}"F_7[ϼ/hy,,Ifi?[fo?faY‹|QJς4s~v+hJYړ'>,f3,flsfN΢8tf7'x}>|O3g:{)FneQU_ivV4.ou oi; 8TXRbEY +%zMkIOR֐*F2KdF"Ycਘ<qJ+J@+Yu%xزRmrOK{fS;~M(ٜ/S! 3O|{RtΣX?ue+R5RROvdD6lAYOh N]祬~ d ,J7x9#MhtHsܹ&A Mr+גUX0-m @WſU?EAY=$!{1Owbi(ʡ+|WŇJɀ ? ӲT"3S$r$Qۨ ͱ(ԥ_y. +UXҤw=֘ĤrJP*V蠎5b.]Ó$Av\hMm?p#0f]9:n!epG6.)jF{R|~i9Y`c]9V kXʺfS9j.tQu)LF98 MXe=\lCxk.___= +PUC=6piAlF9#{DѣZØ(I}\; Xk(աMg!dT{0wA{c s7 ²TSau!A}?!~eTgS`~ie:C~bKNcgK/eE(߻=4_Ɖݮ='!R~rJzrJNRx1aLm@$)wop<'=i~YwqMm(Q4eܛ\ Q SgW(#}ثz_cR@C9\Ǵo@O{?Fyސl=g#>vPQ8 +d6zSvV?|S]IFdr%spO=O~5Q?V +endstream +endobj +9349 0 obj +<< +/Type /Page +/Contents 9350 0 R +/Resources 9348 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9302 0 R +/Annots [ 9342 0 R 9343 0 R 9344 0 R 9345 0 R 9346 0 R 9347 0 R ] +>> +endobj +9342 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [97.594 380.5 210.991 390.975] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +9343 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.58 380.5 415.007 390.975] +/A << /S /GoTo /D (general_masterServerAndLobby) >> +>> +endobj +9344 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 271.445 195.722 281.92] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +9345 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [161.567 103.231 321.697 113.706] +/A << /S /GoTo /D (interface_i_pun_callbacks_abee2c86784a9a700b9f5b4073bd00be7) >> +>> +endobj +9346 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.304 85.607 217.904 96.081] +/A << /S /GoTo /D (class_photon_network_a85b058bab4a369d0c5730cf43b462962) >> +>> +endobj +9347 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [264.042 67.983 353.831 78.457] +/A << /S /GoTo /D (class_photon_network_a1b3803f17c6d713593bca41547b8b9b3) >> +>> +endobj +9351 0 obj +<< +/D [9349 0 R /XYZ 69.866 801.979 null] +>> +endobj +6398 0 obj +<< +/D [9349 0 R /XYZ 226.295 749.106 null] +>> +endobj +2546 0 obj +<< +/D [9349 0 R /XYZ 70.866 728.372 null] +>> +endobj +9018 0 obj +<< +/D [9349 0 R /XYZ 70.866 687.152 null] +>> +endobj +2550 0 obj +<< +/D [9349 0 R /XYZ 70.866 668.305 null] +>> +endobj +9040 0 obj +<< +/D [9349 0 R /XYZ 436.31 554.29 null] +>> +endobj +2554 0 obj +<< +/D [9349 0 R /XYZ 70.866 533.448 null] +>> +endobj +9017 0 obj +<< +/D [9349 0 R /XYZ 70.866 490.551 null] +>> +endobj +2558 0 obj +<< +/D [9349 0 R /XYZ 70.866 471.704 null] +>> +endobj +6850 0 obj +<< +/D [9349 0 R /XYZ 419.489 383.384 null] +>> +endobj +2562 0 obj +<< +/D [9349 0 R /XYZ 70.866 362.649 null] +>> +endobj +9010 0 obj +<< +/D [9349 0 R /XYZ 489.075 244.749 null] +>> +endobj +2566 0 obj +<< +/D [9349 0 R /XYZ 70.866 223.907 null] +>> +endobj +9049 0 obj +<< +/D [9349 0 R /XYZ 358.412 70.866 null] +>> +endobj +9348 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R /F82 6068 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9365 0 obj +<< +/Length 2165 +/Filter /FlateDecode +>> +stream +xYY6~ׯ[}Of"1c=ݠHZ:8 Gkm-zx^ƒ[`%hb?bl^I^MjO͖ F +v$HB4 ]I P@aLFԄ4+(ׂ&b(bKgomF-pq`sɳчlxEsvx+wvj;@6 cCF-\]^h9cza8j+Q=2'/%&.>BP3>eN nU?ߟ )h +S--=\ +qxa< +k'+H 9Re}_j:%W}%hMrQM!%4#J&lit,N :Nw0B\bJwj9 [3%֪T5 Iт $Xt3)NCCi-O0B~ MjXKT A\`||/;n޷FIS$D"? K). -C޹s6U͖h|רRpZv`fAϥrI'lM? +GcHw҃ؾ.}||mΫٔ\`"P\x@EiC6.{A:\`r Y'Gsy*5{ݸ\! dZN\@2'@xzIz!.}88T}e?;Aۈz% +Ugṇx6 C\fή.h_wLJBY|郯SnOƎF(AP( AHfcQÔJ+([: QVw/F#蕋0B5W#ñ^CKhlz`|-V_ >FUHYtsL+:ɪrߦ5V3dA&/uBg@Ywki='NŖ~3ѵ,6NM1I$=]WVӰhG;qjnǁSF/`a# +B?&8yӗkMaL#-Ɠ:vlD$5$ғ7W ~Dckḧ́:O`]}0OW4Ah$rO!9Ͻ6;'IDfs_#_|6c愣/ UsRֲ9$-g9e=AUwZnS?ˎ3PlgJomǺ7H +endstream +endobj +9364 0 obj +<< +/Type /Page +/Contents 9365 0 R +/Resources 9363 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9368 0 R +/Annots [ 9352 0 R 9367 0 R 9353 0 R 9354 0 R 9355 0 R 9356 0 R 9357 0 R 9358 0 R 9359 0 R 9360 0 R ] +>> +endobj +9352 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 558.502 525.406 569.084] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +9367 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 546.547 104.786 557.129] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +9353 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 536.484 177.063 544.968] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +9354 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.093 441.603 464.621 451.871] +/A << /S /GoTo /D (class_photon_player_ab7e0bc6125b15524e74b5ac9d7c337d7) >> +>> +endobj +9355 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.887 429.648 316.864 440.122] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +9356 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.172 411.916 227.87 422.498] +/A << /S /GoTo /D (class_photon_player_aaf54b32878a605d3e4d47f16ad106aa3) >> +>> +endobj +9357 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.902 284.265 164.271 294.847] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9358 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.728 179.32 431.256 189.795] +/A << /S /GoTo /D (class_photon_player_ab7e0bc6125b15524e74b5ac9d7c337d7) >> +>> +endobj +9359 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [139 167.365 281.977 177.84] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +9360 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.172 149.633 227.87 160.215] +/A << /S /GoTo /D (class_photon_player_aaf54b32878a605d3e4d47f16ad106aa3) >> +>> +endobj +9366 0 obj +<< +/D [9364 0 R /XYZ 69.866 801.979 null] +>> +endobj +2570 0 obj +<< +/D [9364 0 R /XYZ 70.866 771.024 null] +>> +endobj +9045 0 obj +<< +/D [9364 0 R /XYZ 519.651 706.769 null] +>> +endobj +2574 0 obj +<< +/D [9364 0 R /XYZ 70.866 689.263 null] +>> +endobj +6423 0 obj +<< +/D [9364 0 R /XYZ 200.132 619.341 null] +>> +endobj +2578 0 obj +<< +/D [9364 0 R /XYZ 70.866 601.943 null] +>> +endobj +6396 0 obj +<< +/D [9364 0 R /XYZ 70.866 537.48 null] +>> +endobj +2582 0 obj +<< +/D [9364 0 R /XYZ 70.866 521.969 null] +>> +endobj +9048 0 obj +<< +/D [9364 0 R /XYZ 107.878 402.952 null] +>> +endobj +2586 0 obj +<< +/D [9364 0 R /XYZ 70.866 387.338 null] +>> +endobj +6392 0 obj +<< +/D [9364 0 R /XYZ 70.866 343.109 null] +>> +endobj +2590 0 obj +<< +/D [9364 0 R /XYZ 70.866 327.598 null] +>> +endobj +6395 0 obj +<< +/D [9364 0 R /XYZ 70.866 273.413 null] +>> +endobj +2594 0 obj +<< +/D [9364 0 R /XYZ 70.866 257.902 null] +>> +endobj +6394 0 obj +<< +/D [9364 0 R /XYZ 107.878 140.669 null] +>> +endobj +2598 0 obj +<< +/D [9364 0 R /XYZ 70.866 125.055 null] +>> +endobj +9363 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9378 0 obj +<< +/Length 2259 +/Filter /FlateDecode +>> +stream +xYKs6WpO|?|SJy؊ a!|DQ~v !d;JDhF_q\ۣ' eq8N4$Y9sB;'=& T*޶?IW2wxWe=t䁨xv4e: KG%s(`QKTOGX [tr[W|D{Iڷnqe?VׅnRШZҠ-G~"N=ul5R4yDzV+y.csy,"AtfJ^VPiō\=l'Ah*ِK.ZfV);xUM>؆Ƿjf%+jmAzI{N9saOɇ%ϠN[c ős u&בbw)ӂZМFX''ǵ*3$l<]bUil[MN`x'[P`YFd(L-: #>.Qpu~g! b9ë cqLFUwfCGq=<Bq_vU%qG?7Kш\a %50ML -V1JY: _||$>jF +vD\2؊j[O%M,ƨc;Z[%})$m72 f(acQ!e;*7{ہ 0 +׏wBo,A>/["KPl"& `3f:l*ku ݙ2~n +p.~~>m^=y|T=bm3Nɩc)va-SҢ9'e1 8-v 8}O孙 KE|9R%6EݱͬEH[=NޗҘs9k [VnR3zUϝr)\n&!\ t)V`K[cw'yG00O goKR <t9Jj86l+&l :SE# u@|p'mz `fA` hC4F{|4D?-.@kَ뻺vZ >bޅ,Ǯ#CjC%+3M|l$cA|SiReU&,q 0h/WKO I^]۔sR`c|fwcKEso/Dc5md53yKiq33 P*~mglud@.^Mv3R:ͿؘIzKbdqP]g)Z3z^[޺4c,mu*Rǡ]ߟ6*E=7 +endstream +endobj +9377 0 obj +<< +/Type /Page +/Contents 9378 0 R +/Resources 9376 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9368 0 R +/Annots [ 9361 0 R 9362 0 R 9371 0 R 9372 0 R 9373 0 R 9374 0 R 9375 0 R ] +>> +endobj +9361 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.395 734.267 299.972 744.742] +/A << /S /GoTo /D (class_photon_player_ae67e332f9ad5a44834a8cf78db6a6f01) >> +>> +endobj +9362 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 722.312 185.572 732.786] +/A << /S /GoTo /D (class_photon_network_a894df24398c8cfe2d06e22ddc39576fa) >> +>> +endobj +9371 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [224.77 629.627 288.844 640.209] +/A << /S /GoTo /D (interface_i_pun_prefab_pool) >> +>> +endobj +9372 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.181 501.291 370.814 511.766] +/A << /S /GoTo /D (class_photon_network_ad86d4af661dd7365f6e172e106ca7cb2) >> +>> +endobj +9373 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.718 294.565 283.048 305.147] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +9374 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.069 172.408 298.267 182.99] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +9375 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 68.543 100.276 78.457] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9379 0 obj +<< +/D [9377 0 R /XYZ 69.866 801.979 null] +>> +endobj +9012 0 obj +<< +/D [9377 0 R /XYZ 498.769 725.195 null] +>> +endobj +2602 0 obj +<< +/D [9377 0 R /XYZ 70.866 703.505 null] +>> +endobj +9050 0 obj +<< +/D [9377 0 R /XYZ 493.147 632.618 null] +>> +endobj +2606 0 obj +<< +/D [9377 0 R /XYZ 70.866 610.82 null] +>> +endobj +9046 0 obj +<< +/D [9377 0 R /XYZ 410.784 504.175 null] +>> +endobj +2610 0 obj +<< +/D [9377 0 R /XYZ 70.866 482.485 null] +>> +endobj +6422 0 obj +<< +/D [9377 0 R /XYZ 514.665 423.552 null] +>> +endobj +2614 0 obj +<< +/D [9377 0 R /XYZ 70.866 401.754 null] +>> +endobj +6800 0 obj +<< +/D [9377 0 R /XYZ 70.866 358.667 null] +>> +endobj +2618 0 obj +<< +/D [9377 0 R /XYZ 70.866 338.864 null] +>> +endobj +6799 0 obj +<< +/D [9377 0 R /XYZ 486.153 256.021 null] +>> +endobj +2622 0 obj +<< +/D [9377 0 R /XYZ 70.866 234.224 null] +>> +endobj +8968 0 obj +<< +/D [9377 0 R /XYZ 324.878 151.489 null] +>> +endobj +2626 0 obj +<< +/D [9377 0 R /XYZ 70.866 129.691 null] +>> +endobj +8958 0 obj +<< +/D [9377 0 R /XYZ 421.282 70.866 null] +>> +endobj +9376 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9393 0 obj +<< +/Length 1742 +/Filter /FlateDecode +>> +stream +xXKs6W0ofԉSgk+''J$IP%!;] Ji+n~ uu>LO^Ɓ4|grbJ(r#ss&3/N܋M-kqQy&)z:'oI^Tp0,uYO?N'LH@qLx&_G?M;r'aøt&O(jAzY"FR  +P궲@PϪ˻) ݺ!WJĽ|yAOi9)0"ň)aa Bi׭djvD +bPٍFh&IGiͥ&O<_) Qc'/{]s3j>>uo^y/ˍ^ ͸ʤk#FF @tQ!q̋٫{b'}{}7hӨ~h,/k~~j +#D`_Qaߋe& tL@8vkҌ,jњL1T|I&$nVȩ,j^mS΂$6;=.2{&+q3Y 0hbEbyT7'z6 ̉3(v +*к`Skjk[,n3Yg?l7YI.^q-2k[j<)4(䳼X/mrÍƬ*m*:fRffx7l0ڃHiYmLѬ\~8Eʠ=_-ag`RǤ1)w (% ,!!B@LChbiL8EhB5 +=|0殐Orw4o ñCX?5:H"swi|xeEZ)IV[!+3P$whn| 9 c01UzW6z*!2a[D@r5Ot +}^3z D%Q]&/q(a픰Pa1[I! {aeUF/Y.g / (&^ئŊX; ڝU=AWQr< +IHHd{aKϦND0j6ˍNw-!tHTεH.[I'3*@7a VsH>bҕ6 kPX26 +S%S fb/=sWF8Sid9SP˜9N`/"'jG}C{|WqhC.̽cYʣbb7zI-8ަt~#t6m- ٦3QV{Ү6>GzHҔN jftaTVQk|%RF1­lQV^S,EWC{˝@.`S/7> +endobj +9381 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.328 601.723 232.088 610.413] +/A << /S /GoTo /D (class_photon_network_a86ab96957666ef72830a35662ef3d30b) >> +>> +endobj +9382 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 543.142 100.276 553.41] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9383 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [484.586 513.562 510.492 524.037] +/A << /S /GoTo /D (class_room) >> +>> +endobj +9384 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.422 275.409 193.407 285.991] +/A << /S /GoTo /D (class_photon_ping_manager_a0ece3c53b5e9db217825d5a3ba74a5f5) >> +>> +endobj +9385 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.893 275.409 227.29 285.991] +/A << /S /GoTo /D (class_region) >> +>> +endobj +9386 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 219.075 195.334 229.657] +/A << /S /GoTo /D (class_photon_ping_manager_a489f87655185eb46b0e15de0726c771c) >> +>> +endobj +9387 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 150.38 157.336 158.945] +/A << /S /GoTo /D (class_photon_ping_manager_ab5bc2677649632ad08c581dff24cec4a) >> +>> +endobj +9388 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 92.342 167.53 102.611] +/A << /S /GoTo /D (class_photon_ping_manager_aa37a48018a49beafdb317dbdfbff6d54) >> +>> +endobj +9389 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 80.055 216.871 90.431] +/A << /S /GoTo /D (class_photon_ping_manager_a0e897316745a60839e2ed3e80cefd2f2) >> +>> +endobj +9390 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 67.875 224.367 78.251] +/A << /S /GoTo /D (class_photon_ping_manager_ac0c24ceeeff3345bcf1d98bbe37b4014) >> +>> +endobj +9394 0 obj +<< +/D [9392 0 R /XYZ 69.866 801.979 null] +>> +endobj +2630 0 obj +<< +/D [9392 0 R /XYZ 70.866 771.024 null] +>> +endobj +9020 0 obj +<< +/D [9392 0 R /XYZ 70.866 734.408 null] +>> +endobj +2634 0 obj +<< +/D [9392 0 R /XYZ 70.866 719.893 null] +>> +endobj +6397 0 obj +<< +/D [9392 0 R /XYZ 236.669 602.822 null] +>> +endobj +2638 0 obj +<< +/D [9392 0 R /XYZ 70.866 588.205 null] +>> +endobj +9019 0 obj +<< +/D [9392 0 R /XYZ 247.679 439.046 null] +>> +endobj +2642 0 obj +<< +/D [9392 0 R /XYZ 70.866 422.644 null] +>> +endobj +9395 0 obj +<< +/D [9392 0 R /XYZ 70.866 368.406 null] +>> +endobj +2646 0 obj +<< +/D [9392 0 R /XYZ 70.866 352.72 null] +>> +endobj +9396 0 obj +<< +/D [9392 0 R /XYZ 70.866 314.55 null] +>> +endobj +9397 0 obj +<< +/D [9392 0 R /XYZ 70.866 258.217 null] +>> +endobj +9398 0 obj +<< +/D [9392 0 R /XYZ 70.866 187.71 null] +>> +endobj +9399 0 obj +<< +/D [9392 0 R /XYZ 70.866 131.376 null] +>> +endobj +9391 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9421 0 obj +<< +/Length 1851 +/Filter /FlateDecode +>> +stream +xڽYs8_ɞ!$K \ƒ۵$N/ZV޽GWףs%$Qzw$"O%D̻z7>"t #Fbf4O*sgd9EYYˈ(X3I̅7n>Qo +( H)n{z@lJoLKB0-v^53%[[e-BB'Mtk*ơg1 C TRRn1n4|mp4KB!DX"P>]uiz(벸ʊ˴H`J>쳮̈́TR8DĹhsdG09EGg ʉlg:pzR·yCtf3t>B?_};- +;m's+hJ3'ڈ 6,&vv{p1d[R\ ը +ܦB51tx2_U71oIt|oъ͐ VBa{%1v.="ܨk=.Xe0׽ Q7_Y-m"J~̠\ %T8? pI$)zp =c~O qc='&<-@2#= D]*@5hhCF͊G B?tNI܊^1m)Bw&ǣ h98$c7 "VA #ԍ [)M|JςB§YZjRsD79t*N$ w{հIQy럆G}q_ }Qduքb@+E(aQL_fyUzRUSueb֐!;B؂BVP0qP鷰WoFԍ`aYعo}-v`- ROS{ N[ "[=)C $bxnr:@ ~(Ў'vR- +K/)O1܏Fw]Ɔh(p[R[A'w?6tČ"1Ί~OV3fSȽ#5 a-֙:NYnÙN8 fŃHMH&C<#aI= @e|r=?@j E%uA$G#|e Gvp(E"cѦ>6Ot, TIђÚ밫-]E ]יؽHt;~eb=tg9I5.~ExJw.R~l,'(Q:nk)tN\PAo\XWWVhsKTgXW['6>ͿxTƙ/W$'*jŌ0]$QdW+dwF:Hx,mkL7ƞeP==ܶl?#u@ +endstream +endobj +9420 0 obj +<< +/Type /Page +/Contents 9421 0 R +/Resources 9419 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9368 0 R +/Annots [ 9406 0 R 9407 0 R 9408 0 R 9409 0 R 9410 0 R 9411 0 R 9412 0 R 9413 0 R 9414 0 R ] +>> +endobj +9406 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 735.178 125.174 745.554] +/A << /S /GoTo /D (class_region) >> +>> +endobj +9407 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.674 735.178 174.013 745.554] +/A << /S /GoTo /D (class_photon_ping_manager_a81be8a928664c188bfe172c493116f88) >> +>> +endobj +9408 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 722.77 137.637 732.685] +/A << /S /GoTo /D (class_photon_ping_manager_a5907c89dd76795d37d656c1b21fbe32a) >> +>> +endobj +9409 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 110.467 150.145 121.049] +/A << /S /GoTo /D (class_photon_player_ab4efd41ca7624963586a30e0d360da67) >> +>> +endobj +9410 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.069 110.467 202.965 121.049] +/A << /S /GoTo /D (class_photon_player_aea8c8ca461e7b2ac695b49024272a4c1) >> +>> +endobj +9411 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [275.723 110.467 300.14 121.049] +/A << /S /GoTo /D (class_photon_player_a74e5bb916dbfdb6960b8f2f11fa6aba9) >> +>> +endobj +9412 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.175 95.902 196.205 105.528] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9413 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.87 82.844 178.272 93.319] +/A << /S /GoTo /D (class_photon_player_a2c234cfef38c2013337182a008844398) >> +>> +endobj +9414 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.797 68.171 184.827 77.612] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9422 0 obj +<< +/D [9420 0 R /XYZ 69.866 801.979 null] +>> +endobj +9423 0 obj +<< +/D [9420 0 R /XYZ 70.866 775.009 null] +>> +endobj +2650 0 obj +<< +/D [9420 0 R /XYZ 70.866 708.603 null] +>> +endobj +9400 0 obj +<< +/D [9420 0 R /XYZ 70.866 683.352 null] +>> +endobj +2654 0 obj +<< +/D [9420 0 R /XYZ 70.866 683.352 null] +>> +endobj +9401 0 obj +<< +/D [9420 0 R /XYZ 444.245 641.204 null] +>> +endobj +2658 0 obj +<< +/D [9420 0 R /XYZ 70.866 624.153 null] +>> +endobj +2662 0 obj +<< +/D [9420 0 R /XYZ 70.866 451.979 null] +>> +endobj +9403 0 obj +<< +/D [9420 0 R /XYZ 70.866 427.188 null] +>> +endobj +2666 0 obj +<< +/D [9420 0 R /XYZ 70.866 427.188 null] +>> +endobj +9404 0 obj +<< +/D [9420 0 R /XYZ 70.866 400.669 null] +>> +endobj +2670 0 obj +<< +/D [9420 0 R /XYZ 70.866 400.669 null] +>> +endobj +9405 0 obj +<< +/D [9420 0 R /XYZ 70.866 376.011 null] +>> +endobj +2674 0 obj +<< +/D [9420 0 R /XYZ 70.866 376.011 null] +>> +endobj +9402 0 obj +<< +/D [9420 0 R /XYZ 70.866 351.352 null] +>> +endobj +2678 0 obj +<< +/D [9420 0 R /XYZ 70.866 351.352 null] +>> +endobj +2682 0 obj +<< +/D [9420 0 R /XYZ 70.866 326.694 null] +>> +endobj +9424 0 obj +<< +/D [9420 0 R /XYZ 70.866 299.811 null] +>> +endobj +2686 0 obj +<< +/D [9420 0 R /XYZ 70.866 299.811 null] +>> +endobj +9425 0 obj +<< +/D [9420 0 R /XYZ 70.866 275.385 null] +>> +endobj +2690 0 obj +<< +/D [9420 0 R /XYZ 70.866 275.385 null] +>> +endobj +6393 0 obj +<< +/D [9420 0 R /XYZ 70.866 250.726 null] +>> +endobj +2694 0 obj +<< +/D [9420 0 R /XYZ 70.866 250.726 null] +>> +endobj +9426 0 obj +<< +/D [9420 0 R /XYZ 70.866 150.298 null] +>> +endobj +9419 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F115 6866 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9477 0 obj +<< +/Length 1946 +/Filter /FlateDecode +>> +stream +xZYsH~ׯp *[8qTb{me_< 4X#p8ͿߞH3<@0wkތ\9guzr6jwLk82_ϓ<#h``Yga3L0Xx}@l,Eaibp kSxQ\I\hm"2>n /azKr9Q \ +0$6ndێ 60 pʤ0a^q~#Y=%Em k#b{Y\%ᴛ QgE'4y&,kSd?غCK`छEϠ YCu?*X*TDȸ$II8لqG[1qy=='Gv< jU /~y9SYyGq&8C4Ζç0˻O8l*>"Gֹׄp!L[7 k{uGj6Tc+үpM O]vg"ʐ7nڠ +s1;o,7gOJk%m @"JoI&nh?7l{Y7V"T> hG?H=p)Ճ7p^[6ZUQJ‡gT+z&2mG>|]:=ia)tF}i9:|EIj?/bplYLMD^QddEMLO""v"@XDE +qOL aV ą-QR.S.i!۩_$F LӔ_I!'qFAhS1ڈsr"jg+M[g(D!}2ݔ&eyՃϏ;_Fggy]{ZMLL|X C4k Q l V+bߖ ԏߣ8 ow(*6Ͷ\cẈu&qրM ZaZ;x\vjFB~+7m@2ǫ[ïx:uLdlYmvb3Ztv`_Hu9Acw}G4=jY^/(t{Fڗ O=+>_JwKPz-X56EPv@*J:g1K-Q`i> +endobj +9415 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [141.392 758.177 200.194 768.652] +/A << /S /GoTo /D (class_photon_player_af88693cf6b3b3fb1c8afdb5892fd525c) >> +>> +endobj +9416 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.149 745.78 205.706 756.254] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +9417 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.852 745.78 256.031 756.254] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +9418 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [335.07 745.78 377.25 756.254] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +9431 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 707.037 150.145 717.511] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9432 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.645 707.037 167.091 717.511] +/A << /S /GoTo /D (class_photon_player_a2aaf48a90dc7e618da31f47c4f1a1c03) >> +>> +endobj +9433 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 694.639 150.145 705.114] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9434 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.645 694.639 185.257 705.114] +/A << /S /GoTo /D (class_photon_player_a4c7bf5d0bf28c15b67929a8a5297b96e) >> +>> +endobj +9435 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 682.242 150.145 692.716] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9436 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.645 682.242 198.437 692.716] +/A << /S /GoTo /D (class_photon_player_a2cc6f30dc2691bc700b0a11bdaffcffd) >> +>> +endobj +9437 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.923 682.242 257.291 692.716] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9438 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 669.844 150.145 680.319] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9439 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.645 669.844 198.437 680.319] +/A << /S /GoTo /D (class_photon_player_adb4677870c9c5903527ce75dc0edba2b) >> +>> +endobj +9440 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 657.446 154.987 667.921] +/A << /S /GoTo /D (class_photon_player_aaef707bae718e28cd6a079e4514ce597) >> +>> +endobj +9441 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.472 657.446 213.841 667.921] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9442 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 645.049 154.987 655.523] +/A << /S /GoTo /D (class_photon_player_add5b31ca48483e67dbd5cb5d4d67a8d3) >> +>> +endobj +9443 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 632.651 143.617 643.126] +/A << /S /GoTo /D (class_photon_player_a7a74ea86be2a6adf1560ccea712d0900) >> +>> +endobj +9444 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [147.103 632.651 202.472 643.126] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9445 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 620.254 143.617 630.728] +/A << /S /GoTo /D (class_photon_player_ab2da3547ad9a8f18aa25b0facfed4005) >> +>> +endobj +9446 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 607.748 188.914 618.331] +/A << /S /GoTo /D (class_photon_player_a0f41b47ae95448d2e6f7a4394c54f359) >> +>> +endobj +9447 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.092 593.558 258.123 603.281] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9448 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 580.961 168.705 591.543] +/A << /S /GoTo /D (class_photon_player_af03034498d0b8bedf022decd6a570d70) >> +>> +endobj +9449 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [190.484 566.77 240.515 576.493] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9450 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 509.922 173.565 520.396] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9451 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.065 509.922 193.496 520.396] +/A << /S /GoTo /D (class_photon_player_a32462ded2866ee76839b59bd2cb3cd8c) >> +>> +endobj +9452 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.943 509.922 219.902 520.396] +/A << /S /GoTo /D (class_photon_player_ac363d86e7c6ea63573e0ecfda7f7eaa7) >> +>> +endobj +9453 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.093 438.775 181.491 449.25] +/A << /S /GoTo /D (class_photon_player_aaea56ca79d674b3e05c79f7b5c28fd7a) >> +>> +endobj +9454 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.191 411.88 163.469 422.462] +/A << /S /GoTo /D (class_photon_player_aaf54b32878a605d3e4d47f16ad106aa3) >> +>> +endobj +9455 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 341.194 117.696 351.109] +/A << /S /GoTo /D (class_photon_player_ac363d86e7c6ea63573e0ecfda7f7eaa7) >> +>> +endobj +9456 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 313.946 162.482 324.322] +/A << /S /GoTo /D (class_photon_player_ae67e332f9ad5a44834a8cf78db6a6f01) >> +>> +endobj +9457 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 287.158 147.724 297.534] +/A << /S /GoTo /D (class_photon_player_a53a95c12899049fa00d873d634eee5ba) >> +>> +endobj +9458 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [331.427 272.967 434.935 282.691] +/A << /S /GoTo /D (class_room_options_a76399e7b84d762bd0315bf89aa058caf) >> +>> +endobj +9459 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 260.831 173.502 270.953] +/A << /S /GoTo /D (class_photon_player_a9cb80ad93a84e86451e6d2becfacef2b) >> +>> +endobj +9460 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 234.043 153.857 243.959] +/A << /S /GoTo /D (class_photon_player_ab0bad4e5c05adfe0d524bc32430ecc20) >> +>> +endobj +9461 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 195.944 136.956 206.418] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +9462 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 195.944 211.554 206.418] +/A << /S /GoTo /D (class_photon_player_a027b1aeee40c53f98d29af4ca8e07f47) >> +>> +endobj +9463 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.923 181.742 440.802 191.369] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +9464 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 169.156 136.956 179.424] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +9465 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 169.156 190.627 179.424] +/A << /S /GoTo /D (class_photon_player_afaf4ec87dcd684752ffb92c465f9ce87) >> +>> +endobj +9466 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 142.26 143.743 152.636] +/A << /S /GoTo /D (class_photon_player_a74e5bb916dbfdb6960b8f2f11fa6aba9) >> +>> +endobj +9467 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 129.863 146.235 140.239] +/A << /S /GoTo /D (class_photon_player_a6b80a7016483f33ee19521a3bf39f20d) >> +>> +endobj +9468 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 117.926 144.111 127.841] +/A << /S /GoTo /D (class_photon_player_aea8c8ca461e7b2ac695b49024272a4c1) >> +>> +endobj +9469 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 105.529 173 115.65] +/A << /S /GoTo /D (class_photon_player_ade88a2875960de99e5ab98fc6db1650c) >> +>> +endobj +9470 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 93.131 153.355 103.046] +/A << /S /GoTo /D (class_photon_player_a191f6b25501f46fe0ca29cc74706ddb1) >> +>> +endobj +9471 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 80.38 136.956 90.648] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +9472 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 80.38 209.564 90.648] +/A << /S /GoTo /D (class_photon_player_ab7e0bc6125b15524e74b5ac9d7c337d7) >> +>> +endobj +9473 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 67.983 136.956 78.251] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +9474 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 67.983 189.632 78.251] +/A << /S /GoTo /D (class_photon_player_a82ba921802edc4960d075f1deacfb19d) >> +>> +endobj +9478 0 obj +<< +/D [9476 0 R /XYZ 69.866 801.979 null] +>> +endobj +9479 0 obj +<< +/D [9476 0 R /XYZ 70.866 549.174 null] +>> +endobj +9480 0 obj +<< +/D [9476 0 R /XYZ 70.866 478.027 null] +>> +endobj +9481 0 obj +<< +/D [9476 0 R /XYZ 70.866 380.093 null] +>> +endobj +9475 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F73 4864 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9507 0 obj +<< +/Length 1849 +/Filter /FlateDecode +>> +stream +xY[s8~` 3" u&6mOi&1RM~.`8ٝ}1~$c4f@2Bor(bIQDԻ /^$>4IUc DEVIBӎMFGHGV<@2/]`o +{Rxr1"δi;=1\/:F1Q[mP7z 2D1'Yl + +SP82[9: eSweiX$%0~w?Ww$Pg+>gy!,Z| +~?cLn3渡gI{w%<8i >2qI"]΂qr~YRٗIᮆԾպҾ8?_ۛy>7r,VcN^p;acbˀ`ȮȜb-2cHYۚsp[[_IYuhDeU]ߕN_& }) dv!f~L(Gיcŭ]$c,kAodVkHBlͭ٭D&:5Ypu!۵F]˥N$[nxm׻=XV/gV%\:AQsqp%kZSBxK PN2n_^dڒvT b1YBEECԔ/~# sdJ)bld0!5D~1"v}\fIn|{[?+zViKtt9KC3| e@$>\{BlYd".(x(l5Z<^赃\Yfn:0 r8%ҋC%wkrf.͵ev17]~c4Lٗ-T"IMT=HÕyfVjK]` +"qԭH$?m s +aG6\jE.k3YՍ}aSAf*ijA,K;v%v Li.]7n,afGICTwnp J'Wg6hBam ۟MmZ-蛍~1|x1w-[w跍^Om;an;BHnmHm:!uH ziF5:V; ja,G:I`͚A PK KA}XN`0>s 7r r*riƔڏ,Ze id^mfiuB|c@\)ю]oT/FSE~tγ)a4s>=,#,`&b7FQ/]'@@Q!33P,(؍ǐkNbcbhLV|@D͘#ʚ+kCw7 8и* 6;[.KW: ']ta lyRy2BXqwEwo6)y=U궻]O];)Ǭ^E7D7RR .e #DX-:)َmf97gɛQ/yY{2v@/=qO 9IkgYoG볻i_&"?4 z=I'X5_X$Lw؟SކֿC0@2T;!p}{"s'&+3=st' h(b H [RdMK<ˊLO,z$С\;z54*خyCh]UY}oɾe0(-íJ7v}؇ +endstream +endobj +9506 0 obj +<< +/Type /Page +/Contents 9507 0 R +/Resources 9505 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9368 0 R +/Annots [ 9503 0 R 9504 0 R ] +>> +endobj +9503 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.231 605.34 166.599 615.815] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9504 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [98.589 393.185 153.957 403.454] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9508 0 obj +<< +/D [9506 0 R /XYZ 69.866 801.979 null] +>> +endobj +2698 0 obj +<< +/D [9506 0 R /XYZ 70.866 771.024 null] +>> +endobj +2702 0 obj +<< +/D [9506 0 R /XYZ 70.866 677.672 null] +>> +endobj +9427 0 obj +<< +/D [9506 0 R /XYZ 70.866 650.681 null] +>> +endobj +2706 0 obj +<< +/D [9506 0 R /XYZ 70.866 650.681 null] +>> +endobj +2710 0 obj +<< +/D [9506 0 R /XYZ 70.866 510.452 null] +>> +endobj +9487 0 obj +<< +/D [9506 0 R /XYZ 70.866 488.46 null] +>> +endobj +2714 0 obj +<< +/D [9506 0 R /XYZ 70.866 488.46 null] +>> +endobj +9488 0 obj +<< +/D [9506 0 R /XYZ 70.866 461.772 null] +>> +endobj +2718 0 obj +<< +/D [9506 0 R /XYZ 70.866 461.772 null] +>> +endobj +9430 0 obj +<< +/D [9506 0 R /XYZ 70.866 436.804 null] +>> +endobj +2722 0 obj +<< +/D [9506 0 R /XYZ 70.866 436.804 null] +>> +endobj +9489 0 obj +<< +/D [9506 0 R /XYZ 70.866 394.182 null] +>> +endobj +2726 0 obj +<< +/D [9506 0 R /XYZ 70.866 377.398 null] +>> +endobj +9490 0 obj +<< +/D [9506 0 R /XYZ 70.866 352.462 null] +>> +endobj +2730 0 obj +<< +/D [9506 0 R /XYZ 70.866 352.462 null] +>> +endobj +9493 0 obj +<< +/D [9506 0 R /XYZ 70.866 327.495 null] +>> +endobj +2734 0 obj +<< +/D [9506 0 R /XYZ 70.866 327.495 null] +>> +endobj +9483 0 obj +<< +/D [9506 0 R /XYZ 70.866 187.38 null] +>> +endobj +2738 0 obj +<< +/D [9506 0 R /XYZ 70.866 170.596 null] +>> +endobj +9482 0 obj +<< +/D [9506 0 R /XYZ 70.866 145.767 null] +>> +endobj +2742 0 obj +<< +/D [9506 0 R /XYZ 70.866 145.767 null] +>> +endobj +9484 0 obj +<< +/D [9506 0 R /XYZ 70.866 120.8 null] +>> +endobj +2746 0 obj +<< +/D [9506 0 R /XYZ 70.866 120.8 null] +>> +endobj +9485 0 obj +<< +/D [9506 0 R /XYZ 70.866 95.833 null] +>> +endobj +2750 0 obj +<< +/D [9506 0 R /XYZ 70.866 95.833 null] +>> +endobj +9486 0 obj +<< +/D [9506 0 R /XYZ 70.866 70.866 null] +>> +endobj +2754 0 obj +<< +/D [9506 0 R /XYZ 70.866 70.866 null] +>> +endobj +9505 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F104 6525 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9518 0 obj +<< +/Length 2904 +/Filter /FlateDecode +>> +stream +xڭZK6ϯjD{0d׏qm99P$4b"_d)ht"=|r?/Yl'a͖Yq΢Dء;[泏Vl{|!zۺz[sX_c=<+ӦwrM3| !B_ʅv,Y3aWKQQng~ف{93: 3"tmgx ۳]KChIAdX(5~l/eZ]ܾQ["~wg*8n0`: mjal&";6객j-D؞Ëo'06ғ/\q·"=1eдg" OСOUƉ 266]KiR۱qGn-1<׆q|fOy'VCJεI˓pjͼCYt(64iU],ķCXp]; ؖGSg4pa4ၠ rE~Hn~)xh!94/CI?Y1ߪBcN8PHgSo%z`4JBfjZTX/PĚ744~ƛ},OpǢl1׊oZ `@O]Ѵkqv(htzhޛW t@^VT75K`QUx b(1.uY #|zq.KQpҭy @_ѩO镐|U8*e>E3 +(%g#mɊ4Z:,6RCl8 @`Ӭ,Ù^}}x\@D$ L:l:{UIm父S>ue*։֟md8Lu>?BNRGUcqxCʼRP>3G4Ua {U(9{T 6ޓ1CA~^Ve(P +q PjHʵj~a(ZJ' Z1ЩM (41`U#$nrX˱\5-P>"plNRHHM5 Y'T$k7hqcC bjJEc)&yI}BqݡUXfʖLO2$rcN,0ЦFG耗KŮtUΏVܙg(kV\ب(a9 +V3x>1В*֮ Cv, -@Es;T(u D27iAóhEX6@c^Q>vh587!0!9z/Bh2T ,DTg[leCT@r_}p4HWiJ>b$a c:{2 * '*{?!0;SN]i`4}n"~Poڝ Cv;|7w}Hr/ף}R[ؗ('7* LeAUI;d۱xdW']M"+c=lz9hveb -\~) (6ד~ƮtqWPsr&l]bK\ΕWARv쫝N'WP+xIxތ` .\mDž|<',4O M,lx ,"}y};T₺|?NQFhqǑ(ͤKz.2=8=p'@/.A4EI읶`rx'x#9n-J"*{IHMp؏uFx00(qXPmA_o].k$&W8Ѯ2$; +8-.L@|Oe_"C@LB8;g'3 <K3rܫ,bDb<*d^.4q4u#U$7V<^z@CChhylV5H4.F,>VX'9\b#񫻀k_jU5 sd%}BO\ \Hݦ};;3GTqۉ]]\ԪtY>nþ{>i3uS;z٠ޡ|[s#l],8j c6@]/&rTW_No obj69 +n{nz5u:3hĀEB0:OTWiۀ΢ +(HB O.?=v%66:;lӞ7̥&Be,$F.6BC RVr߷NZ]yXFuw`ћ޸ɍ*7!W+OV{*j> +endobj +9509 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.192 637.213 114.098 647.688] +/A << /S /GoTo /D (class_room) >> +>> +endobj +9510 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.145 637.213 203.513 647.688] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9511 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [476.438 548.367 506.844 558.949] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9512 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.718 388.514 215.124 399.096] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9513 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.342 353.265 206.512 363.847] +/A << /S /GoTo /D (class_photon_network_a4a1cd1887cb41a0592322527a7304ed7) >> +>> +endobj +9514 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.028 188.248 235.397 198.83] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9515 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.464 129.125 215.832 139.707] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9519 0 obj +<< +/D [9517 0 R /XYZ 69.866 801.979 null] +>> +endobj +6823 0 obj +<< +/D [9517 0 R /XYZ 70.866 751.904 null] +>> +endobj +2758 0 obj +<< +/D [9517 0 R /XYZ 70.866 751.904 null] +>> +endobj +9491 0 obj +<< +/D [9517 0 R /XYZ 70.866 250.362 null] +>> +endobj +2762 0 obj +<< +/D [9517 0 R /XYZ 70.866 233.788 null] +>> +endobj +9492 0 obj +<< +/D [9517 0 R /XYZ 70.866 189.244 null] +>> +endobj +2766 0 obj +<< +/D [9517 0 R /XYZ 70.866 172.67 null] +>> +endobj +2770 0 obj +<< +/D [9517 0 R /XYZ 70.866 95.923 null] +>> +endobj +9494 0 obj +<< +/D [9517 0 R /XYZ 70.866 70.866 null] +>> +endobj +2774 0 obj +<< +/D [9517 0 R /XYZ 70.866 70.866 null] +>> +endobj +9516 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9526 0 obj +<< +/Length 1531 +/Filter /FlateDecode +>> +stream +xX[o6~R YRw؀.iҵ.i[L4~7ْ`Ox=߹|\j,rTiM^Q^V(%d]$΃/w^g,gm`f.Rp5wf26"0{3Qt5"̕'JbuD}5р v(QH0&cft&x߃aQևh@|Vq潘R;ӪaSޫQ% a"5b\hGpfpPt_iU8\֢ߨIvFK;*A(Gq_%rZ3Q)bO 6+I Ϳl*$H>\Ig[Vu 6R8l|j6Wjd5S;"T76u+J;waN֔$C)8ة'&;2uweu@OٜڡI@`:]Z"\/<ؕ3v-䍤\T2q FYoB[vO?jq&/m솹cmss'l#(BG0f)R^}8vy)Yc +. +!8B8~ &^k=aFsWmԀi0D{ 5? +UqZ]&L?N{ӣm?y;4s)t p0 *PTktt)- 9LQ^sϧ֖zn(`H=y;Y, ?)L!e?0TJ?R^#(vzĤ͋>(Dmd89 *- +endstream +endobj +9525 0 obj +<< +/Type /Page +/Contents 9526 0 R +/Resources 9524 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9520 0 R +/Annots [ 9521 0 R 9522 0 R 9523 0 R ] +>> +endobj +9521 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.396 467.308 438.373 477.782] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +9522 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 420.104 157.427 430.578] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +9523 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.334 138.599 226.475 147.37] +/A << /S /GoTo /D (class_photon_network_aa7e51b5e5f9f8b89f057096f47d11c5b) >> +>> +endobj +9527 0 obj +<< +/D [9525 0 R /XYZ 69.866 801.979 null] +>> +endobj +9370 0 obj +<< +/D [9525 0 R /XYZ 70.866 734.178 null] +>> +endobj +2778 0 obj +<< +/D [9525 0 R /XYZ 70.866 717.251 null] +>> +endobj +2782 0 obj +<< +/D [9525 0 R /XYZ 70.866 639.972 null] +>> +endobj +9498 0 obj +<< +/D [9525 0 R /XYZ 70.866 612.751 null] +>> +endobj +2786 0 obj +<< +/D [9525 0 R /XYZ 70.866 612.751 null] +>> +endobj +9502 0 obj +<< +/D [9525 0 R /XYZ 237.332 554.734 null] +>> +endobj +2790 0 obj +<< +/D [9525 0 R /XYZ 70.866 536.48 null] +>> +endobj +9497 0 obj +<< +/D [9525 0 R /XYZ 70.866 510.955 null] +>> +endobj +2794 0 obj +<< +/D [9525 0 R /XYZ 70.866 510.955 null] +>> +endobj +9369 0 obj +<< +/D [9525 0 R /XYZ 158.923 422.987 null] +>> +endobj +2798 0 obj +<< +/D [9525 0 R /XYZ 70.866 404.173 null] +>> +endobj +9248 0 obj +<< +/D [9525 0 R /XYZ 70.866 379.209 null] +>> +endobj +2802 0 obj +<< +/D [9525 0 R /XYZ 70.866 379.209 null] +>> +endobj +6851 0 obj +<< +/D [9525 0 R /XYZ 70.866 336.557 null] +>> +endobj +2806 0 obj +<< +/D [9525 0 R /XYZ 70.866 319.63 null] +>> +endobj +9501 0 obj +<< +/D [9525 0 R /XYZ 70.866 265.055 null] +>> +endobj +2810 0 obj +<< +/D [9525 0 R /XYZ 70.866 248.128 null] +>> +endobj +9428 0 obj +<< +/D [9525 0 R /XYZ 70.866 223.164 null] +>> +endobj +2814 0 obj +<< +/D [9525 0 R /XYZ 70.866 223.164 null] +>> +endobj +9496 0 obj +<< +/D [9525 0 R /XYZ 70.866 198.168 null] +>> +endobj +2818 0 obj +<< +/D [9525 0 R /XYZ 70.866 198.168 null] +>> +endobj +9500 0 obj +<< +/D [9525 0 R /XYZ 231.056 139.779 null] +>> +endobj +2822 0 obj +<< +/D [9525 0 R /XYZ 70.866 122.669 null] +>> +endobj +9429 0 obj +<< +/D [9525 0 R /XYZ 70.866 96.001 null] +>> +endobj +2826 0 obj +<< +/D [9525 0 R /XYZ 70.866 96.001 null] +>> +endobj +9380 0 obj +<< +/D [9525 0 R /XYZ 70.866 70.866 null] +>> +endobj +2830 0 obj +<< +/D [9525 0 R /XYZ 70.866 70.866 null] +>> +endobj +9524 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9549 0 obj +<< +/Length 2219 +/Filter /FlateDecode +>> +stream +xYKs8WTU{0SY٪-'%n$@+RFOQ3OL!<ݞ=Y(g$fq*Y$fK2NO+S}].szJΪa.vJ +8۟q{3Bh& Kd07gw_Ab?MfKzvs3>P'ԉ=}2! 9zW%( ?3<A2ǙoFoh!,%e9-UȔ%IP8(`#1ޞi%@dKyLPVɽoe0W49h(A{ YִGݨ٩ 9>l bC>Z}MvGe-9R֥r`µve*sjq KS;#ԶA'-,W+_͞lV4S4Q~Rk4v7$>ʖBSNV5[a(8~'e |`G +`;GC>|GX*k >RSF_*e!tĹ-癦Cj2.Yr=HM&BBO:4p ;1Hf)y:Ft ZЄٲD%=COc6Ix4$0l]Q`P--ʂ,(E( (CBY0P8Ƣ,$$%ye+0S(Kr`CYeCY0*)ǞFYkDZQʴXqtnƛ=3Ww殳hРʥnf߳|=<-7ډ{J:VWJ`#NLySoKmFeV|[j|6dB/*t͜.90ՓBi^ji{<VeKV=8ItXF;ܯ3'5~$E!NB}\jUMC5e`cl5P15}roǎ۩\{` l33:ԮK?pQ 1ծ-f\HSˏ{'LݓFB 3u]> +endobj +9528 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [100.776 715.646 214.479 726.12] +/A << /S /GoTo /D (class_photon_network_abb168e543c15731ec4de869d3a1ad8f4) >> +>> +endobj +9529 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [317.068 656.521 431.855 667.103] +/A << /S /GoTo /D (class_room_options_a76399e7b84d762bd0315bf89aa058caf) >> +>> +endobj +9530 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.727 638.897 223.613 649.479] +/A << /S /GoTo /D (class_photon_network_a5c08f89cdf5766c1b69d5b7b8786b734) >> +>> +endobj +9531 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [451.84 638.897 525.406 649.479] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +9551 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 627.049 122.683 637.524] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +9532 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.157 497.53 347.454 508.005] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +9533 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.218 485.467 398.198 496.05] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view) >> +>> +endobj +9534 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.493 456.556 252.639 466.47] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +9535 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 396.034 209.483 406.616] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view_a980ea46d1725668b1ae12f958840dc61) >> +>> +endobj +9536 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.969 396.034 272.273 406.616] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9537 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.159 396.034 386.628 406.616] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9538 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 380.857 525.406 390.483] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9553 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 371.504 128.268 379.339] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9539 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.157 272.834 347.454 283.309] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +9540 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.218 260.772 398.198 271.354] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view) >> +>> +endobj +9541 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 163.007 525.406 173.482] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9554 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 152.836 91.113 161.32] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9542 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [401.942 133.32 451.598 143.902] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9543 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 123.176 220.405 131.947] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +9544 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 109.41 174.068 119.992] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +9545 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.249 79.83 356.906 90.412] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9550 0 obj +<< +/D [9548 0 R /XYZ 69.866 801.979 null] +>> +endobj +9495 0 obj +<< +/D [9548 0 R /XYZ 385.095 718.529 null] +>> +endobj +2834 0 obj +<< +/D [9548 0 R /XYZ 70.866 700.157 null] +>> +endobj +9499 0 obj +<< +/D [9548 0 R /XYZ 127.165 629.933 null] +>> +endobj +2838 0 obj +<< +/D [9548 0 R /XYZ 70.866 611.56 null] +>> +endobj +8252 0 obj +<< +/D [9548 0 R /XYZ 70.866 586.545 null] +>> +endobj +2842 0 obj +<< +/D [9548 0 R /XYZ 70.866 586.545 null] +>> +endobj +9552 0 obj +<< +/D [9548 0 R /XYZ 70.866 436.725 null] +>> +endobj +2846 0 obj +<< +/D [9548 0 R /XYZ 70.866 356.015 null] +>> +endobj +2850 0 obj +<< +/D [9548 0 R /XYZ 70.866 233.435 null] +>> +endobj +6871 0 obj +<< +/D [9548 0 R /XYZ 70.866 208.288 null] +>> +endobj +2854 0 obj +<< +/D [9548 0 R /XYZ 70.866 208.288 null] +>> +endobj +9547 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9575 0 obj +<< +/Length 2344 +/Filter /FlateDecode +>> +stream +xZ_۸ KXK7sͥfMv:{%[Yt-|/@z>tI4?śwq`%NEusgIȊSω\린n(?h$uU4˕'[w;YY[yYs^f8Xnga@&Qs 0)* 1OgQ'l\UjYU WwluyZUE!0̪_8V(ՉZ6dAV*[28ԆUܫ=H;l؇_/oLJ*/i#u8 =J8"'iD )LYhU;S^sFvԺ #_0jrvut ;2n.PļR㯮ᆺo-98wݪ閏{xۃv#2HM!A`hXV֬QYebT!곆W%`:3nnb-MWOdE,f(9ewv6CLOߖ(Q.ueuA m |@Jя4vD1فB8ȝjM65C_5̹,)(LtSk!2Q}O x :}A@ju"2:IEY_яϷf* n_d,<;ȻZ +ak sMI8d]D_ˢ9W'KdQsܖ~n3tT/TǟTdqjlڽn$hS`&' +4~Vn֪)(D!&؃T\Rh](9k2u~,}+2Yv\T~۪-w/ɍԾʠ[{N[{}ZǕ>Jp`?p='u+?h[H b"qP|)7eVu&|q5"- f'Ht&1dVV{nI?V Tۃ9˜Ezr(ߌ>6 +H ]YM[ĈAX؇UaKrMW,LС3yT`7َc{5925@6(eY;.siC$;LݑnD(ҵc1p0P"H:ʺ HTEs@"и}~ݧ;LJ:VuUa4zt]'7=ܡ,VՃCL&4ҵkz(k 5aWP wMNֿu!hbw$S*k@%21T\o=}QbvTe3c !fvϨfmyjFrЖ詐Xu?[_҈:8|KCN[G[ +w]Sgydq#'NbH|p2a |1| ̩+r<GwjJtm!EDsԇh +O?,~Ӌh)C'lJ}Rͨ! 0"TF05Id@$^ Q]eh2ୌȃD#s6c^mYN V~ꈄ2-H(qǽmVBl'^ P{j=ʵzq~pcg{d&!).}vH@*!t0hFkOn8`|p4́?m5p8MIbGr9"nܧ{B;r}`aԡyaA4 VF#,d$e %'aa 'aFX8u.GZK >O凌9|5=TL^!{#.77W 6м WuT=|8xH'1vꗬ3sNG}'h,je=ސ=|{~<_k+'0 +}y.=, O kZwxgD.DN\=An*#V':y <K70Ht]!«O㹵_N߽ !b /+Go[wש55ka^(Ш(q7Ӊ"e-P2veX:J/pcjwn| LÁϮg)> +endobj +9546 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.206 758.07 473.863 768.652] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9555 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.189 728.49 258.493 739.072] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9556 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 627.904 184.846 638.379] +/A << /S /GoTo /D (group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) >> +>> +endobj +9557 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.157 523.144 347.454 533.618] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +9558 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.664 511.081 393.184 521.663] +/A << /S /GoTo /D (class_photon_rigidbody_view) >> +>> +endobj +9559 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.493 482.169 252.639 492.084] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +9560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 423.033 209.483 433.615] +/A << /S /GoTo /D (class_photon_rigidbody_view_a4a7145633e24084001a4cd0ed9f8a15c) >> +>> +endobj +9561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.969 423.033 272.273 433.615] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.159 423.033 386.628 433.615] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 408.219 525.406 417.845] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9578 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 398.866 128.268 406.701] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.157 301.22 347.454 311.694] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +9565 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.664 289.157 393.184 299.739] +/A << /S /GoTo /D (class_photon_rigidbody_view) >> +>> +endobj +9566 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 192.587 525.406 203.061] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9579 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 182.416 91.113 190.9] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9567 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [401.942 162.899 451.598 173.482] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9568 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 152.756 220.405 161.527] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +9569 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 138.989 174.068 149.571] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +9570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.249 109.41 356.906 119.992] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9571 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.206 79.83 473.863 90.412] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9576 0 obj +<< +/D [9574 0 R /XYZ 69.866 801.979 null] +>> +endobj +8253 0 obj +<< +/D [9574 0 R /XYZ 70.866 628.9 null] +>> +endobj +2858 0 obj +<< +/D [9574 0 R /XYZ 70.866 612.096 null] +>> +endobj +9577 0 obj +<< +/D [9574 0 R /XYZ 70.866 463.191 null] +>> +endobj +2862 0 obj +<< +/D [9574 0 R /XYZ 70.866 384.23 null] +>> +endobj +2866 0 obj +<< +/D [9574 0 R /XYZ 70.866 262.673 null] +>> +endobj +6872 0 obj +<< +/D [9574 0 R /XYZ 70.866 237.697 null] +>> +endobj +2870 0 obj +<< +/D [9574 0 R /XYZ 70.866 237.697 null] +>> +endobj +9573 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9597 0 obj +<< +/Length 1875 +/Filter /FlateDecode +>> +stream +xYKs6Wp|)5ɡ[38M@]bHʲr{o}`;[wVǿd{EFjdΪv޹e0WNt(?({ޔc5,%=aYFnW?wK{y;Uxwj9ȝ:qyIvYGenǥ \7 >ŎsDyM(x'x}p@I(7 l< Mi`k% '~y.mOl]MtcQ5T`^UuL](AD)ixE Lx)|rbğͣ-88S| +*W%N#'r~iΑfxXDC6zvBLP?.пaIZuՀ4(nRG5_ʳxKCp%#9@rd +)f 8FpOK)aKlhȉf|u]JħQW8T= Ms#wժf)zH9*Z쎁Uy%^V;J. mFFucN45h}(,̽dD_6oL]hCO lTe( +MBr'ܓ0%l/a|5@vf +]Fd?gPөb0bJmXOnHN{x5-0nȁCZB9 B|""ΦFտj1Ԅj2iAXxAJN+DB{JBYyR~GFhs)!V0~޺pr Fv +(ot#~Rb;cBkǺgD(~TF:z kF+U+i׊4q O`2_%t͈P%sk1uKcPk +w;[$cD .%:_U,텤93+C ŔADvs{N=^Ipy76v̑Kkc\T pNn +m;Wv\q:FY4egt܋R/{|3W9Iijw6 K,'d +UUڒ\C? +1ɋ&.xFDI#Ӡ3«bb;ۗA5UTQgf %j +endstream +endobj +9596 0 obj +<< +/Type /Page +/Contents 9597 0 R +/Resources 9595 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9520 0 R +/Annots [ 9572 0 R 9580 0 R 9581 0 R 9582 0 R 9583 0 R 9584 0 R 9585 0 R 9586 0 R 9587 0 R 9588 0 R 9589 0 R 9590 0 R 9591 0 R 9592 0 R 9593 0 R 9594 0 R ] +>> +endobj +9572 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.189 758.07 258.493 768.652] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9580 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 657.484 184.846 667.958] +/A << /S /GoTo /D (group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) >> +>> +endobj +9581 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.283 584.232 362.69 594.815] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9582 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 502.494 134.777 512.969] +/A << /S /GoTo /D (class_photon_stats_gui_ae7fb408f7fb6e9525337271d2363ae33) >> +>> +endobj +9583 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 487.872 144.389 498.346] +/A << /S /GoTo /D (class_photon_stats_gui_a222bbb9f4b1c640489101a5f3bcada8a) >> +>> +endobj +9584 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 456.634 143.384 467.109] +/A << /S /GoTo /D (class_photon_stats_gui_a8aa98b7db81d540b6e9c42f37d3a927b) >> +>> +endobj +9585 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 442.012 191.408 452.487] +/A << /S /GoTo /D (class_photon_stats_gui_a58101a043bbe7de9d53f14ac111646b2) >> +>> +endobj +9586 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 379.494 178.855 388.265] +/A << /S /GoTo /D (class_photon_stats_gui_aac6e6189d7a7723ef4fbcbb5c7a6b6e8) >> +>> +endobj +9587 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 348.257 147.105 357.028] +/A << /S /GoTo /D (class_photon_stats_gui_a7e1cb11640167171f7b160089b71e5d7) >> +>> +endobj +9588 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.249 330.03 311.632 339.753] +/A << /S /GoTo /D (class_photon_stats_gui_a222bbb9f4b1c640489101a5f3bcada8a) >> +>> +endobj +9589 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 317.02 187.292 325.791] +/A << /S /GoTo /D (class_photon_stats_gui_a05204c8969fd4fc0546f7926e5e5da8e) >> +>> +endobj +9590 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 285.782 170.435 294.553] +/A << /S /GoTo /D (class_photon_stats_gui_ac8015189e49ffdb616367c7d9f9e91db) >> +>> +endobj +9591 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 254.545 157.398 263.316] +/A << /S /GoTo /D (class_photon_stats_gui_ac7c5c8556de5ac92dd227339b2e3c36b) >> +>> +endobj +9592 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [115.704 221.604 155.067 232.079] +/A << /S /GoTo /D (class_photon_stats_gui_af9e7598de2be45c63c6368727bb60ae5) >> +>> +endobj +9593 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 192.07 147.957 200.635] +/A << /S /GoTo /D (class_photon_stats_gui_a9e96e77b74435c5ff2eeccf2d409685f) >> +>> +endobj +9594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.283 109.41 362.69 119.992] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +9598 0 obj +<< +/D [9596 0 R /XYZ 69.866 801.979 null] +>> +endobj +6455 0 obj +<< +/D [9596 0 R /XYZ 70.866 658.48 null] +>> +endobj +2874 0 obj +<< +/D [9596 0 R /XYZ 70.866 638.135 null] +>> +endobj +9599 0 obj +<< +/D [9596 0 R /XYZ 70.866 544.757 null] +>> +endobj +9600 0 obj +<< +/D [9596 0 R /XYZ 70.866 420.054 null] +>> +endobj +2878 0 obj +<< +/D [9596 0 R /XYZ 70.866 155.764 null] +>> +endobj +9595 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9618 0 obj +<< +/Length 1134 +/Filter /FlateDecode +>> +stream +xڭWIs6Wpr" ƵǙIrrprDH„bHkm GNFWI Л̽4$ Fޤ|Dpm c$2o`Կfr VqwdcV4)j z\{Af;W^DB@"FG%Czdq At5S3T֪Un g#bQaYIu-1+_!8CXI=) -G/U (1|B<ӳ_/!݇g\(W(K@!pksK}08NcqH@ӝFxXe*%m&̓Um͒o"!㏭0ZMm',Ţ ++Tڎ^It EdO?.{UU| +9%zwK8bsrQkՎ:#0BMj] t(C1C4/R?Mė.}΀`A핹0'~^Jy1Cm7#%>nˁVE*񹳤,%|[w%]5oRmh"R ^IVn:Ul5:CW>I sY,rګjU1$I;&C@djtduZ)A 'ӦZd="g˒.UL#RTnW|Y8aRA◢%>Ɛ4辪RZ#iJV +CK[oDvX}>N-MLNv{3ĶI+ejXO[~tUkVZg;6^FLl& DfRˊ#ʘ8e5峣ّ21Y2y>76sƕCnO=sxSWHY^3YV}_Eɶ\O|6: Qݩ0H§&5+=?)I$B sϬRu"zɿ׋NH$;A,oXdŰ;NLg Qb$^5D M0IS6۾w}D?ҞBEOsrX +endstream +endobj +9617 0 obj +<< +/Type /Page +/Contents 9618 0 R +/Resources 9616 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9520 0 R +/Annots [ 9612 0 R 9613 0 R 9614 0 R ] +>> +endobj +9612 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [257.98 410.131 294.851 420.713] +/A << /S /GoTo /D (class_photon_stats_gui_a222bbb9f4b1c640489101a5f3bcada8a) >> +>> +endobj +9613 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.553 79.83 274.519 90.412] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +9614 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [423.047 79.83 472.704 90.412] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9619 0 obj +<< +/D [9617 0 R /XYZ 69.866 801.979 null] +>> +endobj +2882 0 obj +<< +/D [9617 0 R /XYZ 70.866 771.024 null] +>> +endobj +9603 0 obj +<< +/D [9617 0 R /XYZ 70.866 752.833 null] +>> +endobj +2886 0 obj +<< +/D [9617 0 R /XYZ 70.866 752.833 null] +>> +endobj +9601 0 obj +<< +/D [9617 0 R /XYZ 70.866 725.394 null] +>> +endobj +2890 0 obj +<< +/D [9617 0 R /XYZ 70.866 725.394 null] +>> +endobj +9604 0 obj +<< +/D [9617 0 R /XYZ 70.866 699.676 null] +>> +endobj +2894 0 obj +<< +/D [9617 0 R /XYZ 70.866 699.676 null] +>> +endobj +9602 0 obj +<< +/D [9617 0 R /XYZ 70.866 673.958 null] +>> +endobj +2898 0 obj +<< +/D [9617 0 R /XYZ 70.866 673.958 null] +>> +endobj +2902 0 obj +<< +/D [9617 0 R /XYZ 70.866 609.939 null] +>> +endobj +9609 0 obj +<< +/D [9617 0 R /XYZ 70.866 584.089 null] +>> +endobj +2906 0 obj +<< +/D [9617 0 R /XYZ 70.866 584.089 null] +>> +endobj +9607 0 obj +<< +/D [9617 0 R /XYZ 70.866 540.698 null] +>> +endobj +2910 0 obj +<< +/D [9617 0 R /XYZ 70.866 520.16 null] +>> +endobj +9606 0 obj +<< +/D [9617 0 R /XYZ 70.866 476.818 null] +>> +endobj +2914 0 obj +<< +/D [9617 0 R /XYZ 70.866 456.28 null] +>> +endobj +9610 0 obj +<< +/D [9617 0 R /XYZ 70.866 411.127 null] +>> +endobj +2918 0 obj +<< +/D [9617 0 R /XYZ 70.866 390.589 null] +>> +endobj +9605 0 obj +<< +/D [9617 0 R /XYZ 70.866 347.247 null] +>> +endobj +2922 0 obj +<< +/D [9617 0 R /XYZ 70.866 326.709 null] +>> +endobj +9608 0 obj +<< +/D [9617 0 R /XYZ 70.866 283.475 null] +>> +endobj +2926 0 obj +<< +/D [9617 0 R /XYZ 70.866 262.937 null] +>> +endobj +9611 0 obj +<< +/D [9617 0 R /XYZ 70.866 221.299 null] +>> +endobj +2930 0 obj +<< +/D [9617 0 R /XYZ 70.866 200.761 null] +>> +endobj +6334 0 obj +<< +/D [9617 0 R /XYZ 70.866 155.715 null] +>> +endobj +2934 0 obj +<< +/D [9617 0 R /XYZ 70.866 134.005 null] +>> +endobj +9616 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9649 0 obj +<< +/Length 1529 +/Filter /FlateDecode +>> +stream +xZKs6Wp|)9!gfzȣ$3MGIl(%EzŎ3EX~b. ;ǣgq$("LNQEN("d朹 7=WEͲy^fMl첚U9Ɣ$8qIH#sbts$ Js̠Mgz. ( (K1CYkuFqF}3"㤝z[9'l1e.l\j,%M{I}|_Pih}a,>=9g0G@D3#.祆u *-HW_,g+/E&2BvBGi,m}ԁ!Ƙ砛`L?Y53_Pa{m\;X(C\hNW +;70@0/fm RLlw-o~D6 or,ga?bwrh c\?g.knE\M'Z^H}5߷1nBc_~ ZKALFVݠ!Nϋ#l/j- _KF0P7\p2낞tO6F\/VB@ڋ#Ӻs&!'jMPo)~>^` `s;hh춴]0l=rm 9)~*J#7NCh:/ aƮe;V:~V2zp(3B~iL ܰ)+1eVyPKR`WxyH|ƘLtǓ=b[9)חɨm¾!G/rrk(y1nEswmH kA~=?) jeC^s40@כ .bom&1fYٰmu]p^ܞUmfc+E9VYBCz8&^#˗<1u'$}@T+C?T0&ۗߦ^puew}!˪ul\i[ +endstream +endobj +9648 0 obj +<< +/Type /Page +/Contents 9649 0 R +/Resources 9647 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9653 0 R +/Annots [ 9615 0 R 9620 0 R 9621 0 R 9622 0 R 9623 0 R 9624 0 R 9625 0 R 9626 0 R 9627 0 R 9628 0 R 9629 0 R 9630 0 R 9631 0 R 9632 0 R 9633 0 R 9634 0 R 9635 0 R 9636 0 R 9637 0 R 9638 0 R 9639 0 R 9640 0 R 9641 0 R ] +>> +endobj +9615 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 734.849 154.081 745.432] +/A << /S /GoTo /D (class_photon_stream_a87b96b24a15203e84e5bb3f3996609d0) >> +>> +endobj +9620 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 706.619 179.267 717.201] +/A << /S /GoTo /D (class_photon_stream_aa2dcbaa4e900d5d5c5327ac840c36c35) >> +>> +endobj +9621 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.191 693.608 173.511 704.082] +/A << /S /GoTo /D (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) >> +>> +endobj +9622 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.191 665.378 161.335 675.852] +/A << /S /GoTo /D (class_photon_stream_a1e34f079e1ab0c8a86cb864bc6aa5443) >> +>> +endobj +9623 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 637.148 154.583 647.622] +/A << /S /GoTo /D (class_photon_stream_a8b1a1e59820ff95d2d2dd4c376841322) >> +>> +endobj +9624 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.283 608.917 159.725 619.392] +/A << /S /GoTo /D (class_photon_stream_a546034701bbab3d113219f81c0ae8080) >> +>> +endobj +9625 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 580.687 149.858 591.162] +/A << /S /GoTo /D (class_photon_stream_a1bfb478104459081a25e0cf8208de9f4) >> +>> +endobj +9626 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 552.457 149.858 562.932] +/A << /S /GoTo /D (class_photon_stream_ab3cf6c969d02214b001ddecc8dcd34ca) >> +>> +endobj +9627 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 524.119 149.858 534.701] +/A << /S /GoTo /D (class_photon_stream_a372ce5e9fc5a92e0a5581ed2cb357724) >> +>> +endobj +9628 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 495.997 149.858 506.471] +/A << /S /GoTo /D (class_photon_stream_a64fe29df11450f421046871947a54d5d) >> +>> +endobj +9629 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 467.767 149.858 478.241] +/A << /S /GoTo /D (class_photon_stream_a23ad49d3b2a2395d29f6035595c33a60) >> +>> +endobj +9630 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 439.536 149.858 450.011] +/A << /S /GoTo /D (class_photon_stream_a0f65bddf114f21922e307a67e9a959a1) >> +>> +endobj +9631 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 411.306 149.858 421.781] +/A << /S /GoTo /D (class_photon_stream_af7d4afc02408fb47b41e28b8f920be35) >> +>> +endobj +9632 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [166.3 411.306 221.668 421.781] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9633 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 383.076 149.858 393.551] +/A << /S /GoTo /D (class_photon_stream_a0a74157c27454d59c9ebcd2f12480611) >> +>> +endobj +9634 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 354.846 149.858 365.32] +/A << /S /GoTo /D (class_photon_stream_a03bcbb2ade3cc109364416476083da0d) >> +>> +endobj +9635 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 326.616 149.858 337.09] +/A << /S /GoTo /D (class_photon_stream_a8ba68f5108d3ab8bbc69d7b88aa661da) >> +>> +endobj +9636 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 252.925 150.71 263.301] +/A << /S /GoTo /D (class_photon_stream_a99e20ecd7737381042751acf8ec8fc4b) >> +>> +endobj +9637 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 224.695 156.072 235.071] +/A << /S /GoTo /D (class_photon_stream_a8192fc59b4ffe6ecc3ac70a793b36dc5) >> +>> +endobj +9638 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 196.925 132.652 207.047] +/A << /S /GoTo /D (class_photon_stream_a67f264145ca1f4d1cb8518cbbb607797) >> +>> +endobj +9639 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.553 121.365 274.519 131.947] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +9640 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [423.047 121.365 472.704 131.947] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9641 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.674 91.785 390.331 102.367] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9650 0 obj +<< +/D [9648 0 R /XYZ 69.866 801.979 null] +>> +endobj +9651 0 obj +<< +/D [9648 0 R /XYZ 70.866 775.009 null] +>> +endobj +9652 0 obj +<< +/D [9648 0 R /XYZ 70.866 293.084 null] +>> +endobj +2938 0 obj +<< +/D [9648 0 R /XYZ 70.866 168.545 null] +>> +endobj +9647 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9674 0 obj +<< +/Length 1370 +/Filter /FlateDecode +>> +stream +xXMs6Wprhə@$rKƓ$@Ř".XRmUf!-{oe, r4AQA)JI$x)AyÃfES}4Yr*T-[m;m12#`2(IPfgpPbc +#-t ?'=me*cQCQnDUbjr->&3J땞ޕmEihV7f},DWu{i* 0ظ|Ѕz+4Q7[ܳ OD)CGq(,1_ȶWݺT&$ˑNؽJP&[#6SH4OXKM$'i(( 8ZO|1>Ϡg`MӮ)GR#-෗fez[aE9F8hgpn%{0u=P+7 (]x& ۢin {F<Ǝ7bu.\\H͆ QGqK88Ҳ'ZVmsr^g]/:E[b5~Q@#OXI1d}8[p]Mݟ ܺHzR)_u$ɺځknUKLg3s6Y[PؖV 7}m?L@? d;{shn]TdьyxW:4oc/8F ޹Bv! 4ǎ)q <wKؚ%C9C;!長ݮ ߐ-i&̥֮ A;Fø%hD8G9'?A&ebpYtwJ߅qx )?X6-͋\ 0NP!q, Gq>.C1wC8> [>)&&sH%JS'Ǣ$Wӳ,"uinaܦ]1숐?xFoo31ZIssi;vu +endstream +endobj +9673 0 obj +<< +/Type /Page +/Contents 9674 0 R +/Resources 9672 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9653 0 R +/Annots [ 9642 0 R 9643 0 R 9644 0 R 9645 0 R 9646 0 R 9671 0 R ] +>> +endobj +9642 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.938 758.177 409.242 768.652] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9643 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.512 740.445 155.852 751.028] +/A << /S /GoTo /D (class_photon_stream_a1bfb478104459081a25e0cf8208de9f4) >> +>> +endobj +9644 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.748 740.445 305.813 751.028] +/A << /S /GoTo /D (class_photon_stream_a8b1a1e59820ff95d2d2dd4c376841322) >> +>> +endobj +9645 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [324.052 740.445 382.344 751.028] +/A << /S /GoTo /D (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) >> +>> +endobj +9646 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [270.712 728.598 313.053 739.072] +/A << /S /GoTo /D (class_photon_stream_a1bfb478104459081a25e0cf8208de9f4) >> +>> +endobj +9671 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [92.299 689.212 203.967 717.785] +/A << /S /GoTo /D (group__public_api_gaf30bbea51cc8c4b1ddc239d1c5c1468f) >> +>> +endobj +9675 0 obj +<< +/D [9673 0 R /XYZ 69.866 801.979 null] +>> +endobj +2942 0 obj +<< +/D [9673 0 R /XYZ 70.866 675.687 null] +>> +endobj +9654 0 obj +<< +/D [9673 0 R /XYZ 70.866 650.897 null] +>> +endobj +2946 0 obj +<< +/D [9673 0 R /XYZ 70.866 650.897 null] +>> +endobj +2950 0 obj +<< +/D [9673 0 R /XYZ 70.866 592.34 null] +>> +endobj +9656 0 obj +<< +/D [9673 0 R /XYZ 70.866 567.442 null] +>> +endobj +2954 0 obj +<< +/D [9673 0 R /XYZ 70.866 567.442 null] +>> +endobj +6337 0 obj +<< +/D [9673 0 R /XYZ 70.866 523.299 null] +>> +endobj +2958 0 obj +<< +/D [9673 0 R /XYZ 70.866 508.778 null] +>> +endobj +9657 0 obj +<< +/D [9673 0 R /XYZ 70.866 466.496 null] +>> +endobj +2962 0 obj +<< +/D [9673 0 R /XYZ 70.866 451.975 null] +>> +endobj +9659 0 obj +<< +/D [9673 0 R /XYZ 70.866 409.692 null] +>> +endobj +2966 0 obj +<< +/D [9673 0 R /XYZ 70.866 395.171 null] +>> +endobj +9660 0 obj +<< +/D [9673 0 R /XYZ 70.866 352.889 null] +>> +endobj +2970 0 obj +<< +/D [9673 0 R /XYZ 70.866 338.368 null] +>> +endobj +9661 0 obj +<< +/D [9673 0 R /XYZ 70.866 296.085 null] +>> +endobj +2974 0 obj +<< +/D [9673 0 R /XYZ 70.866 281.564 null] +>> +endobj +9662 0 obj +<< +/D [9673 0 R /XYZ 70.866 239.282 null] +>> +endobj +2978 0 obj +<< +/D [9673 0 R /XYZ 70.866 224.761 null] +>> +endobj +9663 0 obj +<< +/D [9673 0 R /XYZ 70.866 182.478 null] +>> +endobj +2982 0 obj +<< +/D [9673 0 R /XYZ 70.866 167.957 null] +>> +endobj +9664 0 obj +<< +/D [9673 0 R /XYZ 70.866 125.675 null] +>> +endobj +2986 0 obj +<< +/D [9673 0 R /XYZ 70.866 111.154 null] +>> +endobj +9665 0 obj +<< +/D [9673 0 R /XYZ 70.866 68.871 null] +>> +endobj +9672 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9688 0 obj +<< +/Length 1491 +/Filter /FlateDecode +>> +stream +xXY6~[% fHJi fmPlAYrtrHe˹j@ +Иg98$uVu^~X̞'&IΉ(ЉNB,rƍxskdy^2m[$Ǩ+Yej6eBx׳3S 1yd-ur{P1vvs'".5S…"ǚO2Blaԛ3J{Tcȵl,+q*`a B;I$ ]ǩ*2q^iD#ф"LCjxOI@$9zW% ̑˄[tƧp| Op,[YE225F;OPEѾ F 3rԙUZc]J=n)/8"u&-Mq7MO;T3%N.g5//uW`1; tRN;  Xqv W <\T=SC˹[{MB'V`P: +b`S(<!chJ +jѸZLA]xpMjcNdq.<=BSU;[&F*O%U{3a=ZX$Ɩ qu(T3y}(>B< &}Q0~D$CݬdwѲ`Fٝ{-뺜0hU1an'_`Y02'cciTغuaBZTuݗa!<CbHV5`jO: 4\pF3ym'-Nc8ITYE/ţm?8"{YDā)Vk˭.r讠Пy_fZ[C?{Չ([B͑[+lk( WȾ[Fv;uIrUh`0Faf^dF1H ^QJUlJ3o/ϊ)1'uW4%BC1܅މ"sͣwhd&{ݴ5I` gSp©ɣccu@T&!´<a@K\ܣvVlu'$j{2PH^}ũ}/!"ÌYn2uNz:Yh:#(7rv";Dbf[J`Ǎ۠$ꁅp"tHWp Ԟ +R{~R65aVKcGbWP :LUgQ S@ TL*s?=`@ظ'_^Iϧ+渋Ì6z_p/iLz> +endobj +9676 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.572 207.271 174.793 217.853] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +9677 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [421.207 207.271 525.406 217.853] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +9678 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.108 195.316 339.448 205.898] +/A << /S /GoTo /D (class_photon_stream_queue_ae75447cd718116990e0d0304eebc6935) >> +>> +endobj +9679 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 183.468 122.172 193.943] +/A << /S /GoTo /D (class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) >> +>> +endobj +9680 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 113.085 180.997 123.56] +/A << /S /GoTo /D (class_photon_stream_queue_a1c2a5d3c8a990b78b07650b0e1370eeb) >> +>> +endobj +9681 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [222.593 99.421 300.391 107.8] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +9682 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 84.878 138.901 95.353] +/A << /S /GoTo /D (class_photon_stream_queue_a8034450d68cdf1a16e3f33a53b0ad2dd) >> +>> +endobj +9683 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.766 69.87 227.564 79.593] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +9689 0 obj +<< +/D [9687 0 R /XYZ 69.866 801.979 null] +>> +endobj +2990 0 obj +<< +/D [9687 0 R /XYZ 70.866 771.024 null] +>> +endobj +9666 0 obj +<< +/D [9687 0 R /XYZ 70.866 734.334 null] +>> +endobj +2994 0 obj +<< +/D [9687 0 R /XYZ 70.866 718.727 null] +>> +endobj +9667 0 obj +<< +/D [9687 0 R /XYZ 70.866 676.371 null] +>> +endobj +2998 0 obj +<< +/D [9687 0 R /XYZ 70.866 660.763 null] +>> +endobj +9668 0 obj +<< +/D [9687 0 R /XYZ 70.866 618.407 null] +>> +endobj +3002 0 obj +<< +/D [9687 0 R /XYZ 70.866 602.799 null] +>> +endobj +9655 0 obj +<< +/D [9687 0 R /XYZ 70.866 560.443 null] +>> +endobj +3006 0 obj +<< +/D [9687 0 R /XYZ 70.866 544.836 null] +>> +endobj +9658 0 obj +<< +/D [9687 0 R /XYZ 70.866 520.104 null] +>> +endobj +3010 0 obj +<< +/D [9687 0 R /XYZ 70.866 520.104 null] +>> +endobj +3014 0 obj +<< +/D [9687 0 R /XYZ 70.866 462.248 null] +>> +endobj +9670 0 obj +<< +/D [9687 0 R /XYZ 70.866 435.184 null] +>> +endobj +3018 0 obj +<< +/D [9687 0 R /XYZ 70.866 435.184 null] +>> +endobj +9669 0 obj +<< +/D [9687 0 R /XYZ 70.866 394.871 null] +>> +endobj +3022 0 obj +<< +/D [9687 0 R /XYZ 70.866 379.264 null] +>> +endobj +6336 0 obj +<< +/D [9687 0 R /XYZ 70.866 335.204 null] +>> +endobj +3026 0 obj +<< +/D [9687 0 R /XYZ 70.866 319.596 null] +>> +endobj +9690 0 obj +<< +/D [9687 0 R /XYZ 70.866 277.8 null] +>> +endobj +3030 0 obj +<< +/D [9687 0 R /XYZ 70.866 261.021 null] +>> +endobj +9691 0 obj +<< +/D [9687 0 R /XYZ 70.866 153.12 null] +>> +endobj +9686 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F39 4826 0 R /F96 6194 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9713 0 obj +<< +/Length 1714 +/Filter /FlateDecode +>> +stream +xYIFW'@^8h䞱$3 >UȒ,{>̤ oS.2_w(Zume|P U,^fU֠kb=R|Q. Dx3&AHdfl, +w; H׭ڪ)>DenLj +_mm/SN}uoeSM5ö)άUX$ +,WyP0 5!gQ`8u^(gϥWej)리¬sd_s,f#ޫL:]Q}:WUeSah h*8 oC). j ڣO}|y>,6_{'+1tk_AHv,WvYC Vjge>&+xODܘ=NjH: t<>w_8Quܫv)=:[ccCAQJim4?@$!BcxD;3RSJJΪ|6I ᒰv3La.@%͏M+͸ ڽe~+ *P]d<̅Y,܊Z5=L'ؾ<A}]9WŽE۲Vu<"ooAّb?&GkI.X@.Do6 yqm~*W*åر;$^cy{HbA΢e2&5&a +N6Zmi~6ȨEݧtm`VӮt@E6h[+FTsa?/Ns:ܦӲl6{3R gst/?cOFQ]EfT +d0NaJ76+r X ^,~Ƞ̟E5i3{&NujWOnF2=~@ Q +[Ny) -fD .vWzfsc<ڄafS*IDC$Px}d$ދ&ah؄ncuwܮ^wp0KףjeJ>@=_# v_;Dap67<=4s Z_*ZϷEg`X¾aaO8h~ 0u#Ez慂סAt CPsw:h0)z\ :hxvA\?4|&t:h.N᫶FA tН{G=T&*#"#vr)IxH@a4ƱvvRŃZI+lz axog0&g;gPa&R߄E((v;?*6;<@͙2OȼP$pFhUQs9ȀG1ϟ> +endobj +9684 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 758.177 154.583 768.652] +/A << /S /GoTo /D (class_photon_stream_queue_acbae2dbbf5e5b4fd8c589fb7019adbf8) >> +>> +endobj +9685 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.66 742.397 394.668 752.024] +/A << /S /GoTo /D (class_photon_stream_a8b1a1e59820ff95d2d2dd4c376841322) >> +>> +endobj +9696 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 728.232 194.447 738.707] +/A << /S /GoTo /D (class_photon_stream_queue_a9e8e0b7a881aea56cb21148def4b5c5d) >> +>> +endobj +9697 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.191 698.287 173.511 708.762] +/A << /S /GoTo /D (class_photon_stream_queue_ab9b77bbe2ddf53638dd96b63af8a533c) >> +>> +endobj +9698 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.659 682.507 428.77 692.134] +/A << /S /GoTo /D (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) >> +>> +endobj +9699 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 668.342 149.858 678.817] +/A << /S /GoTo /D (class_photon_stream_queue_ae75447cd718116990e0d0304eebc6935) >> +>> +endobj +9700 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.344 668.342 212.648 678.817] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9701 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 638.397 159.819 648.872] +/A << /S /GoTo /D (class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) >> +>> +endobj +9702 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [163.305 638.397 222.61 648.872] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9703 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.572 548.952 174.793 559.534] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +9704 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [421.207 548.952 525.406 559.534] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +9705 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.108 536.997 339.448 547.579] +/A << /S /GoTo /D (class_photon_stream_queue_ae75447cd718116990e0d0304eebc6935) >> +>> +endobj +9706 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 525.15 122.172 535.624] +/A << /S /GoTo /D (class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) >> +>> +endobj +9707 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.141 427.029 282.362 436.118] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +9708 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.57 254.421 233.874 266.595] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9709 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.881 123.928 425.005 134.402] +/A << /S /GoTo /D (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) >> +>> +endobj +9714 0 obj +<< +/D [9712 0 R /XYZ 69.866 801.979 null] +>> +endobj +3034 0 obj +<< +/D [9712 0 R /XYZ 70.866 596.608 null] +>> +endobj +3038 0 obj +<< +/D [9712 0 R /XYZ 70.866 498.323 null] +>> +endobj +9694 0 obj +<< +/D [9712 0 R /XYZ 70.866 471.158 null] +>> +endobj +3042 0 obj +<< +/D [9712 0 R /XYZ 70.866 471.158 null] +>> +endobj +3046 0 obj +<< +/D [9712 0 R /XYZ 70.866 367.935 null] +>> +endobj +9693 0 obj +<< +/D [9712 0 R /XYZ 70.866 345.77 null] +>> +endobj +3050 0 obj +<< +/D [9712 0 R /XYZ 70.866 345.77 null] +>> +endobj +9715 0 obj +<< +/D [9712 0 R /XYZ 70.866 247.646 null] +>> +endobj +3054 0 obj +<< +/D [9712 0 R /XYZ 70.866 229.994 null] +>> +endobj +9716 0 obj +<< +/D [9712 0 R /XYZ 70.866 185.341 null] +>> +endobj +3058 0 obj +<< +/D [9712 0 R /XYZ 70.866 167.689 null] +>> +endobj +9695 0 obj +<< +/D [9712 0 R /XYZ 70.866 70.866 null] +>> +endobj +9711 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9734 0 obj +<< +/Length 2206 +/Filter /FlateDecode +>> +stream +xYI۶ϯ`$TyGq+;ZČS%ɯ&EJ,ai|5$kOz/~X]|^"( +ՕKDZD[g?\,u6uWWE"&ګ~l?vC~,G{Pҷ2Y]qSI"zߤϞAx7n M L@./~|)&~'.)!7 RpTRJυzelKo{|Ѷ_ŤJcKK y*H'KoCu2XGJCs +>+dc"Iѭ0fNP*3RTHŦhylW7t?5!櫽-1j; ~7#hڛBL`_,lnl4֛؈Թۢ+T]?i0CpKY Ԍ~y) Z7zڲ}ZZ89UVanW^\]!OB}8@hBPmƔz78nN(YٻlY+umP'ta$=B?Ϻ +>T],́ۃ:u+pN0[+wf':WcYlw(_JҁvWWKl%(7c1٫}cYGKX +`DAp`+{| ,ڣj嘷iGyòpC=&Y_0p7 WT(8HJؤP 5+ FY @W~WkYqQ w'K ZE͡i {H.b"m TB _A& e9kSPg!ɏKq7.4vDO{E 1˶FQ h a +n뎗U=W3c%,9@-ẑĪ%Gœt~gL@H߾+&JF5.:8vA:6u_Q%ƺo{M&}ΙRAYdzc[:8@`꺴sν:cA}k%y)kl^ PJcW|'"s»܉ؼSYJC[۶ٵ}SQ8%౧I,hb$?iƔ {)>r#Œ!BR.4),R.Nhr \ iՒpŝR.trʅ> w2s;p{}CQ8}$3"^6Y7GzH3|ZN+UL-SwY;ڿB-qKwid1Bn9jC*\ +endstream +endobj +9733 0 obj +<< +/Type /Page +/Contents 9734 0 R +/Resources 9732 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9653 0 R +/Annots [ 9710 0 R 9718 0 R 9719 0 R 9720 0 R 9721 0 R 9722 0 R 9723 0 R 9724 0 R 9725 0 R 9726 0 R 9737 0 R 9727 0 R 9728 0 R 9738 0 R ] +>> +endobj +9710 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [115.221 733.134 201.442 743.717] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +9718 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [286.215 674.058 387.114 684.532] +/A << /S /GoTo /D (class_photon_stream_a8b1a1e59820ff95d2d2dd4c376841322) >> +>> +endobj +9719 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.57 533.888 233.874 546.062] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9720 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.722 430.234 479.018 440.708] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +9721 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.493 401.214 252.639 411.129] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +9722 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 340.573 209.905 351.048] +/A << /S /GoTo /D (class_photon_transform_view_a914782b6d7ec46386636fa9fbaaa8f1f) >> +>> +endobj +9723 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 289.476 209.483 300.058] +/A << /S /GoTo /D (class_photon_transform_view_a5d1d6606c9c935b2326b31b292f37a7e) >> +>> +endobj +9724 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.969 289.476 272.273 300.058] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9725 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.159 289.476 386.628 300.058] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9726 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 274.24 525.406 283.866] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9737 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 264.887 128.268 272.722] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9727 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.722 178.005 479.018 188.48] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +9728 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 79.938 525.406 90.412] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9738 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 69.767 91.113 78.251] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9735 0 obj +<< +/D [9733 0 R /XYZ 69.866 801.979 null] +>> +endobj +3062 0 obj +<< +/D [9733 0 R /XYZ 70.866 771.024 null] +>> +endobj +9717 0 obj +<< +/D [9733 0 R /XYZ 70.866 734.131 null] +>> +endobj +3066 0 obj +<< +/D [9733 0 R /XYZ 70.866 717.506 null] +>> +endobj +9692 0 obj +<< +/D [9733 0 R /XYZ 70.866 631.62 null] +>> +endobj +3070 0 obj +<< +/D [9733 0 R /XYZ 70.866 614.995 null] +>> +endobj +8254 0 obj +<< +/D [9733 0 R /XYZ 70.866 527.113 null] +>> +endobj +3074 0 obj +<< +/D [9733 0 R /XYZ 70.866 509.316 null] +>> +endobj +9736 0 obj +<< +/D [9733 0 R /XYZ 70.866 381.244 null] +>> +endobj +3078 0 obj +<< +/D [9733 0 R /XYZ 70.866 249.258 null] +>> +endobj +3082 0 obj +<< +/D [9733 0 R /XYZ 70.866 150.421 null] +>> +endobj +6870 0 obj +<< +/D [9733 0 R /XYZ 70.866 125.246 null] +>> +endobj +3086 0 obj +<< +/D [9733 0 R /XYZ 70.866 125.246 null] +>> +endobj +9732 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9755 0 obj +<< +/Length 2639 +/Filter /FlateDecode +>> +stream +xZKsܸW|H8UL|n{孲XS){ icu~}Ip8cYr% 4Fug9֫_=9%aȭ[+rXVx,tdA.#eu /M6TӾhj{g. u,w,|+>X9b9'#+8 |\qɊJJ&(KjzfiY +[vsv때~J[56\zjL lݝ5ծ*ܪY>dNY36}S,sKFcuYd V muߧxW_ ݴ,X,En`["668vwԋZj;$=wivODm7z|Yn,+ !7{ bRu+Q׳E8Ǘdf,EbngC7olK8rV eJ,KmۦVwA,룺Rɕv8^ -ۏY w#.?;558|Q+SVkMc&t׊L+ 겸G[Qq#?7<]M8LAL֝ᎰbbSF}=#}"FT'UY!K"xwώР؛ +Xzz 0VʎB*cflg덋Q0*ծVc"g[Vk(BBӳ=· ~t|Tͦ4EaM:N1ꅡLXS[! Gz3r7|RqG>P4ZQ5j V#䦠/b9Hn[er#V+xX9s/vyo@tK-rWԘA;GQr-5T@S<{X2rC X:}n)oV.߮q +z5!hQ?(P mT;F #<8CuSc$ +$b/g/8LPH塝7n4ENu-N S,ٟ}Qi$3R\=f}ؚtP/o*o)VK7|`,R"fPO<GJ]xf7a`iݢB.{60Mdo[ُ7czICkІI!3=dN\1c+^x̧JsE X=GyW(sE$I$ pT +nF\4tDCر 9u#6av 3c굹7*nդ ئbdהt>*I'q2|C@.'T|V@V2&r9VĬ\ dnB85Xm2Nq]8lhIlbjP}7C9*Tʒ7답NkՄ!JaJQAY> rS*RBvȋ_H8iՇ!$)$Owg5CFfa&ˇ,W0B" y$ 8\E 7H\@ߏn@xn{=rCkH$+Cnp +>b{~<ͽn8w^*|㔶W_4X\u?jƃ|kq~ "\=ҹZ"οEHt)!PFf#Gq? +#DJtx%} +e&ZLׁyj Ј9܀HQH.퟇:C%L =B#\jUyb += Liਜ਼ +9څ}b&pqPhmVϒ㤏XV{tbu-ђʼn3/>fyWO2hQK$W1|#O\fK0:x6'L"`y'@ Ƞ.cHsk΁SFkgw\c8\JN;g;W;#$w 1w9;Bs䎨!w (KiʎoH##1^9tV^ӃSR9q5OJi ̢[5иj)uUw[~ؙ5[/ םJ@}?71w<ԯD42~U."s=m̟'iKqKMb:^i ǚ +pnrAV}"{H&o"jIX*eFEZjϛuNBME&{HG߯#(捪vH<)B(3o铬Bc3ӧ᠎@B|'xqQ2ߣӎ$'G~?  :hD +]/a!;ӅJƥx8Xgv%?.p ,8޷/5.1T}0ԅ'$=(D=7&?8*mfy~gz~[,?ӿl$arqkz%D` +endstream +endobj +9754 0 obj +<< +/Type /Page +/Contents 9755 0 R +/Resources 9753 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9653 0 R +/Annots [ 9729 0 R 9730 0 R 9731 0 R 9740 0 R 9741 0 R 9742 0 R 9743 0 R 9744 0 R 9745 0 R 9746 0 R 9747 0 R 9748 0 R 9749 0 R 9750 0 R 9751 0 R 9752 0 R ] +>> +endobj +9729 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [401.942 758.07 451.598 768.652] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9730 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 747.926 220.405 756.697] +/A << /S /GoTo /D (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) >> +>> +endobj +9731 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 734.159 174.068 744.742] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +9740 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [307.249 704.58 356.906 715.162] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9741 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.206 675 473.863 685.583] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9742 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.189 645.421 258.493 656.003] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9743 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 544.835 184.846 555.309] +/A << /S /GoTo /D (group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) >> +>> +endobj +9744 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 309.853 244.416 320.327] +/A << /S /GoTo /D (class_photon_transform_view_position_control_a3f4cd754b21276bef76609b608e9e774) >> +>> +endobj +9745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [247.901 309.853 393.057 320.327] +/A << /S /GoTo /D (class_photon_transform_view_position_model) >> +>> +endobj +9746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 296.568 209.905 307.042] +/A << /S /GoTo /D (class_photon_transform_view_position_control_af8893b17871604614de5d5f80721d0e9) >> +>> +endobj +9747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.449 246.088 189.793 256.562] +/A << /S /GoTo /D (class_photon_transform_view_position_control_aea906d59f0637f9a1ee8a8c6504ad217) >> +>> +endobj +9748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.449 217.526 208.264 228] +/A << /S /GoTo /D (class_photon_transform_view_position_control_a7c378517491ed0878fa78f8834fa5c0b) >> +>> +endobj +9749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.449 188.963 249.508 199.438] +/A << /S /GoTo /D (class_photon_transform_view_position_control_a995fea08fe2aa2ad1c004513c5ba7d65) >> +>> +endobj +9750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 149.334 209.483 159.917] +/A << /S /GoTo /D (class_photon_transform_view_position_control_ac7cc0066925dc4ccf46f2a1ae8a7216f) >> +>> +endobj +9751 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [309.974 149.334 369.279 159.917] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9752 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [402.164 149.334 483.633 159.917] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9756 0 obj +<< +/D [9754 0 R /XYZ 69.866 801.979 null] +>> +endobj +9739 0 obj +<< +/D [9754 0 R /XYZ 70.866 545.831 null] +>> +endobj +3090 0 obj +<< +/D [9754 0 R /XYZ 70.866 529.806 null] +>> +endobj +9757 0 obj +<< +/D [9754 0 R /XYZ 70.866 407.56 null] +>> +endobj +3094 0 obj +<< +/D [9754 0 R /XYZ 70.866 390.362 null] +>> +endobj +9758 0 obj +<< +/D [9754 0 R /XYZ 70.866 350.149 null] +>> +endobj +3098 0 obj +<< +/D [9754 0 R /XYZ 70.866 134.306 null] +>> +endobj +9759 0 obj +<< +/D [9754 0 R /XYZ 70.866 109.358 null] +>> +endobj +3102 0 obj +<< +/D [9754 0 R /XYZ 70.866 109.358 null] +>> +endobj +3106 0 obj +<< +/D [9754 0 R /XYZ 70.866 70.866 null] +>> +endobj +9753 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9780 0 obj +<< +/Length 1849 +/Filter /FlateDecode +>> +stream +xڭYKs6WHX0A&v&Ic%3$Z-6T7]-'þ. !<]8HI$"_4Iq`< )y4* ?̪*QJ:/Ӱ 1~bxowTWi𣾎 uˉ)32EƿO>a ؚ4%)7Lۯ P.X +"cypy $QdEL=)4|Wx^ c^WBmnNfˍRi01Idߌ0gTU-. P͂wj~Ummݞh|YVOdﯯZTh1# qv!3|>Y!43qnb;Ӿ]MrL ֎r2eF:ׄvX8ۙv쀊-Fn9oP^1IiDD~n``qp%BRwK_`DD9>vU~NK M*Yj> +396~]{"7[vΑ]?^̶`K?FKЍ *+eFijpDȴd5.uPw,삁lTӆɪ3ʩ]eD"L[|1HPo MC&GKޠ"CYphT* ҳ1SD#q-d0`RwwK̑ +gvt61!JW 6G0fNNV@OTQ%|*d;<&(BƔqW[b$T9p< i\T $ka7網_MH t#WwKT\E3Y-V$& (,F_G@mIüJUsh'HptF O誶_v$6e71V/Mq#F.56pīhFOrjLjfM6XpS-ʛ<ށ2f}tC]ݟ?x;UKn@݂=Ý~hBP %6pn¯{XZ90Br~fA2˲^j$NT$whCphƝ +(90v WAiXy"+_;?a;Wmp߸G˴k\!"v ps E+l2|ZN**[fUlc"}`)a[=N^M~FbMxz_`/pdyUsx-dZ*h7T}d l E|C]>T&p+}ɑs k?ٯϽtk y,=9AR :"~c8x 2e9GSZw`pʀdX$IRכ]82Ѓ|/{R숱,{A-hǟCsgoȾ/Z+sCunRm/ +endstream +endobj +9779 0 obj +<< +/Type /Page +/Contents 9780 0 R +/Resources 9778 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9785 0 R +/Annots [ 9766 0 R 9767 0 R 9768 0 R 9769 0 R 9770 0 R 9783 0 R 9771 0 R 9772 0 R 9773 0 R 9774 0 R 9775 0 R 9784 0 R 9776 0 R ] +>> +endobj +9766 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 128.517 195.128 138.991] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063) >> +>> +endobj +9767 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 116.562 207.358 127.036] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063ab9f5c797ebbf55adccdd8539a65a0241) >> +>> +endobj +9768 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [209.877 116.562 335.334 127.036] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a8275b27924ce04ec0cbdf85a3f3dc866) >> +>> +endobj +9769 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.854 116.562 481.521 127.036] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063ad372923d229a8c3db765a1c1cdfcb19c) >> +>> +endobj +9770 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [484.04 116.562 525.406 127.036] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a5ee3cb96945190e0162af2190c264380) >> +>> +endobj +9783 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 104.607 206.005 115.081] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a5ee3cb96945190e0162af2190c264380) >> +>> +endobj +9771 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 92.651 190.869 103.126] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a412cb411cecf9196f717d6bc9c272c62) >> +>> +endobj +9772 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.012 79.938 197.164 90.412] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06) >> +>> +endobj +9773 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.967 79.938 317.176 90.412] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06ab9f5c797ebbf55adccdd8539a65a0241) >> +>> +endobj +9774 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [319.696 79.938 476.185 90.412] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a5ee3cb96945190e0162af2190c264380) >> +>> +endobj +9775 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [478.704 79.938 525.406 90.412] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a20ce760ebf36c55f29b275b42f3d6217) >> +>> +endobj +9784 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 67.983 224.358 78.457] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a20ce760ebf36c55f29b275b42f3d6217) >> +>> +endobj +9776 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [227.351 67.983 355.435 78.457] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a8275b27924ce04ec0cbdf85a3f3dc866) >> +>> +endobj +9781 0 obj +<< +/D [9779 0 R /XYZ 69.866 801.979 null] +>> +endobj +9764 0 obj +<< +/D [9779 0 R /XYZ 70.866 753.893 null] +>> +endobj +3110 0 obj +<< +/D [9779 0 R /XYZ 70.866 753.893 null] +>> +endobj +9763 0 obj +<< +/D [9779 0 R /XYZ 70.866 647.408 null] +>> +endobj +3114 0 obj +<< +/D [9779 0 R /XYZ 70.866 632.391 null] +>> +endobj +9765 0 obj +<< +/D [9779 0 R /XYZ 70.866 541.394 null] +>> +endobj +3118 0 obj +<< +/D [9779 0 R /XYZ 70.866 526.378 null] +>> +endobj +9761 0 obj +<< +/D [9779 0 R /XYZ 70.866 487.769 null] +>> +endobj +3122 0 obj +<< +/D [9779 0 R /XYZ 70.866 487.769 null] +>> +endobj +9762 0 obj +<< +/D [9779 0 R /XYZ 70.866 365.788 null] +>> +endobj +3126 0 obj +<< +/D [9779 0 R /XYZ 70.866 350.771 null] +>> +endobj +9760 0 obj +<< +/D [9779 0 R /XYZ 70.866 213.669 null] +>> +endobj +3130 0 obj +<< +/D [9779 0 R /XYZ 70.866 206.254 null] +>> +endobj +9782 0 obj +<< +/D [9779 0 R /XYZ 70.866 168.085 null] +>> +endobj +9778 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9814 0 obj +<< +/Length 1175 +/Filter /FlateDecode +>> +stream +xXr:+$tN&6&r<$^I"qt1FHWGWG t{?9 9p,s ˜aAx*}(anHX9|^ʬJ4TpG+At3p8.{ `?НD0V~Zqr W"CwEWZeYƃOlf1>wGQ֞qX[@сКV5(Q;ZO` +kB( QsQ,mT͖~+aY[%ܘdi`~՝/iӯ6G5Í)ŃB~x0 +endstream +endobj +9813 0 obj +<< +/Type /Page +/Contents 9814 0 R +/Resources 9812 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9785 0 R +/Annots [ 9777 0 R 9797 0 R 9798 0 R 9799 0 R 9800 0 R 9801 0 R 9802 0 R 9803 0 R 9804 0 R 9805 0 R 9806 0 R 9807 0 R 9808 0 R 9809 0 R 9810 0 R 9811 0 R ] +>> +endobj +9777 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 734.639 198.123 745.113] +/A << /S /GoTo /D (class_photon_transform_view_position_model_adf69a879201b7b67af4508ccf795f6ac) >> +>> +endobj +9797 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 721.303 181.096 731.572] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a8e36aa06dc6644a53bd2d87844434e84) >> +>> +endobj +9798 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 707.968 239.071 718.443] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a98c785fa35877aae22620b6533a15cd8) >> +>> +endobj +9799 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 694.633 170.301 705.107] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063) >> +>> +endobj +9800 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.801 694.633 241.842 705.107] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a333c00379e52fd0327337edb6d918d5f) >> +>> +endobj +9801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 681.298 239.359 691.772] +/A << /S /GoTo /D (class_photon_transform_view_position_model_aa0c899efb93f49d72d09f186cf0a61e0) >> +>> +endobj +9802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 667.962 202.973 678.437] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a6a74d5fd4dca600a17784f38b70d2aa7) >> +>> +endobj +9803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 654.627 262.68 665.102] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a51965afc54a2e2cbaafb57e050555688) >> +>> +endobj +9804 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 641.292 263.675 651.766] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a623f6bbf22e22073e9be25b84d98a11c) >> +>> +endobj +9805 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [161.09 627.957 255.596 638.431] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a3cd4b81cdcb3b099e1514ca7aba02d46) >> +>> +endobj +9806 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 614.621 172.928 625.096] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06) >> +>> +endobj +9807 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.428 614.621 247.096 625.096] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a5d3b8ed9c1fb9c3f352cb460489a823b) >> +>> +endobj +9808 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 601.286 187.39 611.761] +/A << /S /GoTo /D (class_photon_transform_view_position_model_adebb0a46d4de507ec529fdd3a87e192d) >> +>> +endobj +9809 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 587.843 258.188 598.219] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a7b871135ff0f36dfd41c5148b36612f7) >> +>> +endobj +9810 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 574.616 257.685 585.09] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a41cbf435a32e015857f534d3bd9e289c) >> +>> +endobj +9811 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 562.984 182.683 571.755] +/A << /S /GoTo /D (class_photon_transform_view_position_model_a24067fa6f667e913da06fac06773e483) >> +>> +endobj +9815 0 obj +<< +/D [9813 0 R /XYZ 69.866 801.979 null] +>> +endobj +9816 0 obj +<< +/D [9813 0 R /XYZ 70.866 775.009 null] +>> +endobj +3134 0 obj +<< +/D [9813 0 R /XYZ 70.866 547.837 null] +>> +endobj +9792 0 obj +<< +/D [9813 0 R /XYZ 70.866 521.054 null] +>> +endobj +3138 0 obj +<< +/D [9813 0 R /XYZ 70.866 521.054 null] +>> +endobj +9793 0 obj +<< +/D [9813 0 R /XYZ 88.314 463.435 null] +>> +endobj +9794 0 obj +<< +/D [9813 0 R /XYZ 88.314 447.111 null] +>> +endobj +9795 0 obj +<< +/D [9813 0 R /XYZ 88.314 430.787 null] +>> +endobj +9796 0 obj +<< +/D [9813 0 R /XYZ 88.314 414.463 null] +>> +endobj +9786 0 obj +<< +/D [9813 0 R /XYZ 70.866 402.069 null] +>> +endobj +3142 0 obj +<< +/D [9813 0 R /XYZ 70.866 385.925 null] +>> +endobj +9787 0 obj +<< +/D [9813 0 R /XYZ 88.314 330.028 null] +>> +endobj +9788 0 obj +<< +/D [9813 0 R /XYZ 88.314 313.704 null] +>> +endobj +9789 0 obj +<< +/D [9813 0 R /XYZ 88.314 297.38 null] +>> +endobj +9790 0 obj +<< +/D [9813 0 R /XYZ 88.314 281.056 null] +>> +endobj +9791 0 obj +<< +/D [9813 0 R /XYZ 88.314 264.732 null] +>> +endobj +3146 0 obj +<< +/D [9813 0 R /XYZ 70.866 246.732 null] +>> +endobj +9817 0 obj +<< +/D [9813 0 R /XYZ 70.866 221.622 null] +>> +endobj +3150 0 obj +<< +/D [9813 0 R /XYZ 70.866 221.622 null] +>> +endobj +9818 0 obj +<< +/D [9813 0 R /XYZ 70.866 196.805 null] +>> +endobj +3154 0 obj +<< +/D [9813 0 R /XYZ 70.866 196.805 null] +>> +endobj +9819 0 obj +<< +/D [9813 0 R /XYZ 70.866 170.083 null] +>> +endobj +3158 0 obj +<< +/D [9813 0 R /XYZ 70.866 170.083 null] +>> +endobj +9820 0 obj +<< +/D [9813 0 R /XYZ 70.866 145.383 null] +>> +endobj +3162 0 obj +<< +/D [9813 0 R /XYZ 70.866 145.383 null] +>> +endobj +9821 0 obj +<< +/D [9813 0 R /XYZ 70.866 120.544 null] +>> +endobj +3166 0 obj +<< +/D [9813 0 R /XYZ 70.866 120.544 null] +>> +endobj +9822 0 obj +<< +/D [9813 0 R /XYZ 70.866 95.705 null] +>> +endobj +3170 0 obj +<< +/D [9813 0 R /XYZ 70.866 95.705 null] +>> +endobj +9823 0 obj +<< +/D [9813 0 R /XYZ 70.866 70.866 null] +>> +endobj +3174 0 obj +<< +/D [9813 0 R /XYZ 70.866 70.866 null] +>> +endobj +9812 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9840 0 obj +<< +/Length 1412 +/Filter /FlateDecode +>> +stream +xXKsFWpJA̋\guݵ\l4A`I忧d[n0#8VVKx2!Nb!39!FNS$3:n8|F̳aḤ͋H2)<{gey\幜yDqAx2Irg]^cg +g@ GJS.0ps1:]l@GAn)IE{1˓ҵ"j]}ueT?˧r>f,yRʳ\Q?H};IˣDeMf3Q l4@8},wq_K9&#&Xe `*p5e {ri0"( X}5*6e.}wKuPXć-@ӎ2Q%|Ux~V{6c [pTIΊd!/=.N +B!dxƦw|r`TaYcжn3 +. cPp׀?-܊.B.,ɳ20ڳ]U a Փ4T @XMVXvIlnٰ@t#E'? +qz/y-$VZD[TPLi8>'/h #(C[RG/ޠ_:>KbD XkC-c61cR6kCw+CcB7 +=e{MX粬-)8OܡeCi0G$u@F&/ D/AX$x M(e'Wu، #[Bc$4+BI|y+լ7j3B}K3Fm\IVܕ@  +endstream +endobj +9839 0 obj +<< +/Type /Page +/Contents 9840 0 R +/Resources 9838 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9785 0 R +/Annots [ 9831 0 R 9832 0 R 9833 0 R 9834 0 R 9835 0 R 9836 0 R 9837 0 R ] +>> +endobj +9831 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 377.024 246.361 387.498] +/A << /S /GoTo /D (class_photon_transform_view_rotation_control_af96141a535c6d346ea4564ab3e783b57) >> +>> +endobj +9832 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [249.847 377.024 396.949 387.498] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model) >> +>> +endobj +9833 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [141.849 363.143 224.609 373.617] +/A << /S /GoTo /D (class_photon_transform_view_rotation_control_a01e908d07c6706c5cdfde03a03c6dd9f) >> +>> +endobj +9834 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [141.849 333.388 191.685 343.863] +/A << /S /GoTo /D (class_photon_transform_view_rotation_control_a76f5079286a1db6632ed646b5f06a5db) >> +>> +endobj +9835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 319.399 209.483 329.982] +/A << /S /GoTo /D (class_photon_transform_view_rotation_control_ab52d02c6493092feed0d1c63e4da2d4b) >> +>> +endobj +9836 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [326.319 319.399 385.624 329.982] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9837 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.51 319.399 499.979 329.982] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9841 0 obj +<< +/D [9839 0 R /XYZ 69.866 801.979 null] +>> +endobj +9829 0 obj +<< +/D [9839 0 R /XYZ 70.866 751.733 null] +>> +endobj +3178 0 obj +<< +/D [9839 0 R /XYZ 70.866 751.733 null] +>> +endobj +9828 0 obj +<< +/D [9839 0 R /XYZ 70.866 726.637 null] +>> +endobj +3182 0 obj +<< +/D [9839 0 R /XYZ 70.866 726.637 null] +>> +endobj +9827 0 obj +<< +/D [9839 0 R /XYZ 70.866 701.541 null] +>> +endobj +3186 0 obj +<< +/D [9839 0 R /XYZ 70.866 701.541 null] +>> +endobj +9830 0 obj +<< +/D [9839 0 R /XYZ 70.866 676.446 null] +>> +endobj +3190 0 obj +<< +/D [9839 0 R /XYZ 70.866 676.446 null] +>> +endobj +9824 0 obj +<< +/D [9839 0 R /XYZ 70.866 550.64 null] +>> +endobj +3194 0 obj +<< +/D [9839 0 R /XYZ 70.866 533.212 null] +>> +endobj +9825 0 obj +<< +/D [9839 0 R /XYZ 70.866 507.027 null] +>> +endobj +3198 0 obj +<< +/D [9839 0 R /XYZ 70.866 507.027 null] +>> +endobj +9826 0 obj +<< +/D [9839 0 R /XYZ 70.866 481.931 null] +>> +endobj +3202 0 obj +<< +/D [9839 0 R /XYZ 70.866 481.931 null] +>> +endobj +9842 0 obj +<< +/D [9839 0 R /XYZ 70.866 456.835 null] +>> +endobj +3206 0 obj +<< +/D [9839 0 R /XYZ 70.866 456.835 null] +>> +endobj +9843 0 obj +<< +/D [9839 0 R /XYZ 70.866 418.197 null] +>> +endobj +3210 0 obj +<< +/D [9839 0 R /XYZ 70.866 302.967 null] +>> +endobj +9844 0 obj +<< +/D [9839 0 R /XYZ 70.866 277.739 null] +>> +endobj +3214 0 obj +<< +/D [9839 0 R /XYZ 70.866 277.739 null] +>> +endobj +3218 0 obj +<< +/D [9839 0 R /XYZ 70.866 238.967 null] +>> +endobj +9845 0 obj +<< +/D [9839 0 R /XYZ 70.866 213.6 null] +>> +endobj +3222 0 obj +<< +/D [9839 0 R /XYZ 70.866 213.6 null] +>> +endobj +9846 0 obj +<< +/D [9839 0 R /XYZ 70.866 115.246 null] +>> +endobj +3226 0 obj +<< +/D [9839 0 R /XYZ 70.866 97.818 null] +>> +endobj +9847 0 obj +<< +/D [9839 0 R /XYZ 70.866 70.866 null] +>> +endobj +3230 0 obj +<< +/D [9839 0 R /XYZ 70.866 70.866 null] +>> +endobj +9838 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9867 0 obj +<< +/Length 1479 +/Filter /FlateDecode +>> +stream +xڽXKs6W!g"o!ML2MK-&RT\ŃIQzrh]|Uϫ lLHTJ.#2R)EDE9&&_go"& ҊF*l)U:~Q̷kWY,rvr6sB`)H#Sk)8Z7`KutV#.ܪXEܱ[pmF!X2%{By\,`)*Y"E\f2!".Io? ϋ*ݷzM\fTǦ~'SDaU -s,Z# 8x†`GUl=$~ʸDhJJ6ntr֕l6YBp|e28.ih/;+;n" +1-ꅀq$YK(J2{*^0*m̃baV/Gs؀#^0R"(<`~{RV˹:Kn̦+1>>ciV DTܺflpW!>Uu^2b|wc!e/lH^,7مu,zG#b5Z}c⢦p;.ly@$f}a5yC@R^Žo_F.t I;*+(B!hC KrXG=xS +KoE 'v(EC  ]M]]37+-ntsB~<B"g mXRGpJ#ӦGXEDya ?T!%A: + +'2s{<]N+DC8A]G9n]u>R[!u'W~vxEǵleZwӥl.5L6I:@`*͡b:e]<U4?P.mlR7s(+lOxeMuksv:5Ul2UB|@Y]T?*qj,TTY~OCnaYl{2Dco +@Q9ۂ܆0p~;tm7YU@OXݡ!n%<Wu& q3+7*aaҗ vi7@N>}`Mh'fstzImv%Z=w޼ +}[ +XKbokzJDhI)딖NHuRvx3K I` `&-?eu]v˾- ]ɰ]&@ +endstream +endobj +9866 0 obj +<< +/Type /Page +/Contents 9867 0 R +/Resources 9865 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 9785 0 R +/Annots [ 9849 0 R 9850 0 R 9851 0 R 9852 0 R 9870 0 R 9853 0 R 9854 0 R 9855 0 R 9856 0 R 9857 0 R 9858 0 R 9859 0 R 9860 0 R 9861 0 R 9862 0 R 9863 0 R 9864 0 R ] +>> +endobj +9849 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.518 661.991 198.042 672.466] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494) >> +>> +endobj +9850 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [209.856 661.991 322.438 672.466] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494ab9f5c797ebbf55adccdd8539a65a0241) >> +>> +endobj +9851 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [329.073 661.991 466.401 672.466] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494abee31ba3ccf0149db072e62ab1b66c71) >> +>> +endobj +9852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [473.036 661.991 525.406 672.466] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494a412cb411cecf9196f717d6bc9c272c62) >> +>> +endobj +9870 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 650.036 148.235 660.51] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494a412cb411cecf9196f717d6bc9c272c62) >> +>> +endobj +9853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 591.858 198.123 602.333] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a36cdb8874f88d786106aa6def2c00c4d) >> +>> +endobj +9854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 578.816 170.301 589.291] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494) >> +>> +endobj +9855 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.801 578.816 241.842 589.291] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a39016931d8896e4c8c4074b374d2278c) >> +>> +endobj +9856 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 565.774 244.209 576.249] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_a025f87682b9d5436e209106aa3e843cb) >> +>> +endobj +9857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 552.732 202.973 563.207] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model_aef6a60daf9507129719aefc30dc45166) >> +>> +endobj +9858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 202.802 235.396 213.277] +/A << /S /GoTo /D (class_photon_transform_view_scale_control_a4afeab195322ed62074a1bb41f091b91) >> +>> +endobj +9859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.881 202.802 375.018 213.277] +/A << /S /GoTo /D (class_photon_transform_view_scale_model) >> +>> +endobj +9860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.449 189.76 199.244 200.235] +/A << /S /GoTo /D (class_photon_transform_view_scale_control_a8b596e08ef92033d40af5c34a881bcd1) >> +>> +endobj +9861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.449 161.684 166.32 172.158] +/A << /S /GoTo /D (class_photon_transform_view_scale_control_a8345675a1c1c122f426c525c5b3dc5d3) >> +>> +endobj +9862 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 148.534 209.483 159.116] +/A << /S /GoTo /D (class_photon_transform_view_scale_control_a4bc567bf020c6807ad2e9960a25435e2) >> +>> +endobj +9863 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [300.82 148.534 360.124 159.116] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9864 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.01 148.534 474.479 159.116] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9868 0 obj +<< +/D [9866 0 R /XYZ 69.866 801.979 null] +>> +endobj +9848 0 obj +<< +/D [9866 0 R /XYZ 70.866 740.034 null] +>> +endobj +3234 0 obj +<< +/D [9866 0 R /XYZ 70.866 740.034 null] +>> +endobj +9869 0 obj +<< +/D [9866 0 R /XYZ 70.866 701.93 null] +>> +endobj +9871 0 obj +<< +/D [9866 0 R /XYZ 70.866 631.797 null] +>> +endobj +3238 0 obj +<< +/D [9866 0 R /XYZ 70.866 538.275 null] +>> +endobj +9872 0 obj +<< +/D [9866 0 R /XYZ 70.866 513.334 null] +>> +endobj +3242 0 obj +<< +/D [9866 0 R /XYZ 70.866 513.334 null] +>> +endobj +9873 0 obj +<< +/D [9866 0 R /XYZ 88.314 455.853 null] +>> +endobj +9874 0 obj +<< +/D [9866 0 R /XYZ 88.314 439.822 null] +>> +endobj +9875 0 obj +<< +/D [9866 0 R /XYZ 88.314 423.792 null] +>> +endobj +3246 0 obj +<< +/D [9866 0 R /XYZ 70.866 406.482 null] +>> +endobj +9876 0 obj +<< +/D [9866 0 R /XYZ 70.866 381.51 null] +>> +endobj +3250 0 obj +<< +/D [9866 0 R /XYZ 70.866 381.51 null] +>> +endobj +9877 0 obj +<< +/D [9866 0 R /XYZ 70.866 355.088 null] +>> +endobj +3254 0 obj +<< +/D [9866 0 R /XYZ 70.866 355.088 null] +>> +endobj +9878 0 obj +<< +/D [9866 0 R /XYZ 70.866 330.386 null] +>> +endobj +3258 0 obj +<< +/D [9866 0 R /XYZ 70.866 330.386 null] +>> +endobj +9879 0 obj +<< +/D [9866 0 R /XYZ 70.866 305.685 null] +>> +endobj +3262 0 obj +<< +/D [9866 0 R /XYZ 70.866 305.685 null] +>> +endobj +9880 0 obj +<< +/D [9866 0 R /XYZ 70.866 280.984 null] +>> +endobj +3266 0 obj +<< +/D [9866 0 R /XYZ 70.866 280.984 null] +>> +endobj +9881 0 obj +<< +/D [9866 0 R /XYZ 70.866 242.741 null] +>> +endobj +3270 0 obj +<< +/D [9866 0 R /XYZ 70.866 134.077 null] +>> +endobj +9882 0 obj +<< +/D [9866 0 R /XYZ 70.866 109.244 null] +>> +endobj +3274 0 obj +<< +/D [9866 0 R /XYZ 70.866 109.244 null] +>> +endobj +3278 0 obj +<< +/D [9866 0 R /XYZ 70.866 70.866 null] +>> +endobj +9865 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F107 6686 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9899 0 obj +<< +/Length 1421 +/Filter /FlateDecode +>> +stream +xڽXKs6WVr8$S;i@˰͉D$wDR%nOž]bDEtaf#MN4Jd*Ri)#R$I4qL񇛲)Yq\eE}Psn"y0YxWGssGThɒow׳o +ሬiʣr.;О:sˈ g'NpDoFJk$w&S1OTV=yw\WKS4;J.Ku"7єr$ +C$ppɼ)+楴"*r/iLsɾמW,p2M O KG4L1D1:popgRe&P˖*W7&B(ApGӬco +X'V=Ơ !c +)-A;|UANg=H2ov`a8I!`8DenV/s("#ش< BLQo']Pi^ 4ɖc$iK];1S$bFSBP*D̦Sʼ-< +a6(QBKr- G6R+jKX! .nn[K b +4mu\3%\fnEhb,Hne*LaòZwTס|tT +mXg8-YcZT -uva,yuR 8;{//U xQn8/ J.Ɠd* +ʱlv?xEyȅ]ü`WY ǣ+`5lg&rjmv}ݼ5*[ja߳X+sàS 8#SȎO`&,@B4jV:M-8WP/6RGLCH>,L kжhjk(XxZ㷕"&Rj8aZf³=YçW e+ ݺo͇kckw^\#8ǟ같"n%lpI!Iy7Mx?n(_a^> +endobj +9887 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.4 510.646 198.924 521.121] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432e) >> +>> +endobj +9888 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [212.502 510.646 325.084 521.121] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432eab9f5c797ebbf55adccdd8539a65a0241) >> +>> +endobj +9889 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.821 510.646 465.299 521.121] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432ea62e88848d85e21d979ff5e5efda8a268) >> +>> +endobj +9890 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [473.036 510.646 525.406 521.121] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432ea412cb411cecf9196f717d6bc9c272c62) >> +>> +endobj +9902 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 498.691 148.235 509.166] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432ea412cb411cecf9196f717d6bc9c272c62) >> +>> +endobj +9891 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 442.202 198.123 452.676] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a22b3360da0a4aa09e0086af1ae091da2) >> +>> +endobj +9892 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 429.942 170.301 440.416] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432e) >> +>> +endobj +9893 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.801 429.942 241.842 440.416] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a9680982f5a84536b57ae3f806291ab37) >> +>> +endobj +9894 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 417.681 239.359 428.156] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_ac326b99330c3bcfe8df598893a2f3261) >> +>> +endobj +9895 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 405.421 202.973 415.896] +/A << /S /GoTo /D (class_photon_transform_view_scale_model_a7fd5e6b606026fb096e79391b587a66b) >> +>> +endobj +9896 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.897 69.767 197.407 78.251] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +9900 0 obj +<< +/D [9898 0 R /XYZ 69.866 801.979 null] +>> +endobj +9884 0 obj +<< +/D [9898 0 R /XYZ 70.866 753.893 null] +>> +endobj +3282 0 obj +<< +/D [9898 0 R /XYZ 70.866 753.893 null] +>> +endobj +9885 0 obj +<< +/D [9898 0 R /XYZ 70.866 665.679 null] +>> +endobj +3286 0 obj +<< +/D [9898 0 R /XYZ 70.866 651.089 null] +>> +endobj +9886 0 obj +<< +/D [9898 0 R /XYZ 70.866 624.575 null] +>> +endobj +3290 0 obj +<< +/D [9898 0 R /XYZ 70.866 624.575 null] +>> +endobj +9883 0 obj +<< +/D [9898 0 R /XYZ 70.866 587.822 null] +>> +endobj +3294 0 obj +<< +/D [9898 0 R /XYZ 70.866 587.822 null] +>> +endobj +9901 0 obj +<< +/D [9898 0 R /XYZ 70.866 549.761 null] +>> +endobj +9903 0 obj +<< +/D [9898 0 R /XYZ 70.866 481.316 null] +>> +endobj +3298 0 obj +<< +/D [9898 0 R /XYZ 70.866 391.828 null] +>> +endobj +9904 0 obj +<< +/D [9898 0 R /XYZ 70.866 366.93 null] +>> +endobj +3302 0 obj +<< +/D [9898 0 R /XYZ 70.866 366.93 null] +>> +endobj +9905 0 obj +<< +/D [9898 0 R /XYZ 88.314 309.492 null] +>> +endobj +9906 0 obj +<< +/D [9898 0 R /XYZ 88.314 294.934 null] +>> +endobj +9907 0 obj +<< +/D [9898 0 R /XYZ 88.314 280.377 null] +>> +endobj +3306 0 obj +<< +/D [9898 0 R /XYZ 70.866 263.931 null] +>> +endobj +9908 0 obj +<< +/D [9898 0 R /XYZ 70.866 239.002 null] +>> +endobj +3310 0 obj +<< +/D [9898 0 R /XYZ 70.866 239.002 null] +>> +endobj +9909 0 obj +<< +/D [9898 0 R /XYZ 70.866 212.622 null] +>> +endobj +3314 0 obj +<< +/D [9898 0 R /XYZ 70.866 212.622 null] +>> +endobj +9910 0 obj +<< +/D [9898 0 R /XYZ 70.866 187.963 null] +>> +endobj +3318 0 obj +<< +/D [9898 0 R /XYZ 70.866 187.963 null] +>> +endobj +9911 0 obj +<< +/D [9898 0 R /XYZ 70.866 163.305 null] +>> +endobj +3322 0 obj +<< +/D [9898 0 R /XYZ 70.866 163.305 null] +>> +endobj +6305 0 obj +<< +/D [9898 0 R /XYZ 70.866 138.646 null] +>> +endobj +3326 0 obj +<< +/D [9898 0 R /XYZ 70.866 138.646 null] +>> +endobj +9897 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F77 6067 0 R /F82 6068 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +9970 0 obj +<< +/Length 2045 +/Filter /FlateDecode +>> +stream +xr8mdjv{x최CE&$d@4ISgf*h ݍ03"+׸1BdEA`cqM;&6Uqp>:ad.00*as}Ȱ[QdEg82 +0<ߵ|O.!M'_6姡5ld~t$z> ͜H'2q1%OkJZ"]E_qG$v`QhL +pp7x?2q|LI˅՟k̫5%_#goFRk(CIXNS۷\A"0]c_Ǭx qrɪ: [ 7JbuJBŨv (Ҝ4T !tq +itŝ&n$E!f1C9 ߊf +}ML=۱|@VIVc`wV$! oTC[0Rfy) E 2O$[ɥ" +P=ɮGyЎH_5zvn·K ldZ$4o_iE|M%X i$6L~&@j4y=N]@<. ֤J8{N~6|ĩi3c-pc|FVO1}]}R`m.s aF?p2'dNz&mLPI|]U@*qR!j>s,-a#zQ o)y3oJ̗WQhH}!.͖ iZq'36͚ '{=%oϗAs">%;s=N[A9T+21O;Ԟ;UqQEw@pxnGuuy|&=\-YБ$vAR.pǖ H$ +-,ὠ̏,<<繎QVbt$S·t3߄d&6]Z"yݜ{6r?ѬN4r.LgΘ%X^@vLv5l޹ )aHdsP3RK麣=J5l&)[^|X(6l׷t9u{]$5s?aNh&abh[TH>~[g}X8%tc=j_Rg'c 冭+|pc5 +ZV.dh`JQ{@ţJlIVx" # !4OJIn;..=#hpߚ^˹ḂFVwMC#'cz>u]|#⮼٥Ŵ^b +mwTx )%v kR-u&Hj7Ǧ9YI1tLĜ Z1)p==x(BvqY."l>ue7aXmV" `pYoݱZ(jOϘD~zۡ6ˋȍmVsu;Ԇ]o<3ma_3:*riZG+{j4LXdh2qCY~jYh4]}9oLkf4gjIJ ju`KbZ, 8 WYzF> +endobj +9912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 734.551 191.721 745.026] +/A << /S /GoTo /D (class_photon_view_a0eee05bdd9c48c263a41ccfec45b8651) >> +>> +endobj +9913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.222 719.256 220.113 728.979] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9914 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [490.098 719.256 525.406 728.979] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 710 128.268 717.835] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9915 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 694.811 190.278 705.285] +/A << /S /GoTo /D (class_photon_view_a484df6eca8208330c00c317334dd8115) >> +>> +endobj +9916 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.764 694.811 249.132 705.285] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.108 679.612 264.998 689.239] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 666.029 190.278 676.504] +/A << /S /GoTo /D (class_photon_view_ad892c308b04787c06907120e64f6bc03) >> +>> +endobj +9919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.108 650.831 264.998 660.457] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 637.247 214.137 647.722] +/A << /S /GoTo /D (class_photon_view_a2a681a9becf63f444139493379e2ada7) >> +>> +endobj +9921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.622 637.247 272.991 647.722] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 608.358 169.108 618.94] +/A << /S /GoTo /D (class_photon_view_af1871faa617868760d00e59d443d2ad8) >> +>> +endobj +9923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.594 608.358 231.899 618.94] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [264.784 608.358 346.254 618.94] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 594.963 179.07 605.545] +/A << /S /GoTo /D (class_photon_view_a677557c203df8f79277095ce5f9da001) >> +>> +endobj +9926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.556 594.963 241.86 605.545] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +9927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.746 594.963 356.215 605.545] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +9928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 581.676 251.338 592.151] +/A << /S /GoTo /D (class_photon_view_a869710e081df022bbb4fa160e7ab9e0a) >> +>> +endobj +9929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [409.345 566.478 525.406 576.104] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +9974 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 557.052 170.431 565.145] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +9930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 541.828 134.409 552.41] +/A << /S /GoTo /D (class_photon_view_ad288db13a15d581e0f7c5886f4036720) >> +>> +endobj +9931 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.11 541.828 280.836 552.41] +/A << /S /GoTo /D (group__public_api_gab84b274b6aa3b3a3d7810361da16170f) >> +>> +endobj +9932 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 513.046 159.828 523.628] +/A << /S /GoTo /D (class_photon_view_a2950cb34198fa050a7e65a6b2f722c68) >> +>> +endobj +9933 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [246.529 513.046 306.255 523.628] +/A << /S /GoTo /D (group__public_api_gab84b274b6aa3b3a3d7810361da16170f) >> +>> +endobj +9934 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 484.264 134.409 494.847] +/A << /S /GoTo /D (class_photon_view_a6bc9726af14a8c7b8bdd7793c495a6e8) >> +>> +endobj +9935 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.11 484.264 276.479 494.847] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9936 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 455.483 159.828 466.065] +/A << /S /GoTo /D (class_photon_view_ab6f075ebed73c05fa1c9ea6e81b66cca) >> +>> +endobj +9937 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [246.529 455.483 301.898 466.065] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +9938 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 426.701 188.914 437.283] +/A << /S /GoTo /D (class_photon_view_aaa61ad448b005df342350762476e367d) >> +>> +endobj +9939 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 367.282 167.853 377.757] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9940 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.353 367.282 184.799 377.757] +/A << /S /GoTo /D (class_photon_view_ace8c64cae230e1fbd3356112274e4d8d) >> +>> +endobj +9941 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 353.78 167.853 364.362] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9942 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.353 353.78 184.799 364.362] +/A << /S /GoTo /D (class_photon_view_a24370932ff0a1f79d6dcb83a2bd7a27b) >> +>> +endobj +9943 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 340.493 167.853 350.968] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9944 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.353 340.493 187.785 350.968] +/A << /S /GoTo /D (class_photon_view_a84084cfaf09debaf88362629bb772907) >> +>> +endobj +9945 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.231 340.493 231.943 350.968] +/A << /S /GoTo /D (class_photon_view_a309ddedb443400696cf80da2ff579262) >> +>> +endobj +9946 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 282.751 140.488 291.235] +/A << /S /GoTo /D (class_photon_view_af37a856ac051d3882de691851c7d2d08) >> +>> +endobj +9947 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 267.465 138.865 277.84] +/A << /S /GoTo /D (class_photon_view_ae98bb0b746b0827478b3997ba2302dab) >> +>> +endobj +9948 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 254.178 220.046 264.652] +/A << /S /GoTo /D (class_photon_view_aa4792e336ad2b338fcae475c2cca545c) >> +>> +endobj +9949 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 214.437 160.375 224.911] +/A << /S /GoTo /D (class_photon_view_a3a3650071e812aca9b9cd518638ebd7d) >> +>> +endobj +9950 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 201.042 179.805 211.517] +/A << /S /GoTo /D (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990) >> +>> +endobj +9951 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.305 201.042 244.586 211.517] +/A << /S /GoTo /D (class_photon_view_a634144e72774beb34d84c3ab7cac9cd4) >> +>> +endobj +9952 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 187.648 182.746 198.122] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2) >> +>> +endobj +9953 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.246 187.648 295.64 198.122] +/A << /S /GoTo /D (class_photon_view_a72f924cef0d24da2c542e80062cc3934) >> +>> +endobj +9954 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.869 187.648 475.116 198.122] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2aa2090ce6165d865de2f99434311550a2) >> +>> +endobj +9955 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 174.145 183.965 184.728] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3) >> +>> +endobj +9956 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.465 174.145 298.078 184.728] +/A << /S /GoTo /D (class_photon_view_a57eb2e5b6b3aea9e4ac6cc494dc19a27) >> +>> +endobj +9957 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [306.307 174.145 407.054 184.728] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3ab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +9958 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 160.858 166.033 171.333] +/A << /S /GoTo /D (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39f) >> +>> +endobj +9959 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [166.533 160.858 241.197 171.333] +/A << /S /GoTo /D (class_photon_view_a29400fef2cf398230b2c63a7d66f6d9a) >> +>> +endobj +9960 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [249.426 160.858 344.828 171.333] +/A << /S /GoTo /D (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa4457d440870ad6d42bab9082d9bf9b61) >> +>> +endobj +9961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.495 145.66 252.386 155.286] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +9962 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.034 132.077 269.769 142.551] +/A << /S /GoTo /D (class_photon_view_ae0c6ba75b4b849f41a2164c0ad7dbf8f) >> +>> +endobj +9963 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 120.466 164.051 128.95] +/A << /S /GoTo /D (class_photon_view_aa32a59c1f2bd619673142ab75fc7c928) >> +>> +endobj +9964 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 107.072 173 115.556] +/A << /S /GoTo /D (class_photon_view_ac63b242555603f30ae5b7a099b6fae97) >> +>> +endobj +9965 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [348.845 90.089 445.002 99.715] +/A << /S /GoTo /D (class_photon_view_a2a681a9becf63f444139493379e2ada7) >> +>> +endobj +9971 0 obj +<< +/D [9969 0 R /XYZ 69.866 801.979 null] +>> +endobj +9972 0 obj +<< +/D [9969 0 R /XYZ 70.866 775.009 null] +>> +endobj +9975 0 obj +<< +/D [9969 0 R /XYZ 70.866 407.74 null] +>> +endobj +9976 0 obj +<< +/D [9969 0 R /XYZ 70.866 321.424 null] +>> +endobj +9968 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10030 0 obj +<< +/Length 2195 +/Filter /FlateDecode +>> +stream +xYKsFWr Xe灙\[[+R%[kA$boOA -˩\8 _޻O^ Q$󮗞(“Ex Q gs*CrWykf{{t3}U,Q_!e8\]f0D! d{rs<ÈE7[/ ƻ: vZ`DKFG Z]Z|ٜJUidk:d(9("ܲR{׻s.4mgr +4]~ǘ{1XެTj6n/$7$@'Ӣw((oN*4U<%>!co=H="(FT;g]Z+wxv+{׆k;^pga*TI٤j + ⽪sJ)1jp& %8]U +*1T G۵3}VC_ KrDvpa?ȤQhĎ󰃇 -tşCOAO0ݬҮڭ&nc~fsB;賮\L+fv \I35քgxN`/|-^Twy9ʫDejTB(]i&683YlXPlxQCOu(59ZPjΎ_̚ ŅG;1`yl?O+iT2? A +±Iggwix*LC +E(Lۯs{YTx 5!ݽ:6q߾R&"t֞<ҭMH2ܷ1OI'$.n2[!=b-O:4C%u/ +>:)" +L-%4DpEHH6 7'.~p:s;Oٝ8ɳ7:i05dB=cyv.Zc c PUUhʤHw286pЧ?d 6i *&j ת4ퟩl7,dvЧRKMj˜^!b̨BmL@e˓{[݆x(n֘"K3Q0cG`5U&k6}<3]AO'oΐzUAغӖ\0HTS[ +Bem +<[jSc@y~ڣAF$by] lɥQڨ6Z2:$}c8CZgif{ 6 `[ +a3{ʷ)H ɨwxowy$ЬqO;`H3|2@)EG XS", %(ӎ%?6~.RũɮWP{'3b:F1$nR7EC!rX0?Rtff:]D yP۟rrqKeVmCvu-^ FJ?{b?ȗڪqL-SرI1K1=)5m'z=J((PgXflNxaP՞˔'! +E QPޗ}fYW=8uiyC<ƿT(XVm`VYlo `h{* eMjj$hnXL"cG9"П ={ ԵNm+UJ{P?Yuy@Ќ9Ʃs+o#\0)ɍ!ur 5I޻SI|ozwxj?\8<;{6LBOVZk1T`/_- IAT3x'̽hVLgrBސ &u F^30dګ[l><b] +endstream +endobj +10029 0 obj +<< +/Type /Page +/Contents 10030 0 R +/Resources 10028 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10034 0 R +/Annots [ 9966 0 R 9967 0 R 10010 0 R 10011 0 R 10012 0 R 10013 0 R 10014 0 R 10015 0 R 10016 0 R 10017 0 R 10018 0 R 10019 0 R 10020 0 R 10021 0 R 10022 0 R 10023 0 R 10033 0 R 10024 0 R 10025 0 R ] +>> +endobj +9966 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 732.262 130.652 742.737] +/A << /S /GoTo /D (class_photon_view_aae1e4dcb7cf0cf2cd460490cefdcda46) >> +>> +endobj +9967 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [127.283 717.311 196.056 727.58] +/A << /S /GoTo /D (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c) >> +>> +endobj +10010 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.593 700.46 412.265 710.183] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +10011 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 674.811 135.449 684.726] +/A << /S /GoTo /D (class_photon_view_a309ddedb443400696cf80da2ff579262) >> +>> +endobj +10012 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.843 657.606 202.733 667.33] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10013 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 642.917 167.351 653.038] +/A << /S /GoTo /D (class_photon_view_a65ea130a5d46f64984ff5361518f6050) >> +>> +endobj +10014 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.675 625.712 191.565 635.435] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10015 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 610.669 150.145 620.938] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10016 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.645 610.669 176.918 620.938] +/A << /S /GoTo /D (class_photon_view_ad696cb93fb9835d633b9def970650edc) >> +>> +endobj +10017 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [164.028 593.914 208.919 603.541] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10018 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 568.169 165.522 578.29] +/A << /S /GoTo /D (class_photon_view_a535e478c9fe2fce6af7102e32833135a) >> +>> +endobj +10019 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 553.218 173.278 563.339] +/A << /S /GoTo /D (class_photon_view_afcf78ab953a119454750b7e85242eae4) >> +>> +endobj +10020 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 538.267 169.01 548.388] +/A << /S /GoTo /D (class_photon_view_aa9d1d25847f25afbac6b68c99c7e286c) >> +>> +endobj +10021 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 523.316 142.111 533.231] +/A << /S /GoTo /D (class_photon_view_a823593ba0cf86454176b4f0d04a70590) >> +>> +endobj +10022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.675 506.208 191.565 515.835] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10023 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [397.531 139.097 525.406 149.571] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +10033 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 128.845 137.961 137.616] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +10024 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [86.929 109.41 273.159 119.992] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +10025 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.214 79.938 280.445 90.412] +/A << /S /GoTo /D (class_photon_network_a2ea887525d418e088bf99d303673d2f3) >> +>> +endobj +10031 0 obj +<< +/D [10029 0 R /XYZ 69.866 801.979 null] +>> +endobj +10032 0 obj +<< +/D [10029 0 R /XYZ 70.866 775.009 null] +>> +endobj +3330 0 obj +<< +/D [10029 0 R /XYZ 70.866 487.258 null] +>> +endobj +3334 0 obj +<< +/D [10029 0 R /XYZ 70.866 421.799 null] +>> +endobj +9982 0 obj +<< +/D [10029 0 R /XYZ 70.866 396.068 null] +>> +endobj +3338 0 obj +<< +/D [10029 0 R /XYZ 70.866 396.068 null] +>> +endobj +9990 0 obj +<< +/D [10029 0 R /XYZ 70.866 368.608 null] +>> +endobj +3342 0 obj +<< +/D [10029 0 R /XYZ 70.866 368.608 null] +>> +endobj +9988 0 obj +<< +/D [10029 0 R /XYZ 70.866 343.147 null] +>> +endobj +3346 0 obj +<< +/D [10029 0 R /XYZ 70.866 343.147 null] +>> +endobj +9989 0 obj +<< +/D [10029 0 R /XYZ 70.866 317.547 null] +>> +endobj +3350 0 obj +<< +/D [10029 0 R /XYZ 70.866 317.547 null] +>> +endobj +9980 0 obj +<< +/D [10029 0 R /XYZ 70.866 291.809 null] +>> +endobj +3354 0 obj +<< +/D [10029 0 R /XYZ 70.866 291.809 null] +>> +endobj +9983 0 obj +<< +/D [10029 0 R /XYZ 70.866 205.151 null] +>> +endobj +3358 0 obj +<< +/D [10029 0 R /XYZ 70.866 185.204 null] +>> +endobj +9977 0 obj +<< +/D [10029 0 R /XYZ 172.121 70.866 null] +>> +endobj +10028 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F104 6525 0 R /F77 6067 0 R /F115 6866 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10055 0 obj +<< +/Length 2261 +/Filter /FlateDecode +>> +stream +xZK+o8Ǵwv,U-!fsYjU׻nϡ"^HI^s0o>,_z"`$ +4o򤮧3F2ݮu$MVH;i>c€zE$Kד_wz8 ړJ%QD}oBpKh#ZU;"2$Nlȿ^MY)cTp|lu\zm,t3+fk{{zPo**],b |dogҎ zZ:7}x7>vv}?SEڱ2jl328S?)۩>XcHk4KxR{*3&Né\k'=ޞe@C/ q("Dmz}Zhff !I u7cJYc$&!l,$w.L܄}'cJp[fX[GSMU=;q/9Q[ }nN T= x%$A SL2sR㧞SmUټx\g˕{JЄMc >&X8N$ r-$y~[Uq礁J'i3n6P]yCn8CZ^P.grڰ1r6}K U첆m:3s QNr_p,vSns|s +6oM`5-/]e=~i.<]_;;v ^ȊA."IiRewbF $q[vi~c1k,O݃ci|p:Kc mYez_mejXl֋ c6TnėvF }!+'[saI{3##$qZ߲䣋 +`mi2 /پ2PY-/s-\Q{EKMV;GѶpuk;E^۪X _Ҳm:ɭkRY1~xt:N +c 7I3,_c Gt`TnmStR؞#lN +w5t+Z,ܧZCV-i*PfˬHlh=.sDG%)YFHvݕCcXUF*:U#…jP04=wfea-a&f#@PAk0\({PqfL`Y׵w,vln{h7$M\k,Gڭ8}Շ>0i3 %H$nfw< z_n%7P6{cѫ>m;  xVka|ԿW>0 +_WHtuSLH"= `wW3vSX϶0"8Dw<8 3x|7 +7OOO_牝7c6&*G`'xxC utߍ%D +On?' +&^"]Jo"ͻ=1:{̑’Z-ZeY8KWoP, 8$ (cU hQw?c /tNj';q_Gt.>: ?mTwهQ"a +Ƒ聡8U];$L$d@X(~XO=<$PޅEy{x`a"㜛>0(CQI?6R:80< l.4OCT FHie8oFY +П@FpBFjq& c2A_f/Ͽ>2($T/a M׊aa$\~ ]%mOc(9N[g'e]1ů)Ob1i֟qN|;K}'-Mܻ\;om! +endstream +endobj +10054 0 obj +<< +/Type /Page +/Contents 10055 0 R +/Resources 10053 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10034 0 R +/Annots [ 10026 0 R 10027 0 R 10057 0 R 10042 0 R 10043 0 R 10044 0 R 10045 0 R 10046 0 R 10047 0 R 10048 0 R 10049 0 R 10050 0 R 10051 0 R ] +>> +endobj +10026 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.278 732.71 191.935 743.293] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10027 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 732.71 525.406 743.293] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10057 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 722.647 91.113 731.131] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10042 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [275.237 703.131 324.894 713.713] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10043 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226.796 691.176 376.471 701.758] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +10044 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.394 673.659 221.051 684.134] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10045 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 594.199 169.4 604.781] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10046 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [247.294 523.084 296.951 533.667] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10047 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.398 507.271 191.05 516.042] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10048 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 357.782 169.4 368.364] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10049 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [247.294 298.623 296.951 309.205] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10050 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.398 282.809 191.05 291.58] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 121.365 169.4 131.947] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10056 0 obj +<< +/D [10054 0 R /XYZ 69.866 801.979 null] +>> +endobj +3362 0 obj +<< +/D [10054 0 R /XYZ 70.866 771.024 null] +>> +endobj +6421 0 obj +<< +/D [10054 0 R /XYZ 489.264 676.543 null] +>> +endobj +3366 0 obj +<< +/D [10054 0 R /XYZ 70.866 655.911 null] +>> +endobj +9985 0 obj +<< +/D [10054 0 R /XYZ 70.866 440.126 null] +>> +endobj +3370 0 obj +<< +/D [10054 0 R /XYZ 70.866 421.381 null] +>> +endobj +9984 0 obj +<< +/D [10054 0 R /XYZ 70.866 215.664 null] +>> +endobj +3374 0 obj +<< +/D [10054 0 R /XYZ 70.866 196.919 null] +>> +endobj +10053 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F115 6866 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10069 0 obj +<< +/Length 1969 +/Filter /FlateDecode +>> +stream +xYݓ4_ax!ow0Жc.ASqj%v + 0>YVoY;s6v9{]:)8pN4$Y̝y,L ?IMByR- {ldN,JS98Y4e:v`{cA:wrQ0q\~y}-lB3ϪR8gs,ثz+Tǩ-ZZj꽒+S5ͩVl3ҢYufMzN)yZ3`xqLs#u#ޡEKVMue h ,EJUkZBV;OX fi=`y%Mվ1?ڑfPLDbvAl-m@goԫ0<. .я9XE<_YrKsշyy2V$0:X~l@YW Oo*_p?CSO@f-ՔiF!$ȨCEjϽ?a{ۡi"G( +Awfe0$nR*ٴe[wz cA֡ lA( Ƥ001J w7!KY6p#]f>OysbDaZ/s@j_˜{G̷=p"GC2}^\Ӟb\_Ҩr_` +\<8w!aIL/K!|W +QҴBQQw+ޛXw]iª`ȖwژssE3:X3V~'U6{Pyi6#bݒ5 0iw2/0T}LK}_Au10uz"7t-jDK pѝbykkEsLՉ`dA_@n(xQhRM$q<+3F&n`/c.o ?VbTu^pjan}|~:U^y|[Ժ=]yFj$\D[M7Uf zCL{^t9%'ŀr`8SF'ǡѺVwP>Z3:*XI2N}9#QqOM%|kٍyRM{擈Eږ(<3:QsjOb'Y9RyFq~:'S.~R\ÙL0R:QZxוj겴o*bc(zd~ })tEbe6PmP1c#="ya/}`F15$1WSȆ LߵA8X}K,NYY6ϼm ~ @3DZ呀هB?=i@+BMtg G2uЩ#r/^Q3w:GMEƴ14,y/*R]\!F䈸$i&v{z(NVyÆۦ2Bt?khoD禝m[ypҒL{o m@[^xJW7#ot`>lieSu06({_pn 5*T{_0[fߠ{%OzZ?fRvgSF (sbtؙ͋zH.-Ǝߠ3<{D@%x?V2mk|Mc_({T78 +endstream +endobj +10068 0 obj +<< +/Type /Page +/Contents 10069 0 R +/Resources 10067 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10034 0 R +/Annots [ 10052 0 R 10058 0 R 10059 0 R 10060 0 R 10061 0 R 10062 0 R 10063 0 R 10064 0 R 10065 0 R 10066 0 R ] +>> +endobj +10052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [247.294 758.07 296.951 768.652] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10058 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.398 742.257 191.05 751.028] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10059 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 579.554 169.4 590.137] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10060 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [247.294 520.395 296.951 530.978] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10061 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.398 504.582 191.05 513.353] +/A << /S /GoTo /D (general_rpcManual) >> +>> +endobj +10062 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.379 321.153 243.036 331.628] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10063 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.394 303.529 221.051 314.004] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10064 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.379 242.715 243.036 253.19] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10065 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.394 225.091 221.051 235.565] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10066 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [331.192 137.077 437.811 147.552] +/A << /S /GoTo /D (class_photon_view_a2a681a9becf63f444139493379e2ada7) >> +>> +endobj +10070 0 obj +<< +/D [10068 0 R /XYZ 69.866 801.979 null] +>> +endobj +9986 0 obj +<< +/D [10068 0 R /XYZ 426.701 672.939 null] +>> +endobj +3378 0 obj +<< +/D [10068 0 R /XYZ 70.866 653.069 null] +>> +endobj +9981 0 obj +<< +/D [10068 0 R /XYZ 426.701 435.265 null] +>> +endobj +3382 0 obj +<< +/D [10068 0 R /XYZ 70.866 415.395 null] +>> +endobj +9987 0 obj +<< +/D [10068 0 R /XYZ 70.866 390.08 null] +>> +endobj +3386 0 obj +<< +/D [10068 0 R /XYZ 70.866 390.08 null] +>> +endobj +9978 0 obj +<< +/D [10068 0 R /XYZ 70.866 364.873 null] +>> +endobj +3390 0 obj +<< +/D [10068 0 R /XYZ 70.866 364.873 null] +>> +endobj +9979 0 obj +<< +/D [10068 0 R /XYZ 489.264 306.413 null] +>> +endobj +3394 0 obj +<< +/D [10068 0 R /XYZ 70.866 286.543 null] +>> +endobj +3398 0 obj +<< +/D [10068 0 R /XYZ 70.866 208.104 null] +>> +endobj +10009 0 obj +<< +/D [10068 0 R /XYZ 70.866 182.658 null] +>> +endobj +3402 0 obj +<< +/D [10068 0 R /XYZ 70.866 182.658 null] +>> +endobj +9993 0 obj +<< +/D [10068 0 R /XYZ 70.866 114.163 null] +>> +endobj +3406 0 obj +<< +/D [10068 0 R /XYZ 70.866 96.181 null] +>> +endobj +10008 0 obj +<< +/D [10068 0 R /XYZ 70.866 70.866 null] +>> +endobj +3410 0 obj +<< +/D [10068 0 R /XYZ 70.866 70.866 null] +>> +endobj +10067 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F82 6068 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10081 0 obj +<< +/Length 2085 +/Filter /FlateDecode +>> +stream +xڽYK6ϯ`TUGI9xf=aEb$eo7IQƵ!6~74ar<|xo7"߉IY<;G0t:yri>-~rxHIq8i,*mD٦J +C;qLb;'ē+ʍ>(Ǜx-@ < 7&~D89<ϕe Y>*-ŌRw?%lڴl.Wȭiak$l 7B~M_I ki$igjJ+Է(DMzlD=wK*j!Ib:y` c,Q2-h$W|+ Ô UaGVr'рFa=. A R-@uZ63UO>n, Oxv3H'Wc$3DܰNJ% -_="HvO C $A)?Ts׌;zTjY[*GQYZn& +HD(/ŁEOdՋŒp6ghD0ɯ3^d#vz+i!Y?+P2ڵ +J2IQՇ0 +iġ3п;YZRg-~߉4Z?(DITOBf"}+ծW!̖iR䲵iX0I mmP/Bks6sd\J'K}BF[]]`;mujV`91{î|2Z}=3_+ikq6Čfyh<"T~6'\,8[/G|MQ"^NQ++𙭅6~|?V?U椉4nyx05h5|gB]Vw ) MqU1\XFZz[%nH[i5wlq^kf +y_oDRnhBtLT6dUT߱^77T:# *jkM$hZ`z/e' !4Fh&%$cKuE @+VHpyMH=ҩ~wӵ<t]Z\?35zk"3Uӥ z$ +9FeܷZW8-Զ_g}=op֙i%O/S|7OǸmڦS#ȑ0Er'ޑk~2QX?1>uaōUw5Xe rUp񃮨ʠbE=zHh!ɻN +.<' +NWHxUWg)ZS3d4znD_Q&/)\ꓐDKD5lC_&1ޫ^\M xVZTinqB6XW^TSWyp>6S yf> +endobj +10071 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.365 592.669 229.022 603.144] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10072 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.404 563.089 317.079 573.564] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +10073 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.024 302.789 412.216 313.371] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +10074 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.787 227.815 161.443 238.29] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10075 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.775 210.191 430.432 220.665] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10076 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.128 198.236 197.497 208.71] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.787 109.41 161.443 119.992] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10082 0 obj +<< +/D [10080 0 R /XYZ 69.866 801.979 null] +>> +endobj +10007 0 obj +<< +/D [10080 0 R /XYZ 70.866 752.981 null] +>> +endobj +3414 0 obj +<< +/D [10080 0 R /XYZ 70.866 752.981 null] +>> +endobj +10002 0 obj +<< +/D [10080 0 R /XYZ 70.866 725.645 null] +>> +endobj +3418 0 obj +<< +/D [10080 0 R /XYZ 70.866 725.645 null] +>> +endobj +9999 0 obj +<< +/D [10080 0 R /XYZ 70.866 699.914 null] +>> +endobj +3422 0 obj +<< +/D [10080 0 R /XYZ 70.866 699.914 null] +>> +endobj +9992 0 obj +<< +/D [10080 0 R /XYZ 70.866 664.249 null] +>> +endobj +3426 0 obj +<< +/D [10080 0 R /XYZ 70.866 664.249 null] +>> +endobj +10005 0 obj +<< +/D [10080 0 R /XYZ 70.866 638.657 null] +>> +endobj +3430 0 obj +<< +/D [10080 0 R /XYZ 70.866 638.657 null] +>> +endobj +9994 0 obj +<< +/D [10080 0 R /XYZ 454.592 565.973 null] +>> +endobj +3434 0 obj +<< +/D [10080 0 R /XYZ 70.866 544.176 null] +>> +endobj +9995 0 obj +<< +/D [10080 0 R /XYZ 288.844 473.267 null] +>> +endobj +3438 0 obj +<< +/D [10080 0 R /XYZ 70.866 451.471 null] +>> +endobj +9997 0 obj +<< +/D [10080 0 R /XYZ 70.866 425.91 null] +>> +endobj +3442 0 obj +<< +/D [10080 0 R /XYZ 70.866 425.91 null] +>> +endobj +3446 0 obj +<< +/D [10080 0 R /XYZ 70.866 400.318 null] +>> +endobj +10040 0 obj +<< +/D [10080 0 R /XYZ 70.866 372.362 null] +>> +endobj +3450 0 obj +<< +/D [10080 0 R /XYZ 70.866 372.362 null] +>> +endobj +9184 0 obj +<< +/D [10080 0 R /XYZ 70.866 347.462 null] +>> +endobj +3454 0 obj +<< +/D [10080 0 R /XYZ 70.866 347.462 null] +>> +endobj +10041 0 obj +<< +/D [10080 0 R /XYZ 70.866 291.937 null] +>> +endobj +3458 0 obj +<< +/D [10080 0 R /XYZ 70.866 272.028 null] +>> +endobj +10039 0 obj +<< +/D [10080 0 R /XYZ 419.642 201.119 null] +>> +endobj +3462 0 obj +<< +/D [10080 0 R /XYZ 70.866 179.322 null] +>> +endobj +10036 0 obj +<< +/D [10080 0 R /XYZ 70.866 154.083 null] +>> +endobj +3466 0 obj +<< +/D [10080 0 R /XYZ 70.866 154.083 null] +>> +endobj +10037 0 obj +<< +/D [10080 0 R /XYZ 175.161 70.866 null] +>> +endobj +10079 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F82 6068 0 R /F77 6067 0 R /F39 4826 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10094 0 obj +<< +/Length 1636 +/Filter /FlateDecode +>> +stream +xXQs8~`z" of!JF.+ l0vv:sOXiwvzNMN$ǡ7J8I̼ܻS'Qt_ϋFW٫eVvyF}U2W4S28sz66[U8Y7"sϾ6'TP-,uJeuA)cDآ0p+Yi[k&$l"=uTzT.dsaM% +W?ٲvմeƮEZsi)slC꾁iH|n֋bL0sD ^ +K!+;LUUV +50S APb,`:Uk9fOb>oT=E]Xd$o-/:#KE>\q m (瘑=uWRBϡHP:@36e]d@>(VZQc.6ċL(I[⺡2)ߑ 1 +, : wX + +rDSNsra5nrW-ͰqDbuCN:J$I0eR`'Tӱ`C|?X$ >pԬivٳ.}uJPʿYƠ9e$iA쎩A۞sP>/tE \LŽ^.i؏Zq=4"l^`PJ)ʶKZ$QO/=4NXil\)πi- ed`rf72q"T#J(ӫɓoWnפ^p8 W땶fk>Mw^9ǺQ+zqʢyt=MVAJӍӢ=ӍAc$B-ws -Nnͦ1Pu?R$)D-qq\ ] W9_.o^&fFGtzy uNnbpQvL =pe\Ld%}7zf~H=iSv>=%vR_.>|o+?gy7*j`<i}eRw&+!OUWzFbm"׫5pm.S WNPN%pLN K0.a=+wopn}RO8 A?zܤ^dRN>iμG샩dߧUg?h)ʃ6XȀ>%;f1%Fu| | xg,7.OA S05[{$+Yp7 +r ̡#`wƱa0xoQ"!)j@M_94So Y i?7r鮔%v &_Pɦ3ӡu%W8) +endstream +endobj +10093 0 obj +<< +/Type /Page +/Contents 10094 0 R +/Resources 10092 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10034 0 R +/Annots [ 10078 0 R 10083 0 R 10084 0 R 10085 0 R 10086 0 R 10096 0 R 10087 0 R 10088 0 R 10089 0 R 10090 0 R 10091 0 R ] +>> +endobj +10078 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.917 733.519 183.574 743.994] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10083 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.394 703.939 221.051 714.414] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10084 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.978 686.315 415.386 696.79] +/A << /S /GoTo /D (class_photon_view_a484df6eca8208330c00c317334dd8115) >> +>> +endobj +10085 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.256 674.252 220.913 684.834] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10086 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [497.227 674.252 525.406 684.834] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +10096 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 662.405 201.102 672.879] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +10087 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.196 555.457 173.853 566.039] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10088 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.398 539.644 177.152 548.415] +/A << /S /GoTo /D (general_instantiateManual) >> +>> +endobj +10089 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.87 393.952 188.098 404.534] +/A << /S /GoTo /D (class_ping_mono_editor_a2e854f702a4ced545a5b4405a511941e) >> +>> +endobj +10090 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.87 366.165 172.291 376.639] +/A << /S /GoTo /D (class_ping_mono_editor_a4bcf82f6d83763d40da8a8b91a602245) >> +>> +endobj +10091 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.143 353.213 182.522 363.688] +/A << /S /GoTo /D (class_ping_mono_editor_ae09a896c196c491b286e42b4bae1b5ff) >> +>> +endobj +10095 0 obj +<< +/D [10093 0 R /XYZ 69.866 801.979 null] +>> +endobj +3470 0 obj +<< +/D [10093 0 R /XYZ 70.866 771.024 null] +>> +endobj +10038 0 obj +<< +/D [10093 0 R /XYZ 338.615 665.288 null] +>> +endobj +3474 0 obj +<< +/D [10093 0 R /XYZ 70.866 648.161 null] +>> +endobj +10035 0 obj +<< +/D [10093 0 R /XYZ 70.866 623.855 null] +>> +endobj +3478 0 obj +<< +/D [10093 0 R /XYZ 70.866 623.855 null] +>> +endobj +9991 0 obj +<< +/D [10093 0 R /XYZ 70.866 598.875 null] +>> +endobj +3482 0 obj +<< +/D [10093 0 R /XYZ 70.866 598.875 null] +>> +endobj +10097 0 obj +<< +/D [10093 0 R /XYZ 181.141 540.824 null] +>> +endobj +3486 0 obj +<< +/D [10093 0 R /XYZ 70.866 524.228 null] +>> +endobj +10098 0 obj +<< +/D [10093 0 R /XYZ 70.866 433.865 null] +>> +endobj +3490 0 obj +<< +/D [10093 0 R /XYZ 70.866 338.969 null] +>> +endobj +3494 0 obj +<< +/D [10093 0 R /XYZ 70.866 261.829 null] +>> +endobj +10099 0 obj +<< +/D [10093 0 R /XYZ 70.866 236.931 null] +>> +endobj +3498 0 obj +<< +/D [10093 0 R /XYZ 70.866 236.931 null] +>> +endobj +10100 0 obj +<< +/D [10093 0 R /XYZ 70.866 210.412 null] +>> +endobj +3502 0 obj +<< +/D [10093 0 R /XYZ 70.866 210.412 null] +>> +endobj +10101 0 obj +<< +/D [10093 0 R /XYZ 70.866 185.754 null] +>> +endobj +3506 0 obj +<< +/D [10093 0 R /XYZ 70.866 185.754 null] +>> +endobj +10092 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10149 0 obj +<< +/Length 2196 +/Filter /FlateDecode +>> +stream +xZKs6WVjBH[4gu^hPKRqﻋ(Ǒi<oc][jȷbg]έaqZQYZv#g.#62mGBfڴ-dk']NԱ܎fV|X9̽%uV.-?Xn|ާ&,nZ1pVD,]&:}y1d2p~C&y^ dݍ6z 2mt\L2 -֓M]DZEY0\17hE77k}QA " Yp[h: t0m05Y/DFɤ##pPfnߧݗS;6 QœBhxZ/dלhf:grUC%7`u]] ݙyouDt:;_UE:u\!:yyxidZT: ֒Y@ };#Z^*$ȅLi(n,y窜fSĹ"oWik>7ӗ)XHDkiKn6U4BdzҶ4݂I?[v!s}/WAåAKJ]+jnj!4m3YI146zNz@DŽaQZ^D,2ΙX^ *` SsCθ\#cc 'ݮRdN\Y+rd&?:)F9aiW _e-Ѿڷ Q[@!m7Qv5y-[M^ʢYjj`W\ g4]WOa^4 x +8c0IAeQDml#d VPY!K"/Fi,;(En͌ px&Z-$giAtegZNUvGwkw*p]tցcN +oBAa>23gYY0K1oN L 5Q(nmַE~[i~^h2EJEqHM)\%*@6e-dVgee.(`)t|ZEm%z(kW^m۟LU~\?NM.Iw_c.XPAPW Fu7i^!1W79uZ0|v z NUxD+r[-A8~B. +{CK`"]"A%\E2$Ztc`$<ՇӘ`|jy]۰u\Guhu:#FVz?OM?@wRcDz_ua5&Drଖ$=xqݵ<-蹖_\I1CN`,:2G4u"m$IYrٛnUqQ4a kl)[2w-5]+x4Ғ>),yޝ.G\ +RiMX18/; $H=luх́/x<߀r9ĸ/&~D *ofx +n~u, ?{%*Q3I~.9j Oq#zs_5I_'MV﫢HQZcB]k/g +endstream +endobj +10148 0 obj +<< +/Type /Page +/Contents 10149 0 R +/Resources 10147 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10034 0 R +/Annots [ 10102 0 R 10103 0 R 10104 0 R 10105 0 R 10106 0 R 10107 0 R 10152 0 R 10108 0 R 10109 0 R 10110 0 R 10111 0 R 10112 0 R 10113 0 R 10114 0 R 10115 0 R 10116 0 R 10117 0 R 10118 0 R 10119 0 R 10120 0 R 10121 0 R 10122 0 R 10123 0 R 10124 0 R 10125 0 R 10153 0 R 10126 0 R 10127 0 R 10128 0 R 10129 0 R 10130 0 R 10154 0 R 10131 0 R 10132 0 R 10133 0 R 10134 0 R 10135 0 R 10136 0 R 10137 0 R 10138 0 R 10139 0 R 10140 0 R 10141 0 R 10142 0 R 10143 0 R ] +>> +endobj +10102 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.216 706.834 164.622 735.215] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10103 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.897 609.212 197.407 619.126] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +10104 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.848 609.212 276.964 619.126] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +10105 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 550.432 235.369 560.906] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_addc4f79164cd22c37d330b5ee2e340c7) >> +>> +endobj +10106 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [429.372 535.478 493.017 545.202] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10107 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [504.905 535.478 525.406 545.202] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10152 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 524.616 188.451 534.243] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10108 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 511.375 193.075 521.849] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a4e9e2aebcfa279a2eec0020f0e44b57a) >> +>> +endobj +10109 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 483.276 240.901 493.751] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a53833ef0f9be9906694fc600acc1b897) >> +>> +endobj +10110 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [244.386 483.276 299.755 493.751] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10111 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 455.07 257.407 465.653] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a9fb00e512c59fa60c0a95e0d6e4dbe89) >> +>> +endobj +10112 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [162.322 440.225 215.427 449.948] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) >> +>> +endobj +10113 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.789 440.225 380.998 449.948] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10114 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 426.972 246.944 437.554] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ac808cb2ed21bbbe52a0d33f4d927644e) >> +>> +endobj +10115 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [162.322 412.126 206.01 421.849] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da5988ddff3f148ce684fbbdb8f68896c1) >> +>> +endobj +10116 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.372 412.126 371.581 421.849] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10117 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 398.982 210.012 409.456] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a67049b5cdc50467f4790aca093c34e82) >> +>> +endobj +10118 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [302.344 384.125 365.771 393.751] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a8ee05dd443b9e51ddf962e655ca8ab77) >> +>> +endobj +10119 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 370.883 204.776 381.358] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10120 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [411.504 355.93 523.162 365.653] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) >> +>> +endobj +10121 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 342.785 193.317 353.259] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a0c64cd0591992e70393d719e07e09f6f) >> +>> +endobj +10122 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 314.687 258.752 325.161] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a03bc6b8a9fffa6a7e7b43ff793ad2b28) >> +>> +endobj +10123 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [262.238 314.687 334.49 325.161] +/A << /S /GoTo /D (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) >> +>> +endobj +10124 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [215.556 299.83 243.121 309.456] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10125 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [504.905 299.83 525.406 309.456] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10153 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 288.871 209.238 298.497] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10126 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 275.629 257.452 286.104] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10127 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.876 260.676 263.441 270.399] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10128 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 247.531 213.554 258.006] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a44be8bdd38ea28a1f540d38aede43bde) >> +>> +endobj +10129 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.039 247.531 289.291 258.006] +/A << /S /GoTo /D (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) >> +>> +endobj +10130 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [456.02 232.578 525.406 242.301] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10154 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 221.716 160.352 231.342] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10131 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 208.366 223.99 218.949] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a2f6b448cd6a97e4281d543196872d29a) >> +>> +endobj +10132 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [227.476 208.366 308.945 218.949] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +10133 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.087 193.52 515.759 203.244] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +10134 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 180.376 258.125 190.85] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) >> +>> +endobj +10135 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [313.755 165.422 416.012 175.145] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +10136 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 152.277 204.534 162.752] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a8ee05dd443b9e51ddf962e655ca8ab77) >> +>> +endobj +10137 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 124.179 250.943 134.654] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_abfe94f562c7abc261b25b0df95852a17) >> +>> +endobj +10138 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.429 124.179 309.797 134.654] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10139 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.447 109.322 347.477 118.949] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10140 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 96.081 261.9 106.555] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_af2f8ef712d9942f861f3357bb548e937) >> +>> +endobj +10141 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [265.385 96.081 320.754 106.555] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [280.847 81.224 330.878 90.851] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 67.875 256.914 78.457] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a94f901ce1a7af7b6c49937c5c47ceae4) >> +>> +endobj +10150 0 obj +<< +/D [10148 0 R /XYZ 69.866 801.979 null] +>> +endobj +6304 0 obj +<< +/D [10148 0 R /XYZ 70.866 697.716 null] +>> +endobj +3510 0 obj +<< +/D [10148 0 R /XYZ 70.866 691.179 null] +>> +endobj +10151 0 obj +<< +/D [10148 0 R /XYZ 70.866 590.387 null] +>> +endobj +10147 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10185 0 obj +<< +/Length 2567 +/Filter /FlateDecode +>> +stream +xR88Uejka衫iXHÃcݎ~ё$a;"/m p~rpxFl%a[#8 (q1&qmƖnsʺXU<9yWUMGe44d#6YͪTDfo>.lqp}c9}4lKb^@. ?`\W<% $F0&NćSB$UGiY{?gReZ||ht;l3-5{oNViħ 2ɚe͉Y9kz&p5x$$B/2iCVK:&1v\`$ ]m]ƻw_:1+,6Y  ߗoŁ?\-8 V2^U +^t71Y44ǚ6e5voJWj,m՚^WA +M.%{)~Z$##ȋ Z hH|oPv+v4̘7m+ ħxA&yMWZK.t˳,[]4CC޳,]5[ei٪'o_BN#RDHKN._kSoQYYs\;4̬U~LJKq)ૺt%2jѪiE͗L+Xs4OvAo=5m7:eOE7KpwPhtp5kґ䓢ң#ӟ+H]HEwkK託ޒJwtb&U33J]N{R/KQImJC^C]kn(~ T >,nmĶ}n{]w1KzNEKBXJi/$M/o?*0Uϟ0Kŗ[{#W]  Y\16䱁IiwP5{VKu pV?كsN+7\82+"MN*I~GMs:-Xda}k0ap\` 8EvP0ڝr.ȼ sEd%0aLwHO]>@2޿P`.馫n,$6rݜ/T[|֍rusO"RI[# f6vl~mAZF%Wo *&';"[ =C#(HDJ<ˎoE|$ҍ +)E +?bٙcU,'0ٶm85Y],EC/cBHㅾѳg"҂3ְU`4M3'U+Q7\6U4C3eInF}ԇ y.Pv+EMFckĎ +]wGW Uq +m%SnX,KX0ZBbe+^8v`Wû/iUtG h{Eg֌dฬS6+*a)؇0o6FurO¾ .%`ٲDukdON9sս@t\)`u1Lަ^k:i rJ~u4aSJVv͝ǖWeD8YU5Vki[#cP1c|Lj_6P(K<߫{\%́lj*9<;= 8PJr 7KNI:W#W{=o&Y"4xY(ag}x,0vCPԍOO ]1 +O$刚=kxawR"*Q_w'z$D0QqAְKʅb)4\Oic,jNwb }UJdcH-).u|.5% ++ӺI{TJWJH@_]MIJ%oz ++em|ޥ_). H/'Ӌ~˹ c<9_hQw>wҁ|`PMFlܕ_q~vmG9wݬ-1RfLV yo\ +endstream +endobj +10184 0 obj +<< +/Type /Page +/Contents 10185 0 R +/Resources 10183 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10192 0 R +/Annots [ 10144 0 R 10145 0 R 10146 0 R 10187 0 R 10155 0 R 10156 0 R 10157 0 R 10158 0 R 10188 0 R 10159 0 R 10160 0 R 10161 0 R 10162 0 R 10163 0 R 10164 0 R 10165 0 R 10166 0 R 10167 0 R 10168 0 R 10169 0 R 10170 0 R 10171 0 R 10172 0 R 10173 0 R 10174 0 R 10175 0 R 10190 0 R 10176 0 R 10177 0 R 10191 0 R 10178 0 R 10179 0 R 10180 0 R ] +>> +endobj +10144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.345 758.269 380.555 767.992] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 745.316 234.355 755.791] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.72 730.651 525.406 740.277] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +10187 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 719.692 132.682 729.318] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +10155 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 706.642 255.866 717.116] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_adcef9694244295ad493bc4ec0b4463d4) >> +>> +endobj +10156 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 678.819 315.024 689.401] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_abf25d63a39ef13cb9a0519e6e7672a2f) >> +>> +endobj +10157 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [318.51 678.819 360.689 689.401] +/A << /S /GoTo /D (namespace_photon_ac2f4b49a218ef814d00e31cd5f32bf4e) >> +>> +endobj +10158 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [491.905 664.164 525.406 673.888] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10188 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 653.302 187.95 662.929] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10159 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 640.145 285.185 650.727] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aaec2f5973228b99c6ad781d5cedadb6f) >> +>> +endobj +10160 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 612.537 227.191 623.011] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a443380e89534a70dfe4ce7ca16083035) >> +>> +endobj +10161 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.71 597.872 482.812 607.498] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +10162 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 584.714 265.611 595.296] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ade038a534b66b6d9a5faad53e21e22c9) >> +>> +endobj +10163 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 556.999 282.011 567.581] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a8a96aacb06c73f7cb25fe798ce01529a) >> +>> +endobj +10164 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 529.391 228.68 539.866] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_abddb6286cecb1409cbca26088328e86d) >> +>> +endobj +10165 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 501.676 230.446 512.15] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a943727ed00dbd38afc4b7d16c9c3454d) >> +>> +endobj +10166 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [296.801 487.01 341.692 496.637] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10167 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 473.96 243.142 484.435] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a945651c506d001121aa81e4fc8010a42) >> +>> +endobj +10168 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.347 459.198 509.812 468.922] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +10169 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 446.137 272.363 456.72] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a2b7bf39a0463bc564724e22c9757917b) >> +>> +endobj +10170 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [275.849 446.137 331.217 456.72] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10171 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [189.678 431.483 217.243 441.206] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10172 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.253 418.53 238.973 429.004] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a7a1add5919b1e6af0327e7e306e81da0) >> +>> +endobj +10173 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [210.19 403.865 255.081 413.491] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10174 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [163.273 240.81 222.389 251.285] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +10175 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [497.227 240.81 525.406 251.285] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +10190 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 228.855 110.543 239.33] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +10176 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.384 228.855 299.514 239.33] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +10177 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.947 144.766 525.406 155.241] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +10191 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 132.811 96.017 143.285] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +10178 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.568 115.186 232.438 125.661] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +10179 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [263.342 115.186 333.836 125.661] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10180 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 67.983 177.816 78.457] +/A << /S /GoTo /D (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) >> +>> +endobj +10186 0 obj +<< +/D [10184 0 R /XYZ 69.866 801.979 null] +>> +endobj +10189 0 obj +<< +/D [10184 0 R /XYZ 70.866 385.735 null] +>> +endobj +3514 0 obj +<< +/D [10184 0 R /XYZ 70.866 364.618 null] +>> +endobj +3518 0 obj +<< +/D [10184 0 R /XYZ 70.866 214.696 null] +>> +endobj +8065 0 obj +<< +/D [10184 0 R /XYZ 70.866 189.798 null] +>> +endobj +3522 0 obj +<< +/D [10184 0 R /XYZ 70.866 189.798 null] +>> +endobj +8088 0 obj +<< +/D [10184 0 R /XYZ 70.866 68.979 null] +>> +endobj +10183 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10210 0 obj +<< +/Length 2473 +/Filter /FlateDecode +>> +stream +xZKsܸWp*Dk+*k+W^ a!fn<8$I.gFנo˳_/$л񒀤q%#1 +Ot cJ$mZ$_ɺ]j{?( <:LS2廳wY;G!8.Qy,zEu5h8S3[iVw@k_V,ӻTM/r+V 7+m}Z,Vq+3L=: [w~^ʱcU:}MPOPna6MZ<&U%Al~5JUeW!7Qՙ~U['MwvĵYiK[6[ &`ȇvnݠXxy迭_?F;43`K~mm IdI19`1)1k3`z"<[SJ('r Fz#N6cEU69L6&}4J[DiBb#V޵ф?73鵃d~L_!;؁qc~=ҩ \Qc>@@kۺDx)YGꦓ՚_v?Xe֪Π+sk0(VpZ gWls+cv'"4#;x'{ t3Blrx@QܯY&d[yJhߚ!\ [Y#LK;D lܖUej{i1OW3(B/ܮ>N. o 9!?6k>?kPwo݀o[{;}GQLߍa- +Rv+\]dߋʄ ̨,$S~KĽ(;e,!e.B`(<&$Ä0lEIF:hĞF:Bt,Z&g6Izc^hU[J;~LLm<ƃp Иi#[]C@Łs?Q7h ӕ봄&,;cɟK%2spΒosWit S%.>6Zѭ2^G !Tjd0&!}KY8z ob`MJ*0'V0v"LyB7d*ș%ʥ,YnXٝ80y:ڄ?lLgss6Uu#j>JCU=Kcn| Z)O;q_eA.2s^C`AwaPڻrV؋ZXvѨ7}@c]s@FU: sۊεl6Y9c2URJ58 +dwS;r> +e0J+F5eCꟺ%gVP2[mÜ!Q62MmKvh8m'%,÷ jy='ePZ ;4B.i@(YVyBsULF(&uk?Zqn+zyo"q~PDC[ ǴJ[/Rn9"N 1yV !W+Oq|NΑ> ^&q8&uDluZl.̰@t` ŇY`@Å!ݘߣT% +b@RE'VH(~ #MH^iE}HegDQ~ao1A?@:ӥ$$m9Rֲ9T\2إor_8ӢgP!SwPeNC> +endobj +10181 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [420.463 732.722 490.957 743.304] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10182 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [503.709 732.722 525.406 743.304] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10212 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 720.874 157.983 731.349] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.715 691.295 238.186 701.769] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a03bc6b8a9fffa6a7e7b43ff793ad2b28) >> +>> +endobj +10194 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [256.134 691.295 379.305 701.769] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10195 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 673.671 140.364 684.145] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10196 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.328 673.671 251.402 684.145] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10197 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 626.467 177.816 636.941] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa9014980a1dc2d9befc6129668c890a2) >> +>> +endobj +10198 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [503.709 564.7 525.406 575.282] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10213 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 552.852 181.08 563.327] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10199 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 505.648 177.816 516.123] +/A << /S /GoTo /D (interface_i_pun_callbacks_a49f4cfb7c0e2c51ec71b8f52c7413b31) >> +>> +endobj +10200 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [284.753 443.989 355.006 454.463] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a8ee05dd443b9e51ddf962e655ca8ab77) >> +>> +endobj +10201 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.785 426.364 453.428 436.839] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +10202 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.99 379.053 496.609 389.635] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a53833ef0f9be9906694fc600acc1b897) >> +>> +endobj +10203 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 349.581 177.816 360.055] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5d06d8035078d422f08b0c72c97ab136) >> +>> +endobj +10204 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.169 258.342 228.663 268.817] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10205 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.627 258.342 339.701 268.817] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10206 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [346.593 211.138 402.384 221.613] +/Subtype/Link/A<> +>> +endobj +10207 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 141.597 177.816 152.072] +/A << /S /GoTo /D (interface_i_pun_callbacks_a9b55ef4a99252e1a9a111a3f88b61e1d) >> +>> +endobj +10211 0 obj +<< +/D [10209 0 R /XYZ 69.866 801.979 null] +>> +endobj +3526 0 obj +<< +/D [10209 0 R /XYZ 70.866 771.024 null] +>> +endobj +8089 0 obj +<< +/D [10209 0 R /XYZ 70.866 627.463 null] +>> +endobj +3530 0 obj +<< +/D [10209 0 R /XYZ 70.866 608.776 null] +>> +endobj +8090 0 obj +<< +/D [10209 0 R /XYZ 70.866 506.644 null] +>> +endobj +3534 0 obj +<< +/D [10209 0 R /XYZ 70.866 487.957 null] +>> +endobj +8091 0 obj +<< +/D [10209 0 R /XYZ 70.866 350.577 null] +>> +endobj +3538 0 obj +<< +/D [10209 0 R /XYZ 70.866 331.89 null] +>> +endobj +8120 0 obj +<< +/D [10209 0 R /XYZ 70.866 142.593 null] +>> +endobj +3542 0 obj +<< +/D [10209 0 R /XYZ 70.866 123.906 null] +>> +endobj +10208 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10238 0 obj +<< +/Length 2405 +/Filter /FlateDecode +>> +stream +xYYoH~ eH ټi,qƁlx0Xd@-1U]K4"͋GuUu1 xumg<ȱ04ĵCa<3ĺt|Q]ܤ? +4ySMC{cZVX)"⧇^81p\۱Ga^Oz|/) ^B(lkZū]U[di[J_l$pSlhi\QeeKmԖ2 E҃&0+n<8(={ݨ +H"AZXI2G)FI4pg5]-="Z('P*aOɬ;լ5t%34PB +ru5n[erjC6Dv79Jy {"]*rcg]#vCtiwmG;>/dv~D/&j;bt@w±]W1b5mXi]s}ui$cQ&:duU˴lbeGPzExsk6;T4s lGFW};  [M61l^a&=Nh kGA4EUvi rc4M=)cR}W,LUN5JJmiF.إuSˉ! +D>u&g|(mB@L:]^>QFk>zV\zfF,k+pECI|9( v",f֫Zs?T$aE\* dCסaFY[C/NAn^0{COZ }Ȧ,h62]ȫTImv?gLkP˼ =P. ye%0Z)ቿ2N;=Q҉6zAK@NC2*N(x>L<_80w,CCW}Q6W#ئ,R|F1k}g;g yv5fk?w[2Al0b%¡eۜz:k.Yo㳣gΟ8 騱o>՝G|ŐrU$ Mhɷ)/K7dKaE(~ E&}3;M,^:PtEuddы~b8}dQFBNݪ +}ߍ=וF]Tj .NXzmI\h[7C62ִ 4:#&mU1*Yr Z6ʤv!;_X7Kޗeknjl" {Lɒzu37ބRŀh#%Aw 5c)5j?@YoD%u._:ׇ@t\D9} P6)ԅ y2`Wdk*tr͆#G<|4 rHSgPlx B׼Hku=Jbąꑧk=qC#ke_>#c)np9A0o5u'Q܂+ok)ɜcqθ_8j9/ΫCySN4VI,FM0sO=+ᨥiȆ3^m7 + C)?&>C]GDZ$׎3_eyi> v4 /G#SVo +endstream +endobj +10237 0 obj +<< +/Type /Page +/Contents 10238 0 R +/Resources 10236 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10192 0 R +/Annots [ 10214 0 R 10215 0 R 10216 0 R 10240 0 R 10217 0 R 10218 0 R 10219 0 R 10220 0 R 10221 0 R 10222 0 R 10241 0 R 10223 0 R 10224 0 R 10225 0 R 10226 0 R 10227 0 R 10228 0 R 10229 0 R 10230 0 R 10231 0 R 10232 0 R 10233 0 R 10234 0 R ] +>> +endobj +10214 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 669.439 177.816 679.913] +/A << /S /GoTo /D (interface_i_pun_callbacks_af7c05722b8d15402bdb1a4e08850d989) >> +>> +endobj +10215 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [210.899 609.333 241.305 619.915] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10216 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [458.358 591.816 525.406 602.291] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a44be8bdd38ea28a1f540d38aede43bde) >> +>> +endobj +10240 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 579.861 91.83 590.335] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a44be8bdd38ea28a1f540d38aede43bde) >> +>> +endobj +10217 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.778 579.861 234.249 590.335] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a03bc6b8a9fffa6a7e7b43ff793ad2b28) >> +>> +endobj +10218 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 562.237 177.816 572.711] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) >> +>> +endobj +10219 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.24 502.238 224.646 512.713] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10220 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 490.283 193.041 500.758] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) >> +>> +endobj +10221 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 443.079 177.816 453.554] +/A << /S /GoTo /D (interface_i_pun_callbacks_a12268b49cbab2203f8b664c7bef4655a) >> +>> +endobj +10222 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.698 382.973 525.406 393.555] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) >> +>> +endobj +10241 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 371.126 106.741 381.6] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) >> +>> +endobj +10223 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.878 353.501 244.748 363.976] +/A << /S /GoTo /D (class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) >> +>> +endobj +10224 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.364 353.501 378.438 363.976] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10225 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.521 311.859 274.364 322.441] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) >> +>> +endobj +10226 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.649 311.859 411.144 322.441] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10227 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 294.342 177.816 304.817] +/A << /S /GoTo /D (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) >> +>> +endobj +10228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [82.333 204.657 119.204 215.239] +/A << /S /GoTo /D (class_photon_view_ad288db13a15d581e0f7c5886f4036720) >> +>> +endobj +10229 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.172 187.032 522.913 197.408] +/A << /S /GoTo /D (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) >> +>> +endobj +10230 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [306.059 175.185 404.573 185.659] +/A << /S /GoTo /D (class_room_info_a928b103a3e88d2c090152440aa6fa874) >> +>> +endobj +10231 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [438.495 175.185 514.782 185.659] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +10232 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 145.605 177.816 156.08] +/A << /S /GoTo /D (interface_i_pun_callbacks_a113daf6c35e118aff8daa5537d8c1c6c) >> +>> +endobj +10233 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [168.794 67.983 221.607 78.457] +/A << /S /GoTo /D (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) >> +>> +endobj +10234 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.555 67.983 315.788 78.457] +/A << /S /GoTo /D (class_photon_network_aa9a112ccaaf71a296b823e9637584445) >> +>> +endobj +10239 0 obj +<< +/D [10237 0 R /XYZ 69.866 801.979 null] +>> +endobj +8121 0 obj +<< +/D [10237 0 R /XYZ 70.866 670.435 null] +>> +endobj +3546 0 obj +<< +/D [10237 0 R /XYZ 70.866 653.132 null] +>> +endobj +8122 0 obj +<< +/D [10237 0 R /XYZ 70.866 563.233 null] +>> +endobj +3550 0 obj +<< +/D [10237 0 R /XYZ 70.866 545.93 null] +>> +endobj +8123 0 obj +<< +/D [10237 0 R /XYZ 70.866 444.075 null] +>> +endobj +3554 0 obj +<< +/D [10237 0 R /XYZ 70.866 426.772 null] +>> +endobj +8124 0 obj +<< +/D [10237 0 R /XYZ 70.866 295.338 null] +>> +endobj +3558 0 obj +<< +/D [10237 0 R /XYZ 70.866 278.035 null] +>> +endobj +8125 0 obj +<< +/D [10237 0 R /XYZ 70.866 146.602 null] +>> +endobj +3562 0 obj +<< +/D [10237 0 R /XYZ 70.866 129.298 null] +>> +endobj +10236 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F82 6068 0 R /F73 4864 0 R /F96 6194 0 R /F77 6067 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10268 0 obj +<< +/Length 1700 +/Filter /FlateDecode +>> +stream +xYMs6WH0 NxIc7VڃEpHʪ](DNs"o8s:x9B'&3v"B8Qˆp\4 +;'Q4*EJe,Uk +K}2,tw ^9sBs1}w ;&1v*юJ`7֊R|^(<_F"f0s88s%Q0!PQݻpy:ؽX|l~OT +ԣvy酱KΊ̬wP#I-L-ED$͹\nT{Z#Ir{96GŒ4ʴ30W<Φ9ھ(5aHQA{R ]^ܘ0Cm8ɱ(@CsI L$J㶔*9֮IE 5sZ[W5Y}P沉x6z;t[ZEL4-q_ ͘ee02ϑ=ɬ׏0wy61*-z5 㲅H͛ѡRI!A(ĄD"3/r'r!M+M!qy$"NfXn kv~~`$f>bAY,n!W!N06%J{΀.ZO:al^{U4=A47ϲJY(eIFuGX Yt`iQ]C.˕.| +8g`U_GOQ᳁aOYMh~nkt՞%<|^d#=y}DM{˺kj YA Oi2W|tϿf?uWHla 9SB#+9״R^%6KӧQ&}\u*ޔNKۅtoR_) 9W=N +endstream +endobj +10267 0 obj +<< +/Type /Page +/Contents 10268 0 R +/Resources 10266 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10192 0 R +/Annots [ 10235 0 R 10242 0 R 10243 0 R 10244 0 R 10245 0 R 10246 0 R 10247 0 R 10248 0 R 10249 0 R 10250 0 R 10251 0 R 10252 0 R 10253 0 R 10254 0 R 10255 0 R 10256 0 R 10257 0 R 10258 0 R 10259 0 R 10260 0 R 10261 0 R 10262 0 R 10263 0 R ] +>> +endobj +10235 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 758.177 177.816 768.652] +/A << /S /GoTo /D (interface_i_pun_callbacks_a74de405ce9dff20613c31ce891090f49) >> +>> +endobj +10242 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [99.629 666.248 170.123 676.83] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) >> +>> +endobj +10243 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.087 666.248 281.161 676.83] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) >> +>> +endobj +10244 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 648.731 177.816 659.206] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac6d7fe9f1dfe9aec1562c262a90f7d5b) >> +>> +endobj +10245 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.2 586.382 515.052 596.964] +/A << /S /GoTo /D (class_photon_network_abdced09cccf61ae817cb97705ffce137) >> +>> +endobj +10246 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 539.285 177.816 549.76] +/A << /S /GoTo /D (interface_i_pun_callbacks_a6922987e083f414d05464403e3b94bce) >> +>> +endobj +10247 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 429.84 177.816 440.314] +/A << /S /GoTo /D (interface_i_pun_callbacks_abee2c86784a9a700b9f5b4073bd00be7) >> +>> +endobj +10248 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [278.594 367.597 328.251 378.072] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10249 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 332.349 119.527 342.617] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10250 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.091 332.349 280.748 342.617] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10251 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 314.617 125.238 324.993] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10252 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [285.875 314.617 341.243 324.993] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10253 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.57 278.953 224.227 290.921] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10254 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 257.031 177.816 267.506] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +10255 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.36 194.789 232.017 205.263] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10256 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 159.54 119.527 169.808] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10257 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.574 159.54 285.231 169.808] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +10258 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 141.916 125.238 152.39] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10259 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [266.203 141.916 321.571 152.39] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 124.291 125.238 134.766] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [261.899 124.291 317.268 134.766] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10262 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.582 106.667 288.93 117.142] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a7a1add5919b1e6af0327e7e306e81da0) >> +>> +endobj +10263 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 89.043 177.816 99.517] +/A << /S /GoTo /D (interface_i_pun_callbacks_a98e3be45fd9367ec8695aeeadcf8ee18) >> +>> +endobj +10269 0 obj +<< +/D [10267 0 R /XYZ 69.866 801.979 null] +>> +endobj +8155 0 obj +<< +/D [10267 0 R /XYZ 70.866 759.174 null] +>> +endobj +3566 0 obj +<< +/D [10267 0 R /XYZ 70.866 740.001 null] +>> +endobj +8156 0 obj +<< +/D [10267 0 R /XYZ 70.866 649.728 null] +>> +endobj +3570 0 obj +<< +/D [10267 0 R /XYZ 70.866 630.555 null] +>> +endobj +8157 0 obj +<< +/D [10267 0 R /XYZ 70.866 540.282 null] +>> +endobj +3574 0 obj +<< +/D [10267 0 R /XYZ 70.866 521.109 null] +>> +endobj +8158 0 obj +<< +/D [10267 0 R /XYZ 70.866 430.836 null] +>> +endobj +3578 0 obj +<< +/D [10267 0 R /XYZ 70.866 411.663 null] +>> +endobj +8159 0 obj +<< +/D [10267 0 R /XYZ 70.866 258.027 null] +>> +endobj +3582 0 obj +<< +/D [10267 0 R /XYZ 70.866 238.854 null] +>> +endobj +8187 0 obj +<< +/D [10267 0 R /XYZ 70.866 90.039 null] +>> +endobj +3586 0 obj +<< +/D [10267 0 R /XYZ 70.866 70.866 null] +>> +endobj +10266 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R /F115 6866 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10290 0 obj +<< +/Length 2367 +/Filter /FlateDecode +>> +stream +xZo6_j.CRW%/Z-U}6ᐲC +ӎ(r8p8 89H﫳Sd,O(8Rβ$ \Dg<̘Kfa _*kq]tBP)5 e"NBƋOgo~:;ϑ<,cTA=:ă5{ Fy\ۙ@Ut|8DD3$%L2.sڃ" ]Q2 , +M}{We!ǭ.zޘktHQڭ7btZw] |BGx-DUș6}B(\MK!_l P٦7V8\Z!KV tA!gI$K~0yf"BCu0ѐܭLtH[䐨lm03wp]/1{R̕ tOėOa>螂tOxCEu2/b'S8@6Ɨ&^R#K5=bth'V-VNzP̊y} ZX]u*GB#P{.1 us`ZyDU1 1BܛS(j$\xTE $DݢC5621DN7P#/*m~=AI=(" gI*<||d6IEWp}]&SM8.h;!.%tXMfNe G{6]ΫۛB?o~]aatMU[XhO, B]%Ӯχ|]G}OFWqAh{`;2mS2I ƍ{G8GU{KRUeR~ex +{ ;* l뫭Ԉ*%ψ*oMmQ|X/giI 7(|w;MCyx4a,8SH$<};c//1+8.{ j y_v`q=.=E qi]3hmoP^o %=+aT%Xm$] ~XXwkLUˑSee U64 ʹ/[DcR% WW.P3}W.7[I*ДⲨ˺@9m!?z[w8sG$ p96pL~./}e}$r@_W#V9oCȎ,c,ݮ8>HK7DhkbUW%ޭGZ'W<Æj/Aٷ:6TYcTEpvѭ2 MIIt/,7i\M ֧"pa7r;ҟeOQ'sEٗ&}ݪ,۬LѮoKe[ύCSO%a2MԸ$q>|v(|_lCJww"9#)!^%#]8DlH[i2bQ cÍkG5/ڝ +endstream +endobj +10289 0 obj +<< +/Type /Page +/Contents 10290 0 R +/Resources 10288 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10192 0 R +/Annots [ 10264 0 R 10265 0 R 10270 0 R 10271 0 R 10272 0 R 10273 0 R 10274 0 R 10275 0 R 10276 0 R 10277 0 R 10278 0 R 10279 0 R 10280 0 R 10281 0 R 10282 0 R 10283 0 R 10284 0 R 10285 0 R 10286 0 R ] +>> +endobj +10264 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.172 732.634 187.957 743.216] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) >> +>> +endobj +10265 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.58 732.634 371.925 743.216] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10270 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.801 703.054 190.521 713.636] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +10271 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [260.645 667.391 303.99 679.564] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10272 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 645.468 177.816 655.943] +/A << /S /GoTo /D (interface_i_pun_callbacks_a523ce991e9a0dcde1b57b13e4e3db38c) >> +>> +endobj +10273 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 559.369 183.832 569.844] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10274 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.963 529.682 335.926 540.264] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10275 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 460.141 177.816 470.615] +/A << /S /GoTo /D (interface_i_pun_callbacks_a3a210383eb25f1c6f509aaa23c792f6f) >> +>> +endobj +10276 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.467 397.844 521.66 408.426] +/A << /S /GoTo /D (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) >> +>> +endobj +10277 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 380.22 151.339 390.802] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +10278 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 350.748 177.816 361.222] +/A << /S /GoTo /D (interface_i_pun_callbacks_a28ef052b776a594b305b08d7e80b6df3) >> +>> +endobj +10279 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.172 288.451 177.493 299.033] +/A << /S /GoTo /D (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da5988ddff3f148ce684fbbdb8f68896c1) >> +>> +endobj +10280 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [318.117 288.451 361.462 299.033] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10281 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.893 258.872 231.613 269.454] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +10282 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.167 223.208 296.512 235.382] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10283 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 201.286 177.816 211.76] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad56f84b6647d2e61d273db297deb08b1) >> +>> +endobj +10284 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.016 97.454 267.422 108.037] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10285 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [318.951 97.454 349.357 108.037] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10286 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 67.983 177.816 78.457] +/A << /S /GoTo /D (interface_i_pun_callbacks_a445d24c62e4e3d8bbc2cc0d25853d43c) >> +>> +endobj +10291 0 obj +<< +/D [10289 0 R /XYZ 69.866 801.979 null] +>> +endobj +8188 0 obj +<< +/D [10289 0 R /XYZ 70.866 646.465 null] +>> +endobj +3590 0 obj +<< +/D [10289 0 R /XYZ 70.866 627.336 null] +>> +endobj +8189 0 obj +<< +/D [10289 0 R /XYZ 70.866 461.137 null] +>> +endobj +3594 0 obj +<< +/D [10289 0 R /XYZ 70.866 442.008 null] +>> +endobj +8190 0 obj +<< +/D [10289 0 R /XYZ 70.866 351.744 null] +>> +endobj +3598 0 obj +<< +/D [10289 0 R /XYZ 70.866 332.615 null] +>> +endobj +8191 0 obj +<< +/D [10289 0 R /XYZ 70.866 202.282 null] +>> +endobj +3602 0 obj +<< +/D [10289 0 R /XYZ 70.866 183.153 null] +>> +endobj +8212 0 obj +<< +/D [10289 0 R /XYZ 70.866 68.979 null] +>> +endobj +10288 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F82 6068 0 R /F104 6525 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10312 0 obj +<< +/Length 2082 +/Filter /FlateDecode +>> +stream +xYKs6WVjBNδ;>"$Hz:Ń/ $ uuξ;xNL0Q%9KsEㅌđ\|\hD>1c0:$澳/B;/k5rGȝ3j?75hH1 WYm"y^͹YN6eSd_|'7b(܏]н'9t Dse;F%_%e#Pjmۙsh( CKT 6%/S2_xm2Y֥4#{j~x㯺+5fF+)E%*=`88Р|d>.sr +%N<@|74F,Ui:c +1ژ./5J1̛sSg42TBh백6 =߱aB~>j_x>|Xx>TbBVv6ĿU>=Y&r&!tSC"Mˑc}< ;zZM`H0k=pu _, Bw*? +NQ5ר?"TY ]F}-W\w*xpZѺ=0#rQZ"mc` r w2%%x"z0N<8?B󟃑`f 0R.WFGzRCƄUUnFM-/!Gm.x~Q yI#'|Z*T@uS^6RRE(LJɧz.R0Jbk+MvY^)Vk!LS +iUltiL@ecGe-ӯޮ)'i wjk'm-j5]Z!"Xw5=>ӣvFn&*[X_~=ѰyIn@g.b71;v%}gP(x=c!%1DU77:\NFqf؃!;Qv={7If:͊~TP sϒ|S:k`I]qͦlRfMXYjV AnM/KZin2w,ZQoqr9I™YC`({P6q|:x~{3KNϳmoj3~?pG~|\A #Hu-Frq#>hQŠF/FbW- -LUĤ#v𥦢]HhQLD⿾K|TI,NHģ[*=1OO:x 4Ki8a~u✑%`'֯ɨ]u+k-=" a,~zwu.ՇuVp/qBU;AT:XE<a^d{0?&Aք Ҟq+ =^Bc"rBD^j(X9ż7 +^,L3X}w m/,е#~a~8= sv!.#pĸd}dʸ+ q9@_#G}WfJw[8&$!F6ϖe*!glA2o> +endobj +10287 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.568 733.411 189.974 743.994] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10292 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.304 715.895 183.366 726.163] +/A << /S /GoTo /D (class_photon_player_ab0bad4e5c05adfe0d524bc32430ecc20) >> +>> +endobj +10293 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.038 698.163 368.384 708.745] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_a2b7bf39a0463bc564724e22c9757917b) >> +>> +endobj +10294 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 663.022 177.816 673.496] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5a8916735c974a747d63d107c340ffef) >> +>> +endobj +10295 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.311 605.801 334.679 616.276] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10296 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.909 588.069 508.196 598.651] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +10297 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 558.597 177.816 569.072] +/A << /S /GoTo /D (interface_i_pun_callbacks_a14eede4f84e088008e59fe63efb8775d) >> +>> +endobj +10298 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [260.867 501.377 316.236 511.851] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10299 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 454.173 177.816 464.647] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa200001beb114a07eac4b9442e2b793e) >> +>> +endobj +10300 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.38 355.417 195.748 365.892] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10301 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.963 284.195 364.94 294.778] +/A << /S /GoTo /D (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) >> +>> +endobj +10302 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [96.769 244.869 437.69 253.977] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour_aaec2f5973228b99c6ad781d5cedadb6f) >> +>> +endobj +10303 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [91.389 233.91 157.94 243.018] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10304 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [360.38 233.91 426.93 243.018] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10305 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.502 159.08 249.87 171.254] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10306 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 125.203 177.816 135.678] +/A << /S /GoTo /D (interface_i_pun_callbacks_aa6d84e9c68f93825fb3bf453d6f5ca1b) >> +>> +endobj +10307 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.087 67.875 371.432 78.457] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10313 0 obj +<< +/D [10311 0 R /XYZ 69.866 801.979 null] +>> +endobj +3606 0 obj +<< +/D [10311 0 R /XYZ 70.866 771.024 null] +>> +endobj +8213 0 obj +<< +/D [10311 0 R /XYZ 70.866 664.018 null] +>> +endobj +3610 0 obj +<< +/D [10311 0 R /XYZ 70.866 649.08 null] +>> +endobj +8214 0 obj +<< +/D [10311 0 R /XYZ 70.866 559.593 null] +>> +endobj +3614 0 obj +<< +/D [10311 0 R /XYZ 70.866 544.656 null] +>> +endobj +8215 0 obj +<< +/D [10311 0 R /XYZ 70.866 455.169 null] +>> +endobj +3618 0 obj +<< +/D [10311 0 R /XYZ 70.866 440.231 null] +>> +endobj +8247 0 obj +<< +/D [10311 0 R /XYZ 70.866 126.199 null] +>> +endobj +3622 0 obj +<< +/D [10311 0 R /XYZ 70.866 111.262 null] +>> +endobj +10310 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F115 6866 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10331 0 obj +<< +/Length 2238 +/Filter /FlateDecode +>> +stream +xYYo8~_!I4[^&q M3C!#Ԉn,,{ZjJ6\ nԳNvZ=aM=5e$ADڷij+źD JXm]T7z{ES+7 mĺo<oVaAD`^jݪZ,y3iqU,ZU_)u4U3 ~rbp%oRh^$J(>1Y &ڀCd+.kHI~x: cz~l&  XHet?;X'sߵ}a#(X|ꘈPQDiqY]Bj:91.ȾQp|O8a*̛W=m7P. Mỉy$LA.č7BKcfv]M=9~怐Ei?ɇj3^<|xS:OW;i;$bpDA)t1l>WmE\׾$#Tk зi *t]eܦR#Rc<E9n)W;K[a*'t8'D>-hMHk.LLPEsWSC%e-A9م+=j3=.|[q;֍$^eOdVԚ+m5lʾ'Q5s5x2{HIr}De>ej3 +*f;F״רbV un^ cE M wXk\}YYA$"Iу2V\Hw.qO1 lJ@u ((+ίv~yQt y#5W=[Pr~AD;LSd$f_+XM*ꌄfԗY{7劾hKoOcc#X ב)䩴U-S? +̭*CՆB/zӮL29~Tk2N_}|g*<o^,6 Đ@s\/{:mrz@_u06]yUl`>ꏲ`f@T 'v(AF7{i}sI}SudD2:T*&! KUw]uD*̵4MK}MYV@bd|nMc8{p7~ڝIV y˰dBo/}DAz 袸na_6k5">8O =翞7R8)A) C8] +|һu0+4#|Rc,9퍭W?W=岇7_ծm o +endstream +endobj +10330 0 obj +<< +/Type /Page +/Contents 10331 0 R +/Resources 10329 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10335 0 R +/Annots [ 10308 0 R 10309 0 R 10314 0 R 10315 0 R 10316 0 R 10317 0 R 10318 0 R 10319 0 R 10320 0 R 10321 0 R 10322 0 R 10323 0 R 10324 0 R 10333 0 R 10325 0 R 10326 0 R 10334 0 R 10327 0 R 10328 0 R ] +>> +endobj +10308 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.296 746.115 304.284 756.697] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +10309 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.25 734.159 271.97 744.742] +/A << /S /GoTo /D (class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) >> +>> +endobj +10314 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.167 698.496 296.512 710.67] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10315 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 676.574 177.816 687.048] +/A << /S /GoTo /D (interface_i_pun_callbacks_ac0d022a7c6abd23f0039efec687eb0dc) >> +>> +endobj +10316 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.432 617.784 410.829 628.366] +/A << /S /GoTo /D (class_photon_network_a8ad64b1a76c7918bbe5642639afff458) >> +>> +endobj +10317 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.089 600.267 329.201 610.742] +/A << /S /GoTo /D (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) >> +>> +endobj +10318 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.931 588.204 170.523 598.786] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10319 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 529.153 177.816 539.627] +/A << /S /GoTo /D (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) >> +>> +endobj +10320 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.604 470.47 485.051 480.945] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +10321 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [189.013 452.738 284.46 463.321] +/A << /S /GoTo /D (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) >> +>> +endobj +10322 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 435.222 177.816 445.696] +/A << /S /GoTo /D (interface_i_pun_callbacks_a5dd5d351e76698a0b6665064f6282baa) >> +>> +endobj +10323 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [250.861 358.915 281.267 369.389] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10324 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [481.562 346.96 525.406 357.434] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +10333 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 335.005 112.228 345.479] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +10325 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.428 335.005 358.522 345.479] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +10326 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [444.057 317.273 525.406 327.855] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +10334 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 305.425 100.276 315.9] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +10327 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [232.651 288.797 263.058 299.272] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10328 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.7 215.866 177.816 226.34] +/A << /S /GoTo /D (interface_i_pun_callbacks_aae3221aa2d3b999574fc55a6aaee2877) >> +>> +endobj +10332 0 obj +<< +/D [10330 0 R /XYZ 69.866 801.979 null] +>> +endobj +8248 0 obj +<< +/D [10330 0 R /XYZ 70.866 677.57 null] +>> +endobj +3626 0 obj +<< +/D [10330 0 R /XYZ 70.866 661.364 null] +>> +endobj +8249 0 obj +<< +/D [10330 0 R /XYZ 70.866 530.149 null] +>> +endobj +3630 0 obj +<< +/D [10330 0 R /XYZ 70.866 513.943 null] +>> +endobj +8250 0 obj +<< +/D [10330 0 R /XYZ 70.866 436.218 null] +>> +endobj +3634 0 obj +<< +/D [10330 0 R /XYZ 70.866 420.012 null] +>> +endobj +6338 0 obj +<< +/D [10330 0 R /XYZ 70.866 216.862 null] +>> +endobj +3638 0 obj +<< +/D [10330 0 R /XYZ 70.866 199.483 null] +>> +endobj +3642 0 obj +<< +/D [10330 0 R /XYZ 70.866 115.232 null] +>> +endobj +8833 0 obj +<< +/D [10330 0 R /XYZ 70.866 68.871 null] +>> +endobj +10329 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F82 6068 0 R /F73 4864 0 R /F104 6525 0 R /F96 6194 0 R /F115 6866 0 R /F77 6067 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10350 0 obj +<< +/Length 1970 +/Filter /FlateDecode +>> +stream +xYK6WTb[rdAf(MLjdёlwYmE $3̓ʡΛɳ8pF\/$8HĜs8~~#IB5̚f:=yd!*|0 x& I7Y;?M[Eq'a[ 5rR+0}ADjNHȦ3F)u?fE_/(#%#_Nc׼ʹ:مClqZMuk$7hԧ;J=Q򦙉no +>\vPUC,%t{ŹDKw-6ي[re3zu0P9%qFF~@"C; Ez&e]̑WjYD$z$煣Qʸ7fiUju*Z9$\q3BЁC$ +ݼ,Yaff%oy)|OT+I>}`wF>Jހ@~>m)d5,ng ZHQ}(3ɝ@= o-Z>r-<ȍ+@ u|@րtK\0bH- 4T%Ky6h>?&j<(h}Tx4ո)3 <+˧HJJϩ +K`ThH\ܬ-%|2w@%9e[o }fǬ/Z|SR3YM.r|5VBJ6& XVq낥xL?,_-lY-^`S=|B`]^j X5]x~T#TcÃ=jJJyjc*q*z ©0+g4F&JM+DyڬAu,:ċ_pB|yT+d+-m,b#;Sge }HOhmї,Uv;Z6IVeu*n+:Plo+4=?bc6vcU,g QAY~ت3;uee]/$B9)f#z{HL69ęDV ԸsP=7a 5TŮvfJ:Gh^=`H.t ;Ic?³h@5QBf :1UgC뙟 a^gF]$jb}=ps \_]Cf23o{W\'bھғF'_! ]ho3F#F{7\Wj彾1Kc%CWzM.oB)&gB/kDB"Az6E +-n(XLh!u3fu;hGL?T4U:JV&جAx +Iks5jVeWӬ*!G6@ +,Lr2F@Fqd@I B?LA4pg1K(DP +C'nt$N!)aQeiO8, cYYgaYea faxؿ +|yC'hc}㱪ֿ K׾=8 lpMIVN/Bl@[t$'C˜SYD8 +T@G@I"W!ldTr=M;F3> +endobj +10336 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 672.295 152.36 682.877] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816) >> +>> +endobj +10337 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [152.86 672.295 214.155 682.877] +/A << /S /GoTo /D (class_raise_event_options_a4f5d60401abe2561ab71c9ff9290c06b) >> +>> +endobj +10338 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 644.987 170.848 655.462] +/A << /S /GoTo /D (class_raise_event_options_ab9fdfe47e82d2d049a347e7df4cef701) >> +>> +endobj +10339 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.829 606.506 165.069 616.882] +/A << /S /GoTo /D (class_raise_event_options_a2efd7020aa43343d1f07a3f8227deb6a) >> +>> +endobj +10340 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 579.198 156.834 589.673] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41) >> +>> +endobj +10341 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.334 579.198 198.957 589.673] +/A << /S /GoTo /D (class_raise_event_options_a0df0c168fd813e5041f1b0afc6826a75) >> +>> +endobj +10342 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 540.824 189.793 551.299] +/A << /S /GoTo /D (class_raise_event_options_a3fff0d28599564c9d69c147ea39682d6) >> +>> +endobj +10343 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 504.235 195.676 512.719] +/A << /S /GoTo /D (class_raise_event_options_a389e7e5b0df4ce93ba2731a51abc560b) >> +>> +endobj +10344 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 475.035 146.872 485.304] +/A << /S /GoTo /D (class_raise_event_options_aceba8258488a041c9b52df3bf485830c) >> +>> +endobj +10345 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.074 417.67 233.584 428.145] +/A << /S /GoTo /D (class_raise_event_options) >> +>> +endobj +10346 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [234.084 417.67 264.213 428.145] +/A << /S /GoTo /D (class_raise_event_options_af1fcb68ddd5f76876c8448de8b5ecb4d) >> +>> +endobj +10347 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.199 417.67 369.709 428.145] +/A << /S /GoTo /D (class_raise_event_options) >> +>> +endobj +10351 0 obj +<< +/D [10349 0 R /XYZ 69.866 801.979 null] +>> +endobj +3646 0 obj +<< +/D [10349 0 R /XYZ 70.866 771.024 null] +>> +endobj +10352 0 obj +<< +/D [10349 0 R /XYZ 70.866 711.968 null] +>> +endobj +10353 0 obj +<< +/D [10349 0 R /XYZ 70.866 457.235 null] +>> +endobj +3650 0 obj +<< +/D [10349 0 R /XYZ 70.866 379.711 null] +>> +endobj +3654 0 obj +<< +/D [10349 0 R /XYZ 70.866 318.592 null] +>> +endobj +10354 0 obj +<< +/D [10349 0 R /XYZ 70.866 293.802 null] +>> +endobj +3658 0 obj +<< +/D [10349 0 R /XYZ 70.866 293.802 null] +>> +endobj +9249 0 obj +<< +/D [10349 0 R /XYZ 257.596 222.074 null] +>> +endobj +3662 0 obj +<< +/D [10349 0 R /XYZ 70.866 205.065 null] +>> +endobj +10355 0 obj +<< +/D [10349 0 R /XYZ 70.866 152.638 null] +>> +endobj +3666 0 obj +<< +/D [10349 0 R /XYZ 70.866 137.624 null] +>> +endobj +10356 0 obj +<< +/D [10349 0 R /XYZ 70.866 111.293 null] +>> +endobj +3670 0 obj +<< +/D [10349 0 R /XYZ 70.866 111.293 null] +>> +endobj +10357 0 obj +<< +/D [10349 0 R /XYZ 70.866 68.871 null] +>> +endobj +10348 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10377 0 obj +<< +/Length 1670 +/Filter /FlateDecode +>> +stream +xXKs6Wpr3;v4n: l(!]K(NNOA`~]ZkZ˳г"k-o(0$`2ܙ0?u^f|R$MM8ڢe*;saS-YξRDܳZ|{gQƑuWn,w0.3S}5Tw—:pN|g(a 8$oěo$xڐy^U{ xy}Ԛs~dT-o8KNYZvucebkǬ̎FY'oo3wئfn]0;;) +3hQΕ9^F1׷=WZh:vդ!Doc⬕^?SF(;.'GA >>PwD(R5 p<߱GNØ0 +ƬP*|qp\js8JOy@I,90ߪ<-$2E7_4M[\ZlԀJLM7YޤUYTYKH!px>1\Jl' 8X<#i! D± {ffTZPaooU6QoFA֘-6#i\7Ce5x0Ӥ4u zo4'MTxCkn@`-Q];s\zrt𼸭dU^CV~{5 ٷI?k~n6a۱NJy +Zy^QcLĒ/4aC׷|BpB@7z( 8PQn\+R^`ͅY[cg 8qsgb53g܇\.S|{ +")i G?c1hIʵQ@&.-N JYbJ3za*_{[ZznG"b _5;Vccā sNgM㒺 Ѣp仠&B:M@+D&V>OfIѪ>sRFUM8TEEWĝomzV  ~)_JXb_PؤN9ڒKυ7hCevL?,xu#èLH!nusO/q*ӧUڪCCT;9peX vqx?_53e0+-c8$f7?љ%n`!Ȗ]p ֍j.wp>Wr{.2X=fCL8e2aՇcZt.oҶnۇ#Iup3pk|u aHBiznZQgjB7W맃Y,$ &N6tafi<\+D_Hcdf~K!s~JvR~|x->)*K]:1[ UZl|xOB3b_Qfnzx5Oe.~.YoVxWJia('*@> +endobj +10363 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 431.837 125.174 442.419] +/A << /S /GoTo /D (class_region_a022bbb14effdd4c7d5a3ef78bf9b7099) >> +>> +endobj +10364 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [128.66 431.837 203.906 442.419] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10365 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 418.939 125.174 429.521] +/A << /S /GoTo /D (class_region_aea278b99bcb5e2c122e7d8267c39c051) >> +>> +endobj +10366 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [128.66 418.939 203.906 429.521] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10367 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 406.04 188.914 416.622] +/A << /S /GoTo /D (class_region_ab5ea75ba87f49f1bf46b1a257b6f4d9e) >> +>> +endobj +10368 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 348.311 193.443 358.893] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10369 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.943 348.311 218.996 358.893] +/A << /S /GoTo /D (class_region_a8ffb04f77e0274519d29b6987c50aea0) >> +>> +endobj +10370 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 290.582 170.023 301.165] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10371 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.523 290.582 193.945 301.165] +/A << /S /GoTo /D (class_region_a44c13a3119bebc2afd0295ac2ef6adb4) >> +>> +endobj +10372 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 277.684 149.714 288.266] +/A << /S /GoTo /D (class_region_a62d700ce2a92d8a642acece600005ed0) >> +>> +endobj +10373 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 249.894 172.058 260.27] +/A << /S /GoTo /D (class_region_a5dc3538ba137c2e09e72a79e6ee5a786) >> +>> +endobj +10374 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 236.996 126.671 247.372] +/A << /S /GoTo /D (class_region_a39045fbf04de42df3f1e1dbd1ec53581) >> +>> +endobj +10378 0 obj +<< +/D [10376 0 R /XYZ 69.866 801.979 null] +>> +endobj +3674 0 obj +<< +/D [10376 0 R /XYZ 70.866 771.024 null] +>> +endobj +10361 0 obj +<< +/D [10376 0 R /XYZ 70.866 722.452 null] +>> +endobj +3678 0 obj +<< +/D [10376 0 R /XYZ 70.866 707.262 null] +>> +endobj +10362 0 obj +<< +/D [10376 0 R /XYZ 70.866 653.024 null] +>> +endobj +3682 0 obj +<< +/D [10376 0 R /XYZ 70.866 637.833 null] +>> +endobj +10359 0 obj +<< +/D [10376 0 R /XYZ 70.866 583.703 null] +>> +endobj +3686 0 obj +<< +/D [10376 0 R /XYZ 70.866 568.512 null] +>> +endobj +8960 0 obj +<< +/D [10376 0 R /XYZ 70.866 526.122 null] +>> +endobj +3690 0 obj +<< +/D [10376 0 R /XYZ 70.866 509.759 null] +>> +endobj +10379 0 obj +<< +/D [10376 0 R /XYZ 70.866 471.697 null] +>> +endobj +10380 0 obj +<< +/D [10376 0 R /XYZ 70.866 388.172 null] +>> +endobj +10381 0 obj +<< +/D [10376 0 R /XYZ 70.866 330.443 null] +>> +endobj +3694 0 obj +<< +/D [10376 0 R /XYZ 70.866 222.802 null] +>> +endobj +10382 0 obj +<< +/D [10376 0 R /XYZ 70.866 198.011 null] +>> +endobj +3698 0 obj +<< +/D [10376 0 R /XYZ 70.866 198.011 null] +>> +endobj +10383 0 obj +<< +/D [10376 0 R /XYZ 70.866 171.492 null] +>> +endobj +3702 0 obj +<< +/D [10376 0 R /XYZ 70.866 171.492 null] +>> +endobj +3706 0 obj +<< +/D [10376 0 R /XYZ 70.866 146.834 null] +>> +endobj +10384 0 obj +<< +/D [10376 0 R /XYZ 70.866 122.043 null] +>> +endobj +3710 0 obj +<< +/D [10376 0 R /XYZ 70.866 122.043 null] +>> +endobj +10385 0 obj +<< +/D [10376 0 R /XYZ 70.866 95.525 null] +>> +endobj +3714 0 obj +<< +/D [10376 0 R /XYZ 70.866 95.525 null] +>> +endobj +3718 0 obj +<< +/D [10376 0 R /XYZ 70.866 70.866 null] +>> +endobj +10375 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10410 0 obj +<< +/Length 2320 +/Filter /FlateDecode +>> +stream +xYKsFW|YJ1xU>xeˑqE$$b`HʉAtOׯm92l||$8sD^#" `0l/9 '~TgiӋs9G3+< 9fHP- ϼC"Vo ƲW?.? +wg"l }Jp2Cb9 Jfɖ.-I37P^Ƅ| 6e!4rT8&p +aևP,k6PܔJZ9R=fZ[VS;#Yjᝫg_ڊWr@UM0X=zǬؙtbyqkTbti۴Tuu$0vr٫, +Z`HG:y9pZWҟCW@yYtSѩТԬ h<&wh8uF`i;}ƥ ~ _͸S Vu +˶iMl~@XǙj2;@Nm) 6)Bt_>I:OrAgfl +\.\ В/w*!._x> =0*B|/5R +du)~ATGW6壒E1qvk{j13LUY><\'xd_,цꝯ6dASrRvC6i:L8C\Q㑠 +o S{:nn ef6MCndy6jEI>>jquJY5pg@8uD_)YPnFu84}:5j[׼YfA^XRD B!e+ԿpynC!NS?O*7#>1I"+_  Wɚ7[ Kd;J5 +4+^N UuZt_=> +endobj +10390 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 555.907 110.462 566.382] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10391 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.897 540.067 142.489 548.757] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10392 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.149 480.924 205.706 491.398] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10393 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.852 480.924 256.031 491.398] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10394 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [335.07 480.924 377.25 491.398] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10395 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 441.452 225.712 452.035] +/A << /S /GoTo /D (class_room_af3c714b645bb569f4b7f060a985dbf1a) >> +>> +endobj +10396 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 414.151 197.693 424.626] +/A << /S /GoTo /D (class_room_ad78784268e9c07e7d345f95bd58f7bd3) >> +>> +endobj +10397 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 386.635 188.914 397.217] +/A << /S /GoTo /D (class_room_ac193e5eddc588b1642b4de892d71082f) >> +>> +endobj +10398 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.809 372.134 229.323 381.857] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10399 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.083 359.227 187.462 369.809] +/A << /S /GoTo /D (class_room_a6f07e076b19abab3c30d2d7ce484538e) >> +>> +endobj +10400 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.809 344.726 229.323 354.449] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10401 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.083 287.167 163.989 297.543] +/A << /S /GoTo /D (class_room_acd75df0fb26bd81f3345ced70740e832) >> +>> +endobj +10402 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.972 259.866 163.872 270.341] +/A << /S /GoTo /D (class_room_a3908cd1b2109aae3b91027156607ccac) >> +>> +endobj +10403 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.972 199.934 168.167 209.849] +/A << /S /GoTo /D (class_room_af507d1c93c87733c1a64cf00104e7501) >> +>> +endobj +10404 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 161.106 224.183 171.482] +/A << /S /GoTo /D (class_room_a591b6c92b6ffff1c326f10dafdb7fc93) >> +>> +endobj +10405 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 133.805 169.261 144.279] +/A << /S /GoTo /D (class_room_a353aed88c44abe4d35d945aef6922910) >> +>> +endobj +10406 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.495 95.437 173.87 105.706] +/A << /S /GoTo /D (class_room_a6a994721651fbffbbec32be44c705642) >> +>> +endobj +10411 0 obj +<< +/D [10409 0 R /XYZ 69.866 801.979 null] +>> +endobj +10387 0 obj +<< +/D [10409 0 R /XYZ 70.866 753.893 null] +>> +endobj +3722 0 obj +<< +/D [10409 0 R /XYZ 70.866 753.893 null] +>> +endobj +10386 0 obj +<< +/D [10409 0 R /XYZ 70.866 709.749 null] +>> +endobj +3726 0 obj +<< +/D [10409 0 R /XYZ 70.866 694.738 null] +>> +endobj +10388 0 obj +<< +/D [10409 0 R /XYZ 70.866 670.08 null] +>> +endobj +3730 0 obj +<< +/D [10409 0 R /XYZ 70.866 670.08 null] +>> +endobj +10389 0 obj +<< +/D [10409 0 R /XYZ 70.866 645.421 null] +>> +endobj +3734 0 obj +<< +/D [10409 0 R /XYZ 70.866 645.421 null] +>> +endobj +6274 0 obj +<< +/D [10409 0 R /XYZ 70.866 620.763 null] +>> +endobj +3738 0 obj +<< +/D [10409 0 R /XYZ 70.866 620.763 null] +>> +endobj +10412 0 obj +<< +/D [10409 0 R /XYZ 70.866 520.486 null] +>> +endobj +10413 0 obj +<< +/D [10409 0 R /XYZ 70.866 326.837 null] +>> +endobj +10408 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10440 0 obj +<< +/Length 2528 +/Filter /FlateDecode +>> +stream +xڵYݓ8ڗU1L=c/[̾$y`@8׭0`dR'dneyp|痋o/#'R!Bvľ)D{7xZ8qPjGUֶfRnVFֹ\}ՉBؒ$A/^^"Y z>I%,rSگi5Ήx(q\7;I :<^c\Ka9ל +GJYwElhj$U_pl^C}:N +0c02zx #ӶG#"q:4 uy1\Mo'nZ ~$Nk/An[M)l͘RǼ85vjp,t?.+{wkQu>beJ V k$ $jHJ3!Ki FuxcwYow'˳${U3ђɰV\gƈ-CR 9Ju{)7;k9vr}慜j-|t1feWZZe$t +B.ے\qQq +9.i'.|o@'ݮ-Yߪ{S^_Pz~ľ^v7vzQɬ/:~IxRy jw7?s߮y"1n?,`PjoFrq܂@< X Fv_-ʮTuVYEq+J)M!$K>u npy|첲mޔ{dp< xw37'F e;=b+fQ!s_5iYL D5IKD\Z2$jW-ALBaV753 I.(Vt 3+Jsֵ,OfO\+P6Cku sHz?bJg,Sp3DȚmZQ_:wk +;X QjVUF,L*Xx Mcӡ7'7Zq57-u/7"ˌa*,HTDdF'.UמI8P:ݖv\ -C "0+^ە[sܽ++ +pvVאV2i~LK'ёm:L[*{K``k3W;!^|l y^ iV#߱~u=3K[Y/ sxffy.vs8;zyԤj/C .,#9Ҿ'[[ί?̿_}t j!DFS݋C۩u 14P`d`}vh֞cS)DaK444m7l֦:%$ٜr^z$} a!R+ruhbϣ[Q~.CV=`flbQMXstm~kfR%2ed}%/ivryBRՉ_Lv= =F(ztCޑ[>!0vDv^a䳒`DHo:U+y:{q!+Qr'as6MS@!ߑg}eȦ @?oUV =I)ٲUYrásux@d s9 z ?mۅDX +r8iNf9g?j:%[I7lOfKXeoAhRѷ0 ?Tď8ɼ e=N_\ݠ.iU"Y)dTQnNXfv 8 n"rE"'hcO +PMJ)mir#<Fas>͛&-\76`1s|-Jđ4$1 Cc?ئ2`, Q69wz?_~XD_d-Sk`}nW)dB#Z`12H/}m +@.m6~Z}~`Jٗl?iDMn +endstream +endobj +10439 0 obj +<< +/Type /Page +/Contents 10440 0 R +/Resources 10438 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10335 0 R +/Annots [ 10407 0 R 10424 0 R 10425 0 R 10426 0 R 10427 0 R 10428 0 R 10429 0 R 10430 0 R 10431 0 R 10432 0 R 10433 0 R 10434 0 R 10435 0 R 10436 0 R 10437 0 R ] +>> +endobj +10407 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.495 758.177 176.371 768.652] +/A << /S /GoTo /D (class_room_a9e7c93f447ab113f8b6f8fed1502b997) >> +>> +endobj +10424 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 730.584 188.201 740.96] +/A << /S /GoTo /D (class_room_a4451a1fa7f2f807af3b5e5ac8e65cbfe) >> +>> +endobj +10425 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.273 716.044 371.838 725.767] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10426 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.083 692.139 162.5 702.515] +/A << /S /GoTo /D (class_room_ad9eb0946b646b789772238b429d6266c) >> +>> +endobj +10427 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.972 679.5 154.906 689.768] +/A << /S /GoTo /D (class_room_a86a1e0952d484cc7a679e141463f43c1) >> +>> +endobj +10428 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.972 667.106 159.694 677.021] +/A << /S /GoTo /D (class_room_a8792cdddd5a4b8933bea7adab8438edf) >> +>> +endobj +10429 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 653.898 223.187 664.274] +/A << /S /GoTo /D (class_room_a9f4957e84aefcd801a35a63f44ce42f3) >> +>> +endobj +10430 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 641.259 168.535 651.734] +/A << /S /GoTo /D (class_room_a0f3fc9b00f2563209d7be0109cd9f98c) >> +>> +endobj +10431 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.495 628.513 173.87 638.781] +/A << /S /GoTo /D (class_room_a3d3329a383d9cc0e4dcf10527ed42845) >> +>> +endobj +10432 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.495 615.766 175.376 626.24] +/A << /S /GoTo /D (class_room_aa9d85e54b2ff1b151de3670e87549966) >> +>> +endobj +10433 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 602.911 186.937 613.287] +/A << /S /GoTo /D (class_room_ae88d660a721682a04e860c977ee13de2) >> +>> +endobj +10434 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 505.09 110.462 515.564] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10435 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.192 227.835 114.098 238.31] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10436 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.145 227.835 203.513 238.31] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +10437 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [476.438 138.989 506.844 149.571] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10441 0 obj +<< +/D [10439 0 R /XYZ 69.866 801.979 null] +>> +endobj +10442 0 obj +<< +/D [10439 0 R /XYZ 70.866 585.186 null] +>> +endobj +3742 0 obj +<< +/D [10439 0 R /XYZ 70.866 564.069 null] +>> +endobj +3746 0 obj +<< +/D [10439 0 R /XYZ 70.866 491.038 null] +>> +endobj +10415 0 obj +<< +/D [10439 0 R /XYZ 70.866 466.14 null] +>> +endobj +3750 0 obj +<< +/D [10439 0 R /XYZ 70.866 466.14 null] +>> +endobj +6302 0 obj +<< +/D [10439 0 R /XYZ 392.474 359.164 null] +>> +endobj +3754 0 obj +<< +/D [10439 0 R /XYZ 70.866 342.121 null] +>> +endobj +10438 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F96 6194 0 R /F104 6525 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10459 0 obj +<< +/Length 2249 +/Filter /FlateDecode +>> +stream +xY[w۸~RX[\gzvXۜo( +XK]0EJ݇}@ f ?-~ /!iqo$Q)#k֧ [|]$0t_Y.YUWP{gd& Ik^@xxfd剐P%JgXO :N ~a4j_Rv־Q{,(doTEnur֎Ym6`z_t;vyq`Osl}+7}:}wz{;aؗقh`M*ݢ~oN@ٮ0{ ' +@;Chv#~oVKN :+K2BM'>)/r=[eT%gǸNVaij;ݩ\Ydkh-:!!/ s[|bHoA +ݧ@?`[h#0-V|V]Cܮ`ƭ-xˎ&~UVRWTS|hntVIĬUF8Q; LFe<3&УLbɚ`%Vf|^T\.pBOEGNuJ~0cO &@4R c qE4WIb*#^)0M" ͡8nFXAVB8}j@tJ(K䥺LBC .K()hqf%]ȩ!_ AҔʅa>A ӈ'ezzoOc4B&>|wH8ÏChue9vrqY''S4;eW7Wek̮6 ٲkw+MIϵ)Abd<6N5:|H{OH NA!|U9iidh!^jS XSc5oaW$F#uCPGahM"聛QlL69Kp08qOuf䗮tZ=GifZҢt§01 +v8jN1Z3vpwjyL =^5 O;wZ9]UqL +T'>EF,aH/1U-r}tFlUZ K_r(xE*"qC<JV%n4x[]FUjB݌}<.gٙЯIl7#dIJ,ueu.ɭugzK&)aQO#::7f~έZJheRw`Coju|eR/G+C f 1D4Rx1wo$\PJr 0N]2c9SnjCd[}} -̝>)-vؙt +Y +0Uf[1Q6xo?tMVƸ+R˺_2wdmgܑx=;G?!N$"gZ6KYeir n.vz,E; O~0_sco a̪+sW՘e}l65 +endstream +endobj +10458 0 obj +<< +/Type /Page +/Contents 10459 0 R +/Resources 10457 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10335 0 R +/Annots [ 10450 0 R 10451 0 R 10452 0 R 10453 0 R 10454 0 R 10455 0 R ] +>> +endobj +10450 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.718 686.956 215.124 697.538] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10451 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.342 651.707 206.512 662.289] +/A << /S /GoTo /D (class_photon_network_a4a1cd1887cb41a0592322527a7304ed7) >> +>> +endobj +10452 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.491 342.551 203.397 353.133] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10453 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.833 296.107 185.738 324.38] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10454 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.491 218.322 203.397 228.904] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10455 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.833 171.878 185.738 200.151] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10460 0 obj +<< +/D [10458 0 R /XYZ 69.866 801.979 null] +>> +endobj +10414 0 obj +<< +/D [10458 0 R /XYZ 70.866 548.803 null] +>> +endobj +3758 0 obj +<< +/D [10458 0 R /XYZ 70.866 528.016 null] +>> +endobj +10416 0 obj +<< +/D [10458 0 R /XYZ 70.866 409.722 null] +>> +endobj +3762 0 obj +<< +/D [10458 0 R /XYZ 70.866 388.935 null] +>> +endobj +10417 0 obj +<< +/D [10458 0 R /XYZ 70.866 283.605 null] +>> +endobj +3766 0 obj +<< +/D [10458 0 R /XYZ 70.866 262.818 null] +>> +endobj +3770 0 obj +<< +/D [10458 0 R /XYZ 70.866 152.086 null] +>> +endobj +10422 0 obj +<< +/D [10458 0 R /XYZ 70.866 123.986 null] +>> +endobj +3774 0 obj +<< +/D [10458 0 R /XYZ 70.866 123.986 null] +>> +endobj +10447 0 obj +<< +/D [10458 0 R /XYZ 70.866 70.763 null] +>> +endobj +10457 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F73 4864 0 R /F104 6525 0 R /F115 6866 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10465 0 obj +<< +/Length 1799 +/Filter /FlateDecode +>> +stream +xYKs6Wp|f,>3Cj'g$^(XSBRq iӱ6iO\X%ECߦ7D$LNHINs0g9WnD|10r?+2iԵ]1d `"Y$pyz::bJE$➓FW`C#V\9/ bLjZ)>h-Ю)D>0J;S#$F2)/רɛ8pbx1V]-dsV6}=qOa*/F+X½Z.kYs!-}Jq%Oވ9 + n5½]*Tr,k53+2gRyiWym + O0t*i*ӏ!¦#j"p?-Uʞ=fcNB e͙21sti~6KY[g h}8HmȆO`3OEbP]$$$dDAa]KIхv ^Yb.M@ܷ1ݤUydN%eֲɎzjrzi- X' i=0x/R9F=OEֺQEt¨7]'WY~n<Kc#dW41Wbjۯ%>ŀ(eهPʷZ[==?e9> zSAr9.Ʒ jLJ)Hb W`9SeF ).VuH{mb T؝IZ5yGۼ( e&yѷlh{>*C}>V ݸb6-6ZؙW F^Z5mŽcIM!zQĪӁKkLjՇBպW lW7j &6> ܋|.JN@DY'ՍFVteYا8xSoy&'Ll(L߶F ĶzL?!h90xċģXW +> tmw)tNtv"k^0Bx7$fܒ٫J턺zL߰+hytMױ%d!.ƞ3Y69\9xlInoUStz D*c!{ŧ|,>p?~z}*8К/cH{8? RpIz0r!rg|߱ =xe)O;a(w\>=_?U,p\lx^Wa@("shVz25o TH7u$˺MIJ4)lh}TY5Gϩoey{Wsa3!y1 G1`N}ݾ͍$_lc:ǁ?o0:x0m)qLvHxIYh(^|7 دYQc7۹[gJd[`]YxoEdQ +endstream +endobj +10464 0 obj +<< +/Type /Page +/Contents 10465 0 R +/Resources 10463 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10467 0 R +/Annots [ 10456 0 R 10461 0 R 10462 0 R ] +>> +endobj +10456 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.476 708.551 366.883 719.133] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10461 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [192.521 678.972 222.928 689.554] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10462 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [163.845 667.124 227.175 677.599] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +10466 0 obj +<< +/D [10464 0 R /XYZ 69.866 801.979 null] +>> +endobj +3778 0 obj +<< +/D [10464 0 R /XYZ 70.866 771.024 null] +>> +endobj +10444 0 obj +<< +/D [10464 0 R /XYZ 70.866 752.07 null] +>> +endobj +3782 0 obj +<< +/D [10464 0 R /XYZ 70.866 752.07 null] +>> +endobj +10449 0 obj +<< +/D [10464 0 R /XYZ 467.54 670.008 null] +>> +endobj +3786 0 obj +<< +/D [10464 0 R /XYZ 70.866 652.375 null] +>> +endobj +10419 0 obj +<< +/D [10464 0 R /XYZ 70.866 627.509 null] +>> +endobj +3790 0 obj +<< +/D [10464 0 R /XYZ 70.866 627.509 null] +>> +endobj +10420 0 obj +<< +/D [10464 0 R /XYZ 70.866 551.151 null] +>> +endobj +3794 0 obj +<< +/D [10464 0 R /XYZ 70.866 535.406 null] +>> +endobj +10423 0 obj +<< +/D [10464 0 R /XYZ 70.866 479.283 null] +>> +endobj +3798 0 obj +<< +/D [10464 0 R /XYZ 70.866 463.538 null] +>> +endobj +10448 0 obj +<< +/D [10464 0 R /XYZ 70.866 409.092 null] +>> +endobj +3802 0 obj +<< +/D [10464 0 R /XYZ 70.866 393.347 null] +>> +endobj +10418 0 obj +<< +/D [10464 0 R /XYZ 70.866 368.727 null] +>> +endobj +3806 0 obj +<< +/D [10464 0 R /XYZ 70.866 368.727 null] +>> +endobj +10445 0 obj +<< +/D [10464 0 R /XYZ 70.866 326.204 null] +>> +endobj +3810 0 obj +<< +/D [10464 0 R /XYZ 70.866 310.459 null] +>> +endobj +9166 0 obj +<< +/D [10464 0 R /XYZ 70.866 285.7 null] +>> +endobj +3814 0 obj +<< +/D [10464 0 R /XYZ 70.866 285.7 null] +>> +endobj +10443 0 obj +<< +/D [10464 0 R /XYZ 70.866 261.079 null] +>> +endobj +3818 0 obj +<< +/D [10464 0 R /XYZ 70.866 261.079 null] +>> +endobj +6798 0 obj +<< +/D [10464 0 R /XYZ 70.866 218.664 null] +>> +endobj +3822 0 obj +<< +/D [10464 0 R /XYZ 70.866 202.919 null] +>> +endobj +10421 0 obj +<< +/D [10464 0 R /XYZ 70.866 178.192 null] +>> +endobj +3826 0 obj +<< +/D [10464 0 R /XYZ 70.866 178.192 null] +>> +endobj +10446 0 obj +<< +/D [10464 0 R /XYZ 70.866 135.776 null] +>> +endobj +3830 0 obj +<< +/D [10464 0 R /XYZ 70.866 120.032 null] +>> +endobj +9165 0 obj +<< +/D [10464 0 R /XYZ 70.866 95.165 null] +>> +endobj +3834 0 obj +<< +/D [10464 0 R /XYZ 70.866 95.165 null] +>> +endobj +6273 0 obj +<< +/D [10464 0 R /XYZ 70.866 70.866 null] +>> +endobj +3838 0 obj +<< +/D [10464 0 R /XYZ 70.866 70.866 null] +>> +endobj +10463 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10494 0 obj +<< +/Length 1802 +/Filter /FlateDecode +>> +stream +xYK8WxSE䷩3 k!9hMb` É3,ړej}G!8tt8 8pNB4$:әs4O9AL4 `>*Yێ'~EULFѓӈ)qh3Mgߞ@A:Wr((Fd 6peFhʛB7BTFQo8qy+-*l L|CE=zcJ܋Oܯ0"7N5uXr`W5"5 +.ąR/"K-KӒ$"H˟/ؗ%Cѿ"oZTeH7П  !HZhmܘݛsh ^.%Q$uwS@qp|9; X{yhCI`&pc?g !~cc&^)xn&.#PqYg}POQ QݯS[Ed Zu+2V5xo*7a= <0[]rN| +Xvq$f&߇6[;OoOkG5Z3 r?V w'1%-Ft#nSԭ\n Vu3N#FmT:xT PʦNP3$ߍqu-)mCG,=>Ϊʈd2qRi]?k}V!15 d?"0Iz/0J@uR7*;Y^)\^a!$E}8+Uɵ}c6019Kn;ž*9.ھ0 ĦI;rYkDjy36]OpmVh{Cg^jZ9CA2W$Hk9Pǀ7I4*t>*6ij/]y薪~^d8{(Ñꝁ4I0N(FGhW ݁"hhZHߙ۹5e/7n[SEa{`E.:Ub踜j>Os,6O!m1KR/ ɏeD(hqQ rQߕ(Ja}6( Xq YW8hQ+o70#\5?Ʋ-w;4&zF#ټWL0B, +q,YՃ03&̦!l'eZa? U^f[#BFIqzi\vhV8S*N*kyb_6v'klzU?7Zzg"aF/J|?dIV(:bt%' X37gIhGާ}gfuǭP؎TlՂGB]}/GwK_HY +endstream +endobj +10493 0 obj +<< +/Type /Page +/Contents 10494 0 R +/Resources 10492 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10467 0 R +/Annots [ 10468 0 R 10469 0 R 10470 0 R 10471 0 R 10472 0 R 10473 0 R 10474 0 R 10475 0 R 10476 0 R 10477 0 R 10478 0 R 10479 0 R 10480 0 R 10481 0 R 10482 0 R 10483 0 R 10484 0 R 10485 0 R 10486 0 R 10487 0 R 10488 0 R 10489 0 R 10490 0 R ] +>> +endobj +10468 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.166 700.004 145.071 710.273] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10469 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.87 640.68 178.272 651.155] +/A << /S /GoTo /D (class_room_info_ae307da359dd23a36390aa8d0c15eed1c) >> +>> +endobj +10470 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.797 625.535 171.529 635.161] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10471 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [141.392 612.004 200.194 622.479] +/A << /S /GoTo /D (class_room_info_a016c74172ba8d6be63ed46526e0eebd4) >> +>> +endobj +10472 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 583.221 188.914 593.803] +/A << /S /GoTo /D (class_room_info_ad299fe650504477562a3cdf0609aa0eb) >> +>> +endobj +10473 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 554.545 168.705 565.127] +/A << /S /GoTo /D (class_room_info_a4ad3e14e919adab20770874e5b2a8e5d) >> +>> +endobj +10474 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 479.994 181.841 490.262] +/A << /S /GoTo /D (class_room_info_a46f07a9998e906a0adb4f45bb94f1994) >> +>> +endobj +10475 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 451.21 206.367 461.586] +/A << /S /GoTo /D (class_room_info_afa1e25ad6bf953012d67b7a7a2f35642) >> +>> +endobj +10476 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 422.642 155.578 432.91] +/A << /S /GoTo /D (class_room_info_a6ee1a8dc240cfc8f983192806e751f14) >> +>> +endobj +10477 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 395.751 160.366 404.235] +/A << /S /GoTo /D (class_room_info_a9fe8d4b4891f2d6e57dcd774048f2545) >> +>> +endobj +10478 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 365.29 187.964 375.765] +/A << /S /GoTo /D (class_room_info_ad4cd6791bdb87d9af9b2bf37bee89c90) >> +>> +endobj +10479 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.193 365.29 369.7 375.765] +/A << /S /GoTo /D (class_photon_network_a6c6fb3cd57d7e2a13d1fc354db0c1fd7) >> +>> +endobj +10480 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 336.507 163.173 346.883] +/A << /S /GoTo /D (class_room_info_a4a091adee00339d328654b93821ba49e) >> +>> +endobj +10481 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 262.309 185.194 272.224] +/A << /S /GoTo /D (class_room_info_af0811895b3b40f2b64d243d5fd8fd362) >> +>> +endobj +10482 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 233.28 136.956 243.755] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10483 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 233.28 211.554 243.755] +/A << /S /GoTo /D (class_room_info_af849403d0f422b62daaeb134b5e3ce54) >> +>> +endobj +10484 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [323.186 218.135 425.952 227.761] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10485 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [488.674 218.135 525.406 227.761] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10486 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 193.538 145.231 203.914] +/A << /S /GoTo /D (class_room_info_a7ae1c65429e1be34fdefd1b477fcd200) >> +>> +endobj +10487 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 164.969 157.614 175.444] +/A << /S /GoTo /D (class_room_info_a9b0a35ab87c5fbe181e5ad4d87ea169d) >> +>> +endobj +10488 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 136.647 191.452 146.768] +/A << /S /GoTo /D (class_room_info_adfbbe6beb22c1fb69dc2040c39162729) >> +>> +endobj +10489 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 107.617 162.411 117.886] +/A << /S /GoTo /D (class_room_info_ace51e48417e36c6793b6530aa37cc10b) >> +>> +endobj +10490 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 67.983 145.115 78.457] +/A << /S /GoTo /D (class_room_info_a617c94cffce6c0adec48aa5302c2d92f) >> +>> +endobj +10495 0 obj +<< +/D [10493 0 R /XYZ 69.866 801.979 null] +>> +endobj +10496 0 obj +<< +/D [10493 0 R /XYZ 70.866 681.06 null] +>> +endobj +10497 0 obj +<< +/D [10493 0 R /XYZ 70.866 520.374 null] +>> +endobj +10498 0 obj +<< +/D [10493 0 R /XYZ 70.866 302.336 null] +>> +endobj +10492 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10528 0 obj +<< +/Length 1747 +/Filter /FlateDecode +>> +stream +xXK8WSE$/n C2pp%10~vbg2ڪ=IZ_?2ss^L~O\D҉$ }gr"aDB̗ε{Do./T0Wە"mT)gUKGp4A'[yqB:Y9%t'P |üpN0a4:qJ0P)/ %FjJ|O|evz~die' J-,;K.uϯҭd]MWkJlS{ -|Kq޵;۳Ck^X-(}*2bΌ3/ kK X1Nck$Ʈ(-+ZڕUmhUJe]m)O@睲Z=2a!~t b)OG#m6mz(j kZ]FP o!p$H<ɓn_IѴsJ_OWqp7E}31Qbx +!eP_TwOY| Qqr#f@ݔV_^,4c6NEjp ]z#z.Yt_N%HOx<! +ގ$QyACd6{rA1SE _MV73Tj!Z,gX`בf +]dص8Lʶ8VYF94+H | = =AM.$ۺGz6zieo\∪3.`Э!Iw7YyF=,~^(aSso+"#Ǘ<Ѽy$jTIhwge$H{wH> "ajAXqS@ղE 6dU$C[dЍA[&mÃ<~%Ǚt~2 :&%*ityޝ:ޗ ƶZ?tOfpvf.yuWwƼtqJ*g1~`~jEg%qhA&Us5'ȴjoN`k^W +%Mڍ^;ك- > +endobj +10491 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 712.026 149.41 721.941] +/A << /S /GoTo /D (class_room_info_aa738f42768356252e8a72c060dc4b49c) >> +>> +endobj +10515 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 671.465 136.956 681.733] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10516 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 671.465 209.564 681.733] +/A << /S /GoTo /D (class_room_info_a928b103a3e88d2c090152440aa6fa874) >> +>> +endobj +10517 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 657.729 143.743 668.105] +/A << /S /GoTo /D (class_room_info_a77189ececa62ba47ff70359fd2db9af5) >> +>> +endobj +10518 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 644.209 156.618 654.684] +/A << /S /GoTo /D (class_room_info_a211655578d31b9fed0817cad42e8f0b5) >> +>> +endobj +10519 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 630.934 190.95 641.056] +/A << /S /GoTo /D (class_room_info_a1e862ae572d36aba8d35f57241450082) >> +>> +endobj +10520 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 616.953 162.411 627.221] +/A << /S /GoTo /D (class_room_info_a25abb4134a29834298f1c5abcfb85456) >> +>> +endobj +10521 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 603.325 136.149 613.593] +/A << /S /GoTo /D (class_room_info_a870deed85986f1ca62f97ee3f50114ec) >> +>> +endobj +10522 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 590.05 140.937 599.965] +/A << /S /GoTo /D (class_room_info_addfd04015dca91382c6505cf0e7171f0) >> +>> +endobj +10523 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [98.589 400.332 139.181 410.807] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10524 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.833 182.425 200.425 210.698] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10525 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [159.833 67.983 200.425 96.255] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10529 0 obj +<< +/D [10527 0 R /XYZ 69.866 801.979 null] +>> +endobj +3842 0 obj +<< +/D [10527 0 R /XYZ 70.866 574.214 null] +>> +endobj +3846 0 obj +<< +/D [10527 0 R /XYZ 70.866 470.899 null] +>> +endobj +10499 0 obj +<< +/D [10527 0 R /XYZ 70.866 445.683 null] +>> +endobj +3850 0 obj +<< +/D [10527 0 R /XYZ 70.866 445.683 null] +>> +endobj +10500 0 obj +<< +/D [10527 0 R /XYZ 70.866 401.329 null] +>> +endobj +3854 0 obj +<< +/D [10527 0 R /XYZ 70.866 384.496 null] +>> +endobj +10501 0 obj +<< +/D [10527 0 R /XYZ 70.866 288.773 null] +>> +endobj +3858 0 obj +<< +/D [10527 0 R /XYZ 70.866 271.941 null] +>> +endobj +10502 0 obj +<< +/D [10527 0 R /XYZ 70.866 172.444 null] +>> +endobj +3862 0 obj +<< +/D [10527 0 R /XYZ 70.866 155.611 null] +>> +endobj +10526 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F96 6194 0 R /F73 4864 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10544 0 obj +<< +/Length 1520 +/Filter /FlateDecode +>> +stream +xXKs6WofĮ]gƍ^\ ؐJRqﻋDʌu6'b>H\L'/IHE3_:1%I9qꑈ9ܹuYMo?b$}OK޶ә'̶;Fɏ_a;IB/pjr{G:i+ B(oj q0J0j+OgR"h@]7GKTN APDKY]) ]IeI~@1`uZvUtSguUr}2Ou IR^ZFv@*/=h4 P懢^A-G- ٠v#ut{> Vhm] +nm6/x% vaZљ <\VE,BF&{&mh@Poaݻ)crM k04{kzǦĈG* Axdz1D1 );?aF3N 9Yx)s7 rHo x#zX@}& >ptJDҞKlv\5't#;!o_`-| , t۶ա4!A/+=Waz/x>uz&uO2 D+z3SZ~P/E` i$վ=Z^XpNzʌ|/&έ~ @n]0ӷ /Glۦ=dǩ(:t`fCaH_N&u3ǯRC eF ޘ 5$Ȭ{mOC."x %l"S8'3je~?R0ɒ,1'I u`8,tFj|,3^T˺- v#R$z1(7}&PX04*0+̔IY ;aP،Y]ǰҲ(!N3ߤhüTJ1cX8&ML`i$.sej2σΎhX@3D5ч/(>pG2^!D)0,riv THѩDܜ Qz5*pXCvJᔫ`okt7T5_^xrv\ 8Y6$HNŻl]qTg|#+Nbd؉ZąQGwm +OUƀd%6lI +T T7nwaؽ.Mi(1%keu-I)hv SY '0loZ#lsN.H,x!7cr=UeYW1쯽xqҒ0(Ih]Z4e`lM R,+^ezJoڵ~1? ++,H765 +endstream +endobj +10543 0 obj +<< +/Type /Page +/Contents 10544 0 R +/Resources 10542 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10467 0 R +/Annots [ 10537 0 R 10538 0 R 10539 0 R ] +>> +endobj +10537 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [302.732 321.135 416.694 331.61] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10538 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [484.814 321.135 525.406 331.61] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10539 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 273.932 183.832 284.406] +/A << /S /GoTo /D (class_room_a9f8ac164f4f24be4140221b72792250a) >> +>> +endobj +10545 0 obj +<< +/D [10543 0 R /XYZ 69.866 801.979 null] +>> +endobj +3866 0 obj +<< +/D [10543 0 R /XYZ 70.866 771.024 null] +>> +endobj +10507 0 obj +<< +/D [10543 0 R /XYZ 70.866 753.484 null] +>> +endobj +3870 0 obj +<< +/D [10543 0 R /XYZ 70.866 753.484 null] +>> +endobj +10504 0 obj +<< +/D [10543 0 R /XYZ 70.866 708.932 null] +>> +endobj +3874 0 obj +<< +/D [10543 0 R /XYZ 70.866 691.649 null] +>> +endobj +10503 0 obj +<< +/D [10543 0 R /XYZ 70.866 648.957 null] +>> +endobj +3878 0 obj +<< +/D [10543 0 R /XYZ 70.866 631.674 null] +>> +endobj +10508 0 obj +<< +/D [10543 0 R /XYZ 70.866 588.983 null] +>> +endobj +3882 0 obj +<< +/D [10543 0 R /XYZ 70.866 571.699 null] +>> +endobj +10505 0 obj +<< +/D [10543 0 R /XYZ 70.866 529.008 null] +>> +endobj +3886 0 obj +<< +/D [10543 0 R /XYZ 70.866 511.724 null] +>> +endobj +10506 0 obj +<< +/D [10543 0 R /XYZ 70.866 469.033 null] +>> +endobj +3890 0 obj +<< +/D [10543 0 R /XYZ 70.866 451.75 null] +>> +endobj +3894 0 obj +<< +/D [10543 0 R /XYZ 70.866 391.775 null] +>> +endobj +10510 0 obj +<< +/D [10543 0 R /XYZ 70.866 364.483 null] +>> +endobj +3898 0 obj +<< +/D [10543 0 R /XYZ 70.866 364.483 null] +>> +endobj +6797 0 obj +<< +/D [10543 0 R /XYZ 185.329 276.815 null] +>> +endobj +3902 0 obj +<< +/D [10543 0 R /XYZ 70.866 257.644 null] +>> +endobj +10512 0 obj +<< +/D [10543 0 R /XYZ 70.866 232.609 null] +>> +endobj +3906 0 obj +<< +/D [10543 0 R /XYZ 70.866 232.609 null] +>> +endobj +10533 0 obj +<< +/D [10543 0 R /XYZ 70.866 189.778 null] +>> +endobj +3910 0 obj +<< +/D [10543 0 R /XYZ 70.866 172.495 null] +>> +endobj +10514 0 obj +<< +/D [10543 0 R /XYZ 70.866 147.889 null] +>> +endobj +3914 0 obj +<< +/D [10543 0 R /XYZ 70.866 147.889 null] +>> +endobj +10542 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10555 0 obj +<< +/Length 1689 +/Filter /FlateDecode +>> +stream +xXKs6Wpz19c!2C4d$u@F$Hk7=d&' ҡɫH81Iwf '$C'J8 3˜K7&AMyUU۴yU6f:m{!e9g.#aqLb.y1L q(ع3 G> aDŽCF,MZ{SA|V ѥ^Rg[L*G nj#Oak!\)I' Y+)Z}~{vdP13.T4L(,fyk*{a?Q=Ipwf߬*eMhdkp^n +BlԊy-g`PZ!ri>AzCizi?>9]{^W,U 9z"uV@`q6ݳv>Siw@<7RlvnM5Ё\}($U}b>rLMYo@C]!?We)R9U1K(MkuP{u8.}z[JQ(j"^# +(FY*n<[C{ Cޙ,e$K<*V[,x-e1%OiWA~UV$*-Rlo̴/]1ԎnjpM?wu 5 +endstream +endobj +10554 0 obj +<< +/Type /Page +/Contents 10555 0 R +/Resources 10553 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10467 0 R +/Annots [ 10540 0 R 10541 0 R 10546 0 R 10547 0 R 10548 0 R 10549 0 R 10550 0 R 10551 0 R ] +>> +endobj +10540 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.332 758.177 151.924 768.652] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10541 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [269.868 758.177 295.773 768.652] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10546 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.332 658.548 151.924 669.022] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10547 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [269.868 658.548 295.773 669.022] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10548 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.332 558.918 151.924 569.393] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +10549 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [269.868 558.918 295.773 569.393] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10550 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 122.481 162.411 132.749] +/A << /S /GoTo /D (class_room_options_a62549ec6e071414957029b07705dc630) >> +>> +endobj +10551 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 94.181 143.653 104.449] +/A << /S /GoTo /D (class_room_options_a2d2471ba446949054e81362057d0d8ad) >> +>> +endobj +10556 0 obj +<< +/D [10554 0 R /XYZ 69.866 801.979 null] +>> +endobj +10530 0 obj +<< +/D [10554 0 R /XYZ 130.626 749.106 null] +>> +endobj +3918 0 obj +<< +/D [10554 0 R /XYZ 70.866 733.286 null] +>> +endobj +10513 0 obj +<< +/D [10554 0 R /XYZ 130.626 649.476 null] +>> +endobj +3922 0 obj +<< +/D [10554 0 R /XYZ 70.866 633.656 null] +>> +endobj +10534 0 obj +<< +/D [10554 0 R /XYZ 130.626 549.847 null] +>> +endobj +3926 0 obj +<< +/D [10554 0 R /XYZ 70.866 534.027 null] +>> +endobj +9209 0 obj +<< +/D [10554 0 R /XYZ 70.866 507.52 null] +>> +endobj +3930 0 obj +<< +/D [10554 0 R /XYZ 70.866 507.52 null] +>> +endobj +10531 0 obj +<< +/D [10554 0 R /XYZ 70.866 465.003 null] +>> +endobj +3934 0 obj +<< +/D [10554 0 R /XYZ 70.866 449.287 null] +>> +endobj +10535 0 obj +<< +/D [10554 0 R /XYZ 70.866 424.533 null] +>> +endobj +3938 0 obj +<< +/D [10554 0 R /XYZ 70.866 424.533 null] +>> +endobj +10511 0 obj +<< +/D [10554 0 R /XYZ 70.866 399.918 null] +>> +endobj +3942 0 obj +<< +/D [10554 0 R /XYZ 70.866 399.918 null] +>> +endobj +10532 0 obj +<< +/D [10554 0 R /XYZ 70.866 357.509 null] +>> +endobj +3946 0 obj +<< +/D [10554 0 R /XYZ 70.866 341.792 null] +>> +endobj +10509 0 obj +<< +/D [10554 0 R /XYZ 70.866 317.07 null] +>> +endobj +3950 0 obj +<< +/D [10554 0 R /XYZ 70.866 317.07 null] +>> +endobj +10536 0 obj +<< +/D [10554 0 R /XYZ 70.866 274.553 null] +>> +endobj +3954 0 obj +<< +/D [10554 0 R /XYZ 70.866 258.836 null] +>> +endobj +6276 0 obj +<< +/D [10554 0 R /XYZ 70.866 234.543 null] +>> +endobj +3958 0 obj +<< +/D [10554 0 R /XYZ 70.866 234.543 null] +>> +endobj +10557 0 obj +<< +/D [10554 0 R /XYZ 70.866 162.584 null] +>> +endobj +10553 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10582 0 obj +<< +/Length 1933 +/Filter /FlateDecode +>> +stream +xYKW6+\6sh!$ɤ]f,'~ՒCz؞B7c,]]wuma{ǁg(ԵWVQHDZ$ֹMpvxm0pa>bgs'rHB{wRlfew~޽0rкQ+s]{6|>n7 ]+p'6|N a%WaZ *"? R4 +$ȵ“j.iΤx{1#K4:s|['Db#f +='V8hAQr cBbIl>#fss?g,di9%':s˘t5.˲P{`YfYٲ,NZ~IC.vFeKk#+_Jn3->.\Ȳ.+yMHhJ?|lZS&E #ݏ ZO|Qڑ?KȲw9 ׾$7:&vZ^vn'J*7k=2__}):zu4]33,c`=Xĺ9˚k;Iq/|;3[tldy5Z$o[v«{7r|ɠ|H!YAt |b 57B8횀sV05Hz1Sv>(2<#O;|l̃Y}C(%j8X!B +iO%H<{Ի*=NEǥQNspH!Tr6)q xt(,/ ͂d ħ~VH/,DH&UݪDSHnpq\ +mMUՌs_ԐCLD$ Ym3:%bޤсN +7ClJ9ktvH +]}L)#" Ah܈ \$J7r3oKv,750Wwbɾ!\KmBk}dsI8-0SC]ߍȅqaؒ%wKl i6ls"\N}@X{dӲ:\Σ%ȅ ]%[et~1&;;$/R',떷ї.Yq0=bR&2tk n1fY\ hzvU(Sin'8A¹DF\Mا[&'k,\l2Bڭ?ñܹ1a!ډvcՆ>GE܈CZ0{Ei}Fox"A>h4n /$H| Le[G Ӫ#IP81t^$,,j%mƿC*VX- +8ӯi_@MB^֬+drW (\mK-ϓfK"Zұ#16Z87I# ٮAÞ7,TT~,b3ZF\^ۼBڼ2y(ĝHhQ<[Ԫס9uZs]'O0p3:ۥi]Iՠ]Zȍ܋<-9Jã*a9^c0$`9M{ J̈ V_JyߛX1cJ7eye%~?5 O*Vfݗ mUsiv KM_MCt !A$QjZ,qmb4<*_cщ@yIQҹgR$?0q-7zٗ 2ߑUZ{T]pw+ +endstream +endobj +10581 0 obj +<< +/Type /Page +/Contents 10582 0 R +/Resources 10580 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10467 0 R +/Annots [ 10552 0 R 10559 0 R 10560 0 R 10561 0 R 10562 0 R 10563 0 R 10564 0 R 10565 0 R 10566 0 R 10567 0 R 10568 0 R 10569 0 R 10570 0 R 10571 0 R 10572 0 R 10573 0 R 10574 0 R 10575 0 R 10576 0 R 10577 0 R 10578 0 R 10579 0 R ] +>> +endobj +10552 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 758.177 168.014 768.446] +/A << /S /GoTo /D (class_room_options_a5e0b37ab163b5a359d129f9820d8c733) >> +>> +endobj +10559 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 716.62 136.956 727.094] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 716.62 235.467 727.094] +/A << /S /GoTo /D (class_room_options_a4ada64fca4050804b30c76a308a7a489) >> +>> +endobj +10561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 685.913 260.765 696.495] +/A << /S /GoTo /D (class_room_options_a7f8b6c449cea4f53046e0b4578ab5718) >> +>> +endobj +10562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 655.314 156.811 665.69] +/A << /S /GoTo /D (class_room_options_a694060e8b6a69e4e7091d8e37c2a203b) >> +>> +endobj +10563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 576.478 149.41 586.394] +/A << /S /GoTo /D (class_room_options_ac0d554f095700262fabd29cd28e4c7e8) >> +>> +endobj +10564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 545.526 145.115 556.001] +/A << /S /GoTo /D (class_room_options_aed6c5f5fd7c8f31010c242b967246c72) >> +>> +endobj +10565 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 514.927 211.402 525.402] +/A << /S /GoTo /D (class_room_options_a8ca0d69c14df2296fcafa9701426dbd7) >> +>> +endobj +10566 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 484.329 205.18 494.803] +/A << /S /GoTo /D (class_room_options_af4a6c36c95aa2a009377552769eafe4b) >> +>> +endobj +10567 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 454.083 171.834 463.998] +/A << /S /GoTo /D (class_room_options_a76399e7b84d762bd0315bf89aa058caf) >> +>> +endobj +10568 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 412.172 198.777 422.44] +/A << /S /GoTo /D (class_room_options_aa2957343333aa85f1cb585c5dc986e09) >> +>> +endobj +10569 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 381.926 148.908 391.841] +/A << /S /GoTo /D (class_room_options_a750b1c08061aa357ae1d1e189cf8b66c) >> +>> +endobj +10570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 367.27 144.613 377.744] +/A << /S /GoTo /D (class_room_options_adcfa176960d9ab8c0e3667d7c6810192) >> +>> +endobj +10571 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.036 352.967 162.411 363.235] +/A << /S /GoTo /D (class_room_options_aa6e8ee62ea58621a6ac3dc33deb319ba) >> +>> +endobj +10572 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 338.663 209.412 349.138] +/A << /S /GoTo /D (class_room_options_a30d0b25a8b85c9232a8a9140bc7def4b) >> +>> +endobj +10573 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 324.36 136.956 334.629] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10574 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.456 324.36 233.477 334.629] +/A << /S /GoTo /D (class_room_options_a0bc17f8465ed615ce0126674af329a1f) >> +>> +endobj +10575 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 309.949 258.774 320.325] +/A << /S /GoTo /D (class_room_options_a8c4bca19c674840296f924ec701b9ee1) >> +>> +endobj +10576 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.418 295.646 155.815 306.022] +/A << /S /GoTo /D (class_room_options_aed4944177ded9cd58c6c7f0f2bd95b4c) >> +>> +endobj +10577 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 281.451 203.682 291.719] +/A << /S /GoTo /D (class_room_options_a0322774781bc0f5a76e8ea607af453ee) >> +>> +endobj +10578 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 267.148 170.839 277.416] +/A << /S /GoTo /D (class_room_options_aae5bbcfe0897cf56694be07642d980be) >> +>> +endobj +10579 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.373 186.19 243.278 196.665] +/A << /S /GoTo /D (class_room) >> +>> +endobj +10583 0 obj +<< +/D [10581 0 R /XYZ 69.866 801.979 null] +>> +endobj +10584 0 obj +<< +/D [10581 0 R /XYZ 70.866 617.919 null] +>> +endobj +3962 0 obj +<< +/D [10581 0 R /XYZ 70.866 249.722 null] +>> +endobj +3966 0 obj +<< +/D [10581 0 R /XYZ 70.866 168.765 null] +>> +endobj +10585 0 obj +<< +/D [10581 0 R /XYZ 70.866 143.23 null] +>> +endobj +3970 0 obj +<< +/D [10581 0 R /XYZ 70.866 143.23 null] +>> +endobj +10586 0 obj +<< +/D [10581 0 R /XYZ 425.353 70.866 null] +>> +endobj +10580 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R /F104 6525 0 R /F73 4864 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10605 0 obj +<< +/Length 2218 +/Filter /FlateDecode +>> +stream +xr6򮯘Ŝ*ߤrXQY:A`49ĄȪF7&9l4~7(w e.R7`,qH2ߍjvR7g~:}ܷ-eOjjUjy"/͖7N[vbG"ߝ\߈~X7Ž-(p0y'{`-\giںu?u }.VrU/{Ur촅j.u^"~CCt-n /lİXG)z~¯*5 +Ö#[)EӪ5͋toQ}K_m@D #g^ h3坁L!BSfrM[&$ߗ~ȢPU{DMr7UIs: Җ\ +i0bsUԬ0<7X>hh"t!K 2g kZ6c ]xVTc SESKf'.¡t2c0mo 'ߠ]n*9IȊjJ>5kG,B+7]|1^3!ј89X @ơ&PS"w}U[>'2dDzUY謖V0~KHVa0hp%8~~*ZGH@doi}*E`KNd4S QN1qvƅ 2b.kVٯ09+w(߱BufNGP +:0l2BBh^^O|[ i-틵 %XJڌ6 dNd=>Aұ@w&!&2ou> +JP&DLV(|]4`u[cxd[p { ~ݴ5d r*&iΙ ԱZV%S/]~W #rv5MܧRH4c+ah23 +£j#^@ EQ*̗o {RmKe LP!TPmXu*-֛X;^d)[Ag*Ha䍼eA=|Dw{mQSM,-Kڧ!l1|sVGne͂x6 )\ہto(DyЏ}yLGَȖ66㼳՚6&@䚐=`G؜ +b]ØEV:H 6$]_?i 1Nf0kzZ*HYO"#G/!zBCȓnBf쌟ȍžfJ j0tSZĞz4VjiEIei/*g?_Y@W";g9ѓrJժPm> +endobj +10606 0 obj +<< +/D [10604 0 R /XYZ 69.866 801.979 null] +>> +endobj +3974 0 obj +<< +/D [10604 0 R /XYZ 70.866 771.024 null] +>> +endobj +10587 0 obj +<< +/D [10604 0 R /XYZ 278.289 677.244 null] +>> +endobj +3978 0 obj +<< +/D [10604 0 R /XYZ 70.866 661.037 null] +>> +endobj +10558 0 obj +<< +/D [10604 0 R /XYZ 70.866 608.583 null] +>> +endobj +3982 0 obj +<< +/D [10604 0 R /XYZ 70.866 594.264 null] +>> +endobj +9259 0 obj +<< +/D [10604 0 R /XYZ 70.866 550.197 null] +>> +endobj +3986 0 obj +<< +/D [10604 0 R /XYZ 70.866 535.878 null] +>> +endobj +10588 0 obj +<< +/D [10604 0 R /XYZ 70.866 483.424 null] +>> +endobj +3990 0 obj +<< +/D [10604 0 R /XYZ 70.866 469.105 null] +>> +endobj +3994 0 obj +<< +/D [10604 0 R /XYZ 70.866 370.968 null] +>> +endobj +10591 0 obj +<< +/D [10604 0 R /XYZ 70.866 342.193 null] +>> +endobj +3998 0 obj +<< +/D [10604 0 R /XYZ 70.866 342.193 null] +>> +endobj +10597 0 obj +<< +/D [10604 0 R /XYZ 235.118 260.602 null] +>> +endobj +4002 0 obj +<< +/D [10604 0 R /XYZ 70.866 244.288 null] +>> +endobj +10598 0 obj +<< +/D [10604 0 R /XYZ 70.866 219.769 null] +>> +endobj +4006 0 obj +<< +/D [10604 0 R /XYZ 70.866 219.769 null] +>> +endobj +10599 0 obj +<< +/D [10604 0 R /XYZ 70.866 195.11 null] +>> +endobj +4010 0 obj +<< +/D [10604 0 R /XYZ 70.866 195.11 null] +>> +endobj +10593 0 obj +<< +/D [10604 0 R /XYZ 70.866 170.313 null] +>> +endobj +4014 0 obj +<< +/D [10604 0 R /XYZ 70.866 170.313 null] +>> +endobj +10590 0 obj +<< +/D [10604 0 R /XYZ 376.613 70.866 null] +>> +endobj +10603 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10616 0 obj +<< +/Length 2082 +/Filter /FlateDecode +>> +stream +xrH`2TUa7snSoh%qMZ5eO~"iZ{@4Ƴxk/ޟm~2LIz"K/͕H7_z̃/L> +cf*u[eS#ٻ$hfT-g_o ^ <-֋PQy7g< @88 8Hf2i*VeCV2eex9PT Ra*d8ao׺JhU.,sX&E"8"&I2{.d*Lw"}V UkVwݔh(jiӔ^Ҽhy*a4E+ /ppTqqQ5F/_" +!]U6Sl'4˭}1ra*ómqoi0F3fEƘ?&ICئ-_%v})8!Ŭ((_ Meס_K,(nQք64ky ef& C7LftjڲhҴ Lgu$| W_Q}Ĥ+Z_S{gPx@ +eU߀R4szҝ˗vM;7 }'N |c"%0}h@?NgW;|=aG0 D WP7+ p8O6o9Nq @ +{:D@=?GDYO +x갴ld' HĪ8h{&1Y.hcТ*ȟZԦ% ̄ן5]0Ac:݌4;z[ $b>{MrpR\sr8~Ö)x*Zt0SzߚskʿID@kI917EtVqTdadxC " 'sS`P]J?PH=X<82d\9X]XI0)a_P'ٴ5lD=_ +벞5QY."%EU'`m41唌I,R?14" N4 YDi8s6H +C͊6\:P^Ԧ2aJX*p'˲^^"@ЪMHdz}^Y6+aQۀd?MmFr<8Vg s$ ]57ßޟy!DMr.!@S;RӤ>\}TVUi_=. +bj`r09)Gz'q"jN==S %b9g1Xȑ EF; ݷEؘu~yD>q1i<>fh; rN/l904in.ض5 +b\>S73D"Gk^|d QAZ`4<Nw-2| x2eD'e9vp=j|Bʜ莥<CD*3ꞆwnlTք vx2U4՛dl1YO0qf"PSCCmOtg ;}Cp,hpQf. +>Ḻfj>Zf^x LӘTWW5r=vKh̴'vXx엫r렝 ]h療r?F#:U{*j-\?gf׼4{ޛ'JR=ܻHcDu؟klЕL|qеX/>/OlI"lNtЧ"hK GpmwZ5LMk*yhvj|*+gø Hl'boP)ǕwNzaMbxʓH4?/Jcyc|qq?4*Tm9SP(`x,jyU/zԿ8?KW"TDȤ0EAE4 |> ry`ժ@4WHHѢ虴R͢wWM{X|[cHu=VΟ +endstream +endobj +10615 0 obj +<< +/Type /Page +/Contents 10616 0 R +/Resources 10614 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10607 0 R +/Annots [ 10608 0 R 10609 0 R 10610 0 R 10611 0 R 10612 0 R 10613 0 R ] +>> +endobj +10608 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.061 387.26 208.467 397.735] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10609 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 375.305 153.688 385.78] +/A << /S /GoTo /D (class_photon_player_a53a95c12899049fa00d873d634eee5ba) >> +>> +endobj +10610 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.023 363.242 289.203 373.825] +/A << /S /GoTo /D (class_photon_network_a8c94dd51fe8e8986117b499161ff4461) >> +>> +endobj +10611 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.451 140.048 254.244 150.63] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager) >> +>> +endobj +10612 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 81.114 184.261 91.697] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager_a44f218a648b456714c451e119db53b2b) >> +>> +endobj +10613 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 67.983 184.261 78.457] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager_a87166a3e05d57edf58bc6e71d0cf75d5) >> +>> +endobj +10617 0 obj +<< +/D [10615 0 R /XYZ 69.866 801.979 null] +>> +endobj +4018 0 obj +<< +/D [10615 0 R /XYZ 70.866 771.024 null] +>> +endobj +10595 0 obj +<< +/D [10615 0 R /XYZ 173.825 694.732 null] +>> +endobj +4022 0 obj +<< +/D [10615 0 R /XYZ 70.866 676.926 null] +>> +endobj +10589 0 obj +<< +/D [10615 0 R /XYZ 70.866 652.164 null] +>> +endobj +4026 0 obj +<< +/D [10615 0 R /XYZ 70.866 652.164 null] +>> +endobj +10594 0 obj +<< +/D [10615 0 R /XYZ 183.374 552.442 null] +>> +endobj +4030 0 obj +<< +/D [10615 0 R /XYZ 70.866 534.529 null] +>> +endobj +10596 0 obj +<< +/D [10615 0 R /XYZ 70.866 509.874 null] +>> +endobj +4034 0 obj +<< +/D [10615 0 R /XYZ 70.866 509.874 null] +>> +endobj +10600 0 obj +<< +/D [10615 0 R /XYZ 70.866 485.08 null] +>> +endobj +4038 0 obj +<< +/D [10615 0 R /XYZ 70.866 485.08 null] +>> +endobj +7091 0 obj +<< +/D [10615 0 R /XYZ 70.866 460.147 null] +>> +endobj +4042 0 obj +<< +/D [10615 0 R /XYZ 70.866 460.147 null] +>> +endobj +10602 0 obj +<< +/D [10615 0 R /XYZ 314.083 366.234 null] +>> +endobj +4046 0 obj +<< +/D [10615 0 R /XYZ 70.866 348.32 null] +>> +endobj +10592 0 obj +<< +/D [10615 0 R /XYZ 70.866 323.665 null] +>> +endobj +4050 0 obj +<< +/D [10615 0 R /XYZ 70.866 323.665 null] +>> +endobj +10601 0 obj +<< +/D [10615 0 R /XYZ 268.212 235.899 null] +>> +endobj +4054 0 obj +<< +/D [10615 0 R /XYZ 70.866 218.093 null] +>> +endobj +7071 0 obj +<< +/D [10615 0 R /XYZ 70.866 193.33 null] +>> +endobj +4058 0 obj +<< +/D [10615 0 R /XYZ 70.866 193.33 null] +>> +endobj +10618 0 obj +<< +/D [10615 0 R /XYZ 70.866 121.451 null] +>> +endobj +10614 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10642 0 obj +<< +/Length 1524 +/Filter /FlateDecode +>> +stream +xXr8+x$, .ĎSe,@ EjH**5>Dr*S26_w?< s k'w] (r1{G̳Y3~fEy⅚pe~'KYawcD6bx|㻜4f#;5f&XexAcۍ%wrA`lU<GQ$Ϥ:v +SU%0U'Uʗ'u A im. ڈN= L5 ` {Mm!)H?v%Y5 hoѢ\'i|"1!8H( +HF 3 "e=  і"=漗<D:jB 3U˾a:".|A lB,r] +P-y$/#fr ʵK>"mNARpFo=02~ڔ0hh 1Vlm6~NR),,%kn !upE-v[o=GL9:gB:[&,Dqc(.uQ&ܥ..QX@9k@U]PbLyTbJE$#ХTse5-Ve~ +K)y]?i5EmV 3z9Ǽ+qHsgt6aM]s+~ +V|twRy>Kub'. ]ҡPay r*6(XOyY~ԷǿlPFb[DPţ\rYs +D஠R(>=YְgXkwgW8޹zOZVy#=O*\sP'q\S&.ڛyk19جvuW+h-)9չpF/爹E`g';0uwd9t'yrYB$UuvOV(l?+bkΞy$Wr=E$4rU5PQJKs?=6Т]k;b0o6m˥ ]k2qxͥf}'"aP 8aUZϭD~b/s yGwXNwJdu/O崯MfY˓F g: +endstream +endobj +10641 0 obj +<< +/Type /Page +/Contents 10642 0 R +/Resources 10640 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10607 0 R +/Annots [ 10621 0 R 10622 0 R 10623 0 R 10624 0 R 10625 0 R 10626 0 R 10627 0 R 10628 0 R 10629 0 R 10649 0 R 10630 0 R 10631 0 R 10632 0 R 10633 0 R 10634 0 R 10635 0 R 10636 0 R 10637 0 R 10638 0 R ] +>> +endobj +10621 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.451 732.849 254.244 743.432] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager) >> +>> +endobj +10622 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.745 557.848 218.261 568.43] +/A << /S /GoTo /D (class_scene_manager_helper_a177df3595c98493f06aeec0aca449743) >> +>> +endobj +10623 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.157 544.163 223.354 554.285] +/A << /S /GoTo /D (class_scene_manager_helper_ab6409a5985d706aa80a8c1add2f88cad) >> +>> +endobj +10624 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [309.985 395.424 464.51 406.006] +/A << /S /GoTo /D (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec) >> +>> +endobj +10625 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 315.402 178.406 325.984] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32) >> +>> +endobj +10626 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 303.447 183.481 314.029] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32afaf396cbd83927b72a84d2616fac76ff) >> +>> +endobj +10627 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.684 303.447 314.813 314.029] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a90530e0e762e9297f4d32ed392eabe8e) >> +>> +endobj +10628 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [333.016 303.447 438.164 314.029] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a30679503fd5d3a59a6c5c5228d0077de) >> +>> +endobj +10629 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [456.368 303.447 525.406 314.029] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a08d79b550be04c0b3b76fc64a58efde0) >> +>> +endobj +10649 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 292.16 145.106 302.074] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a08d79b550be04c0b3b76fc64a58efde0) >> +>> +endobj +10630 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 279.536 202.418 290.119] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a57561f889c64fb3f0a85f31a7fb1d941) >> +>> +endobj +10631 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 217.138 201.19 227.721] +/A << /S /GoTo /D (class_server_settings_aeb0c2bda5dd14905c6d82c5166971117) >> +>> +endobj +10632 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 202.993 154.843 213.575] +/A << /S /GoTo /D (class_server_settings_a3fd2ceafc9192779c59a646884ba9810) >> +>> +endobj +10633 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 188.847 154.843 199.43] +/A << /S /GoTo /D (class_server_settings_ae9dc8779d32a07848cb6e9063ae215d6) >> +>> +endobj +10634 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [232.219 188.847 307.466 199.43] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10635 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 174.702 169.826 185.284] +/A << /S /GoTo /D (class_server_settings_ae0eef79dfdcf1d7d7577094dadc4ca4b) >> +>> +endobj +10636 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 160.556 188.914 171.139] +/A << /S /GoTo /D (class_server_settings_a8a1c45242135b589ecc819e132c59655) >> +>> +endobj +10637 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.635 98.158 170.032 108.741] +/A << /S /GoTo /D (class_server_settings_a5512de202f9fc04eaa51c9a82a7abb87) >> +>> +endobj +10638 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [136.909 67.875 285.642 78.457] +/A << /S /GoTo /D (class_server_settings_a659ffac7841ea8293727c41080cc26ec) >> +>> +endobj +10643 0 obj +<< +/D [10641 0 R /XYZ 69.866 801.979 null] +>> +endobj +4062 0 obj +<< +/D [10641 0 R /XYZ 70.866 771.024 null] +>> +endobj +4066 0 obj +<< +/D [10641 0 R /XYZ 70.866 715.795 null] +>> +endobj +10619 0 obj +<< +/D [10641 0 R /XYZ 70.866 690.443 null] +>> +endobj +4070 0 obj +<< +/D [10641 0 R /XYZ 70.866 690.443 null] +>> +endobj +10620 0 obj +<< +/D [10641 0 R /XYZ 70.866 663.362 null] +>> +endobj +4074 0 obj +<< +/D [10641 0 R /XYZ 70.866 663.362 null] +>> +endobj +10644 0 obj +<< +/D [10641 0 R /XYZ 70.866 638.141 null] +>> +endobj +4078 0 obj +<< +/D [10641 0 R /XYZ 70.866 638.141 null] +>> +endobj +10645 0 obj +<< +/D [10641 0 R /XYZ 70.866 599.517 null] +>> +endobj +4082 0 obj +<< +/D [10641 0 R /XYZ 70.866 527.109 null] +>> +endobj +10646 0 obj +<< +/D [10641 0 R /XYZ 70.866 499.203 null] +>> +endobj +4086 0 obj +<< +/D [10641 0 R /XYZ 70.866 499.203 null] +>> +endobj +10647 0 obj +<< +/D [10641 0 R /XYZ 70.866 474.215 null] +>> +endobj +4090 0 obj +<< +/D [10641 0 R /XYZ 70.866 474.215 null] +>> +endobj +8902 0 obj +<< +/D [10641 0 R /XYZ 70.866 448.994 null] +>> +endobj +4094 0 obj +<< +/D [10641 0 R /XYZ 70.866 448.994 null] +>> +endobj +10648 0 obj +<< +/D [10641 0 R /XYZ 70.866 357.071 null] +>> +endobj +10650 0 obj +<< +/D [10641 0 R /XYZ 70.866 258.808 null] +>> +endobj +10651 0 obj +<< +/D [10641 0 R /XYZ 70.866 139.828 null] +>> +endobj +10640 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F115 6866 0 R /F96 6194 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10692 0 obj +<< +/Length 1580 +/Filter /FlateDecode +>> +stream +xڵX[s8~` fjE&LKNdw!D_G%V@ws66O''5c Q mc0LԁY5i`qbxgbb>{B`*6Hgvx5}40r)g s +q;c5NlO O1F m׸oiH;0O9/xfY)Q6ߓK'Ԁ(lk5%/)dKZx^,539Qpu^_ww/~\R_/1%`߳dO+flU@A H@Ξ".0X#x1yI%¶X!!A2Q8,ͫŌ-a|CSGEެ? +4Z",)>roÃ4 +A="6U',29<kjvf%XD?,ۃ8] VG<{Sa<$xb(=U$Ԉ2'CG|<cdr[ؔug`{ٲz 2&#prY "We .7'Qwmȋ:Kн'LWz6 ?:x8z z#?QfUvbaR .*[_-U{Q'\Bf3LIݔf8hn.a= 4}lP1Oπ[Ԗ[Qp-6s\N r?IY+ͩيk%Tߨh'Ru(n k7yW|is[N 9+T7(,rr ,:ΖuvBAj ̶ʷjUW]tR> +ݯa${ ]QQӓbU-mcMr:# *G2V&]⋊yq͔Ħ1 ۮv4> +endobj +10639 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 735.095 146.235 745.471] +/A << /S /GoTo /D (class_server_settings_a683ee8add05e046c395ecbcd2c077052) >> +>> +endobj +10665 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 722.144 167.943 732.52] +/A << /S /GoTo /D (class_server_settings_aadefac90411116a558839e318ca90de0) >> +>> +endobj +10666 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 709.193 165.172 719.775] +/A << /S /GoTo /D (class_server_settings_a3e7eed57634b89eabedaf6c852b7dc4b) >> +>> +endobj +10667 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 696.241 153.579 706.823] +/A << /S /GoTo /D (class_server_settings_ac70398ae8a3414ab1429069965cfcd32) >> +>> +endobj +10668 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [154.079 696.241 193.362 706.823] +/A << /S /GoTo /D (class_server_settings_ae09a675e680b68d1ed6117ae990e0140) >> +>> +endobj +10669 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 683.29 170.023 693.872] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10670 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [170.523 683.29 238.023 693.872] +/A << /S /GoTo /D (class_server_settings_a3b8285422f8ec14b98457c0935304b6d) >> +>> +endobj +10671 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 670.338 166.033 680.921] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1) >> +>> +endobj +10672 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [166.533 670.338 234.132 680.921] +/A << /S /GoTo /D (class_server_settings_a16c0927185e85b1c45492481b49e1721) >> +>> +endobj +10673 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.346 670.338 316.603 680.921] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1) >> +>> +endobj +10674 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.508 657.495 210.389 667.969] +/A << /S /GoTo /D (class_server_settings_a2fafc5c45a737f8090fef92f080bfd50) >> +>> +endobj +10675 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 644.435 180.657 655.018] +/A << /S /GoTo /D (class_server_settings_ac93d5ddacf54f0efb974bb3c57537275) >> +>> +endobj +10676 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 633.295 151.534 642.066] +/A << /S /GoTo /D (class_server_settings_a61d571180623076b8a12b9d2ca550411) >> +>> +endobj +10677 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 620.344 173.242 629.115] +/A << /S /GoTo /D (class_server_settings_ab1470a61ee090390923d757d036b7c2d) >> +>> +endobj +10678 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 605.689 156.807 615.957] +/A << /S /GoTo /D (class_server_settings_ab20cfb9bd2fd6526bb96d76c5ef5fcdc) >> +>> +endobj +10679 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 592.737 203.969 603.212] +/A << /S /GoTo /D (class_server_settings_a604fa40c04419dd5972f6d6c0710ac44) >> +>> +endobj +10680 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 579.678 161.075 590.261] +/A << /S /GoTo /D (group__public_api_gaf0468f6a0c8ab8caec09678e6dc6f3d5) >> +>> +endobj +10681 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [161.575 579.678 211.42 590.261] +/A << /S /GoTo /D (class_server_settings_a5caaad8da076804ce522b9b5da31d846) >> +>> +endobj +10682 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.649 579.678 331.28 590.261] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5ae0a1284706116eec7a83a489235a9ef8) >> +>> +endobj +10683 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.44 566.727 211.259 577.309] +/A << /S /GoTo /D (class_server_settings_a98c6a355e14f4a2b76a1255162401aea) >> +>> +endobj +10684 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 553.775 187.704 564.151] +/A << /S /GoTo /D (class_server_settings_abfb17f6528c617b0b7dff59f739de7ec) >> +>> +endobj +10685 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.744 540.824 185.63 551.406] +/A << /S /GoTo /D (class_server_settings_abe34064564018fc67afae2142c244cba) >> +>> +endobj +10686 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 527.98 213.922 538.455] +/A << /S /GoTo /D (class_server_settings_a0bc41aab7289ce45195f260077b91e48) >> +>> +endobj +10687 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.196 470.041 193.443 480.623] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10688 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.943 470.041 319.257 480.623] +/A << /S /GoTo /D (class_server_settings_a7f72524c0d04bb8dee7d6eea35465a0b) >> +>> +endobj +10689 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [309.985 384.622 464.51 395.205] +/A << /S /GoTo /D (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec) >> +>> +endobj +10693 0 obj +<< +/D [10691 0 R /XYZ 69.866 801.979 null] +>> +endobj +10694 0 obj +<< +/D [10691 0 R /XYZ 70.866 775.009 null] +>> +endobj +10695 0 obj +<< +/D [10691 0 R /XYZ 70.866 509.954 null] +>> +endobj +4098 0 obj +<< +/D [10691 0 R /XYZ 70.866 430.19 null] +>> +endobj +4102 0 obj +<< +/D [10691 0 R /XYZ 70.866 370.378 null] +>> +endobj +10652 0 obj +<< +/D [10691 0 R /XYZ 70.866 345.588 null] +>> +endobj +4106 0 obj +<< +/D [10691 0 R /XYZ 70.866 345.588 null] +>> +endobj +10653 0 obj +<< +/D [10691 0 R /XYZ 88.314 288.011 null] +>> +endobj +10654 0 obj +<< +/D [10691 0 R /XYZ 88.314 272.071 null] +>> +endobj +10655 0 obj +<< +/D [10691 0 R /XYZ 88.314 256.13 null] +>> +endobj +10656 0 obj +<< +/D [10691 0 R /XYZ 88.314 240.19 null] +>> +endobj +10657 0 obj +<< +/D [10691 0 R /XYZ 88.314 224.25 null] +>> +endobj +4110 0 obj +<< +/D [10691 0 R /XYZ 70.866 207.015 null] +>> +endobj +10663 0 obj +<< +/D [10691 0 R /XYZ 70.866 182.224 null] +>> +endobj +4114 0 obj +<< +/D [10691 0 R /XYZ 70.866 182.224 null] +>> +endobj +10690 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F82 6068 0 R /F96 6194 0 R /F104 6525 0 R /F107 6686 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10717 0 obj +<< +/Length 1462 +/Filter /FlateDecode +>> +stream +xXKs6Wpz"g"bc;i2NJ{Hs%XX&U.@#A7෻>^/H(@bdB x|*Rk]DCïUfpn:ҷ,хΦ:ƄK$ǃ?D〴B`03>(NThW>Ljz;Dc)Dcbm`$Hx&(AX ޤ (D ǯdM1+9N6#x|k,JgU +:*ճ*非Fh[KNA3tv@@Pﲫ^/)0!4/$" TXdHBFZ/]C8tlmyE:ӵ^eU!;GƢmCvjM43Aj?tfbƖABfCR"n(kNKc0h2gH@'^d gfe6Wr+l> +,෫:\Qbh8$Hr Eїuv%IE\ {iG@((i-m4B n3tY}*UĠ~5qXΥ_{|X9Y.J׋H KlEưc.MeDnjpP6&nOWZW}!n+{ -D滳O׎,zӻI\y]}&;ŝÅ>19˥~Of;G7o}p6q\‘\ +qU!.{3]L*. q\M܈ ;fF+¤iu矲zvko»}?ˍĿd3ϥ0w% +endstream +endobj +10716 0 obj +<< +/Type /Page +/Contents 10717 0 R +/Resources 10715 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10607 0 R +>> +endobj +10718 0 obj +<< +/D [10716 0 R /XYZ 69.866 801.979 null] +>> +endobj +10664 0 obj +<< +/D [10716 0 R /XYZ 70.866 694.863 null] +>> +endobj +4118 0 obj +<< +/D [10716 0 R /XYZ 70.866 677.061 null] +>> +endobj +10662 0 obj +<< +/D [10716 0 R /XYZ 70.866 651.783 null] +>> +endobj +4122 0 obj +<< +/D [10716 0 R /XYZ 70.866 651.783 null] +>> +endobj +10659 0 obj +<< +/D [10716 0 R /XYZ 70.866 626.612 null] +>> +endobj +4126 0 obj +<< +/D [10716 0 R /XYZ 70.866 626.612 null] +>> +endobj +10660 0 obj +<< +/D [10716 0 R /XYZ 70.866 601.442 null] +>> +endobj +4130 0 obj +<< +/D [10716 0 R /XYZ 70.866 601.442 null] +>> +endobj +10658 0 obj +<< +/D [10716 0 R /XYZ 70.866 576.271 null] +>> +endobj +4134 0 obj +<< +/D [10716 0 R /XYZ 70.866 576.271 null] +>> +endobj +10661 0 obj +<< +/D [10716 0 R /XYZ 70.866 551.101 null] +>> +endobj +4138 0 obj +<< +/D [10716 0 R /XYZ 70.866 551.101 null] +>> +endobj +4142 0 obj +<< +/D [10716 0 R /XYZ 70.866 525.93 null] +>> +endobj +10696 0 obj +<< +/D [10716 0 R /XYZ 70.866 500.627 null] +>> +endobj +4146 0 obj +<< +/D [10716 0 R /XYZ 70.866 500.627 null] +>> +endobj +10698 0 obj +<< +/D [10716 0 R /XYZ 70.866 473.596 null] +>> +endobj +4150 0 obj +<< +/D [10716 0 R /XYZ 70.866 473.596 null] +>> +endobj +10713 0 obj +<< +/D [10716 0 R /XYZ 70.866 448.426 null] +>> +endobj +4154 0 obj +<< +/D [10716 0 R /XYZ 70.866 448.426 null] +>> +endobj +10702 0 obj +<< +/D [10716 0 R /XYZ 70.866 423.255 null] +>> +endobj +4158 0 obj +<< +/D [10716 0 R /XYZ 70.866 423.255 null] +>> +endobj +10708 0 obj +<< +/D [10716 0 R /XYZ 70.866 398.084 null] +>> +endobj +4162 0 obj +<< +/D [10716 0 R /XYZ 70.866 398.084 null] +>> +endobj +10699 0 obj +<< +/D [10716 0 R /XYZ 70.866 372.914 null] +>> +endobj +4166 0 obj +<< +/D [10716 0 R /XYZ 70.866 372.914 null] +>> +endobj +10707 0 obj +<< +/D [10716 0 R /XYZ 70.866 347.743 null] +>> +endobj +4170 0 obj +<< +/D [10716 0 R /XYZ 70.866 347.743 null] +>> +endobj +10710 0 obj +<< +/D [10716 0 R /XYZ 70.866 322.572 null] +>> +endobj +4174 0 obj +<< +/D [10716 0 R /XYZ 70.866 322.572 null] +>> +endobj +10700 0 obj +<< +/D [10716 0 R /XYZ 70.866 297.402 null] +>> +endobj +4178 0 obj +<< +/D [10716 0 R /XYZ 70.866 297.402 null] +>> +endobj +10703 0 obj +<< +/D [10716 0 R /XYZ 70.866 272.231 null] +>> +endobj +4182 0 obj +<< +/D [10716 0 R /XYZ 70.866 272.231 null] +>> +endobj +10709 0 obj +<< +/D [10716 0 R /XYZ 70.866 247.061 null] +>> +endobj +4186 0 obj +<< +/D [10716 0 R /XYZ 70.866 247.061 null] +>> +endobj +10712 0 obj +<< +/D [10716 0 R /XYZ 70.866 221.89 null] +>> +endobj +4190 0 obj +<< +/D [10716 0 R /XYZ 70.866 221.89 null] +>> +endobj +10711 0 obj +<< +/D [10716 0 R /XYZ 70.866 196.719 null] +>> +endobj +4194 0 obj +<< +/D [10716 0 R /XYZ 70.866 196.719 null] +>> +endobj +10704 0 obj +<< +/D [10716 0 R /XYZ 70.866 171.549 null] +>> +endobj +4198 0 obj +<< +/D [10716 0 R /XYZ 70.866 171.549 null] +>> +endobj +10705 0 obj +<< +/D [10716 0 R /XYZ 70.866 146.378 null] +>> +endobj +4202 0 obj +<< +/D [10716 0 R /XYZ 70.866 146.378 null] +>> +endobj +10697 0 obj +<< +/D [10716 0 R /XYZ 70.866 121.207 null] +>> +endobj +4206 0 obj +<< +/D [10716 0 R /XYZ 70.866 121.207 null] +>> +endobj +10706 0 obj +<< +/D [10716 0 R /XYZ 70.866 96.037 null] +>> +endobj +4210 0 obj +<< +/D [10716 0 R /XYZ 70.866 96.037 null] +>> +endobj +4214 0 obj +<< +/D [10716 0 R /XYZ 70.866 70.866 null] +>> +endobj +10715 0 obj +<< +/Font << /F74 4865 0 R /F104 6525 0 R /F39 4826 0 R /F73 4864 0 R /F96 6194 0 R /F115 6866 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10730 0 obj +<< +/Length 1459 +/Filter /FlateDecode +>> +stream +xX[s8~ifbUA߶IM&CU)/Ƚ=G`;mL& \.Gr1ky I8f=IIǞL97[x>Kn cFAs6rguYJg+;9M0J=LW;-\yPELm1JHmvx"/2JLZ5p#7@w4v7Hи0c(>pUoj Nr%'0J77?Fi]T˖R$\VWH_5Uk%')H܄,D޶hl~7;m<nJpunɛaB(d](  + `:GY!`G?/Z7WU;*`qu_-%p*(7$-v".+sWYi9*즪vƍTkeV-lbNovm "ߴ^uQkeICY WOFJQ5$e#}T.{ο"[ t:G។~@6,_,X`RD0iyX:]+̴ڣRK_cFG w1鳲33ܾ#QYU vN;Ltjb +]ZƐ0OOtV RPoX?]\mwYwj57D3-u`1$ +e8{g7KW/&Tߵ Gۧa/ +zIT*k ү#ȵ ! r?9upFPeW@=Y{3T"Ky]AUsd?Z;8`iTilO$)7|Xƾ Xoh7@1%Oa2$T,HarmW6KJ+^%eƈ]Y8mj5~`f4 +endstream +endobj +10729 0 obj +<< +/Type /Page +/Contents 10730 0 R +/Resources 10728 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10607 0 R +/Annots [ 10719 0 R 10720 0 R 10721 0 R 10722 0 R 10723 0 R 10724 0 R 10725 0 R ] +>> +endobj +10719 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 517.544 156.933 528.018] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a13c59fb861c4faa3e2709e61c775d7fc) >> +>> +endobj +10720 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.489 502.24 147.868 512.714] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_abdc1a588ec8963fb5a9a7a6ac30d679b) >> +>> +endobj +10721 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.87 486.935 184.252 497.41] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_aba80646c2125b52ec8883eeb908c6b1f) >> +>> +endobj +10722 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.87 471.631 195.209 482.106] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a8d1e6f08daf7c775392d68d804396ebc) >> +>> +endobj +10723 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.311 456.219 230.24 466.802] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a3c737018be9a95fb2216e95ba9d120b8) >> +>> +endobj +10724 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.311 423.726 241.466 434.201] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a74bfa423e0b3f4e6a5ae8f00a3e3b542) >> +>> +endobj +10725 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.422 408.422 200.517 418.897] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a69e80603355c8a49793a6a1c9e79fb3e) >> +>> +endobj +10731 0 obj +<< +/D [10729 0 R /XYZ 69.866 801.979 null] +>> +endobj +10714 0 obj +<< +/D [10729 0 R /XYZ 70.866 750.692 null] +>> +endobj +4218 0 obj +<< +/D [10729 0 R /XYZ 70.866 750.692 null] +>> +endobj +6974 0 obj +<< +/D [10729 0 R /XYZ 222.655 679.95 null] +>> +endobj +4222 0 obj +<< +/D [10729 0 R /XYZ 70.866 656.005 null] +>> +endobj +10732 0 obj +<< +/D [10729 0 R /XYZ 70.866 560.81 null] +>> +endobj +4226 0 obj +<< +/D [10729 0 R /XYZ 70.866 388.641 null] +>> +endobj +4230 0 obj +<< +/D [10729 0 R /XYZ 70.866 322.48 null] +>> +endobj +10733 0 obj +<< +/D [10729 0 R /XYZ 70.866 296.475 null] +>> +endobj +4234 0 obj +<< +/D [10729 0 R /XYZ 70.866 296.475 null] +>> +endobj +4238 0 obj +<< +/D [10729 0 R /XYZ 70.866 268.988 null] +>> +endobj +10734 0 obj +<< +/D [10729 0 R /XYZ 70.866 242.951 null] +>> +endobj +4242 0 obj +<< +/D [10729 0 R /XYZ 70.866 242.951 null] +>> +endobj +10735 0 obj +<< +/D [10729 0 R /XYZ 70.866 215.464 null] +>> +endobj +4246 0 obj +<< +/D [10729 0 R /XYZ 70.866 215.464 null] +>> +endobj +10736 0 obj +<< +/D [10729 0 R /XYZ 70.866 189.698 null] +>> +endobj +4250 0 obj +<< +/D [10729 0 R /XYZ 70.866 189.698 null] +>> +endobj +10737 0 obj +<< +/D [10729 0 R /XYZ 70.866 163.932 null] +>> +endobj +4254 0 obj +<< +/D [10729 0 R /XYZ 70.866 163.932 null] +>> +endobj +10738 0 obj +<< +/D [10729 0 R /XYZ 70.866 138.166 null] +>> +endobj +4258 0 obj +<< +/D [10729 0 R /XYZ 70.866 138.166 null] +>> +endobj +10739 0 obj +<< +/D [10729 0 R /XYZ 70.866 112.4 null] +>> +endobj +4262 0 obj +<< +/D [10729 0 R /XYZ 70.866 112.4 null] +>> +endobj +8604 0 obj +<< +/D [10729 0 R /XYZ 70.866 68.979 null] +>> +endobj +10728 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F96 6194 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10759 0 obj +<< +/Length 1267 +/Filter /FlateDecode +>> +stream +xXs6~_#̜uC4\oҋۗmah.뻋\' ]vZ3Z7Gׁg$µFS+$ +"NF`DPgȃоgE.U,3gǣ6QQ{;ڙJq(1.;k5,JO?˩~#DD\nw> ~ J-$5YP+w,J(K]{.5`)>Nq$bocMRڇz0X<8D5vx~7t5FpFR@#5t)(ݕcвH'ZeQO- Tkn +8$ ЏY A>3|3/l>+p9 $Kc#"`y^HcR +T1nU" !>s=:Q3\_Elf٤\JUEC#GjBLO/I{r hƴp4"^q}b&:^@jm`O:icFh|&;{vKY>s?9N%;qIQHGrE? U)R5Ol@chh @"3l>bUw6u{ڔ= ,^ ϥ9i145s4p +endstream +endobj +10758 0 obj +<< +/Type /Page +/Contents 10759 0 R +/Resources 10757 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10771 0 R +/Annots [ 10726 0 R 10727 0 R 10740 0 R 10741 0 R 10742 0 R 10743 0 R 10744 0 R 10745 0 R 10746 0 R 10747 0 R 10748 0 R 10749 0 R 10750 0 R 10751 0 R 10752 0 R 10753 0 R 10754 0 R 10755 0 R 10756 0 R ] +>> +endobj +10726 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 705.305 164.823 715.779] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +10727 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.323 705.305 235.369 715.779] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_layer_a68d11cfd6780c4237bda70ee5f92a72c) >> +>> +endobj +10740 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 692.857 152.369 703.125] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_layer_ad1d491c302d7fbdf8f423c66561602b4) >> +>> +endobj +10741 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 525.648 157.031 535.917] +/A << /S /GoTo /D (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894) >> +>> +endobj +10742 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [157.531 525.648 178.38 535.917] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter_aed91d06642473f7978a3675b9e08e5de) >> +>> +endobj +10743 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 513.201 164.823 523.675] +/A << /S /GoTo /D (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) >> +>> +endobj +10744 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [165.323 513.201 235.369 523.675] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter_a3bca909eb8a9c74c41c40c5ade8851f3) >> +>> +endobj +10745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 500.645 145.231 511.021] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter_afdeabdbb8e7fa234bd2743435a4362e3) >> +>> +endobj +10746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.166 315.725 183.841 326.199] +/A << /S /GoTo /D (class_typed_lobby_info) >> +>> +endobj +10747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 258.871 144.765 269.346] +/A << /S /GoTo /D (class_typed_lobby_a3cc306cd96153d9e71b905ca7367da77) >> +>> +endobj +10748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 246.316 144.765 256.898] +/A << /S /GoTo /D (class_typed_lobby_aa384f44e95a51cd7b7fd5cfc3354fde3) >> +>> +endobj +10749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.076 246.316 245.079 256.898] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ad) >> +>> +endobj +10750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 233.868 188.914 244.451] +/A << /S /GoTo /D (class_typed_lobby_a7ba53ade2e4b461836a442872bdb5f71) >> +>> +endobj +10751 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 177.015 145.231 187.391] +/A << /S /GoTo /D (class_typed_lobby_acd1dfdf3ed901ee8ebe75587fcd0c60b) >> +>> +endobj +10752 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 139.276 139.78 149.544] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ad) >> +>> +endobj +10753 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.28 139.276 161.129 149.544] +/A << /S /GoTo /D (class_typed_lobby_a6f007dbaead56a950745524463ce5219) >> +>> +endobj +10754 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [155.074 67.983 205.063 78.457] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +10755 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.563 67.983 235.691 78.457] +/A << /S /GoTo /D (class_typed_lobby_a127f509c2991db15c8d1801ec9fe8b35) >> +>> +endobj +10756 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [262.678 67.983 312.667 78.457] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +10760 0 obj +<< +/D [10758 0 R /XYZ 69.866 801.979 null] +>> +endobj +4266 0 obj +<< +/D [10758 0 R /XYZ 70.866 771.024 null] +>> +endobj +10761 0 obj +<< +/D [10758 0 R /XYZ 70.866 744.606 null] +>> +endobj +4270 0 obj +<< +/D [10758 0 R /XYZ 70.866 679.087 null] +>> +endobj +10762 0 obj +<< +/D [10758 0 R /XYZ 70.866 654.189 null] +>> +endobj +4274 0 obj +<< +/D [10758 0 R /XYZ 70.866 654.189 null] +>> +endobj +10763 0 obj +<< +/D [10758 0 R /XYZ 70.866 627.809 null] +>> +endobj +4278 0 obj +<< +/D [10758 0 R /XYZ 70.866 627.809 null] +>> +endobj +8605 0 obj +<< +/D [10758 0 R /XYZ 70.866 603.151 null] +>> +endobj +4282 0 obj +<< +/D [10758 0 R /XYZ 70.866 603.151 null] +>> +endobj +10764 0 obj +<< +/D [10758 0 R /XYZ 70.866 564.95 null] +>> +endobj +4286 0 obj +<< +/D [10758 0 R /XYZ 70.866 486.876 null] +>> +endobj +10765 0 obj +<< +/D [10758 0 R /XYZ 70.866 462.085 null] +>> +endobj +4290 0 obj +<< +/D [10758 0 R /XYZ 70.866 462.085 null] +>> +endobj +10766 0 obj +<< +/D [10758 0 R /XYZ 70.866 435.566 null] +>> +endobj +4294 0 obj +<< +/D [10758 0 R /XYZ 70.866 435.566 null] +>> +endobj +10767 0 obj +<< +/D [10758 0 R /XYZ 70.866 411.047 null] +>> +endobj +4298 0 obj +<< +/D [10758 0 R /XYZ 70.866 411.047 null] +>> +endobj +6245 0 obj +<< +/D [10758 0 R /XYZ 70.866 386.389 null] +>> +endobj +4302 0 obj +<< +/D [10758 0 R /XYZ 70.866 386.389 null] +>> +endobj +10768 0 obj +<< +/D [10758 0 R /XYZ 70.866 298.173 null] +>> +endobj +10769 0 obj +<< +/D [10758 0 R /XYZ 70.866 216.424 null] +>> +endobj +10770 0 obj +<< +/D [10758 0 R /XYZ 70.866 107.284 null] +>> +endobj +10757 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10787 0 obj +<< +/Length 1397 +/Filter /FlateDecode +>> +stream +xڭX[S8~_T1 $U0֬j@ClAp ߓ 4tIǓs|;+;_g,faD(wNQĹq,2%1 B."ioN=Y2yU*ُٟR쐞gN<{Nt0yՔN|%pngϰ#V-־C0 +ẎjsQ{s]F3<@8 +ЙSfuO)uqwYU=W+kPhģc7i 9bq|  " ܻ|d(ęaZ_cL$/D)Ѥui03Ƙ joY51K"cEv9 'ef8 hbNe~zLaHFEwLn$b[?Z3H[NU=2pluA1nr=}3O'S%JWuU)I)߆GQ}ۖTlPwj5f!ͅFV^eۘOmVe#6:P0:aGޮ`(/D]|yhXbcBݭx!~Dl \+%6,@~7Sr#CESk祰pޖN 6F"S5 #z_wVwDl"pY"O/wC-* SUإP'D@rL:ڰR +1~Q  u.>~7ʽ;I6##TIhy#46VlL u$ԼPqYejh xqӉ7A薊q[G@aJOq6@\ +tcSACIm@:TrbT^hj#;;MsYc4bᗦO07@L 4)@@B߼;(~pFO{̭}9"X wTTiN`jaVdG)Æl}nU>}G˾N,{e[p❲g@R^EwBQƨܽ:a^%!(Ӄ $0n]O \6.|j.A"O)Spau}Gyu֕Gf{E> +endobj +10778 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.215 734.788 151.319 744.909] +/A << /S /GoTo /D (class_typed_lobby_a73ad6b86a44c2b93d32748ea667c5427) >> +>> +endobj +10779 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.889 643.863 317.931 654.338] +/A << /S /GoTo /D (class_photon_network_a631231346113712f11319749d6e1a3eb) >> +>> +endobj +10780 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.704 631.908 274.687 642.176] +/A << /S /GoTo /D (class_photon_network_a3af7f8d0082599e6e3a56a5b1481a505) >> +>> +endobj +10781 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.897 201.117 151.886 211.385] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +10782 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.98 141.179 188.914 151.761] +/A << /S /GoTo /D (class_typed_lobby_info_afc589242ac6c9946eb6b5cea6fcf9d81) >> +>> +endobj +10783 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 81.457 157.614 91.931] +/A << /S /GoTo /D (class_typed_lobby_info_a5b7b6fb52a3b9813e8b2af49459c6475) >> +>> +endobj +10784 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 69.686 156.565 78.457] +/A << /S /GoTo /D (class_typed_lobby_info_a948789896eb6815a2628681f338d754b) >> +>> +endobj +10788 0 obj +<< +/D [10786 0 R /XYZ 69.866 801.979 null] +>> +endobj +10789 0 obj +<< +/D [10786 0 R /XYZ 70.866 775.009 null] +>> +endobj +4306 0 obj +<< +/D [10786 0 R /XYZ 70.866 719.314 null] +>> +endobj +4310 0 obj +<< +/D [10786 0 R /XYZ 70.866 616.434 null] +>> +endobj +10772 0 obj +<< +/D [10786 0 R /XYZ 70.866 591.29 null] +>> +endobj +4314 0 obj +<< +/D [10786 0 R /XYZ 70.866 591.29 null] +>> +endobj +10773 0 obj +<< +/D [10786 0 R /XYZ 70.866 564.664 null] +>> +endobj +4318 0 obj +<< +/D [10786 0 R /XYZ 70.866 564.664 null] +>> +endobj +4322 0 obj +<< +/D [10786 0 R /XYZ 70.866 539.621 null] +>> +endobj +10775 0 obj +<< +/D [10786 0 R /XYZ 70.866 514.584 null] +>> +endobj +4326 0 obj +<< +/D [10786 0 R /XYZ 70.866 514.584 null] +>> +endobj +4330 0 obj +<< +/D [10786 0 R /XYZ 70.866 487.819 null] +>> +endobj +6278 0 obj +<< +/D [10786 0 R /XYZ 70.866 462.783 null] +>> +endobj +4334 0 obj +<< +/D [10786 0 R /XYZ 70.866 462.783 null] +>> +endobj +10776 0 obj +<< +/D [10786 0 R /XYZ 70.866 436.157 null] +>> +endobj +4338 0 obj +<< +/D [10786 0 R /XYZ 70.866 436.157 null] +>> +endobj +10777 0 obj +<< +/D [10786 0 R /XYZ 70.866 381.534 null] +>> +endobj +4342 0 obj +<< +/D [10786 0 R /XYZ 70.866 365.064 null] +>> +endobj +4346 0 obj +<< +/D [10786 0 R /XYZ 70.866 306.065 null] +>> +endobj +10790 0 obj +<< +/D [10786 0 R /XYZ 70.866 278.936 null] +>> +endobj +4350 0 obj +<< +/D [10786 0 R /XYZ 70.866 278.936 null] +>> +endobj +9016 0 obj +<< +/D [10786 0 R /XYZ 70.866 254.402 null] +>> +endobj +4354 0 obj +<< +/D [10786 0 R /XYZ 70.866 254.402 null] +>> +endobj +10791 0 obj +<< +/D [10786 0 R /XYZ 70.866 181.861 null] +>> +endobj +10792 0 obj +<< +/D [10786 0 R /XYZ 70.866 122.031 null] +>> +endobj +10785 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10807 0 obj +<< +/Length 1384 +/Filter /FlateDecode +>> +stream +xXMo6WJ!)QAQ`7]4qlʒ,)EŢ%3fPX0e19G0]\b,bXSf&_ηќ<+e)s`lgxo&.&MXi->cD=6bx|㩙1f#0NLj21m<`\}lyfTI)8H}cERX%/,B̲z܂#v5%cDeEš7ˣzó*ln^ ea!FZkEȋ"RVExa9|3wqrrۙ3lMBňtYXojHd7i܀:E^+'<@<7H4) +a*H 8a`cֆ{ +RIAO3kHz*9cE0|+xP/*z >`^'m!k +T`AGd oDZRJhOWôai$#=Uvɀo%&Q=`G"2q]B9Tݔ1Y{0K+xyf"&8`m&X(=vOMۘ +=Qa{M|΃7/=Q 8yOfefU?Z t>m]wy +_B3#,,)PϿ4=W!-Gff|e2y<,^Kh!H7FDf&s8Q2p߅'YS4u(jTMϰޫuIj ӔoWI@j+]Qy|4CyhA>6(~`D|dGOf_P_^]VL WVJVkRa7jWڐ 4};fI12s;1ҧѦYoIBҁ~'శh>n,5mxŋX~UAAV{ٻBV)&JYgT޲I3݀ % ӣmWaՌQl#""!NMH\ "sΫ<̫&e7ԉΎI +kT|Y#v"`0@B:Um.|zR:դc|XO v_ /*WZ&ns;!B tA#LMhM,zS{^B=YlmĂ?z<{w|\8Ns#gŏ<9Nk-u{mhxrD9 1p=\Rc,C#:ʹo`ߙ߻8!6J +endstream +endobj +10806 0 obj +<< +/Type /Page +/Contents 10807 0 R +/Resources 10805 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10771 0 R +/Annots [ 10796 0 R 10797 0 R 10798 0 R 10799 0 R 10800 0 R 10801 0 R 10802 0 R 10803 0 R 10804 0 R ] +>> +endobj +10796 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 500.986 171.243 511.46] +/A << /S /GoTo /D (class_web_rpc_response_af5d1ea1f048ed2527f025c8c19d9b133) >> +>> +endobj +10797 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 469.32 168.705 479.902] +/A << /S /GoTo /D (class_web_rpc_response_a26d3e8a8ae6afce9d309b4c8a7f6105e) >> +>> +endobj +10798 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 387.71 145.231 398.086] +/A << /S /GoTo /D (class_web_rpc_response_ab1431df146dda7dfd8c5771bf592504d) >> +>> +endobj +10799 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.737 356.613 157.291 366.734] +/A << /S /GoTo /D (class_web_rpc_response_ac0f2c0f4cf1ad20705f4bb1cff84461d) >> +>> +endobj +10800 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 324.594 183.93 334.97] +/A << /S /GoTo /D (class_web_rpc_response_a328292c9db1a4c5559b00b9e6b7d1b69) >> +>> +endobj +10801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.823 293.036 256.705 303.412] +/A << /S /GoTo /D (class_web_rpc_response_a7c718bc7f77fa026307ac93f99c81c92) >> +>> +endobj +10802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.708 194.056 220.639 204.531] +/A << /S /GoTo /D (class_photon_network_ad9a866c73b3e417d55266ed548a52cb8) >> +>> +endobj +10803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.748 182.101 183.214 192.575] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +10804 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [275.483 170.146 374.651 180.62] +/A << /S /GoTo /D (class_operation_code_a4d45cf8e2d6766b2cc1613508ed92304) >> +>> +endobj +10808 0 obj +<< +/D [10806 0 R /XYZ 69.866 801.979 null] +>> +endobj +10809 0 obj +<< +/D [10806 0 R /XYZ 70.866 775.009 null] +>> +endobj +4358 0 obj +<< +/D [10806 0 R /XYZ 70.866 753.031 null] +>> +endobj +10793 0 obj +<< +/D [10806 0 R /XYZ 70.866 725.518 null] +>> +endobj +4362 0 obj +<< +/D [10806 0 R /XYZ 70.866 725.518 null] +>> +endobj +4366 0 obj +<< +/D [10806 0 R /XYZ 70.866 698.137 null] +>> +endobj +10794 0 obj +<< +/D [10806 0 R /XYZ 70.866 672.484 null] +>> +endobj +4370 0 obj +<< +/D [10806 0 R /XYZ 70.866 672.484 null] +>> +endobj +10795 0 obj +<< +/D [10806 0 R /XYZ 70.866 645.242 null] +>> +endobj +4374 0 obj +<< +/D [10806 0 R /XYZ 70.866 645.242 null] +>> +endobj +6848 0 obj +<< +/D [10806 0 R /XYZ 70.866 619.722 null] +>> +endobj +4378 0 obj +<< +/D [10806 0 R /XYZ 70.866 619.722 null] +>> +endobj +10810 0 obj +<< +/D [10806 0 R /XYZ 70.866 543.485 null] +>> +endobj +10811 0 obj +<< +/D [10806 0 R /XYZ 70.866 430.316 null] +>> +endobj +4382 0 obj +<< +/D [10806 0 R /XYZ 70.866 258.003 null] +>> +endobj +4386 0 obj +<< +/D [10806 0 R /XYZ 70.866 141.524 null] +>> +endobj +10812 0 obj +<< +/D [10806 0 R /XYZ 70.866 113.876 null] +>> +endobj +4390 0 obj +<< +/D [10806 0 R /XYZ 70.866 113.876 null] +>> +endobj +10805 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F96 6194 0 R /F82 6068 0 R /F115 6866 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10820 0 obj +<< +/Length 994 +/Filter /FlateDecode +>> +stream +xڽVMo8W(5CR?nP m64Yfme)dw(R*AS{(k8͛! g/g' ɑZ-$X fXP\j.?HPd?I]s&UpVMdeamg,g(DJa8J["8 +=u[܆8 f]G:B`kq ‚(SBHpa+S\E[GQ{3EaMk?fu^,jF"PAyY.tl²+B +g+7b2bI +&?'I`F߆6ri-0:45Kx@?$ Y̤j۹ll%ű}?Ēs*Wp0N5Hms  +l) ꩺS%{ݙ% w;ٝ<0ܓ5u?~?;ʓ+OPcc$0ᓳzoje)Nӝd{ ~L  e}Sߌ}K08L޷|ݖEEփ;٦Hrn;1)ֱw=~s~gV yS(INr;=F|A;Zo!+cn{!%lB.;k\`&(R%J>ږg͢7!PVR}J|9zJ/˦wWg<9 ϳFw}☜f +endstream +endobj +10819 0 obj +<< +/Type /Page +/Contents 10820 0 R +/Resources 10818 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10771 0 R +>> +endobj +10821 0 obj +<< +/D [10819 0 R /XYZ 69.866 801.979 null] +>> +endobj +4394 0 obj +<< +/D [10819 0 R /XYZ 70.866 771.024 null] +>> +endobj +10813 0 obj +<< +/D [10819 0 R /XYZ 70.866 753.893 null] +>> +endobj +4398 0 obj +<< +/D [10819 0 R /XYZ 70.866 753.893 null] +>> +endobj +4402 0 obj +<< +/D [10819 0 R /XYZ 70.866 651.493 null] +>> +endobj +10816 0 obj +<< +/D [10819 0 R /XYZ 70.866 624.61 null] +>> +endobj +4406 0 obj +<< +/D [10819 0 R /XYZ 70.866 624.61 null] +>> +endobj +10814 0 obj +<< +/D [10819 0 R /XYZ 70.866 582.559 null] +>> +endobj +4410 0 obj +<< +/D [10819 0 R /XYZ 70.866 567.319 null] +>> +endobj +10817 0 obj +<< +/D [10819 0 R /XYZ 70.866 525.144 null] +>> +endobj +4414 0 obj +<< +/D [10819 0 R /XYZ 70.866 509.903 null] +>> +endobj +10815 0 obj +<< +/D [10819 0 R /XYZ 70.866 467.62 null] +>> +endobj +4418 0 obj +<< +/D [10819 0 R /XYZ 70.866 452.38 null] +>> +endobj +10818 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10826 0 obj +<< +/Length 935 +/Filter /FlateDecode +>> +stream +xVMo6WHEJRo-zB^!ZRXRI_H '~hf͐$Hv}FWzk +T7ڗ?^;_}Ksw_ ѻvۜuD%;m:aW-ȪmGDӁ x0,D|# $P K t곗u~||W+Dc 3zcvxПp!KIDTn_[q֚fẹ{($c+Zz=$ +endstream +endobj +10825 0 obj +<< +/Type /Page +/Contents 10826 0 R +/Resources 10824 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10771 0 R +/Annots [ 10822 0 R ] +>> +endobj +10822 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 224.686 136.515 234.126] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10827 0 obj +<< +/D [10825 0 R /XYZ 69.866 801.979 null] +>> +endobj +4422 0 obj +<< +/D [10825 0 R /XYZ 70.866 771.024 null] +>> +endobj +10828 0 obj +<< +/D [10825 0 R /XYZ 70.866 585.06 null] +>> +endobj +4426 0 obj +<< +/D [10825 0 R /XYZ 70.866 585.06 null] +>> +endobj +10829 0 obj +<< +/D [10825 0 R /XYZ 70.866 547.192 null] +>> +endobj +4430 0 obj +<< +/D [10825 0 R /XYZ 70.866 547.192 null] +>> +endobj +10830 0 obj +<< +/D [10825 0 R /XYZ 70.866 512.118 null] +>> +endobj +4434 0 obj +<< +/D [10825 0 R /XYZ 70.866 512.118 null] +>> +endobj +10831 0 obj +<< +/D [10825 0 R /XYZ 70.866 476.844 null] +>> +endobj +4438 0 obj +<< +/D [10825 0 R /XYZ 70.866 476.844 null] +>> +endobj +10832 0 obj +<< +/D [10825 0 R /XYZ 70.866 426.148 null] +>> +endobj +4442 0 obj +<< +/D [10825 0 R /XYZ 70.866 426.148 null] +>> +endobj +9247 0 obj +<< +/D [10825 0 R /XYZ 70.866 388.362 null] +>> +endobj +4446 0 obj +<< +/D [10825 0 R /XYZ 70.866 388.362 null] +>> +endobj +10833 0 obj +<< +/D [10825 0 R /XYZ 70.866 294.86 null] +>> +endobj +4450 0 obj +<< +/D [10825 0 R /XYZ 70.866 206.008 null] +>> +endobj +10834 0 obj +<< +/D [10825 0 R /XYZ 70.866 160.549 null] +>> +endobj +4454 0 obj +<< +/D [10825 0 R /XYZ 70.866 139.703 null] +>> +endobj +10824 0 obj +<< +/Font << /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F74 4865 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10916 0 obj +<< +/Length 2200 +/Filter /FlateDecode +>> +stream +x˖8v__ +ΉiI>E={8E l0y:3g}6l(ge.ҕ6אO7yO=hl +oˆzUK,X]?yiFyGl-X}i3xA=Kv,ӱ-XGڧ!&2#b02]ǧ\SlˈeJ~jDS\mBlU_%T2qz!KJi "q1c%rrvoHgSbs68)ߤrMj9puP|Z؂XZ,e_$yg֟x~dzy?](=DlAl2c|``pmm(yPb1&rzu5j ׷l$<hGL$m'6"GiJȽܱ 2 +!?=yu8A% vrsÁX,r8=4=$؇$GL@, rq 6&?^zǑ'UUXrx\ێ6$@6䕅\\y̱NcSnӓ$&0?f&uLGDma}03D)ޓdmڛ3DjadO5Sϒ0ɪGsHr5ؗ>q>dQora瓸8YCsD3p b٠c\"PGR4Y -Ck<\x>(\0rѡO(mY{=T^U喞HǢwj6BFBE9 fi)V}pSߦ\؁聂}|aKWSgy)q)UILh2p$W[ +:{lm1Oa"!O=Yvk@N ĮU0EY z IA.2KQ>KD)oYz9+Jtm|!ٴ"1\ S-:C MSjVk(D䂗oP)\%K o +#2=tl wM +G|mG86Gb^]e`!(=dζU Knd7yt%edIL/7Ca3ޖ}a˔/WB8BNbރ6&J-EBT#hY*V|*-SzsjնdBeZʗ5]Q䛞]!b*VymODȤS9UDl>8֒&Ey'ʎz䃈J`ZϿ@K5 +,&SVpNV@Dx1+(<|OY@F eCjZךZ-1m:p-ivkEu[ovfWi]vʜ-~t{h-k'ͩ +>@1}gدVͽ\aZt!LuO_ݯ +}c{ȴ= ǮqlHPzehgXyo=mGkQȊS?׀cbDsqnPz',[8~Yl;j0ܨBٛm\CvN0{4*q=]P; .0߆zϏ_^78 |q'- lVo?+y +z*&*/xW"k{ش, >Lɖ8A L7atuY6k uWBVu]Fx) Z$3%eirjWW5|mhɐ}jWn!|(@&Ue_y,WŪw%BaWiYj.y ,>> +endobj +10823 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 733.467 227.138 743.736] +/A << /S /GoTo /D (class_encryption_data_parameters) >> +>> +endobj +10835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 671.014 231.271 681.39] +/A << /S /GoTo /D (group__public_api_gaf30bbea51cc8c4b1ddc239d1c5c1468f) >> +>> +endobj +10836 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 659.059 301.925 669.642] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa9583b114e6efdfd8068051d562391dc0) >> +>> +endobj +10837 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.163 659.059 477.018 669.642] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faf0e999adc414b29857944d5e5fabfe2e) >> +>> +endobj +10838 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.256 659.059 525.406 669.642] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fadf130e855b7c27f0f10f66db4a7e83c4) >> +>> +endobj +10920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 647.104 279.043 657.686] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fadf130e855b7c27f0f10f66db4a7e83c4) >> +>> +endobj +10839 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [282.036 647.104 511.223 657.686] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab6273c525ff9cd304d2a8b0adb61a5ea) >> +>> +endobj +10840 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 635.149 313.5 645.731] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3ad62b9539e5cf97eacf06e2268dea5a) >> +>> +endobj +10841 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [341.121 635.149 522.913 645.731] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2959bccbe2dabb6a8d2024ea241f6f2f) >> +>> +endobj +10842 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 623.194 271.332 633.776] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) >> +>> +endobj +10843 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.325 623.194 439.422 633.776] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa62d34f824fc4c61b693dd35ff3e7e79b) >> +>> +endobj +10844 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 611.239 324.009 621.821] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) >> +>> +endobj +10845 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.58 611.239 522.913 621.821] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) >> +>> +endobj +10846 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 599.283 325.309 609.866] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) >> +>> +endobj +10847 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [330.616 599.283 525.406 609.866] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +10921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 587.436 139.627 597.704] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) >> +>> +endobj +10848 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 575.373 271.09 585.955] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) >> +>> +endobj +10849 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [300.19 575.373 522.913 585.955] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faccfd8b0940a4981818cc4147e29de834) >> +>> +endobj +10850 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 563.418 328.456 574] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa39b1e276b8dab1e7620a643b7e01d71c) >> +>> +endobj +10851 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [363.262 563.418 525.406 574] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fad07f29ca1e2135927cf0966873408125) >> +>> +endobj +10922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 552.131 171.063 561.839] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fad07f29ca1e2135927cf0966873408125) >> +>> +endobj +10852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 539.508 300.912 550.09] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) >> +>> +endobj +10853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [314.886 539.508 522.913 550.09] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +10854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 527.552 290.547 538.135] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa8bb589bf7df8d2be1f0b4b586ba8001) >> +>> +endobj +10855 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [293.539 527.552 521.185 538.135] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) >> +>> +endobj +10856 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 515.597 381.581 526.18] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fafbc17ce96afe80127d732de2d4be0378) >> +>> +endobj +10857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.676 515.597 525.406 526.18] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941) >> +>> +endobj +10923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 503.642 227.747 514.224] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941) >> +>> +endobj +10858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.574 503.642 434.545 514.224] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab39600c160a074fb0b76467956dadec9) >> +>> +endobj +10859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [442.371 503.642 525.406 514.224] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa03351bfa4fb9325a5b0486862d4be3be) >> +>> +endobj +10924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 491.687 258.869 502.269] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa03351bfa4fb9325a5b0486862d4be3be) >> +>> +endobj +10860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 479.732 348.567 490.314] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa8d87c972aaa1041a4f3778d2d7fab03c) >> +>> +endobj +10861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.569 479.732 525.406 490.314] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa98a8b15d4aa12e02e5ccbc98172eecc) >> +>> +endobj +10925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 467.777 137.135 478.359] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa98a8b15d4aa12e02e5ccbc98172eecc) >> +>> +endobj +10862 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.215 467.777 353.441 478.359] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fac859a296d058a67508e48b2a0363e71c) >> +>> +endobj +10863 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.521 467.777 525.406 478.359] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab1a1f76626b99f398def802effe4908a) >> +>> +endobj +10926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 455.929 161.55 466.404] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab1a1f76626b99f398def802effe4908a) >> +>> +endobj +10864 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 443.866 338.92 454.448] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa21a7525daa0541322ae20d247416d523) >> +>> +endobj +10865 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [348.827 443.866 525.406 454.448] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa52ec8131295503060a07c28fc337fc41) >> +>> +endobj +10927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 432.149 138.686 442.493] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa52ec8131295503060a07c28fc337fc41) >> +>> +endobj +10866 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.984 415.986 299.549 425.71] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10867 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 390.696 185.902 401.278] +/A << /S /GoTo /D (group__public_api_gaf0468f6a0c8ab8caec09678e6dc6f3d5) >> +>> +endobj +10868 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.889 390.696 303.521 401.278] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5ae0a1284706116eec7a83a489235a9ef8) >> +>> +endobj +10869 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [306.513 390.696 427.084 401.278] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5a5391f9a882a54c787b206138ed6d28b0) >> +>> +endobj +10870 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [430.076 390.696 513.312 401.278] +/A << /S /GoTo /D (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5abbd47109890259c0127154db1af26c75) >> +>> +endobj +10871 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 360.44 179.33 370.816] +/A << /S /GoTo /D (group__public_api_gab84b274b6aa3b3a3d7810361da16170f) >> +>> +endobj +10872 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 348.485 166.822 359.067] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +10873 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [169.815 348.485 258.806 359.067] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa52ef9633d88a7480b3a938ff9eaa2a25) >> +>> +endobj +10874 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [261.799 348.485 374.201 359.067] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fad0209f4a40060d6e7c37d29979d8f444) >> +>> +endobj +10875 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.194 348.485 482.863 359.067] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170faf1983fc6b424304e28f91977e06f5881) >> +>> +endobj +10876 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 336.53 217.391 347.112] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa7eb09c07159c5b57395510a1c3755705) >> +>> +endobj +10877 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.384 336.53 331.836 347.112] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa07d978b16f68f868668a6384df9bc11b) >> +>> +endobj +10878 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [334.828 336.53 479.904 347.112] +/A << /S /GoTo /D (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa2dd089935363426140d8d54fee80464c) >> +>> +endobj +10879 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 306.274 194.85 316.856] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819b) >> +>> +endobj +10880 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 294.319 182.352 304.901] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba4829322d03d1606fb09ae9af59a271d3) >> +>> +endobj +10881 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.551 294.319 287.624 304.901] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba0b3b97fa66886c5688ee4ae80ec0c3c2) >> +>> +endobj +10882 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.823 294.319 399.872 304.901] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819bacffe819d4413b95dd8c35c0085930789) >> +>> +endobj +10883 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [418.071 294.319 502.651 304.901] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba55add3d845bfcd87a9b0949b0da49c0a) >> +>> +endobj +10884 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 282.364 182.352 292.946] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba8bcc25c96aa5a71f7a76309077753e67) >> +>> +endobj +10885 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.106 282.364 293.384 292.946] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba2cc2c74685f65f453bf6a6df1fc560df) >> +>> +endobj +10886 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.138 282.364 398.211 292.946] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819bac12e01f2a13ff5587e1e9e4aedb8242d) >> +>> +endobj +10887 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [415.966 282.364 508.024 292.946] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba43ef4393816412456a776afb5477cc24) >> +>> +endobj +10888 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 270.408 179.85 280.991] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819badcf0d7d2cd120bf42580d43f29785dd3) >> +>> +endobj +10889 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.049 270.408 282.63 280.991] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba13b5bfe96f3e2fe411c9f66f4a582adf) >> +>> +endobj +10890 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [305.814 270.408 403.36 280.991] +/A << /S /GoTo /D (_enums_8cs_af823e3be9567fa753720895120c9819ba334c4a4c42fdb79d7ebc3e73b517e6f8) >> +>> +endobj +10891 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [177.485 254.581 287.074 264.207] +/Subtype/Link/A<> +>> +endobj +10892 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 240.152 190.861 250.735] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1) >> +>> +endobj +10893 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 228.197 178.496 238.779] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a4829322d03d1606fb09ae9af59a271d3) >> +>> +endobj +10894 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.277 228.197 308.495 238.779] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a0b3b97fa66886c5688ee4ae80ec0c3c2) >> +>> +endobj +10895 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [355.276 228.197 445.469 238.779] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1acffe819d4413b95dd8c35c0085930789) >> +>> +endobj +10896 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [492.25 228.197 525.406 238.779] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a55add3d845bfcd87a9b0949b0da49c0a) >> +>> +endobj +10928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 216.242 152.082 226.618] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a55add3d845bfcd87a9b0949b0da49c0a) >> +>> +endobj +10897 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 204.287 178.496 214.869] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a8bcc25c96aa5a71f7a76309077753e67) >> +>> +endobj +10898 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.534 204.287 314.956 214.869] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a2cc2c74685f65f453bf6a6df1fc560df) >> +>> +endobj +10899 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.995 204.287 445.212 214.869] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1ac12e01f2a13ff5587e1e9e4aedb8242d) >> +>> +endobj +10900 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [492.25 204.287 525.406 214.869] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a43ef4393816412456a776afb5477cc24) >> +>> +endobj +10929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 192.332 159.559 202.708] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a43ef4393816412456a776afb5477cc24) >> +>> +endobj +10901 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 180.377 175.995 190.959] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1adcf0d7d2cd120bf42580d43f29785dd3) >> +>> +endobj +10902 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [219.646 180.377 300.371 190.959] +/A << /S /GoTo /D (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a13b5bfe96f3e2fe411c9f66f4a582adf) >> +>> +endobj +10903 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [374.003 164.452 401.56 174.175] +/A << /S /GoTo /D (class_region) >> +>> +endobj +10904 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 150.358 187.884 160.703] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9b) >> +>> +endobj +10905 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 138.165 219.732 148.748] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9baef70e46fd3bbc21e3e1f0b6815e750c0) >> +>> +endobj +10906 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226.598 138.165 342.587 148.748] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9bae321c53b354930ba96f0243e652df458) >> +>> +endobj +10907 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.454 138.165 463.452 148.748] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9ba2ec0d16e4ca169baedb9b2d50ec5c6d7) >> +>> +endobj +10908 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [470.319 138.165 525.406 148.748] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9ba10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +10930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 126.21 176.371 136.792] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9ba10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +10909 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 114.255 248.629 124.837] +/A << /S /GoTo /D (_enums_8cs_acdd867d72142510ce53521a63a062f9baa745dcbcb79fe11077073440a0089d1b) >> +>> +endobj +10910 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.08 98.33 398.541 108.054] +/A << /S /GoTo /D (group__public_api_ga8d4a6786d6193f0e6245c44e4a7bb4a0) >> +>> +endobj +10911 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 83.999 186.646 94.375] +/A << /S /GoTo /D (_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0) >> +>> +endobj +10912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [192.634 83.999 336.427 94.375] +/A << /S /GoTo /D (_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0a279497bbf0f95253e9d5bb0de757d10d) >> +>> +endobj +10913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [339.419 83.999 490.628 94.375] +/A << /S /GoTo /D (_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0ad8d9b213c7c5146145b74119aa01c9a3) >> +>> +endobj +10917 0 obj +<< +/D [10915 0 R /XYZ 69.866 801.979 null] +>> +endobj +10918 0 obj +<< +/D [10915 0 R /XYZ 70.866 775.009 null] +>> +endobj +10919 0 obj +<< +/D [10915 0 R /XYZ 70.866 712.664 null] +>> +endobj +10914 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F96 6194 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10966 0 obj +<< +/Length 1447 +/Filter /FlateDecode +>> +stream +xڽXKo8W=@MzR'nEm8ZˢWH3@!97O +{+{oFuz)qx;/(c/! +[d1Ed'xjv'$mE-ʩL%g˼~\ӟdv!%g{JQd|cQr5X4tg;rBHFu^pߩE^r "4R8ZЋ=ژ(܌~^k 4΍F f[0##%4ᘴ4"0K^3@t?_rY:ZfvЎo5?DqdReٚL; + ̳-f#ўq˲=`Iudl;}k38/RDcb-<%5ab҃h-hUay!_1?LIMW;6 +Y3U +'so@GAo'F$r\`i^+ UI|k!}jwz*Q` IPf>)8c7q(m\~9aW +xvp!`;>]LU] +pghKpO00'[>tJ}YǝjR?^C>>.֙ ?ۻk} WE-Bd8h+2thˬWej$[Xx4lzw;?vaTrO +endstream +endobj +10965 0 obj +<< +/Type /Page +/Contents 10966 0 R +/Resources 10964 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10968 0 R +/Annots [ 10960 0 R 10961 0 R 10962 0 R 10963 0 R ] +>> +endobj +10960 0 obj +<< +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [146.02 649.54 267.564 660.014] +/Subtype/Link/A<> +>> +endobj +10961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.665 631.808 266.671 642.39] +/A << /S /GoTo /D (class_photon_network_a84b7be74d130b19eeeb1d7b4e8193ad4) >> +>> +endobj +10962 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [364.374 371.881 394.771 382.463] +/A << /S /GoTo /D (class_region) >> +>> +endobj +10963 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [345.571 109.856 391.417 120.438] +/A << /S /GoTo /D (group__public_api_ga8d4a6786d6193f0e6245c44e4a7bb4a0) >> +>> +endobj +10967 0 obj +<< +/D [10965 0 R /XYZ 69.866 801.979 null] +>> +endobj +4458 0 obj +<< +/D [10965 0 R /XYZ 70.866 771.024 null] +>> +endobj +4462 0 obj +<< +/D [10965 0 R /XYZ 70.866 719.47 null] +>> +endobj +8725 0 obj +<< +/D [10965 0 R /XYZ 70.866 692.479 null] +>> +endobj +4466 0 obj +<< +/D [10965 0 R /XYZ 70.866 692.479 null] +>> +endobj +10931 0 obj +<< +/D [10965 0 R /XYZ 88.314 594.604 null] +>> +endobj +10932 0 obj +<< +/D [10965 0 R /XYZ 88.314 579.078 null] +>> +endobj +10933 0 obj +<< +/D [10965 0 R /XYZ 88.314 563.551 null] +>> +endobj +10934 0 obj +<< +/D [10965 0 R /XYZ 88.314 548.025 null] +>> +endobj +10935 0 obj +<< +/D [10965 0 R /XYZ 88.314 532.499 null] +>> +endobj +10936 0 obj +<< +/D [10965 0 R /XYZ 88.314 516.973 null] +>> +endobj +10937 0 obj +<< +/D [10965 0 R /XYZ 88.314 501.447 null] +>> +endobj +10938 0 obj +<< +/D [10965 0 R /XYZ 88.314 485.921 null] +>> +endobj +10939 0 obj +<< +/D [10965 0 R /XYZ 88.314 470.395 null] +>> +endobj +10940 0 obj +<< +/D [10965 0 R /XYZ 88.314 454.868 null] +>> +endobj +10941 0 obj +<< +/D [10965 0 R /XYZ 88.314 439.342 null] +>> +endobj +10701 0 obj +<< +/D [10965 0 R /XYZ 70.866 430.205 null] +>> +endobj +4470 0 obj +<< +/D [10965 0 R /XYZ 70.866 415.16 null] +>> +endobj +10942 0 obj +<< +/D [10965 0 R /XYZ 88.314 317.052 null] +>> +endobj +10943 0 obj +<< +/D [10965 0 R /XYZ 88.314 301.526 null] +>> +endobj +10944 0 obj +<< +/D [10965 0 R /XYZ 88.314 286 null] +>> +endobj +10945 0 obj +<< +/D [10965 0 R /XYZ 88.314 270.474 null] +>> +endobj +10946 0 obj +<< +/D [10965 0 R /XYZ 88.314 254.948 null] +>> +endobj +10947 0 obj +<< +/D [10965 0 R /XYZ 88.314 239.422 null] +>> +endobj +10948 0 obj +<< +/D [10965 0 R /XYZ 88.314 223.896 null] +>> +endobj +10949 0 obj +<< +/D [10965 0 R /XYZ 88.314 208.369 null] +>> +endobj +10950 0 obj +<< +/D [10965 0 R /XYZ 88.314 192.843 null] +>> +endobj +10951 0 obj +<< +/D [10965 0 R /XYZ 88.314 177.317 null] +>> +endobj +8964 0 obj +<< +/D [10965 0 R /XYZ 70.866 170.175 null] +>> +endobj +4474 0 obj +<< +/D [10965 0 R /XYZ 70.866 155.13 null] +>> +endobj +10952 0 obj +<< +/D [10965 0 R /XYZ 88.314 70.866 null] +>> +endobj +10964 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F96 6194 0 R /F107 6686 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +10977 0 obj +<< +/Length 1640 +/Filter /FlateDecode +>> +stream +xXKs6W !|Lih2M@KZ$.^Iَ=Iڋ~odzb/CyFcei걜xf/Eq + iAHYyW-RJtr2|٩2؛Ww/=ИgVKV^D(#w?'ؚz҈K 碮-6f~B6Ir8/-u,x٬>P&jg +Ǚ&a֚#(`}^*s(DZ7jQ6 >cz&14D@k+sQU]=]Ƶ%/#<#`v7E+[A;8 +198G<mkQ,F1/^*#=[l=ux`&ݺ5ph +9 +$+.eVp$ƍnUQ۷q+4E1' Lj$6Qj4-۲]7鉙fe[avO FAbRdsYd#&!%ŒF!2Bƌ41.aYj1r{ @m̤Hk1Vz#/MPi`dbQ>KsE%}[6rGA>op4 R;gRZ*uXYy NnBKI^eM=̉RbQ?w`6՛znߋ{iŋ2E|9 B!HS0QE-c'1L7+ъ:p!ښ 7Ӗ6zI$䀜k9A|-[ů1=_wSKQ΢LY \.162ɀ1Th }iKʁ )jzLO \f'[ 8+#9 #h[i}tIXtbqn@i2X}FMRk_6Y~QY5E\`MqJ'm6bXUlv_uk[4U:AJ,=iURfoZe@FK`(4/DO Da)ؕET6va:o0 TQ1 eKWiW.HUQ+,/dt;x=[e0EڢBPEh6+yÙ~PY΂8vУC}|r*Xk>֡~3ޟ_Vo}.!CT5a[u5h +,G\~A(DRC0mAm7n]/n m4É͘ 1C/0g 0z(:ԡc9஖:tt=WIQ0],X[߃@wiՃ6ŋJO>nCN8 ;oUv!bXd$xW._U{[<|5w:|"JnW^!*5bOGfRy4ֱɀX +(M-Z}Mpr}i-fFWiۃl-vktqtqԗ[^/ +endstream +endobj +10976 0 obj +<< +/Type /Page +/Contents 10977 0 R +/Resources 10975 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10968 0 R +/Annots [ 10969 0 R 10970 0 R 10971 0 R 10972 0 R 10973 0 R ] +>> +endobj +10969 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 411.87 163.541 420.354] +/A << /S /GoTo /D (class_extensions) >> +>> +endobj +10970 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 378.416 213.868 388.891] +/A << /S /GoTo /D (class_game_object_extensions) >> +>> +endobj +10971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 296.431 160.877 307.013] +/A << /S /GoTo /D (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +10972 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 281.593 190.816 292.175] +/A << /S /GoTo /D (_extensions_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) >> +>> +endobj +10973 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 86.598 159.515 95.288] +/A << /S /GoTo /D (class_friend_info) >> +>> +endobj +10978 0 obj +<< +/D [10976 0 R /XYZ 69.866 801.979 null] +>> +endobj +10953 0 obj +<< +/D [10976 0 R /XYZ 88.314 761.061 null] +>> +endobj +10954 0 obj +<< +/D [10976 0 R /XYZ 88.314 743.234 null] +>> +endobj +10955 0 obj +<< +/D [10976 0 R /XYZ 88.314 725.407 null] +>> +endobj +10956 0 obj +<< +/D [10976 0 R /XYZ 88.314 707.58 null] +>> +endobj +10957 0 obj +<< +/D [10976 0 R /XYZ 70.866 692.792 null] +>> +endobj +4478 0 obj +<< +/D [10976 0 R /XYZ 70.866 673.111 null] +>> +endobj +10958 0 obj +<< +/D [10976 0 R /XYZ 88.314 586.089 null] +>> +endobj +10959 0 obj +<< +/D [10976 0 R /XYZ 88.314 556.307 null] +>> +endobj +10979 0 obj +<< +/D [10976 0 R /XYZ 70.866 517.716 null] +>> +endobj +4482 0 obj +<< +/D [10976 0 R /XYZ 70.866 509.656 null] +>> +endobj +10980 0 obj +<< +/D [10976 0 R /XYZ 70.866 452.666 null] +>> +endobj +10981 0 obj +<< +/D [10976 0 R /XYZ 70.866 339.119 null] +>> +endobj +4486 0 obj +<< +/D [10976 0 R /XYZ 70.866 262.908 null] +>> +endobj +6275 0 obj +<< +/D [10976 0 R /XYZ 70.866 235.137 null] +>> +endobj +4490 0 obj +<< +/D [10976 0 R /XYZ 70.866 235.137 null] +>> +endobj +10982 0 obj +<< +/D [10976 0 R /XYZ 70.866 209.823 null] +>> +endobj +4494 0 obj +<< +/D [10976 0 R /XYZ 70.866 209.823 null] +>> +endobj +10983 0 obj +<< +/D [10976 0 R /XYZ 70.866 184.276 null] +>> +endobj +4498 0 obj +<< +/D [10976 0 R /XYZ 70.866 184.276 null] +>> +endobj +10984 0 obj +<< +/D [10976 0 R /XYZ 70.866 127.394 null] +>> +endobj +10985 0 obj +<< +/D [10976 0 R /XYZ 70.866 57.908 null] +>> +endobj +10975 0 obj +<< +/Font << /F74 4865 0 R /F107 6686 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11016 0 obj +<< +/Length 1686 +/Filter /FlateDecode +>> +stream +xY[s8~` ,$}K4nͦf\7}.`8ݤ}B s+糧 +=6׆Qy:ȱc<O؜E.[urc%EYxvѰ\I]^\uubi[u׬)6&EY}78Oʋm`SlV?O3FzN*cxD&&Ŷ<;[PF>|Fs"ʕ6rƙv k1KmBB>A#}@ ƸE<Q;Q9 +vF0 +A-P R qACL +}V[墀vXg9$@@BVK{)mZޜ@F<x7Mp5 # = Ԑ ;J,6xn='߰ fyJu=3 @J{ҥ\"KڜG9i2ޠs a TJi$|{>Vj=k!m8l*V݋[䬊7qA&oo{۱߇Y̾O+\CHTf!~@fo90mԽ "q 22&>6M#p"z:(ľHȥvW#T'HOZ^QreA9uLHz;ZoF?mci*}葄-@uh<t!Ma7˪cZ-nL R\DMviY%#j30)uS ZvSTjfTYGVצbP)sNP#9~w2YI`f (EEBzxS,R~ eQ+*;ћ(EC(rV=T-\Uip]ǯc({kڻv)b5A\$"Өi}n6z],+}29G:MQ]T2SXK2ݓ:):d +VIM'Y55!DC|e.QO%^QiiTw&? pQeϸMs 8B].HJ6yʏF6(ȾWm>-[K;*hw:];/2Ylni[K%fN1Hpb +LW.ώQZ.5$`dTli^*Vi2VVq0>E&chf-܈ϲŻ53{%ljE}I^WګôLFO#MTTk~» hkZ:#pt/{My?DH#?>ֽwU6X5h;O f>gꪘVE0X`Iڴ5_:Gߺ?9r9B4~y> +uCC}W#B &-ItGApsЩBHr_dŷ6fs +endstream +endobj +11015 0 obj +<< +/Type /Page +/Contents 11016 0 R +/Resources 11014 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10968 0 R +/Annots [ 10974 0 R 10986 0 R 10987 0 R 10988 0 R 10989 0 R 11021 0 R 10990 0 R 10991 0 R 11022 0 R 10992 0 R 10993 0 R 10994 0 R 10995 0 R 10996 0 R 10997 0 R 10998 0 R 10999 0 R 11000 0 R 11001 0 R 11002 0 R 11003 0 R 11004 0 R 11005 0 R 11006 0 R 11007 0 R 11008 0 R ] +>> +endobj +10974 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 685.624 283.024 696.098] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_g_u_i_1_1_gizmo_type_drawer) >> +>> +endobj +10986 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 625.234 220.53 635.816] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i) >> +>> +endobj +10987 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.744 565.06 260.543 575.534] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65) >> +>> +endobj +10988 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.81 565.06 461.3 575.534] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab37d9c6b396307dda685c3c65c20e359) >> +>> +endobj +10989 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.467 565.06 525.406 575.534] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab7095f057db3fefa7325ad93a04e14fd) >> +>> +endobj +11021 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 553.105 216.638 563.579] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab7095f057db3fefa7325ad93a04e14fd) >> +>> +endobj +10990 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.624 553.105 410.637 563.579] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65a70ab99161d5df5bb7e0edb7407f65483) >> +>> +endobj +10991 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [425.622 553.105 525.406 563.579] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65aa296104f0c61a9cf39f4824d05315e12) >> +>> +endobj +11022 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 541.149 165.316 551.624] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65aa296104f0c61a9cf39f4824d05315e12) >> +>> +endobj +10992 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.442 402.251 228.007 410.344] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10993 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 361.456 161.039 370.227] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10994 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 345.89 148.159 353.983] +/A << /S /GoTo /D (class_error_code) >> +>> +endobj +10995 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.535 345.89 325.1 353.983] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10996 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 330.576 181.831 340.844] +/A << /S /GoTo /D (class_actor_properties) >> +>> +endobj +10997 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 301.399 193.255 311.873] +/A << /S /GoTo /D (class_game_property_key) >> +>> +endobj +10998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [437.268 285.906 464.833 295.629] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +10999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 273.925 163.818 282.696] +/A << /S /GoTo /D (class_event_code) >> +>> +endobj +11000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [322.463 256.729 350.028 266.452] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11001 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 244.748 182.522 253.519] +/A << /S /GoTo /D (class_parameter_code) >> +>> +endobj +11002 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 213.868 180.397 224.342] +/A << /S /GoTo /D (class_operation_code) >> +>> +endobj +11003 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 184.691 174.497 195.165] +/A << /S /GoTo /D (class_room_options) >> +>> +endobj +11004 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 155.514 196.204 165.988] +/A << /S /GoTo /D (class_raise_event_options) >> +>> +endobj +11005 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 126.337 167.683 136.605] +/A << /S /GoTo /D (class_typed_lobby) >> +>> +endobj +11006 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 97.16 182.37 107.634] +/A << /S /GoTo /D (class_typed_lobby_info) >> +>> +endobj +11007 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 85.352 203.019 93.836] +/A << /S /GoTo /D (class_authentication_values) >> +>> +endobj +11008 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [236.537 68.171 264.102 77.798] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11017 0 obj +<< +/D [11015 0 R /XYZ 69.866 801.979 null] +>> +endobj +4502 0 obj +<< +/D [11015 0 R /XYZ 70.866 771.024 null] +>> +endobj +11018 0 obj +<< +/D [11015 0 R /XYZ 70.866 726.372 null] +>> +endobj +11019 0 obj +<< +/D [11015 0 R /XYZ 70.866 666.09 null] +>> +endobj +11020 0 obj +<< +/D [11015 0 R /XYZ 70.866 605.808 null] +>> +endobj +11023 0 obj +<< +/D [11015 0 R /XYZ 70.866 531.222 null] +>> +endobj +4506 0 obj +<< +/D [11015 0 R /XYZ 70.866 524.225 null] +>> +endobj +11024 0 obj +<< +/D [11015 0 R /XYZ 70.866 467.821 null] +>> +endobj +11014 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11074 0 obj +<< +/Length 2386 +/Filter /FlateDecode +>> +stream +xZs8_嘪 + *?xؕTgmg朗}aJ~j0''Zju?n-f|ui Љ|ߵn9[A$[W3-vra̕>|OLM"WEZȑ(0tB!dq7f`Qhkʅ%= ϙuy3dzҮřxߞVOu> lROjMө}'k*rEyy gop[ M%B~[b6pdzҾf?T(KH<+u3qjً1HمiY#|`|9_^ߡ[1C kʹyL졇zDR-Z@+t8hGXR_*aо+2ກDxvj +AŒpE8Η$}"JeYI\Q_KeX7惚jivumZZ="T3m @!-<5EG12SK$GA-UnmL=6 J΀\M8zEȯz/@Zh}ݰp?#w+>"#olIe[6ŕaiqDcvz kՁ44 >^mZ*l.q?cH1Z=T0!}>[H\hq> sƲ⁛u%2{e[1ي>.+э|=;DhXmt~{yU@X/}WOX6nc.VB^,NvQ\dDJQ{&QEA(.j)tC +ۙz . n]۱dz(a>@#=0eume޾Lz;Hvyo,<>ߩjwdX1d.SkUhVo@laqt'\y( ž{(vr9zh=B*u꾤NݙhM֏=:ćUU@`&:] ۅy*35b'AS\ 0I3 0׾Lv`0O$LhvrH" UhFm- ?FnhgZ1n*Y\)uwݍM:^tbUOsHj`>EU0br^e`Ho^߀okE6-t&1Ūcᒶ?kP8u=;tqh,z s:启;JeF [J`B]5slPㄒ,.49\tb8)pԒ'k.FD$NVb/je@IM0 GamKML>Tf>M礦PSGTQ~,/@>IuQ1ž2dQh{&lAh1f,hA28~.A3 +Go=^t6ȭ1p|u0DžP~#qFC /3u-CkL6&3Cjyf2@:>1LE=$)\%*~hlVm:s9ffB8"Ocd`^Cz*{hkuc96l5޾wem8wŸJ' +!Fwޅ-43 #^wcVQn~0@3~8aV_R5% |t|hЙQjj$Y"Lx`%^2^kXk1n)O+sy惪l}S9o;nѢОBPʥ +endstream +endobj +11073 0 obj +<< +/Type /Page +/Contents 11074 0 R +/Resources 11072 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10968 0 R +/Annots [ 11009 0 R 11010 0 R 11011 0 R 11012 0 R 11013 0 R 11025 0 R 11026 0 R 11027 0 R 11028 0 R 11029 0 R 11030 0 R 11031 0 R 11032 0 R 11033 0 R 11034 0 R 11035 0 R 11036 0 R 11037 0 R 11077 0 R 11038 0 R 11039 0 R 11040 0 R 11078 0 R 11041 0 R 11042 0 R 11043 0 R 11044 0 R 11045 0 R 11046 0 R 11047 0 R 11048 0 R 11049 0 R 11079 0 R 11050 0 R 11051 0 R 11052 0 R 11053 0 R 11054 0 R 11055 0 R 11056 0 R 11057 0 R 11058 0 R 11059 0 R 11080 0 R 11060 0 R 11061 0 R 11062 0 R 11063 0 R 11081 0 R 11064 0 R 11065 0 R 11066 0 R 11067 0 R 11082 0 R 11068 0 R 11069 0 R ] +>> +endobj +11009 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.649 733.366 160.51 743.841] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9) >> +>> +endobj +11010 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [191.559 733.366 262.914 743.841] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9a7a1920d61156abc05a60135aefe8bc67) >> +>> +endobj +11011 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [281.26 733.366 394.236 743.841] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9a1e41e14c1f9344f2db61fe8653b5b001) >> +>> +endobj +11012 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [412.581 733.366 507.616 743.841] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9aa63ce0e3e810c781a410d3addc56db7f) >> +>> +endobj +11013 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 721.411 181.841 731.885] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9adc2168ee308fc14616dfd264d45cfd15) >> +>> +endobj +11025 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.171 679.951 197.901 690.533] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85e) >> +>> +endobj +11026 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.561 679.951 347.013 690.533] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85eaa5912f7a88c36ab01e9c1c38fd7bad9e) >> +>> +endobj +11027 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.056 679.951 506.572 690.533] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85ea85e600e069b55d677fcc38fe96002751) >> +>> +endobj +11028 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 667.996 245.124 678.371] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85ea43f0360f3d6dd072a905e7bf6343b565) >> +>> +endobj +11029 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.27 637.71 181.327 648.184] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41) >> +>> +endobj +11030 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [210.982 637.71 302.126 648.184] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41a52ef9633d88a7480b3a938ff9eaa2a25) >> +>> +endobj +11031 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [319.39 637.71 393.587 648.184] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41ab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +11032 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.851 637.71 525.406 648.184] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41ad0209f4a40060d6e7c37d29979d8f444) >> +>> +endobj +11033 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 584.294 177.187 594.876] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816) >> +>> +endobj +11034 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 572.339 206.175 582.921] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816aed89696ce2a8a4cfb22e37d482c72cbb) >> +>> +endobj +11035 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.014 572.339 336.413 582.921] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ac9a823ae99d397814cb62b335ba9e0a9) >> +>> +endobj +11036 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [355.252 572.339 474.128 582.921] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a28f79c65a5ac3ff0e04978cf99f7e540) >> +>> +endobj +11037 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [492.968 572.339 525.406 582.921] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ad45857356b7a23b7daac5ef397b3825e) >> +>> +endobj +11077 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 560.384 191.085 570.966] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ad45857356b7a23b7daac5ef397b3825e) >> +>> +endobj +11038 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 548.429 230.016 559.011] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a53f67bc41da305a88205d1ded2f35954) >> +>> +endobj +11039 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [246.714 548.429 407.866 559.011] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a187c171b946f4fb73de86aaee4d7aad2) >> +>> +endobj +11040 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.564 548.429 525.406 559.011] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a92cb14adcb4e187b188c94fb74c53dab) >> +>> +endobj +11078 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 536.473 167.109 547.056] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a92cb14adcb4e187b188c94fb74c53dab) >> +>> +endobj +11041 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.308 536.473 402.293 547.056] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a06e5db15df6ca1969b38628518d71d76) >> +>> +endobj +11042 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 524.518 230.33 535.101] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a0dc854abbac4ba563d1151c331e58c91) >> +>> +endobj +11043 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.061 524.518 368.687 535.101] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816af8a05e1851a5563b3aff68bf8bf8486b) >> +>> +endobj +11044 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [392.419 524.518 517.509 535.101] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816acdf56f0af5cd6eecb93e8d808c131841) >> +>> +endobj +11045 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.732 512.563 255.668 523.145] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ae426b4afc51b756484914daadb36ad4d) >> +>> +endobj +11046 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.334 460.252 191.864 470.834] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8) >> +>> +endobj +11047 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.744 460.252 318.195 470.834] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +11048 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.093 460.252 449.53 470.834] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a63d72051e901c069f8aa1b32aa0c43bb) >> +>> +endobj +11049 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [481.428 460.252 525.406 470.834] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a1cc84619677de81ee6e44149845270a3) >> +>> +endobj +11079 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 447.801 156.484 459.676] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a1cc84619677de81ee6e44149845270a3) >> +>> +endobj +11050 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [189.137 447.801 325.452 459.676] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a68ebb8ef1cbd0371b060a93d7788d460) >> +>> +endobj +11051 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.907 418.011 164.911 428.485] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ad) >> +>> +endobj +11052 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [197.25 418.011 272.748 428.485] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ada7a1920d61156abc05a60135aefe8bc67) >> +>> +endobj +11053 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.933 418.011 376.406 428.485] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ada5c1bd8d2513ea60a7adcc388b0702dd9) >> +>> +endobj +11054 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.59 418.011 525.406 428.485] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74adac833c502bc8e709e70d75b82c027bb6b) >> +>> +endobj +11055 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.86 389.954 413.425 399.677] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11056 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.55 364.703 189.556 375.177] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3) >> +>> +endobj +11057 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [197.435 364.703 287.108 375.177] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3a632c9594449737188c71ee1c8534f893) >> +>> +endobj +11058 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.283 364.703 402.385 375.177] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3aa3863fc49e47221d013aed5edca1ca03) >> +>> +endobj +11059 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [406.56 364.703 525.406 375.177] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3ae36ec8ecce3ddc0a8ce532dd4d5133dd) >> +>> +endobj +11080 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 352.878 114.199 363.016] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3ae36ec8ecce3ddc0a8ce532dd4d5133dd) >> +>> +endobj +11060 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 322.354 227.891 332.829] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257) >> +>> +endobj +11061 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 310.399 236.31 320.873] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a90589c47f06eb971d548591f23c285af) >> +>> +endobj +11062 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.385 310.399 389.943 320.873] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a4db4563826bad0eb2f60ee6e42d0ea4b) >> +>> +endobj +11063 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.017 310.399 525.406 320.873] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257ad85544fce402c7a2a96a48078edaf203) >> +>> +endobj +11081 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 298.444 135.691 308.918] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257ad85544fce402c7a2a96a48078edaf203) >> +>> +endobj +11064 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.891 298.444 292.439 308.918] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257aa8a06837aec81e16c9a07221848aef6f) >> +>> +endobj +11065 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 286.489 250.504 296.963] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a3f6fb6f058deeea1407bacefec5265a2) >> +>> +endobj +11066 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.962 286.489 404.773 296.963] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a183709ebe3a1d675014d32b94ad7ed94) >> +>> +endobj +11067 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.232 286.489 525.406 296.963] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +11082 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 274.533 139.413 284.802] +/A << /S /GoTo /D (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +11068 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.572 258.432 365.137 268.155] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11069 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 249.176 136.515 257.011] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11075 0 obj +<< +/D [11073 0 R /XYZ 69.866 801.979 null] +>> +endobj +11076 0 obj +<< +/D [11073 0 R /XYZ 70.866 775.009 null] +>> +endobj +4510 0 obj +<< +/D [11073 0 R /XYZ 70.866 231.992 null] +>> +endobj +11083 0 obj +<< +/D [11073 0 R /XYZ 70.866 202.619 null] +>> +endobj +4514 0 obj +<< +/D [11073 0 R /XYZ 70.866 202.619 null] +>> +endobj +11084 0 obj +<< +/D [11073 0 R /XYZ 88.314 117.193 null] +>> +endobj +11085 0 obj +<< +/D [11073 0 R /XYZ 88.314 100.004 null] +>> +endobj +11086 0 obj +<< +/D [11073 0 R /XYZ 88.314 82.814 null] +>> +endobj +7171 0 obj +<< +/D [11073 0 R /XYZ 70.866 70.866 null] +>> +endobj +11072 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F104 6525 0 R /F77 6067 0 R /F82 6068 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11128 0 obj +<< +/Length 2380 +/Filter /FlateDecode +>> +stream +xڽYYw8~psL}+5sb3 "WW€ǩtB>Eƫ5c1]84#wƋq`5]'/#2L 4.f|6-v)MnY6EQ\HWp"EL`-5Bwem70GZ$})) Q)tB[K9ąr)J5[YEM#IR6Pι)Z3ѻǰJjO%T̒ +PeY~=jN6nnA'ގ܏WܳmM}ԤT銨/(hF +.wy,#xEWBM-K1)l[Q~/oJ1׳Ч2cq8nкGlG8+njyjZV۪YVD)d~98n*kXC\p7=MYI=v?kV YߕA@ x/9a:0ۘ=Ǡ+h94SMerR'kGu-zho19GsҚA0m +BL܂7r,/O +1}l]Վ|\a8#Ϥ[WAgO5L9͢# ]}ON#Ks@mŘ6(CBRgF)kI d1ЙE+Jg\EHJ6e*?ON@*M*S/wOvm+p aG}YTRnYd2*gDfMF[;X}4UTicv%*nr1HRA%1居ˆ #8+t[?Q I[;sT:"f0=4 !((Z/eS  פ$zROJzP + ݄fg₼@WOpLfdeAxxAݏ'!N ݓ_ewn'by{Uj1vƢ3KW>>^veBKV!jy= +endstream +endobj +11127 0 obj +<< +/Type /Page +/Contents 11128 0 R +/Resources 11126 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10968 0 R +/Annots [ 11070 0 R 11071 0 R 11125 0 R ] +>> +endobj +11070 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [325.576 733.411 355.982 743.994] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11071 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [79.84 723.348 110.247 731.832] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11125 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.74 585.996 451.065 596.578] +/A << /S /GoTo /D (class_authentication_values) >> +>> +endobj +11129 0 obj +<< +/D [11127 0 R /XYZ 69.866 801.979 null] +>> +endobj +4518 0 obj +<< +/D [11127 0 R /XYZ 70.866 771.024 null] +>> +endobj +11118 0 obj +<< +/D [11127 0 R /XYZ 88.314 683.707 null] +>> +endobj +11119 0 obj +<< +/D [11127 0 R /XYZ 88.314 667.92 null] +>> +endobj +11120 0 obj +<< +/D [11127 0 R /XYZ 88.314 652.134 null] +>> +endobj +11121 0 obj +<< +/D [11127 0 R /XYZ 88.314 636.347 null] +>> +endobj +11122 0 obj +<< +/D [11127 0 R /XYZ 88.314 620.56 null] +>> +endobj +11123 0 obj +<< +/D [11127 0 R /XYZ 88.314 604.774 null] +>> +endobj +11124 0 obj +<< +/D [11127 0 R /XYZ 88.314 588.987 null] +>> +endobj +10358 0 obj +<< +/D [11127 0 R /XYZ 70.866 565.565 null] +>> +endobj +4522 0 obj +<< +/D [11127 0 R /XYZ 70.866 550.397 null] +>> +endobj +11098 0 obj +<< +/D [11127 0 R /XYZ 88.314 427.751 null] +>> +endobj +11099 0 obj +<< +/D [11127 0 R /XYZ 88.314 411.964 null] +>> +endobj +11100 0 obj +<< +/D [11127 0 R /XYZ 88.314 396.177 null] +>> +endobj +11101 0 obj +<< +/D [11127 0 R /XYZ 88.314 380.391 null] +>> +endobj +11102 0 obj +<< +/D [11127 0 R /XYZ 88.314 364.604 null] +>> +endobj +11103 0 obj +<< +/D [11127 0 R /XYZ 88.314 348.817 null] +>> +endobj +11104 0 obj +<< +/D [11127 0 R /XYZ 88.314 321.075 null] +>> +endobj +11105 0 obj +<< +/D [11127 0 R /XYZ 88.314 305.289 null] +>> +endobj +11106 0 obj +<< +/D [11127 0 R /XYZ 88.314 277.547 null] +>> +endobj +11107 0 obj +<< +/D [11127 0 R /XYZ 88.314 261.76 null] +>> +endobj +11108 0 obj +<< +/D [11127 0 R /XYZ 88.314 245.973 null] +>> +endobj +11109 0 obj +<< +/D [11127 0 R /XYZ 88.314 218.231 null] +>> +endobj +11087 0 obj +<< +/D [11127 0 R /XYZ 70.866 196.726 null] +>> +endobj +4526 0 obj +<< +/D [11127 0 R /XYZ 70.866 181.558 null] +>> +endobj +11088 0 obj +<< +/D [11127 0 R /XYZ 88.314 70.866 null] +>> +endobj +11126 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11133 0 obj +<< +/Length 2477 +/Filter /FlateDecode +>> +stream +xڵYIsWt1Xe"`U)˒w$XֿOt62\,^ư?=# pm+ +#8be|1~_|0\XsY.gsF2mwh&+ zqzNp:QdE3ŗmck Gƣڹ3<ߵ|υqn|f6!aXfm%F+YԊ'Mn<$ ,YeVPeE"Ff˃,w4߼YSQ6436Xyo\{} D*AoZjXsdzWJ +CWdBe]!]644U +,xb?:{FK$KMҬؑ~YOU(oP~ȝ_9}gCaK()r1wCYñv,6wl(f{rN;˥2b^dz:ʌH6OJ#s'] ӧJ UȺ˥MF0ܗ +uƖ 0gǣo8І]'m:ܡVnV~Wc FT _ 2X&3rߧPӷ"tp9z.nC,1׍~EU7 +̦>%y)~03PQJB +q Sj7~z݂f9ta*c3^ӢNV>!|h:[I~&U{ICe6m솣.j12WR>U!L`{A͑4V‹1=O6%w +~G+Z]&l> 蛄l>x~yW')b+ n3(#j]5*.C> Nc.~:5ڔuۊ"º8D/\Ή_ +P{]ݽ;TwMna{LzňG.:d*o!Ѓ܂tEU1}U7R%!oN]]1R9A_ +AN;vP6?t*O n=\QypUh\&*E.{)#7 1[d6ϐSKDPzX4$>]E740␚ u1kwK,;ؼ)!pD+>UmqKW6۾%-噆}n2`@VO'5tw'G ߕ(ЉrdY +endstream +endobj +11132 0 obj +<< +/Type /Page +/Contents 11133 0 R +/Resources 11131 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 10968 0 R +/Annots [ 11130 0 R ] +>> +endobj +11130 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [400.648 654.638 431.054 665.22] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11134 0 obj +<< +/D [11132 0 R /XYZ 69.866 801.979 null] +>> +endobj +11089 0 obj +<< +/D [11132 0 R /XYZ 88.314 761.061 null] +>> +endobj +11090 0 obj +<< +/D [11132 0 R /XYZ 88.314 746.44 null] +>> +endobj +11091 0 obj +<< +/D [11132 0 R /XYZ 88.314 719.863 null] +>> +endobj +10774 0 obj +<< +/D [11132 0 R /XYZ 70.866 712.644 null] +>> +endobj +4530 0 obj +<< +/D [11132 0 R /XYZ 70.866 698.025 null] +>> +endobj +11115 0 obj +<< +/D [11132 0 R /XYZ 88.314 607.848 null] +>> +endobj +11116 0 obj +<< +/D [11132 0 R /XYZ 88.314 581.271 null] +>> +endobj +11117 0 obj +<< +/D [11132 0 R /XYZ 88.314 554.695 null] +>> +endobj +8788 0 obj +<< +/D [11132 0 R /XYZ 70.866 534.187 null] +>> +endobj +4534 0 obj +<< +/D [11132 0 R /XYZ 70.866 519.568 null] +>> +endobj +11092 0 obj +<< +/D [11132 0 R /XYZ 88.314 439.454 null] +>> +endobj +11093 0 obj +<< +/D [11132 0 R /XYZ 88.314 412.878 null] +>> +endobj +11094 0 obj +<< +/D [11132 0 R /XYZ 88.314 386.301 null] +>> +endobj +11110 0 obj +<< +/D [11132 0 R /XYZ 70.866 365.686 null] +>> +endobj +4538 0 obj +<< +/D [11132 0 R /XYZ 70.866 351.067 null] +>> +endobj +11111 0 obj +<< +/D [11132 0 R /XYZ 88.314 271.06 null] +>> +endobj +11112 0 obj +<< +/D [11132 0 R /XYZ 88.314 256.439 null] +>> +endobj +11113 0 obj +<< +/D [11132 0 R /XYZ 88.314 241.818 null] +>> +endobj +11114 0 obj +<< +/D [11132 0 R /XYZ 88.314 227.197 null] +>> +endobj +10360 0 obj +<< +/D [11132 0 R /XYZ 70.866 218.537 null] +>> +endobj +4542 0 obj +<< +/D [11132 0 R /XYZ 70.866 203.917 null] +>> +endobj +11095 0 obj +<< +/D [11132 0 R /XYZ 88.314 112.064 null] +>> +endobj +11096 0 obj +<< +/D [11132 0 R /XYZ 88.314 97.442 null] +>> +endobj +11097 0 obj +<< +/D [11132 0 R /XYZ 88.314 82.821 null] +>> +endobj +11135 0 obj +<< +/D [11132 0 R /XYZ 70.866 62.206 null] +>> +endobj +11131 0 obj +<< +/Font << /F74 4865 0 R /F107 6686 0 R /F39 4826 0 R /F73 4864 0 R /F82 6068 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11181 0 obj +<< +/Length 2026 +/Filter /FlateDecode +>> +stream +xZr۸+XYQU#Wf(vn<YlB"wt ERlD +O?&H{ZOFzcM,,?D85Z_0>r?oG䀹!/lXLyr%KQ)rtFBJU_`!c$t]=gY>8$]$6\ 9 b~@з׿5g8a`=3Kqus5LR]Kūc1NB&#cMbb,aVEf?:t˷<h;K +{%Un(X@8 > GwmO5Pǵ|h~5J|7LRim1:pF0o C74pZ_154+;~E( +臨L@|!Vi6OLfe!$t`<(1{Y@=L2}CR^Z_\Kj];Y7ޢۀ K>Qfr5i6uz^K"Mb]}"ZG + E?KOWr*^ܙZc3S?QPFZFtUkx)))?F3y h1Hď뜌f9-K~WjmC} XߴyIe9Lō(3l;7Z2*{o^:5X `-H4h˷ʻ*[NR.O|$>oye~&l%BJqe2.!\.µDY`E~ `\g58|q=dpQqt;h2sϟ +-J4:B.et8NlCh )kmb9CMl+S +1IS}PYPTţБz eGtyђ<(bha|);Ǥ|諁|.E!%eoH919ᡳ_=߶w">=`ەϝ+e2KXkYҶd q _{Zr9xIR iu(XEaZs$|N*6~ZFtșʑxQHZ8N^8E&_;7I#޴$y2u`mI;*ffr{M:TQ fJҶB-e3k16sZ-)ʋ<@?<'DBpuV!U"9Swdu 'җi xdouS&P!>`LjƘ=+uKؕ]},_*_.6Jx˅ٽ~ڲ\벻?*7}Ӧ+'JqYT\S'؃4<&̜~7N<^bU ieXp `9Y3ag:sA[\m8hlm5T +CWe>vgn5|wO-*#go3GB䄎hhV>P*8־;%>>AD3Qf +K {+Cswe[Z'_3=n3Uz9qƧ{$I6 +endstream +endobj +11180 0 obj +<< +/Type /Page +/Contents 11181 0 R +/Resources 11179 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11196 0 R +/Annots [ 11136 0 R 11137 0 R 11138 0 R 11139 0 R 11140 0 R 11141 0 R 11142 0 R 11143 0 R 11144 0 R 11145 0 R 11146 0 R 11147 0 R 11148 0 R 11149 0 R 11150 0 R 11151 0 R 11152 0 R 11153 0 R 11154 0 R 11155 0 R 11186 0 R 11156 0 R 11157 0 R 11158 0 R 11159 0 R 11187 0 R 11160 0 R 11161 0 R 11162 0 R 11163 0 R 11164 0 R 11188 0 R 11165 0 R 11189 0 R 11166 0 R 11167 0 R 11168 0 R 11169 0 R 11170 0 R 11190 0 R 11171 0 R 11172 0 R 11191 0 R 11173 0 R 11192 0 R 11174 0 R 11175 0 R 11176 0 R 11177 0 R 11178 0 R 11193 0 R ] +>> +endobj +11136 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [152.754 670.247 180.318 679.784] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11137 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.655 670.247 452.852 679.784] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +11138 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 598.957 160.877 609.539] +/A << /S /GoTo /D (_networking_peer_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +11139 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 585.404 190.816 595.986] +/A << /S /GoTo /D (_networking_peer_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) >> +>> +endobj +11140 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 525.51 165.45 535.854] +/A << /S /GoTo /D (group__public_api_ga8d4a6786d6193f0e6245c44e4a7bb4a0) >> +>> +endobj +11141 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 513.985 191.174 523.899] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0af704f57ea420275ad51bf55b7dec2c96) >> +>> +endobj +11142 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [194.167 513.985 292.752 523.899] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a8f20319172b2aa6813ba3359f8790a39) >> +>> +endobj +11143 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.745 513.985 375.851 523.899] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7b2f31b90fe1c2cc33a52233c1925df3) >> +>> +endobj +11144 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.843 513.985 481.607 523.899] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa927b3e1f83aa1b3c6feff945ca18f77) >> +>> +endobj +11145 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 501.362 193.55 511.944] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a628d81b73c9e217e7388d07c448d98bf) >> +>> +endobj +11146 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.069 501.362 373.45 511.944] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ab468dfbd5b304bf96c74152856bd09a7) >> +>> +endobj +11147 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.969 501.362 528.28 511.944] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a2adb83359e79fb5cfc94ab00dcf2184b) >> +>> +endobj +11148 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 490.075 245.097 499.989] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a5310d1fb96be7d3ddd41079a9249c2b3) >> +>> +endobj +11149 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 477.452 171.386 488.034] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0af6807db4ae3a5c82b99bced82a0ca92b) >> +>> +endobj +11150 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.378 477.452 248.997 488.034] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7d50c09f1ad7d098e0a847bcdcab7efb) >> +>> +endobj +11151 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.99 477.452 331.414 488.034] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa9c7b1d7219fa9d3de551ba5bc639eb6) >> +>> +endobj +11152 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [334.407 477.452 508.802 488.034] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac2b8e7a526f5bdbd0ca4e42a1fc87fdf) >> +>> +endobj +11153 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 465.496 250.073 476.079] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a6bfd906f466d549d660a2e7356ac58dd) >> +>> +endobj +11154 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [269.327 465.496 450.204 476.079] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a88a122d877a08d17b85e005b97321320) >> +>> +endobj +11155 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.458 465.496 525.406 476.079] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +11186 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 453.541 153.077 464.123] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +11156 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.07 453.541 258.591 464.123] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aef70e46fd3bbc21e3e1f0b6815e750c0) >> +>> +endobj +11157 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 441.586 223.13 452.168] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aaf3c26fc49c920a4779844921baeeef8) >> +>> +endobj +11158 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.31 441.586 384.617 452.168] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ae047588dabb5a0b1e059604b80289791) >> +>> +endobj +11159 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [392.797 441.586 525.406 452.168] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac495884e9133962e72063062d1382466) >> +>> +endobj +11187 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 429.631 123.219 440.213] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac495884e9133962e72063062d1382466) >> +>> +endobj +11160 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.212 429.631 301.602 440.213] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa3db59f96790ca93f6c8ac703735f401) >> +>> +endobj +11161 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 417.676 199.531 428.258] +/A << /S /GoTo /D (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aedb214653d9f3cecd840463790ac2894) >> +>> +endobj +11162 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 366.897 191.856 377.242] +/A << /S /GoTo /D (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) >> +>> +endobj +11163 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 354.812 288.503 365.287] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a443ec8de9a697e190f4b24ab3ab36a9d) >> +>> +endobj +11164 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [471.323 354.812 525.406 365.287] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +11188 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 342.857 209.761 353.331] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +11165 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.792 342.857 525.406 353.331] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a354c849d41c85993a8a28975e0d1c996) >> +>> +endobj +11189 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 330.794 129.155 341.376] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a354c849d41c85993a8a28975e0d1c996) >> +>> +endobj +11166 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [277.679 330.794 454.979 341.376] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9abbec862190460d01acb3557a0e9a13f5) >> +>> +endobj +11167 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 306.991 208.757 317.466] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab0d4998a26f5b5742ad38c4af8817e32) >> +>> +endobj +11168 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [323.116 306.991 479.784 317.466] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab67551dad56fc73fd4a580e810dc5f7f) >> +>> +endobj +11169 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.134 295.597 348.507 305.511] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a522f961eb7a2b35f0ef4b99b4ad3bb0a) >> +>> +endobj +11170 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [472.536 295.597 525.406 305.511] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9aa8534012cb63e62c0b3a2335206117cc) >> +>> +endobj +11190 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 282.973 178.953 293.556] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9aa8534012cb63e62c0b3a2335206117cc) >> +>> +endobj +11171 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 271.126 286.629 281.6] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a281086f3f83f5f38b4b9a4572b60a368) >> +>> +endobj +11172 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [471.323 271.126 525.406 281.6] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a9b962f813e1575d4d311a9ab3e60afd4) >> +>> +endobj +11191 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 259.171 235.154 269.645] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a9b962f813e1575d4d311a9ab3e60afd4) >> +>> +endobj +11173 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.764 259.171 525.406 269.645] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a927b48448e5111f5bac2a7d59833f051) >> +>> +endobj +11192 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 247.216 136.14 257.69] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a927b48448e5111f5bac2a7d59833f051) >> +>> +endobj +11174 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [281.919 247.216 467.029 257.69] +/A << /S /GoTo /D (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a65537dc549af3f90695ff7cf0002b17b) >> +>> +endobj +11175 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.433 218.247 198.227 228.592] +/A << /S /GoTo /D (_networking_peer_8cs_a85638c2837a71574f29802d46793c990) >> +>> +endobj +11176 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.873 218.247 344.01 228.592] +/A << /S /GoTo /D (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a183832aa8cc99ec3e781066d643b2d25) >> +>> +endobj +11177 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [353.039 218.247 480.191 228.592] +/A << /S /GoTo /D (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a1c7d561350ce0a5a7e51b973a3796315) >> +>> +endobj +11178 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [489.22 218.247 525.406 228.592] +/A << /S /GoTo /D (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a6f478184dbea3df0c2e9147987c01e64) >> +>> +endobj +11193 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 206.292 194.976 216.637] +/A << /S /GoTo /D (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a6f478184dbea3df0c2e9147987c01e64) >> +>> +endobj +11182 0 obj +<< +/D [11180 0 R /XYZ 69.866 801.979 null] +>> +endobj +4546 0 obj +<< +/D [11180 0 R /XYZ 70.866 771.024 null] +>> +endobj +11183 0 obj +<< +/D [11180 0 R /XYZ 70.866 726.39 null] +>> +endobj +11184 0 obj +<< +/D [11180 0 R /XYZ 70.866 639.754 null] +>> +endobj +11185 0 obj +<< +/D [11180 0 R /XYZ 70.866 566.07 null] +>> +endobj +4550 0 obj +<< +/D [11180 0 R /XYZ 70.866 175.146 null] +>> +endobj +11194 0 obj +<< +/D [11180 0 R /XYZ 70.866 147.683 null] +>> +endobj +4554 0 obj +<< +/D [11180 0 R /XYZ 70.866 147.683 null] +>> +endobj +11195 0 obj +<< +/D [11180 0 R /XYZ 70.866 122.974 null] +>> +endobj +4558 0 obj +<< +/D [11180 0 R /XYZ 70.866 122.974 null] +>> +endobj +4562 0 obj +<< +/D [11180 0 R /XYZ 70.866 98.032 null] +>> +endobj +8967 0 obj +<< +/D [11180 0 R /XYZ 70.866 70.866 null] +>> +endobj +4566 0 obj +<< +/D [11180 0 R /XYZ 70.866 70.866 null] +>> +endobj +11179 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11223 0 obj +<< +/Length 2203 +/Filter /FlateDecode +>> +stream +xYIw6W6{}[鼱[cC'%Hq~T +Hn9v2'@h 7&66NlBcOb7Dp%u6fv<sB=1/tFN:u'g'=qҞ8q,bןɷIs??^O5e9Obru{41`6tmM +W8әc۶idmKj$i 4Wj+;9J,FW^|g/ ]O}b eb{hT n@T|^u4*Y4mUfۮ*w?:!-6+hgN$BЫ{o氖͢ڀihS9(m,^Ȓqh\!Ɋnb ГFn4E;`IZ4rF~6c wo,lK2sOeǼ^[f~ n)t]ۼZJuL "2i*~5uI C.>g^NAe.#3u5cYgN ($ѬǪ +*gAfvTϒVn˥!z*ߵNzEX +shS+sRuxR 4fҦ +̋ ̀$M%wT^C_ q UTپe& hʻ GPHJpDfE EBh"4(CWYv8ԒynT#hQ+@y1u*D@*a `%|OT*V@ +Fu Be{6}Z eDxMOwj8ݼv]*jKgm$7Խm,$G\/*9hbd`10D{Txx> k':S%.T |ZHT'лT7嘮RlB@q!丘e*nۆ[ lQJ'GjJWyYWDmIB|Y9j$ª$t!]cG Jy1/<($&{>Tvv*؁PҦ' ,ԡ9Wx=ѕ[5[ \flty+H;S ʵzyX4)t3{E7).Kmj8!2ZG22k m=B7A*I#dv>_/~ѩj:>EB,uq +̕zP>T;+]Cې"RKCKSg]mu]_F@_.>#{F.`,D'Z˲!۠F/I&yBvo! /*L0O@œalҰ [Cb;xGe/]܀DQU hX_Zf`̔Yhp^$A.Ru0ѤQƷLymGlo Z=sE =Nՠ_>^-# "/Cj~B_;a' +Rz13L4e{^ pk;睓Ḥ(C7ZMv_~yXjh+P +endstream +endobj +11222 0 obj +<< +/Type /Page +/Contents 11223 0 R +/Resources 11221 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11196 0 R +/Annots [ 11200 0 R 11201 0 R 11202 0 R 11203 0 R 11204 0 R 11205 0 R 11206 0 R 11207 0 R 11208 0 R 11209 0 R 11210 0 R 11211 0 R 11212 0 R 11213 0 R 11214 0 R 11215 0 R 11216 0 R 11217 0 R 11218 0 R 11219 0 R ] +>> +endobj +11200 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [69.87 716.455 100.276 726.369] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11201 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [143.854 620.403 174.261 630.878] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11202 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 478.154 197.531 486.925] +/A << /S /GoTo /D (interface_i_pun_observable) >> +>> +endobj +11203 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 450.422 190.502 459.193] +/A << /S /GoTo /D (interface_i_pun_callbacks) >> +>> +endobj +11204 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 411.812 195.46 420.502] +/A << /S /GoTo /D (interface_i_pun_prefab_pool) >> +>> +endobj +11205 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 384.08 213.204 392.565] +/A << /S /GoTo /D (class_photon_1_1_mono_behaviour) >> +>> +endobj +11206 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 356.349 206.731 364.833] +/A << /S /GoTo /D (class_photon_1_1_pun_behaviour) >> +>> +endobj +11207 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.326 315.766 200.795 326.348] +/A << /S /GoTo /D (struct_photon_message_info) >> +>> +endobj +11208 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.549 273.469 166.114 283.095] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11209 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 262.114 176.999 270.885] +/A << /S /GoTo /D (class_photon_stream) >> +>> +endobj +11210 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.21 245.64 295.179 255.363] +/A << /S /GoTo /D (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) >> +>> +endobj +11211 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.608 245.64 476.498 255.363] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +11212 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 221.72 156.054 231.988] +/A << /S /GoTo /D (class_help_u_r_l) >> +>> +endobj +11213 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [250.675 206.95 285.398 216.673] +/A << /S /GoTo /D (class_help_u_r_l) >> +>> +endobj +11214 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 193.881 311.42 204.463] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager) >> +>> +endobj +11215 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [218.373 179.218 275.085 188.941] +/A << /S /GoTo /D (class_unity_engine_1_1_scene_management_1_1_scene_manager) >> +>> +endobj +11216 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 166.149 206.892 176.731] +/A << /S /GoTo /D (class_scene_manager_helper) >> +>> +endobj +11217 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 153.387 194.16 163.655] +/A << /S /GoTo /D (class_web_rpc_response) >> +>> +endobj +11218 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 80.744 161.389 91.12] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11219 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 67.875 261.416 78.457] +/A << /S /GoTo /D (namespace_unity_engine_1_1_scene_management) >> +>> +endobj +11224 0 obj +<< +/D [11222 0 R /XYZ 69.866 801.979 null] +>> +endobj +11197 0 obj +<< +/D [11222 0 R /XYZ 88.314 678.75 null] +>> +endobj +11198 0 obj +<< +/D [11222 0 R /XYZ 88.314 662.974 null] +>> +endobj +11199 0 obj +<< +/D [11222 0 R /XYZ 88.314 635.242 null] +>> +endobj +11225 0 obj +<< +/D [11222 0 R /XYZ 70.866 613.757 null] +>> +endobj +4570 0 obj +<< +/D [11222 0 R /XYZ 70.866 605.064 null] +>> +endobj +11226 0 obj +<< +/D [11222 0 R /XYZ 70.866 516.174 null] +>> +endobj +11227 0 obj +<< +/D [11222 0 R /XYZ 70.866 120.576 null] +>> +endobj +11221 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F107 6686 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11240 0 obj +<< +/Length 1335 +/Filter /FlateDecode +>> +stream +xXIs6Wr x;i`@Z"U߇,Eˊe3].(l}o`x0/E"#o48Ro{@!MR`x$oM20T)KYPZdf]nf_G?!!HpnO$]@_-or:de> >vb&mﳜr)1Eb0b=*(7.b/1E"̹x8?. #uW7 G0JxXmGKBrR\;A!Jjk d.2~VܯѰ闳^j{NڕHcwuT Vy+W(T",WF76\*}J6Y]mWk: ҏ)cu`#E MȾ 8ݡq?9mX]:LZF\gʎ37m^dmlj;Wc}#7{c\+FOGTs)[ػkWsWdeSܕt5GeQ r$OJ[\h䍸SY%Nam@ٕ4µ$Gi;/kA`ՙp?N, +endstream +endobj +11239 0 obj +<< +/Type /Page +/Contents 11240 0 R +/Resources 11238 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11196 0 R +/Annots [ 11220 0 R 11228 0 R 11229 0 R 11230 0 R 11231 0 R 11232 0 R 11233 0 R 11234 0 R 11235 0 R 11236 0 R ] +>> +endobj +11220 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 733.671 160.877 744.254] +/A << /S /GoTo /D (_photon_classes_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +11228 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 719.752 190.816 730.334] +/A << /S /GoTo /D (_photon_classes_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) >> +>> +endobj +11229 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 705.832 191.784 716.414] +/A << /S /GoTo /D (namespace_photon_ac2f4b49a218ef814d00e31cd5f32bf4e) >> +>> +endobj +11230 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [236.247 436.32 263.812 445.761] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11231 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 374.489 146.926 384.865] +/A << /S /GoTo /D (_photon_handler_8cs_a0100be52d45f14348918ea69ec09f959) >> +>> +endobj +11232 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 360.569 160.877 371.152] +/A << /S /GoTo /D (_photon_handler_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +11233 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 346.65 190.816 357.232] +/A << /S /GoTo /D (_photon_handler_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) >> +>> +endobj +11234 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.732 156.388 167.549 166.863] +/A << /S /GoTo /D (group__optional_gui) >> +>> +endobj +11235 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 94.746 218.772 105.328] +/A << /S /GoTo /D (class_photon_lag_simulation_gui) >> +>> +endobj +11236 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [262.704 79.033 290.269 88.757] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11241 0 obj +<< +/D [11239 0 R /XYZ 69.866 801.979 null] +>> +endobj +11242 0 obj +<< +/D [11239 0 R /XYZ 70.866 775.009 null] +>> +endobj +4574 0 obj +<< +/D [11239 0 R /XYZ 70.866 689.309 null] +>> +endobj +4578 0 obj +<< +/D [11239 0 R /XYZ 70.866 627.166 null] +>> +endobj +11243 0 obj +<< +/D [11239 0 R /XYZ 70.866 599.72 null] +>> +endobj +4582 0 obj +<< +/D [11239 0 R /XYZ 70.866 599.72 null] +>> +endobj +11244 0 obj +<< +/D [11239 0 R /XYZ 70.866 574.838 null] +>> +endobj +4586 0 obj +<< +/D [11239 0 R /XYZ 70.866 574.838 null] +>> +endobj +11245 0 obj +<< +/D [11239 0 R /XYZ 70.866 549.723 null] +>> +endobj +4590 0 obj +<< +/D [11239 0 R /XYZ 70.866 549.723 null] +>> +endobj +11246 0 obj +<< +/D [11239 0 R /XYZ 70.866 493.273 null] +>> +endobj +11247 0 obj +<< +/D [11239 0 R /XYZ 70.866 415.826 null] +>> +endobj +4594 0 obj +<< +/D [11239 0 R /XYZ 70.866 330.126 null] +>> +endobj +11248 0 obj +<< +/D [11239 0 R /XYZ 70.866 302.788 null] +>> +endobj +4598 0 obj +<< +/D [11239 0 R /XYZ 70.866 302.788 null] +>> +endobj +11249 0 obj +<< +/D [11239 0 R /XYZ 70.866 277.906 null] +>> +endobj +4602 0 obj +<< +/D [11239 0 R /XYZ 70.866 277.906 null] +>> +endobj +11250 0 obj +<< +/D [11239 0 R /XYZ 70.866 252.792 null] +>> +endobj +4606 0 obj +<< +/D [11239 0 R /XYZ 70.866 252.792 null] +>> +endobj +11251 0 obj +<< +/D [11239 0 R /XYZ 70.866 227.677 null] +>> +endobj +4610 0 obj +<< +/D [11239 0 R /XYZ 70.866 227.677 null] +>> +endobj +11252 0 obj +<< +/D [11239 0 R /XYZ 70.866 136.083 null] +>> +endobj +11238 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11264 0 obj +<< +/Length 1158 +/Filter /FlateDecode +>> +stream +xXs8WhzgkYe[LmH6ObфɒBdI_߳L4˔#eDh8A)"IP*N(э( ?EW~Rj +,hbGA Q)Ѣw1@衖\ G8GLYlfh@G2iN(& liPBW:cF~9'd(9Ďz"cr,4衛Zlnw.t V2,)N0[gYW>޷~V]0.ut:ԪW*𪖃)j ;Ciz>ryjE(E i$ c7qK8Rb,(kdcXHw5h½#jzou]@e? Iž>d`xd z|ch|@5mֆ[rԼK>US6ivqW' +;4F5o,VIF0.pƘw{N܄6 ]b'bfx)3i?hM&7_5E[<3 17"`. tZ,2D ^w{eWr=k\k+cV-I#gn7>Dv:G\)^+> +endobj +11237 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.732 733.514 167.549 743.988] +/A << /S /GoTo /D (group__optional_gui) >> +>> +endobj +11253 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 623.928 181.024 632.412] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +11254 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [203.138 607.281 260.334 616.818] +/A << /S /GoTo /D (class_photon_network) >> +>> +endobj +11255 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 549.208 146.926 559.584] +/A << /S /GoTo /D (_photon_network_8cs_a0100be52d45f14348918ea69ec09f959) >> +>> +endobj +11256 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 536.246 160.877 546.828] +/A << /S /GoTo /D (_photon_network_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +11257 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 350.173 173.063 360.441] +/A << /S /GoTo /D (class_photon_player) >> +>> +endobj +11258 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 277.237 160.877 287.82] +/A << /S /GoTo /D (_photon_player_8cs_afa613ef589c02dbd94acc273b62cdcfd) >> +>> +endobj +11259 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.732 140.81 167.549 151.285] +/A << /S /GoTo /D (group__optional_gui) >> +>> +endobj +11260 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 84.641 182.486 93.412] +/A << /S /GoTo /D (class_photon_stats_gui) >> +>> +endobj +11261 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [345.121 68.074 372.686 77.798] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11265 0 obj +<< +/D [11263 0 R /XYZ 69.866 801.979 null] +>> +endobj +4614 0 obj +<< +/D [11263 0 R /XYZ 70.866 771.024 null] +>> +endobj +11266 0 obj +<< +/D [11263 0 R /XYZ 70.866 734.51 null] +>> +endobj +4618 0 obj +<< +/D [11263 0 R /XYZ 70.866 718.072 null] +>> +endobj +11267 0 obj +<< +/D [11263 0 R /XYZ 70.866 661.965 null] +>> +endobj +11268 0 obj +<< +/D [11263 0 R /XYZ 70.866 589.137 null] +>> +endobj +4622 0 obj +<< +/D [11263 0 R /XYZ 70.866 521.977 null] +>> +endobj +11269 0 obj +<< +/D [11263 0 R /XYZ 70.866 495.088 null] +>> +endobj +4626 0 obj +<< +/D [11263 0 R /XYZ 70.866 495.088 null] +>> +endobj +11270 0 obj +<< +/D [11263 0 R /XYZ 70.866 470.657 null] +>> +endobj +4630 0 obj +<< +/D [11263 0 R /XYZ 70.866 470.657 null] +>> +endobj +11271 0 obj +<< +/D [11263 0 R /XYZ 70.866 445.994 null] +>> +endobj +4634 0 obj +<< +/D [11263 0 R /XYZ 70.866 445.994 null] +>> +endobj +11272 0 obj +<< +/D [11263 0 R /XYZ 70.866 389.994 null] +>> +endobj +11273 0 obj +<< +/D [11263 0 R /XYZ 70.866 317.166 null] +>> +endobj +4638 0 obj +<< +/D [11263 0 R /XYZ 70.866 262.968 null] +>> +endobj +11274 0 obj +<< +/D [11263 0 R /XYZ 70.866 236.08 null] +>> +endobj +4642 0 obj +<< +/D [11263 0 R /XYZ 70.866 236.08 null] +>> +endobj +11275 0 obj +<< +/D [11263 0 R /XYZ 70.866 211.648 null] +>> +endobj +4646 0 obj +<< +/D [11263 0 R /XYZ 70.866 211.648 null] +>> +endobj +11276 0 obj +<< +/D [11263 0 R /XYZ 70.866 122.759 null] +>> +endobj +11262 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11306 0 obj +<< +/Length 1637 +/Filter /FlateDecode +>> +stream +xYMw8+ҤəY4)!ݴ]8X'F)=acΜYp,{=]]= lL l^{5Bc FQFuBcȲiW"?U2y?Z+VVGҿ(KV;O}.{XsyUKb3/R>eIo[/`݂-&u1E +G8PSBޛasl& D~Y'l$`"' +93\A@;3{zXg#ꉦ9u QE~;>A'MRCDؼbU NC+GE:Rț[_;Qk EA(w͸lT* X])ӆDDG>d[,T?6ql("x\|Y#Ӵ!/ \M.X\ + +nqED(8I@Uzy($ck3. p6@CuThI|MNڐ*r57ۙJF#!\1eCM3݄!> +X uuR(< I. BkgRD#U SIBOlNY6@̕YZ_l$ 6*qt2ej ycNX'^-xM'< 'pI:ĠM fP%,ʷ(ۼduJ]sf=YM0} zYC}7U`#~YnYzfa <VfU:RfF)4Yu+_T[_,Ĵ5B3teZuWr;\m[>yDfY&-6v}q\#V +?h+ W!,.^Y]R|dC-wPs8s]uPP_=sBd 9qqA3Iwh g? >㻭p#7^J֟ *IZ"+L-$]o!wX ԳցU.<~]Mnr7?S +endstream +endobj +11305 0 obj +<< +/Type /Page +/Contents 11306 0 R +/Resources 11304 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11196 0 R +/Annots [ 11277 0 R 11278 0 R 11279 0 R 11280 0 R 11281 0 R 11282 0 R 11283 0 R 11284 0 R 11285 0 R 11286 0 R 11287 0 R 11288 0 R 11289 0 R 11290 0 R 11291 0 R 11292 0 R 11293 0 R 11294 0 R 11295 0 R 11296 0 R 11297 0 R 11313 0 R 11298 0 R 11299 0 R 11300 0 R 11301 0 R 11302 0 R 11303 0 R ] +>> +endobj +11277 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [113.732 733.401 167.549 743.875] +/A << /S /GoTo /D (group__optional_gui) >> +>> +endobj +11278 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 622.383 203.915 631.472] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +11279 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.039 605.894 202.837 615.617] +/A << /S /GoTo /D (class_photon_stream_queue) >> +>> +endobj +11280 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [416.243 605.894 510.22 615.617] +/A << /S /GoTo /D (class_photon_network_a154fc601fac7f0fddd704231189457fb) >> +>> +endobj +11281 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.075 594.935 326.381 604.658] +/A << /S /GoTo /D (class_photon_stream_queue_ae75447cd718116990e0d0304eebc6935) >> +>> +endobj +11282 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [478.135 594.935 525.406 604.658] +/A << /S /GoTo /D (class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) >> +>> +endobj +11283 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 473.266 167.351 481.75] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +11284 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.92 397.494 208.949 407.968] +/A << /S /GoTo /D (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990) >> +>> +endobj +11285 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.568 397.494 323.05 407.968] +/A << /S /GoTo /D (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990ad15305d7a4e34e02489c74a5ef542f36) >> +>> +endobj +11286 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [331.437 397.494 522.913 407.968] +/A << /S /GoTo /D (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990a4675cf4fdfedd2c2b31b60eff2d5a4da) >> +>> +endobj +11287 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 385.431 222.475 396.013] +/A << /S /GoTo /D (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990a98a19ff88f463baefac152f8641dea36) >> +>> +endobj +11288 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.468 385.431 396.527 396.013] +/A << /S /GoTo /D (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990a921d92d43c84141ff815c24c48431c2e) >> +>> +endobj +11289 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 372.466 207.574 382.81] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2) >> +>> +endobj +11290 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 360.381 235.118 370.855] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2a13b388a622bc4a923c74b50c6f05ec13) >> +>> +endobj +11291 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.211 360.381 384.498 370.855] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2aa5c1fc068f4516291607c2b43fd4e229) >> +>> +endobj +11292 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.592 360.381 522.913 370.855] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2af18c3625579a7ac187ea5252f4be51e1) >> +>> +endobj +11293 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 348.986 266.024 358.9] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2aa2090ce6165d865de2f99434311550a2) >> +>> +endobj +11294 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 336.6 195.2 346.945] +/A << /S /GoTo /D (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2ab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +11295 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [124.282 323.16 213.471 333.742] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3) >> +>> +endobj +11296 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [228.813 323.16 368.706 333.742] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3a09e2739a1a164c20187c61c27b690cda) >> +>> +endobj +11297 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.546 323.16 525.406 333.742] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3a73f73a9364f6e0d2b6a30a1a94ecfc26) >> +>> +endobj +11313 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 311.205 127.443 321.787] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3a73f73a9364f6e0d2b6a30a1a94ecfc26) >> +>> +endobj +11298 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.435 311.205 231.181 321.787] +/A << /S /GoTo /D (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3ab1c94ca2fbc3e78fc30069c8d0f01680) >> +>> +endobj +11299 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 298.11 190.86 308.584] +/A << /S /GoTo /D (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39f) >> +>> +endobj +11300 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.848 298.11 292.25 308.584] +/A << /S /GoTo /D (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa4457d440870ad6d42bab9082d9bf9b61) >> +>> +endobj +11301 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [295.243 298.11 404.749 308.584] +/A << /S /GoTo /D (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa9d42dba7120418ef641edb36d0edf0cb) >> +>> +endobj +11302 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.742 298.11 514.881 308.584] +/A << /S /GoTo /D (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa15c2d85f1fae22a3c3a0594510a1f611) >> +>> +endobj +11303 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [313.852 283.103 358.743 292.73] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +11307 0 obj +<< +/D [11305 0 R /XYZ 69.866 801.979 null] +>> +endobj +4650 0 obj +<< +/D [11305 0 R /XYZ 70.866 771.024 null] +>> +endobj +11308 0 obj +<< +/D [11305 0 R /XYZ 70.866 734.397 null] +>> +endobj +4654 0 obj +<< +/D [11305 0 R /XYZ 70.866 717.393 null] +>> +endobj +11309 0 obj +<< +/D [11305 0 R /XYZ 70.866 661.173 null] +>> +endobj +11310 0 obj +<< +/D [11305 0 R /XYZ 70.866 574.73 null] +>> +endobj +4658 0 obj +<< +/D [11305 0 R /XYZ 70.866 568.065 null] +>> +endobj +11311 0 obj +<< +/D [11305 0 R /XYZ 70.866 511.656 null] +>> +endobj +11312 0 obj +<< +/D [11305 0 R /XYZ 70.866 437.669 null] +>> +endobj +4662 0 obj +<< +/D [11305 0 R /XYZ 70.866 268.268 null] +>> +endobj +10001 0 obj +<< +/D [11305 0 R /XYZ 70.866 240.97 null] +>> +endobj +4666 0 obj +<< +/D [11305 0 R /XYZ 70.866 240.97 null] +>> +endobj +11314 0 obj +<< +/D [11305 0 R /XYZ 88.314 185.367 null] +>> +endobj +11315 0 obj +<< +/D [11305 0 R /XYZ 88.314 169.176 null] +>> +endobj +10003 0 obj +<< +/D [11305 0 R /XYZ 88.314 152.984 null] +>> +endobj +9998 0 obj +<< +/D [11305 0 R /XYZ 70.866 142.645 null] +>> +endobj +4670 0 obj +<< +/D [11305 0 R /XYZ 70.866 126.813 null] +>> +endobj +11316 0 obj +<< +/D [11305 0 R /XYZ 88.314 70.866 null] +>> +endobj +11304 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R /F107 6686 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11336 0 obj +<< +/Length 1629 +/Filter /FlateDecode +>> +stream +xڵXKs6WpR3%+39IfK%kTH0 H˲ݴX|߾ ,\~ F"$ Cߙ9%q:QIȜrƇ&",CG{^Κ,T@d}@:l2I̅3[ |}p@c;-rD@p;?¤pR ' +-"ޔc!EzɊ론nYgY1ngyޕ#<[\"' Ab?0)azRb + "|ejS + j蝟nmW{\V^VUisR^ؐX<=q?82N]Aݴ>̧*]Җo T%~Ljץu+$ǴVmЎ ySbwdCm!SI<-"S=ujcgy{W++fMU-~њY~mE_1BnSŜns`1(1jEeb'J\/!:uG)-&ze6ҮӈZ!eZ[D6Bca $R*t]"1䁫2Y 4HPv.|p{07[sDM1N|lu*v:ƪ]k-4nbDS"~o'+($YeLކB3hYet? .1lpKF9FY:Ery.sպuݫO\TŒb ~8Qtg"F,7s?Fk=xޛjv )1Gqeu:oYQlDNHȏubm|H$f򬚮y4v& Orft xyog22q;sZ $T$ +dر"2y ++@yGz&2<׆ j}f;?Ey1ϠP@6C0iD6CxC!ӿ19mU2zv fE]c%Ҁ6u>KY#'p"罨G2'7t<-~HhCZMIΥƋG=>Sn/ +Z3Z?ZOu۬8 Qas LW4U;SHG۞W%%9S)_hths֑ +e~Q[UeL5iq8PawBn{]*A1`!G-iBy,@!Q(cH# |z xV|fg3<^40{,2walAc=]ͷW3ubCmDq$1EU]p +endstream +endobj +11335 0 obj +<< +/Type /Page +/Contents 11336 0 R +/Resources 11334 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11196 0 R +/Annots [ 11326 0 R 11327 0 R 11328 0 R 11329 0 R 11330 0 R 11331 0 R 11332 0 R ] +>> +endobj +11326 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.54 639.056 347.196 649.53] +/A << /S /GoTo /D (class_photon_view) >> +>> +endobj +11327 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.907 535.01 401.758 545.484] +/A << /S /GoTo /D (class_photon_view_a0eee05bdd9c48c263a41ccfec45b8651) >> +>> +endobj +11328 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.92 522.947 515.595 533.529] +/A << /S /GoTo /D (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) >> +>> +endobj +11329 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 265.272 183.472 275.648] +/A << /S /GoTo /D (class_ping_mono_editor) >> +>> +endobj +11330 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 236.335 201.423 246.711] +/A << /S /GoTo /D (class_photon_ping_manager) >> +>> +endobj +11331 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 176.512 146.926 186.888] +/A << /S /GoTo /D (_ping_cloud_regions_8cs_a0100be52d45f14348918ea69ec09f959) >> +>> +endobj +11332 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 163.039 190.816 173.622] +/A << /S /GoTo /D (_ping_cloud_regions_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) >> +>> +endobj +11337 0 obj +<< +/D [11335 0 R /XYZ 69.866 801.979 null] +>> +endobj +11321 0 obj +<< +/D [11335 0 R /XYZ 88.314 761.061 null] +>> +endobj +11322 0 obj +<< +/D [11335 0 R /XYZ 88.314 744.6 null] +>> +endobj +10000 0 obj +<< +/D [11335 0 R /XYZ 88.314 728.139 null] +>> +endobj +11323 0 obj +<< +/D [11335 0 R /XYZ 88.314 711.678 null] +>> +endobj +10004 0 obj +<< +/D [11335 0 R /XYZ 70.866 700.934 null] +>> +endobj +4674 0 obj +<< +/D [11335 0 R /XYZ 70.866 684.467 null] +>> +endobj +10006 0 obj +<< +/D [11335 0 R /XYZ 88.314 582.771 null] +>> +endobj +11324 0 obj +<< +/D [11335 0 R /XYZ 88.314 554.355 null] +>> +endobj +11325 0 obj +<< +/D [11335 0 R /XYZ 88.314 537.893 null] +>> +endobj +9996 0 obj +<< +/D [11335 0 R /XYZ 70.866 503.605 null] +>> +endobj +4678 0 obj +<< +/D [11335 0 R /XYZ 70.866 487.139 null] +>> +endobj +11317 0 obj +<< +/D [11335 0 R /XYZ 88.314 431.208 null] +>> +endobj +11318 0 obj +<< +/D [11335 0 R /XYZ 88.314 414.747 null] +>> +endobj +11319 0 obj +<< +/D [11335 0 R /XYZ 88.314 398.286 null] +>> +endobj +11320 0 obj +<< +/D [11335 0 R /XYZ 88.314 381.825 null] +>> +endobj +11338 0 obj +<< +/D [11335 0 R /XYZ 70.866 369.086 null] +>> +endobj +4682 0 obj +<< +/D [11335 0 R /XYZ 70.866 362.191 null] +>> +endobj +11339 0 obj +<< +/D [11335 0 R /XYZ 70.866 305.951 null] +>> +endobj +11340 0 obj +<< +/D [11335 0 R /XYZ 70.866 217.191 null] +>> +endobj +4686 0 obj +<< +/D [11335 0 R /XYZ 70.866 147.569 null] +>> +endobj +11341 0 obj +<< +/D [11335 0 R /XYZ 70.866 120.441 null] +>> +endobj +4690 0 obj +<< +/D [11335 0 R /XYZ 70.866 120.441 null] +>> +endobj +11342 0 obj +<< +/D [11335 0 R /XYZ 70.866 95.77 null] +>> +endobj +4694 0 obj +<< +/D [11335 0 R /XYZ 70.866 95.77 null] +>> +endobj +11343 0 obj +<< +/D [11335 0 R /XYZ 70.866 70.866 null] +>> +endobj +4698 0 obj +<< +/D [11335 0 R /XYZ 70.866 70.866 null] +>> +endobj +11334 0 obj +<< +/Font << /F74 4865 0 R /F107 6686 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11354 0 obj +<< +/Length 1408 +/Filter /FlateDecode +>> +stream +xXMs6Wpr)9SA7N2LՖOv4L(R!@43ә%`o>KoQlN(KHEbJ(T&b])<8Of*`2ֺtYJEU臙V_q*fnF)c$zx]_7j5UQus/ggu&yk{SZg&`Wr좡H|B5y|0pI=_(|=@%H&ޝ !إw>gBGZBq2&EЈ c;X,v@ab/"i0]QAFI0ލeF_7,!ah2dd6Cq JG1+%L#5$ZJDxRfO;^Ƶ7a:3Hޔ r4׻J9.^ U̙bxw=XN9'< 3ImH<QZ_#K2lߠOӡo3m;k|!ּͮ[- S6MQ0JP_FYX3{ԛMݪ :I:pRş@1@SNdr +ڡV7A +viV-<ڇ C7^*[|rV)ܽJ+'Dg +ɭ֪3Z- $z TI}Tն-jNೲƗK$DQWnѠE~M^Wupiͽ1x( O[ +vM&^@Fg[]CkYܘH0T #|I3Ww*@lesҤ8Ҩu46aDuR`豈0'JgPK[͛bf*H?,wb'Mi쁖i9f +Ңs gKyUmQ}@V@Ǘ~?ncY3OXy2ݕn:> +endobj +11333 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 688.298 143.6 696.782] +/A << /S /GoTo /D (class_room) >> +>> +endobj +11344 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [494.148 671.576 525.406 681.202] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +11357 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 660.617 124.16 670.243] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +11345 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 550.105 158.286 558.795] +/A << /S /GoTo /D (class_room_info) >> +>> +endobj +11346 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.087 435.255 393.417 445.837] +/A << /S /GoTo /D (namespace_unity_engine) >> +>> +endobj +11347 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 378.537 154.565 387.308] +/A << /S /GoTo /D (class_pun_r_p_c) >> +>> +endobj +11348 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.087 301.568 393.417 312.15] +/A << /S /GoTo /D (namespace_unity_engine) >> +>> +endobj +11349 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 156.166 148.092 166.542] +/A << /S /GoTo /D (class_region) >> +>> +endobj +11350 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 143.032 178.532 153.615] +/A << /S /GoTo /D (class_server_settings) >> +>> +endobj +11351 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [325.053 128.105 464.325 137.829] +/A << /S /GoTo /D (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec) >> +>> +endobj +11355 0 obj +<< +/D [11353 0 R /XYZ 69.866 801.979 null] +>> +endobj +11356 0 obj +<< +/D [11353 0 R /XYZ 70.866 726.588 null] +>> +endobj +11358 0 obj +<< +/D [11353 0 R /XYZ 70.866 651.377 null] +>> +endobj +4702 0 obj +<< +/D [11353 0 R /XYZ 70.866 644.771 null] +>> +endobj +11359 0 obj +<< +/D [11353 0 R /XYZ 70.866 588.395 null] +>> +endobj +11360 0 obj +<< +/D [11353 0 R /XYZ 70.866 513.184 null] +>> +endobj +4706 0 obj +<< +/D [11353 0 R /XYZ 70.866 506.578 null] +>> +endobj +11361 0 obj +<< +/D [11353 0 R /XYZ 70.866 416.907 null] +>> +endobj +4710 0 obj +<< +/D [11353 0 R /XYZ 70.866 347.125 null] +>> +endobj +11362 0 obj +<< +/D [11353 0 R /XYZ 70.866 302.564 null] +>> +endobj +4714 0 obj +<< +/D [11353 0 R /XYZ 70.866 285.722 null] +>> +endobj +11363 0 obj +<< +/D [11353 0 R /XYZ 70.866 196.348 null] +>> +endobj +4718 0 obj +<< +/D [11353 0 R /XYZ 70.866 113.432 null] +>> +endobj +11364 0 obj +<< +/D [11353 0 R /XYZ 70.866 68.871 null] +>> +endobj +11352 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11378 0 obj +<< +/Length 1601 +/Filter /FlateDecode +>> +stream +xXKs6WVr8$8n$%mwى3m.,ܣh"iy /$OS/+B2oZ{k/(N^~!,Od/yJ%dџ#c<'y{rj{"5ҋ$q;:VMJ88#`,:e: QJg&'<`̿Rv՗ZVDNofl&gg)K||rsvʼYVqsGSC;T YhƖ͞u$*" rLeK~i"UA6\0{/kV\G븛dIj-"adEϚETdKIg8Lh]Y8IRBvSh=N`=e`2yH@rn!苐QM3E*! ܞn*G&~[6&zR;vQdˬ=xѷ^9Py$㳆F]hĬ"=S1LI84\BaF)_+!eܝlq8IBO>߀Ζruk}nSOh՛qoVnbA۸~ 7M':`Kw\r6|0h:Ymx@ Ts T8Dh1М !h- +Ovo}Mc}>)> +endobj +11366 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 683.861 282.37 694.336] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp) >> +>> +endobj +11367 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 589.006 233.002 599.588] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11368 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.698 525.252 190.816 535.834] +/A << /S /GoTo /D (_socket_web_tcp_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) >> +>> +endobj +11369 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 304.523 203.225 313.007] +/A << /S /GoTo /D (class_photon_animator_view) >> +>> +endobj +11370 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.052 275.476 233.228 285.102] +/A << /S /GoTo /D (class_photon_animator_view) >> +>> +endobj +11371 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 260.787 300.768 271.262] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_parameter) >> +>> +endobj +11372 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 246.287 281.339 256.761] +/A << /S /GoTo /D (class_photon_animator_view_1_1_synchronized_layer) >> +>> +endobj +11373 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 128.203 218.674 138.579] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view) >> +>> +endobj +11374 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.832 79.13 298.398 88.757] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +11375 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.105 68.074 332.186 77.798] +/A << /S /GoTo /D (class_photon_rigidbody2_d_view) >> +>> +endobj +11379 0 obj +<< +/D [11377 0 R /XYZ 69.866 801.979 null] +>> +endobj +4722 0 obj +<< +/D [11377 0 R /XYZ 70.866 771.024 null] +>> +endobj +11380 0 obj +<< +/D [11377 0 R /XYZ 70.866 725.945 null] +>> +endobj +11381 0 obj +<< +/D [11377 0 R /XYZ 70.866 631.197 null] +>> +endobj +11382 0 obj +<< +/D [11377 0 R /XYZ 70.866 567.443 null] +>> +endobj +4726 0 obj +<< +/D [11377 0 R /XYZ 70.866 507.362 null] +>> +endobj +11383 0 obj +<< +/D [11377 0 R /XYZ 70.866 479.75 null] +>> +endobj +4730 0 obj +<< +/D [11377 0 R /XYZ 70.866 479.75 null] +>> +endobj +11384 0 obj +<< +/D [11377 0 R /XYZ 70.866 454.595 null] +>> +endobj +4734 0 obj +<< +/D [11377 0 R /XYZ 70.866 454.595 null] +>> +endobj +11385 0 obj +<< +/D [11377 0 R /XYZ 70.866 400.868 null] +>> +endobj +4738 0 obj +<< +/D [11377 0 R /XYZ 70.866 400.868 null] +>> +endobj +11386 0 obj +<< +/D [11377 0 R /XYZ 70.866 344.822 null] +>> +endobj +11387 0 obj +<< +/D [11377 0 R /XYZ 70.866 234.997 null] +>> +endobj +4742 0 obj +<< +/D [11377 0 R /XYZ 70.866 227.225 null] +>> +endobj +11388 0 obj +<< +/D [11377 0 R /XYZ 70.866 170.394 null] +>> +endobj +11389 0 obj +<< +/D [11377 0 R /XYZ 70.866 56.785 null] +>> +endobj +11376 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11401 0 obj +<< +/Length 1492 +/Filter /FlateDecode +>> +stream +xYKs6WVr[u&i:/I4 I)B%8.v)Q.LӋ}HٳlqFNI:˕ +?K'#? +3gY9o7}dBy2v?,vmt;yM϶6Q}Lv4Zxs)_ CϢja[4>^}4IߧӚtI1ˏ7oIϛK5'=qlN0EfYk륗ng3ZlЙ%Gxt:£"v:Vs4umx4\"N:+mYe(ςL` \}WSkuMun^iNU,qf5Naw<;aZ(Eh-v;U[$vchI}!iMUq!eRw O\JvSݔ׽*u[a;OO< Bja0F ,E0|lm2-/3bިeR}#[a#)|/ ,xl ;<;tVL|_z g̍n(T{>f37]Sed`xר>xWfP6?&g[0:xW!>|`H M?cA+po,\{= ۯ%)dJOdDHz[oV<@c78wxXc!PŖ +endstream +endobj +11400 0 obj +<< +/Type /Page +/Contents 11401 0 R +/Resources 11399 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11365 0 R +/Annots [ 11390 0 R 11391 0 R 11392 0 R 11393 0 R 11394 0 R 11395 0 R 11396 0 R 11397 0 R ] +>> +endobj +11390 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 686.923 207.215 697.299] +/A << /S /GoTo /D (class_photon_rigidbody_view) >> +>> +endobj +11391 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.832 639.562 298.398 649.188] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +11392 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.105 628.506 321.873 638.229] +/A << /S /GoTo /D (class_photon_rigidbody_view) >> +>> +endobj +11393 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 519.19 206.991 527.88] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +11394 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [402.045 480.896 482.611 490.522] +/A << /S /GoTo /D (class_photon_transform_view) >> +>> +endobj +11395 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 360.443 267.333 369.214] +/A << /S /GoTo /D (class_photon_transform_view_position_control) >> +>> +endobj +11396 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 249.516 262.85 258.206] +/A << /S /GoTo /D (class_photon_transform_view_position_model) >> +>> +endobj +11397 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 138.427 269.279 147.198] +/A << /S /GoTo /D (class_photon_transform_view_rotation_control) >> +>> +endobj +11402 0 obj +<< +/D [11400 0 R /XYZ 69.866 801.979 null] +>> +endobj +4746 0 obj +<< +/D [11400 0 R /XYZ 70.866 771.024 null] +>> +endobj +11403 0 obj +<< +/D [11400 0 R /XYZ 70.866 726.674 null] +>> +endobj +11404 0 obj +<< +/D [11400 0 R /XYZ 70.866 620.353 null] +>> +endobj +4750 0 obj +<< +/D [11400 0 R /XYZ 70.866 613.243 null] +>> +endobj +11405 0 obj +<< +/D [11400 0 R /XYZ 70.866 557.049 null] +>> +endobj +11406 0 obj +<< +/D [11400 0 R /XYZ 70.866 461.784 null] +>> +endobj +4754 0 obj +<< +/D [11400 0 R /XYZ 70.866 454.673 null] +>> +endobj +11407 0 obj +<< +/D [11400 0 R /XYZ 70.866 398.383 null] +>> +endobj +11408 0 obj +<< +/D [11400 0 R /XYZ 70.866 352.291 null] +>> +endobj +4758 0 obj +<< +/D [11400 0 R /XYZ 70.866 345.18 null] +>> +endobj +11409 0 obj +<< +/D [11400 0 R /XYZ 70.866 287.374 null] +>> +endobj +11410 0 obj +<< +/D [11400 0 R /XYZ 70.866 241.364 null] +>> +endobj +4762 0 obj +<< +/D [11400 0 R /XYZ 70.866 234.253 null] +>> +endobj +11411 0 obj +<< +/D [11400 0 R /XYZ 70.866 176.366 null] +>> +endobj +11412 0 obj +<< +/D [11400 0 R /XYZ 70.866 130.275 null] +>> +endobj +4766 0 obj +<< +/D [11400 0 R /XYZ 70.866 123.164 null] +>> +endobj +11399 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11427 0 obj +<< +/Length 951 +/Filter /FlateDecode +>> +stream +xWMo6W(ERI:M]A+ю[r-yΐTlgH[ G7!"#s°91BthK(FDJN XJ~>&a[n鋾n4MG8X2Ԛjr9|HcoOkrc-$ bۈv`UY.wJNw(tI,TiE"!i K.,Aj=[fruYP4,LXЮ,XMc7mG/meXv s!hJH0 # & 9>+ 'jMŽS6ZA7!uf^7]p"@J4J f6ޱ9+-v2l"?;{)TT4O8ML7i(`m,f6,h^=zfߦ4_܌5J%^xzK|{lNx |7o˲Vv\xU4+{yw}{wt['ɢjEEL + +AEXujOg_ڙ.(MSk2UUr/Pw_b {=~պEz?0ѹh|zGSP7DS1_te=]\&E:v1 tGLPNu*_%J᫃Su?''_p.wb2k㳟jq RGY`mCh wXŊXcwL[nvSRdju9J% b<9~XglEe\> +endobj +11398 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 733.018 264.796 741.709] +/A << /S /GoTo /D (class_photon_transform_view_rotation_model) >> +>> +endobj +11413 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 610.022 258.313 618.793] +/A << /S /GoTo /D (class_photon_transform_view_scale_control) >> +>> +endobj +11414 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 487.107 253.83 495.878] +/A << /S /GoTo /D (class_photon_transform_view_scale_model) >> +>> +endobj +11415 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 364.192 295.962 372.963] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) >> +>> +endobj +11416 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.996 345.034 248.561 354.66] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11417 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [248.811 345.034 267.847 354.66] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11418 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [312.351 345.034 352.012 354.66] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +11419 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 276.585 254.431 287.168] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11420 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 155.481 285.49 164.252] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +11421 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.18 136.227 207.745 145.95] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11422 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.995 136.227 227.031 145.95] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11423 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 67.875 254.431 78.457] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11428 0 obj +<< +/D [11426 0 R /XYZ 69.866 801.979 null] +>> +endobj +11429 0 obj +<< +/D [11426 0 R /XYZ 70.866 775.009 null] +>> +endobj +11430 0 obj +<< +/D [11426 0 R /XYZ 70.866 720.004 null] +>> +endobj +4770 0 obj +<< +/D [11426 0 R /XYZ 70.866 711.25 null] +>> +endobj +11431 0 obj +<< +/D [11426 0 R /XYZ 70.866 652.093 null] +>> +endobj +11432 0 obj +<< +/D [11426 0 R /XYZ 70.866 597.008 null] +>> +endobj +4774 0 obj +<< +/D [11426 0 R /XYZ 70.866 588.254 null] +>> +endobj +11433 0 obj +<< +/D [11426 0 R /XYZ 70.866 529.178 null] +>> +endobj +11434 0 obj +<< +/D [11426 0 R /XYZ 70.866 474.092 null] +>> +endobj +4778 0 obj +<< +/D [11426 0 R /XYZ 70.866 465.339 null] +>> +endobj +11435 0 obj +<< +/D [11426 0 R /XYZ 70.866 406.263 null] +>> +endobj +11436 0 obj +<< +/D [11426 0 R /XYZ 70.866 320.468 null] +>> +endobj +11437 0 obj +<< +/D [11426 0 R /XYZ 70.866 263.571 null] +>> +endobj +4782 0 obj +<< +/D [11426 0 R /XYZ 70.866 254.817 null] +>> +endobj +11438 0 obj +<< +/D [11426 0 R /XYZ 70.866 197.552 null] +>> +endobj +11439 0 obj +<< +/D [11426 0 R /XYZ 70.866 111.757 null] +>> +endobj +11440 0 obj +<< +/D [11426 0 R /XYZ 70.866 54.86 null] +>> +endobj +11425 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11464 0 obj +<< +/Length 1237 +/Filter /FlateDecode +>> +stream +xXs6~_[a%-q\smN' 17߻B't:}BIؚX;gܳ2Zc0fCXĺCaOy`!}?2ErOr 9i E!(,UvHӁEg0* 3cŅpNu 'c7X, +Jz{<YfBnųWl% 7 rfy|υԺ!RZ #3`kȾ9n PUn +ྲ +hGMLK!zBզJ*QSjeCVyrn\8ey4ܰTA~Mu}fÜ.1*r,&%b1Th8ME&HBdGM *gb4*)g?&Z-j<ȶRY۷ RW_]kBπHkMծIUPr[pt)NŗB,>T8c1Wu.th2-@(-@VuضxU/u@3-2n s߭mǯ_U6{^MhFøQ|+wt 1-u휿wA<?ݪK +e5t[n}E1υ8ʯT:ăQP> +endobj +11424 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 681.301 254.431 691.883] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11441 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 612.953 334.741 623.297] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8b) >> +>> +endobj +11442 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 601.428 333.701 611.342] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +11443 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.22 601.428 525.406 611.342] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba443ec8de9a697e190f4b24ab3ab36a9d) >> +>> +endobj +11468 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 588.912 244.156 599.387] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba443ec8de9a697e190f4b24ab3ab36a9d) >> +>> +endobj +11444 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [248.836 588.912 525.406 599.387] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +11469 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 576.957 130.159 587.432] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bae28f71975b160263c7e6438b4b4429ef) >> +>> +endobj +11445 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.152 576.957 431.908 587.432] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba0777deff381bd76ec1ab2dc434860022) >> +>> +endobj +11446 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 565.562 389.005 575.477] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bad376a854099d47f8a5279893e854ec27) >> +>> +endobj +11447 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [413.15 565.562 525.406 575.477] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab0d4998a26f5b5742ad38c4af8817e32) >> +>> +endobj +11470 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 553.047 249.123 563.521] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab0d4998a26f5b5742ad38c4af8817e32) >> +>> +endobj +11448 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [274.658 553.047 525.406 563.521] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab67551dad56fc73fd4a580e810dc5f7f) >> +>> +endobj +11471 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 541.652 153.319 551.566] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab67551dad56fc73fd4a580e810dc5f7f) >> +>> +endobj +11449 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.311 541.652 442.569 551.566] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba522f961eb7a2b35f0ef4b99b4ad3bb0a) >> +>> +endobj +11450 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 529.029 366.186 539.611] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8baa8534012cb63e62c0b3a2335206117cc) >> +>> +endobj +11451 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [372.785 529.029 525.406 539.611] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba85a7970b25fcbdfd2f82f78609298e56) >> +>> +endobj +11472 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 517.181 312.093 527.656] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba85a7970b25fcbdfd2f82f78609298e56) >> +>> +endobj +11452 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.438 517.181 525.406 527.656] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bac18fb72fa24e41efb70cd214f7681dfc) >> +>> +endobj +11473 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 505.356 236.445 515.701] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bac18fb72fa24e41efb70cd214f7681dfc) >> +>> +endobj +11453 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 365.772 306.704 374.543] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code) >> +>> +endobj +11454 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [245.414 346.501 272.979 356.127] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11455 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.23 346.501 292.265 356.127] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11456 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 277.619 254.431 288.201] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11457 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 154.324 323.282 164.799] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code) >> +>> +endobj +11458 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [283.664 136.757 311.229 146.383] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11459 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.48 136.757 330.515 146.383] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11460 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 67.875 254.431 78.457] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11465 0 obj +<< +/D [11463 0 R /XYZ 69.866 801.979 null] +>> +endobj +4786 0 obj +<< +/D [11463 0 R /XYZ 70.866 771.024 null] +>> +endobj +11466 0 obj +<< +/D [11463 0 R /XYZ 70.866 725.35 null] +>> +endobj +11467 0 obj +<< +/D [11463 0 R /XYZ 70.866 656.764 null] +>> +endobj +11474 0 obj +<< +/D [11463 0 R /XYZ 70.866 474.377 null] +>> +endobj +4790 0 obj +<< +/D [11463 0 R /XYZ 70.866 465.527 null] +>> +endobj +11475 0 obj +<< +/D [11463 0 R /XYZ 70.866 408.01 null] +>> +endobj +11476 0 obj +<< +/D [11463 0 R /XYZ 70.866 321.668 null] +>> +endobj +11477 0 obj +<< +/D [11463 0 R /XYZ 70.866 264.434 null] +>> +endobj +4794 0 obj +<< +/D [11463 0 R /XYZ 70.866 255.584 null] +>> +endobj +11478 0 obj +<< +/D [11463 0 R /XYZ 70.866 198.266 null] +>> +endobj +11479 0 obj +<< +/D [11463 0 R /XYZ 70.866 111.924 null] +>> +endobj +11480 0 obj +<< +/D [11463 0 R /XYZ 70.866 54.69 null] +>> +endobj +11462 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11521 0 obj +<< +/Length 1480 +/Filter /FlateDecode +>> +stream +xXYo8~PѼDIM66HL"D&(#F73 g+{?{ J`ҋ1J"A;)I7g x, B':oR*Jƃ$G[& J(&;HN=1q;:&F4S=tG(J A"΂`Ã+ήkUWa3 ' +u7TQl^g?Q@ͳTr'PD$坅1V*=%v2fIcHx!Qʘ='`p"|7`xt.;yľ*Mg(Rab`p0֞Sf`fy7Yc (Nb/ ,rZS-띅Q$\ohZ̯?MB6|tX@*4g d1! k|aL =n5ͱHc RDSp˹n2`دϬ 3itTY5wxCi$"!YBUVw6,qWEVrU> +3 `㺵&u,tv Q]˩ Qb.segMkC "*evY6̈́wW3 S, +endstream +endobj +11520 0 obj +<< +/Type /Page +/Contents 11521 0 R +/Resources 11519 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11365 0 R +/Annots [ 11461 0 R 11481 0 R 11482 0 R 11483 0 R 11484 0 R 11485 0 R 11486 0 R 11487 0 R 11488 0 R 11489 0 R 11490 0 R 11491 0 R 11492 0 R 11493 0 R 11494 0 R 11495 0 R 11496 0 R 11497 0 R 11529 0 R 11498 0 R 11499 0 R 11500 0 R 11501 0 R 11530 0 R 11502 0 R 11503 0 R 11504 0 R 11505 0 R ] +>> +endobj +11461 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 687.567 325.407 696.338] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code) >> +>> +endobj +11481 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [378.522 670.591 406.087 680.218] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11482 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [406.065 670.591 425.1 680.218] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11483 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 599.526 254.431 610.109] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11484 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 487.792 281.06 496.563] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer) >> +>> +endobj +11485 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.813 470.816 253.378 480.442] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11486 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.629 470.816 272.664 480.442] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11487 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [428.577 470.816 468.238 480.442] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +11488 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 458.862 326.967 467.633] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) >> +>> +endobj +11489 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [236.537 441.886 264.102 451.512] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11490 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 429.932 306.471 438.703] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code) >> +>> +endobj +11491 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 416.463 284.988 425.234] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) >> +>> +endobj +11492 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 401.021 148.159 409.114] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) >> +>> +endobj +11493 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.535 401.021 325.1 409.114] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon) >> +>> +endobj +11494 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 339.381 254.431 349.964] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11495 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 279.679 351.84 290.154] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1c) >> +>> +endobj +11496 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 267.724 360.259 278.199] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca90589c47f06eb971d548591f23c285af) >> +>> +endobj +11497 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.721 267.724 525.406 278.199] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca4db4563826bad0eb2f60ee6e42d0ea4b) >> +>> +endobj +11529 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 255.769 231.334 266.244] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca4db4563826bad0eb2f60ee6e42d0ea4b) >> +>> +endobj +11498 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [251.889 255.769 525.406 266.244] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1cad85544fce402c7a2a96a48078edaf203) >> +>> +endobj +11499 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.476 243.814 374.972 254.288] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1caa8a06837aec81e16c9a07221848aef6f) >> +>> +endobj +11500 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 231.859 374.452 242.333] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca3f6fb6f058deeea1407bacefec5265a2) >> +>> +endobj +11501 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.721 231.859 525.406 242.333] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca183709ebe3a1d675014d32b94ad7ed94) >> +>> +endobj +11530 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 219.903 225.587 230.378] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca183709ebe3a1d675014d32b94ad7ed94) >> +>> +endobj +11502 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [257.45 219.903 513.473 230.378] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca6adf97f83acf6453d4a6a4b1070f3754) >> +>> +endobj +11503 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [337.572 192.579 365.137 202.302] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11504 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [108.95 183.323 136.515 191.158] +/A << /S /GoTo /D (namespace_photon) >> +>> +endobj +11505 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 67.875 254.431 78.457] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11522 0 obj +<< +/D [11520 0 R /XYZ 69.866 801.979 null] +>> +endobj +4798 0 obj +<< +/D [11520 0 R /XYZ 70.866 771.024 null] +>> +endobj +11523 0 obj +<< +/D [11520 0 R /XYZ 70.866 726.43 null] +>> +endobj +11524 0 obj +<< +/D [11520 0 R /XYZ 70.866 640.2 null] +>> +endobj +11525 0 obj +<< +/D [11520 0 R /XYZ 70.866 589.784 null] +>> +endobj +4802 0 obj +<< +/D [11520 0 R /XYZ 70.866 582.893 null] +>> +endobj +11526 0 obj +<< +/D [11520 0 R /XYZ 70.866 526.655 null] +>> +endobj +11527 0 obj +<< +/D [11520 0 R /XYZ 70.866 380.055 null] +>> +endobj +11528 0 obj +<< +/D [11520 0 R /XYZ 70.866 320.246 null] +>> +endobj +11531 0 obj +<< +/D [11520 0 R /XYZ 70.866 173.581 null] +>> +endobj +4806 0 obj +<< +/D [11520 0 R /XYZ 70.866 166.689 null] +>> +endobj +11532 0 obj +<< +/D [11520 0 R /XYZ 70.866 108.549 null] +>> +endobj +11519 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F77 6067 0 R /F82 6068 0 R /F39 4826 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11541 0 obj +<< +/Length 1209 +/Filter /FlateDecode +>> +stream +xXKs6WHΔ|ȏi&MX9th9@Um.iYr,i/H~ |$ADx0mג\崒…g "F`:GR|'IGڥfpݚi/e'65}27xR¢:Л|"~)[{h?4_F s觪QBRׅURl^l[wKfx9W4S7~ke8_́i70P&;˵|,Ӻ'ПQPxuxA+mɨJcQPq;y{ż$kW;; ^̍&vF!x<|vY;kvgT{~TkˉQ>FͿH$< +endstream +endobj +11540 0 obj +<< +/Type /Page +/Contents 11541 0 R +/Resources 11539 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11556 0 R +/Annots [ 11506 0 R 11507 0 R 11508 0 R 11544 0 R 11509 0 R 11510 0 R 11545 0 R 11511 0 R 11512 0 R 11546 0 R 11513 0 R 11514 0 R 11547 0 R 11515 0 R 11516 0 R 11548 0 R 11517 0 R 11518 0 R 11549 0 R 11533 0 R 11534 0 R 11535 0 R 11536 0 R 11537 0 R 11538 0 R ] +>> +endobj +11506 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.604 735.333 285.418 745.678] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19) >> +>> +endobj +11507 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 723.14 311.142 733.723] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19af704f57ea420275ad51bf55b7dec2c96) >> +>> +endobj +11508 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [313.661 723.14 525.406 733.723] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ae047588dabb5a0b1e059604b80289791) >> +>> +endobj +11544 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 711.853 156.52 721.767] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ae047588dabb5a0b1e059604b80289791) >> +>> +endobj +11509 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [164.647 711.853 435.93 721.767] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ac495884e9133962e72063062d1382466) >> +>> +endobj +11510 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [444.057 711.853 525.406 721.767] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aedb214653d9f3cecd840463790ac2894) >> +>> +endobj +11545 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 699.23 247.885 709.812] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aedb214653d9f3cecd840463790ac2894) >> +>> +endobj +11511 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 687.943 317.508 697.857] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa927b3e1f83aa1b3c6feff945ca18f77) >> +>> +endobj +11512 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.491 687.943 525.406 697.857] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa3db59f96790ca93f6c8ac703735f401) >> +>> +endobj +11546 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 675.32 223.955 685.902] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa3db59f96790ca93f6c8ac703735f401) >> +>> +endobj +11513 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [232.647 675.32 492.032 685.902] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a8678b4480f40853432f680fccf4dab40) >> +>> +endobj +11514 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [500.723 675.32 525.406 685.902] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a47d270be4d53cc3a1bc56b9eb1c36595) >> +>> +endobj +11547 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 664.032 337.225 673.947] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a47d270be4d53cc3a1bc56b9eb1c36595) >> +>> +endobj +11515 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 651.409 376.246 661.992] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ab9ef7abda3055a11dd964fd93a07dc40) >> +>> +endobj +11516 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.721 651.409 525.406 661.992] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ad61e8ad0770b4d06dc1716dfce52751e) >> +>> +endobj +11548 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 639.454 258.78 650.036] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ad61e8ad0770b4d06dc1716dfce52751e) >> +>> +endobj +11517 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [267.511 639.454 491.991 650.036] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a10b0501000c144cb2a7424bd45e1bcde) >> +>> +endobj +11518 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [500.723 639.454 525.406 650.036] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aef70e46fd3bbc21e3e1f0b6815e750c0) >> +>> +endobj +11549 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [94.777 627.737 302.319 638.081] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aef70e46fd3bbc21e3e1f0b6815e750c0) >> +>> +endobj +11533 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.694 503.042 306.919 511.813] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) >> +>> +endobj +11534 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 428.455 254.431 439.038] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11535 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [131.385 318.942 333.566 327.713] +/A << /S /GoTo /D (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener) >> +>> +endobj +11536 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [185.707 302.484 204.742 312.11] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11537 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.805 293.058 174.466 301.151] +/A << /S /GoTo /D (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) >> +>> +endobj +11538 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.982 233.397 254.431 243.979] +/A << /S /GoTo /D (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) >> +>> +endobj +11542 0 obj +<< +/D [11540 0 R /XYZ 69.866 801.979 null] +>> +endobj +11543 0 obj +<< +/D [11540 0 R /XYZ 70.866 775.009 null] +>> +endobj +11550 0 obj +<< +/D [11540 0 R /XYZ 70.866 603.788 null] +>> +endobj +4810 0 obj +<< +/D [11540 0 R /XYZ 70.866 597.338 null] +>> +endobj +11551 0 obj +<< +/D [11540 0 R /XYZ 70.866 541.144 null] +>> +endobj +11552 0 obj +<< +/D [11540 0 R /XYZ 70.866 468.369 null] +>> +endobj +11553 0 obj +<< +/D [11540 0 R /XYZ 70.866 419.489 null] +>> +endobj +4814 0 obj +<< +/D [11540 0 R /XYZ 70.866 413.039 null] +>> +endobj +11554 0 obj +<< +/D [11540 0 R /XYZ 70.866 357.044 null] +>> +endobj +11555 0 obj +<< +/D [11540 0 R /XYZ 70.866 273.31 null] +>> +endobj +11539 0 obj +<< +/Font << /F74 4865 0 R /F73 4864 0 R /F39 4826 0 R /F77 6067 0 R /F82 6068 0 R /F104 6525 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11615 0 obj +<< +/Length 873 +/Filter /FlateDecode +>> +stream +xX[s0~W3+M :iw;v:!jf!Hh[/v}|N6Հ6ݳ,uNZ׫[ !yLǶ2ּ@{Y@ gp5tm n(]utMW!4]I}83a:~e4jK{4|3r2 B.!/H) + 64コgJ _.dm/z +tE2V!nݲ| +endstream +endobj +11614 0 obj +<< +/Type /Page +/Contents 11615 0 R +/Resources 11613 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11556 0 R +/Annots [ 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11575 0 R 11576 0 R 11577 0 R 11578 0 R 11579 0 R 11580 0 R 11581 0 R 11582 0 R 11583 0 R 11584 0 R 11585 0 R 11586 0 R 11587 0 R 11588 0 R 11589 0 R 11590 0 R 11591 0 R 11592 0 R 11593 0 R 11594 0 R 11595 0 R 11596 0 R 11597 0 R 11598 0 R 11599 0 R 11600 0 R 11601 0 R 11602 0 R 11603 0 R 11604 0 R 11605 0 R 11606 0 R 11607 0 R 11608 0 R 11609 0 R 11610 0 R 11611 0 R ] +>> +endobj +11557 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 640.345 199.543 650.721] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11558 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 616.369 199.543 626.745] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11559 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 592.393 199.543 602.769] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11560 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 568.417 199.543 578.793] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11561 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.365 557.097 170.314 566.805] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11562 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [173.306 557.097 190.254 566.805] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11563 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 545.109 147.925 554.817] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11564 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 521.133 147.925 530.841] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11565 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 497.157 147.925 506.865] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11566 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 473.181 147.925 482.889] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11567 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 449.205 150.866 458.913] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11568 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 424.561 199.543 434.937] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11569 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 401.252 150.866 410.96] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11570 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 376.608 199.543 386.984] +/A << /S /GoTo /D (page.204) >> +>> +endobj +11571 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 352.632 199.543 363.008] +/A << /S /GoTo /D (page.204) >> +>> +endobj +11572 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 328.656 199.543 339.032] +/A << /S /GoTo /D (page.204) >> +>> +endobj +11573 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 305.348 235.811 315.262] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11574 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 293.36 147.925 303.068] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11575 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 269.384 235.811 279.298] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11576 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 257.396 147.925 267.104] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11577 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 233.42 147.925 243.128] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11578 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.625 198.266 170.573 208.848] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11579 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.318 174.958 195.267 184.665] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11580 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 140.471 150.866 150.179] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11581 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.185 115.827 140.133 126.203] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11582 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.185 91.851 140.133 102.227] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11583 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 68.543 150.866 78.251] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11584 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 641.036 467.564 650.95] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11585 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 617.106 379.678 626.814] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11586 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 593.175 379.678 602.883] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11587 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 569.245 467.564 579.159] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11588 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 557.28 379.678 566.988] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11589 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.671 533.349 382.619 543.057] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11590 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 509.419 467.564 519.333] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11591 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 485.489 379.678 495.197] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11592 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 461.558 379.678 471.266] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11593 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 437.628 467.564 447.542] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11594 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 425.663 379.678 435.371] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11595 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [370.387 401.732 382.35 411.44] +/A << /S /GoTo /D (page.70) >> +>> +endobj +11596 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.071 377.802 427.02 387.51] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11597 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 353.204 431.296 363.58] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11598 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.208 329.941 431.171 339.855] +/A << /S /GoTo /D (page.29) >> +>> +endobj +11599 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 306.011 467.564 315.925] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11600 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 293.378 431.296 303.754] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11601 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 270.115 467.564 280.03] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11602 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.671 236.055 382.619 245.763] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11603 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 211.457 431.296 221.833] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11604 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [434.289 211.457 451.237 221.833] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11605 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.071 188.195 427.02 197.903] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11606 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.697 176.23 486.645 186.144] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11607 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [471.642 164.264 488.591 174.179] +/A << /S /GoTo /D (page.162) >> +>> +endobj +11608 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [460.677 152.299 477.625 162.213] +/A << /S /GoTo /D (page.163) >> +>> +endobj +11609 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 128.369 379.678 138.077] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11610 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 104.438 467.564 114.353] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11611 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 80.508 379.678 90.216] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11616 0 obj +<< +/D [11614 0 R /XYZ 69.866 801.979 null] +>> +endobj +4818 0 obj +<< +/D [11614 0 R /XYZ 70.866 665.287 null] +>> +endobj +11613 0 obj +<< +/Font << /F73 4864 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11707 0 obj +<< +/Length 1270 +/Filter /FlateDecode +>> +stream +xZ[SH~ϯ1Tl eb25jĝ桅6 +YhF_P#$Mtv^p;GЀv4y5lo5mk vݝ?柵~5,f7 4xc@3K5\shYFsH[=y:_;% жi4!׏vFX4ñ~ݟ:8JpDgzyH)p2B) w3*~!gV; znn%iu ?iZԈҎF=d'Boe({+D[ݘE#c*|5_zSig(8nd<m1^ٙCJ"YC&opvwa(A!T@ 6ǪE5i JR,(UVDP1]@ٗP4A,hL<؞0HeWܫH :jP +ɿBr) +jA/序(!2u邡>:d vi"E{2 ڬt7˂gK! )VID ,8O84`QQ߲R"M~6<lQl AFcYf펪m,~f)]w\?jPlW/v?7yګ@-pXDًQfVC R~'ސżߩn5< xe㙧5r'rb +uAAܼBp)0=Y~ }m3 ȃ#ζVP ]@Uͥ^꧚ޖa5}|ؽ'TLWb# /5kx yG~zF1ϛi]5}_iظ{jX!9g|L"&tƱ +iA%kSXnBXcXb$,ϩEMyWiUo~ä-U c6-V|4B9`s\xNNB8mrmT2%/2/~I^2ՊފtƊA:!no wYzQ殏`,Cath aXn{s1'CQ>XM+;̳j-]Q=(oC,p._t$3ejbu)?w$F\DWޕ <8'?3́ ŦG~.(O3eI2^?K䓸%{!JGB7FuT +endstream +endobj +11706 0 obj +<< +/Type /Page +/Contents 11707 0 R +/Resources 11705 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11556 0 R +/Annots [ 11612 0 R 11617 0 R 11618 0 R 11619 0 R 11620 0 R 11621 0 R 11622 0 R 11623 0 R 11624 0 R 11625 0 R 11626 0 R 11627 0 R 11628 0 R 11629 0 R 11630 0 R 11631 0 R 11632 0 R 11633 0 R 11634 0 R 11635 0 R 11636 0 R 11637 0 R 11638 0 R 11639 0 R 11640 0 R 11641 0 R 11642 0 R 11643 0 R 11644 0 R 11645 0 R 11646 0 R 11647 0 R 11648 0 R 11649 0 R 11650 0 R 11651 0 R 11652 0 R 11653 0 R 11654 0 R 11655 0 R 11656 0 R 11657 0 R 11658 0 R 11659 0 R 11660 0 R 11661 0 R 11662 0 R 11663 0 R 11664 0 R 11665 0 R 11666 0 R 11667 0 R 11668 0 R 11669 0 R 11670 0 R 11671 0 R 11672 0 R 11673 0 R 11674 0 R 11675 0 R 11676 0 R 11677 0 R 11678 0 R 11679 0 R 11680 0 R 11681 0 R 11682 0 R 11683 0 R 11684 0 R 11685 0 R 11686 0 R 11687 0 R 11688 0 R 11689 0 R 11690 0 R 11691 0 R 11692 0 R 11693 0 R 11694 0 R 11695 0 R 11696 0 R 11697 0 R 11698 0 R 11699 0 R 11700 0 R 11701 0 R 11702 0 R 11703 0 R 11704 0 R ] +>> +endobj +11612 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 758.738 147.925 768.446] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11617 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 734.827 235.811 744.742] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11618 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 722.872 147.925 732.58] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11619 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 698.962 150.866 708.67] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11620 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 687.007 235.811 696.921] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11621 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 675.052 147.925 684.76] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11622 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 651.141 150.866 660.849] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11623 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 639.186 235.811 649.1] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11624 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 627.231 147.925 636.939] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11625 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 603.321 235.811 613.235] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11626 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 579.41 147.925 589.118] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11627 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 555.5 147.925 565.208] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11628 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 531.59 235.811 541.504] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11629 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 519.634 147.925 529.342] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11630 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.318 495.724 195.267 505.432] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11631 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 471.146 199.543 481.522] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11632 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [111.224 439.153 128.172 448.861] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11633 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.751 427.198 121.699 436.906] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11634 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.234 415.243 126.182 424.951] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11635 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.141 403.288 155.089 413.202] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11636 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [140.131 390.664 157.08 401.247] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11637 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [176.588 378.709 193.536 389.085] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11638 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.098 367.422 166.046 377.13] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11639 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.088 354.799 168.036 365.175] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11640 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.751 343.512 121.699 353.22] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11641 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.756 331.557 118.704 341.265] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11642 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.995 318.933 194.944 329.309] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11643 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.756 307.086 118.704 317.354] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11644 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [102.249 295.691 119.197 305.399] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11645 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.721 283.736 131.669 293.444] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11646 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [169.173 271.22 186.121 281.489] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11647 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.249 259.826 121.197 269.534] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11648 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.249 247.87 121.197 257.578] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11649 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [110.453 235.915 127.401 245.623] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11650 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 212.005 147.925 221.713] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11651 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.944 188.095 254.892 198.009] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11652 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.944 164.184 254.892 174.098] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11653 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 140.274 150.866 149.982] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11654 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 116.364 235.811 126.278] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11655 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 104.408 147.925 114.116] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11656 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 80.498 235.811 90.412] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11657 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 68.543 147.925 78.251] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11658 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.963 746.774 359.925 756.688] +/A << /S /GoTo /D (page.29) >> +>> +endobj +11659 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [355.44 734.25 367.403 744.724] +/A << /S /GoTo /D (page.29) >> +>> +endobj +11660 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [366.388 722.846 378.351 732.76] +/A << /S /GoTo /D (page.29) >> +>> +endobj +11661 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.866 710.322 385.829 720.796] +/A << /S /GoTo /D (page.29) >> +>> +endobj +11662 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.093 686.954 393.055 696.662] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11663 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [383.083 674.322 395.046 684.698] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11664 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [415.756 663.027 427.719 672.941] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11665 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [429.645 651.063 441.608 660.977] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11666 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [417.747 638.431 429.71 649.013] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11667 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.635 626.467 443.598 637.049] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11668 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [357.422 615.171 369.385 625.085] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11669 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [437.938 603.207 449.901 613.121] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11670 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [407.794 590.683 419.757 601.157] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11671 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [445.649 578.719 457.612 589.193] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11672 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.851 567.315 392.814 577.023] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11673 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [382.841 554.683 394.804 565.059] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11674 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [439.83 542.72 451.793 553.095] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11675 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [453.719 530.756 465.682 541.338] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11676 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.904 518.899 377.867 529.168] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11677 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [411.255 506.935 423.218 517.41] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11678 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.456 495.532 377.419 505.24] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11679 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [408.592 483.568 420.555 493.276] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11680 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.447 470.936 392.41 481.312] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11681 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [395.295 459.64 407.258 469.554] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11682 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.963 447.676 359.925 457.384] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11683 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.918 447.676 374.881 457.384] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11684 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [354.436 435.712 366.399 445.627] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11685 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.239 423.188 481.202 433.663] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11686 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.615 411.224 383.578 421.699] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11687 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [446.313 399.153 458.276 409.735] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11688 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.446 387.857 364.408 397.771] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11689 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [403.266 375.893 415.229 385.601] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11690 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [374.727 363.929 386.69 373.637] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11691 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [346.698 351.965 358.661 361.673] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11692 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.462 340.001 362.425 349.709] +/A << /S /GoTo /D (page.69) >> +>> +endobj +11693 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.914 328.037 373.877 337.952] +/A << /S /GoTo /D (page.70) >> +>> +endobj +11694 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [351.943 315.405 363.906 325.781] +/A << /S /GoTo /D (page.71) >> +>> +endobj +11695 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 282.037 467.564 291.952] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11696 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 269.406 431.296 279.781] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11697 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 245.478 431.296 255.854] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11698 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 222.218 402.067 231.926] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11699 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.697 198.29 486.645 208.204] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11700 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [410.071 174.362 427.02 184.07] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11701 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 150.434 379.678 160.142] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11702 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 115.731 431.296 126.106] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11703 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 91.803 431.296 102.179] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11704 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [400.917 67.875 417.865 78.251] +/A << /S /GoTo /D (page.208) >> +>> +endobj +11708 0 obj +<< +/D [11706 0 R /XYZ 69.866 801.979 null] +>> +endobj +11705 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11794 0 obj +<< +/Length 1301 +/Filter /FlateDecode +>> +stream +xZ[wF}W(k5.o6&+'IӞ0Q9M\cT. +]} d5fjם_ƝzZxLs]C8ԞBVk(?"nt.ǝ?75<Ã;O_M-n5Ӱ|O{O5۱ Gڨ[$e{H0sVtгn%?>t3 wS3(ITiFtxў`Z0s +2$:0yki9h{%24Ϡӝ#QbGJ(ХM XYD,BqwDłK"4#GU,D\!akY`ڵVa>~ |~>z1$$X&rY"v8C3Īc+^!<,)4"%厢ň<ubP': 8,AmwY iaf:թdf3o'(2W$wLSJkyEqQ.:<">wi4DYDCW,/!u )CFz!^V +f~hErx[:t~DtJmuLsMq㸩CDB:WF͉eSE%].y >م#M'1|3 )K]ea4\`hC r)JĕpgJ_qűȷa  =^CO({5}Ԡcio`m'S$(l~O >YH{P}^U$s1F"W#RRb7ֆT >xP!S1@qAJnBM[~;Wj@ kln؆.#1rAFnGp|CS~ p)M1"FƱVɎ0kql 07t3=ʳٻggYbK#eoAr[lJCR=fbǗ#jz;C,JGXHC^}X/rr(a~Y%cQq=|L:u8lt^i!Sn7T!9XW2]ǎd˛C)mԽXb' +iVnC,X*kE-^Hzm~c +mnqL0gsQr[&7ݭeZV4M+"Ѽ{~o) {-0@O}p NdN:uG/p.Sg,&B'OO&[SYcVϲWO"L + +endstream +endobj +11793 0 obj +<< +/Type /Page +/Contents 11794 0 R +/Resources 11792 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11556 0 R +/Annots [ 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R 11717 0 R 11718 0 R 11719 0 R 11720 0 R 11721 0 R 11722 0 R 11723 0 R 11724 0 R 11725 0 R 11726 0 R 11727 0 R 11728 0 R 11729 0 R 11730 0 R 11731 0 R 11732 0 R 11733 0 R 11734 0 R 11735 0 R 11736 0 R 11737 0 R 11738 0 R 11739 0 R 11740 0 R 11741 0 R 11742 0 R 11743 0 R 11744 0 R 11745 0 R 11746 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R ] +>> +endobj +11709 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.194 746.743 135.157 756.451] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11710 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 712.133 150.866 721.841] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11711 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 688.144 147.925 697.852] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11712 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 664.154 150.866 673.862] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11713 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.318 640.165 195.267 649.873] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11714 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 616.176 147.925 625.884] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11715 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 592.186 235.811 602.101] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11716 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 580.192 147.925 589.9] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11717 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 556.202 235.811 566.117] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11718 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 544.208 147.925 553.916] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11719 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 508.93 199.543 519.306] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11720 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 485.608 147.925 495.316] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11721 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 461.619 147.925 471.327] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11722 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 437.63 147.925 447.338] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11723 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 413.64 150.866 423.348] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11724 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 379.03 150.866 388.738] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11725 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 344.42 147.925 354.128] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11726 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.944 320.431 254.892 330.345] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11727 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.889 308.436 256.838 318.35] +/A << /S /GoTo /D (page.162) >> +>> +endobj +11728 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [228.924 296.441 245.872 306.356] +/A << /S /GoTo /D (page.163) >> +>> +endobj +11729 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [115.707 272.452 132.656 282.16] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11730 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [169.944 260.457 186.892 270.372] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11731 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [195.857 248.463 212.805 258.377] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11732 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.742 236.468 121.69 246.176] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11733 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.234 223.913 194.182 234.181] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11734 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.955 212.479 129.903 222.187] +/A << /S /GoTo /D (page.204) >> +>> +endobj +11735 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.384 200.484 151.332 210.398] +/A << /S /GoTo /D (page.204) >> +>> +endobj +11736 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.814 188.489 168.763 198.404] +/A << /S /GoTo /D (page.204) >> +>> +endobj +11737 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [164.537 176.495 181.485 186.409] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11738 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [125.669 164.5 142.617 174.414] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11739 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.916 152.505 139.864 162.42] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11740 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.857 152.505 159.805 162.42] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11741 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.103 140.511 163.051 150.425] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11742 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.703 128.516 150.651 138.224] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11743 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.143 116.522 147.091 126.229] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11744 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.195 104.527 136.143 114.441] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11745 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [156.073 92.532 173.021 102.446] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11746 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.596 79.977 163.544 90.452] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11747 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.099 68.543 162.047 78.457] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11748 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.856 758.07 394.804 768.652] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11749 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.963 746.756 364.911 756.464] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11750 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.903 746.756 384.851 756.464] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11751 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [354.436 734.775 371.384 744.689] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11752 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [353.441 722.793 370.389 732.707] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11753 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.615 710.251 388.563 720.726] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11754 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.793 698.162 413.741 708.538] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11755 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [370.378 686.288 387.326 696.763] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11756 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.468 674.867 402.417 684.781] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11757 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [429.896 662.885 446.844 672.799] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11758 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [483.442 650.904 500.391 660.818] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11759 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.334 638.362 402.282 648.836] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11760 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.961 626.272 402.909 636.855] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11761 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [402.011 614.959 418.959 624.873] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11762 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [391.547 602.309 408.495 612.891] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11763 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [412.394 590.328 429.342 600.91] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11764 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.084 579.014 398.032 588.928] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11765 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [363.644 566.472 380.593 576.947] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11766 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [352.446 555.051 369.394 564.965] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11767 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [346.698 543.069 363.646 552.777] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11768 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 508.036 431.296 518.411] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11769 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 496.722 379.678 506.43] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11770 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [400.917 472.091 417.865 482.467] +/A << /S /GoTo /D (page.208) >> +>> +endobj +11771 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 448.796 467.564 458.71] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11772 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 436.814 379.678 446.522] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11773 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [370.387 412.851 382.35 422.559] +/A << /S /GoTo /D (page.71) >> +>> +endobj +11774 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 388.22 431.296 398.596] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11775 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [460.677 364.925 477.625 374.839] +/A << /S /GoTo /D (page.163) >> +>> +endobj +11776 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.446 330.559 367.394 340.267] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11777 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.446 306.596 367.394 316.304] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11778 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [400.917 281.964 417.865 292.34] +/A << /S /GoTo /D (page.208) >> +>> +endobj +11779 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.399 258.669 394.347 268.583] +/A << /S /GoTo /D (page.208) >> +>> +endobj +11780 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.384 246.688 397.332 256.602] +/A << /S /GoTo /D (page.208) >> +>> +endobj +11781 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [376.896 234.706 393.845 244.62] +/A << /S /GoTo /D (page.208) >> +>> +endobj +11782 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 210.743 467.564 220.657] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11783 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [470.557 210.743 482.52 220.657] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11784 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 198.093 431.296 208.469] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11785 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [434.289 198.093 451.237 208.469] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11786 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.671 174.798 382.619 184.506] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11787 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.378 150.167 402.326 160.749] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11788 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 116.469 467.564 126.383] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11789 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 103.82 431.296 114.196] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11790 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 80.524 402.067 90.232] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11795 0 obj +<< +/D [11793 0 R /XYZ 69.866 801.979 null] +>> +endobj +11792 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11867 0 obj +<< +/Length 1360 +/Filter /FlateDecode +>> +stream +xZ[sH~WUfT.:[tkہf/D"'9_4ms>yw =&Ϛ4?M&_5Oh]'0 ˝c@ ;߁{_4`:a-s:u8Ɲ;`n +\gD5Fqa:JLj1LN LxfnvҥY.?ڦB%\PBPP<1,f+$z!P/ '?ȐjÛ=@p gQGaN Lɕd~s"șQ:o5=.g3D&(nQv`lAINh%΢ctY.2E>9 ŷɰ.uN +H +vElmsȫ׌Gmu&^-[e"BPv0"rVBJnjGmօkmp6 / DE'ƚXNvc_o [n"U ,˹[^O_LcG-~"@۵L4VGn?haHV}2~3&Oax mknF7l˪d(fX48*eՏ#ٷkvOݬDT|Q|K4{6 ^0szQ1|N-oX0Q~c5$hΚ +>,dw"{NegϩdNRև8tjs/,zFNW"zD9Gl/FZ M/DE^qĹH +endstream +endobj +11866 0 obj +<< +/Type /Page +/Contents 11867 0 R +/Resources 11865 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11556 0 R +/Annots [ 11791 0 R 11796 0 R 11797 0 R 11798 0 R 11799 0 R 11800 0 R 11801 0 R 11802 0 R 11803 0 R 11804 0 R 11805 0 R 11806 0 R 11807 0 R 11808 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11848 0 R 11849 0 R 11850 0 R 11851 0 R 11852 0 R 11853 0 R 11854 0 R 11855 0 R 11856 0 R 11857 0 R 11858 0 R 11859 0 R 11860 0 R 11861 0 R 11862 0 R 11863 0 R ] +>> +endobj +11791 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.625 758.07 170.573 768.652] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11796 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 734.52 147.925 744.228] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11797 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 710.303 147.925 720.011] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11798 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 686.086 147.925 695.794] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11799 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 661.868 147.925 671.576] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11800 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 637.651 147.925 647.359] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11801 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 613.434 147.925 623.142] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11802 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 589.216 147.925 598.924] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11803 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 564.999 147.925 574.707] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11804 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 540.781 147.925 550.489] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11805 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 516.564 147.925 526.272] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11806 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 492.347 147.925 502.055] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11807 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 468.129 147.925 477.837] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11808 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 443.912 147.925 453.62] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11809 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 419.695 147.925 429.403] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11810 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 395.477 147.925 405.185] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11811 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 371.26 147.925 380.968] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11812 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 347.043 147.925 356.751] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11813 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 322.825 147.925 332.533] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11814 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 298.608 147.925 308.316] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11815 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 274.39 147.925 284.098] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11816 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 250.173 147.925 259.881] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11817 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 225.956 147.925 235.664] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11818 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 201.738 147.925 211.446] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11819 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 177.521 147.925 187.229] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11820 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 153.304 147.925 163.012] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11821 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 129.086 147.925 138.794] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11822 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 104.869 147.925 114.577] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11823 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 80.652 147.925 90.36] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11824 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 758.738 379.678 768.446] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11825 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 734.827 379.678 744.535] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11826 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 710.917 402.067 720.625] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11827 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 687.007 402.067 696.715] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11828 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 663.096 402.067 672.804] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11829 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 639.186 402.067 648.894] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11830 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 615.276 402.067 624.984] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11831 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.446 591.365 367.394 601.073] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11832 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 567.455 467.564 577.369] +/A << /S /GoTo /D (page.31) >> +>> +endobj +11833 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [396.306 554.94 408.269 565.414] +/A << /S /GoTo /D (page.28) >> +>> +endobj +11834 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 530.922 431.296 541.297] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11835 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 519.634 379.678 529.342] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11836 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 495.724 379.678 505.432] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11837 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [354.938 462.395 371.886 472.771] +/A << /S /GoTo /D (page.179) >> +>> +endobj +11838 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.671 439.153 382.619 448.861] +/A << /S /GoTo /D (page.202) >> +>> +endobj +11839 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 415.243 379.678 424.951] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11840 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [335.022 403.288 346.985 412.996] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11841 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [366.72 391.332 378.683 401.04] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11842 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.475 367.422 361.423 377.13] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11843 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.795 355.467 388.743 365.381] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11844 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.233 343.512 378.181 353.22] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11845 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [359.412 331.557 376.361 341.265] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11846 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [346.465 319.601 363.413 329.309] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11847 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.504 307.646 353.452 317.354] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11848 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [353.988 295.023 370.936 305.399] +/A << /S /GoTo /D (page.104) >> +>> +endobj +11849 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.378 271.113 402.326 281.695] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11850 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.233 247.87 378.181 257.578] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11851 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [420.867 235.355 437.815 245.829] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11852 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [392.318 223.4 409.266 233.874] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11853 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [374.108 211.445 391.056 221.919] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11854 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.744 199.489 361.692 209.758] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11855 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [402.513 187.534 419.461 198.009] +/A << /S /GoTo /D (page.160) >> +>> +endobj +11856 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.233 164.184 378.181 173.892] +/A << /S /GoTo /D (page.162) >> +>> +endobj +11857 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.744 151.669 361.692 161.937] +/A << /S /GoTo /D (page.162) >> +>> +endobj +11858 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.979 140.274 402.928 149.982] +/A << /S /GoTo /D (page.162) >> +>> +endobj +11859 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.233 116.364 378.181 126.072] +/A << /S /GoTo /D (page.163) >> +>> +endobj +11860 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.744 103.848 361.692 114.116] +/A << /S /GoTo /D (page.163) >> +>> +endobj +11861 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.129 92.453 398.077 102.161] +/A << /S /GoTo /D (page.163) >> +>> +endobj +11862 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.495 68.543 353.443 78.251] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11863 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [356.435 68.543 373.384 78.251] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11868 0 obj +<< +/D [11866 0 R /XYZ 69.866 801.979 null] +>> +endobj +11865 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +11974 0 obj +<< +/Length 1469 +/Filter /FlateDecode +>> +stream +xŚ[s8+x43q3-uL:iNwg:}Ph ˥W+2"/;G# Xq0y5Њ5sc`[aȱ`LgƷxGs x.GAo4mW@Zq6fGö(4/S]ĘRnTS*AVWt>!t³Eg|;saNIg΀c;-!$Y]E2bHb{ӷ4ܘPU$ ҵh 3?3'4s;MK722:%c)J)N- c 3 5덤]6PW3v7{t;t?FYF/bJׯa^]qnh((93w*fA,1K_1\,0Y\W R߀H1i]H:>vؾ& +ki7Yat~/ø#?nYzbsmPkFCI;`EEe1|`' ^~Li*󂦻Vف~K c/)QK;,֍lPCNEUQCD@ES8PJl,%FW3.TXwτoOx7d0f:|ܲp!_+ +|%oV<_` D#ܐ(V')SyTu)R 6JѾA C~ʂ =p Ɍfo~D;ڪAL%ªWHJ5WKqq55+Y*]E_})Q cHDjB&(.X)Vk +[ +jSDZS7Fݍ m69bD֦nI_(Y?A8֤k +S;D}aR*wGbHgHqofexgT͍ۜ&UYa39m|wpt{a~cdeօ09V s 0PeD^fdKTU4I7NT]m08ѹ ݜQgJ~gY~\ˊ=bGD/j8 +endstream +endobj +11973 0 obj +<< +/Type /Page +/Contents 11974 0 R +/Resources 11972 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 11556 0 R +/Annots [ 11864 0 R 11869 0 R 11870 0 R 11871 0 R 11872 0 R 11873 0 R 11874 0 R 11875 0 R 11876 0 R 11877 0 R 11878 0 R 11879 0 R 11880 0 R 11881 0 R 11882 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11924 0 R 11925 0 R 11926 0 R 11927 0 R 11928 0 R 11929 0 R 11930 0 R 11931 0 R 11932 0 R 11933 0 R 11934 0 R 11935 0 R 11936 0 R 11937 0 R 11938 0 R 11939 0 R 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11948 0 R 11949 0 R 11950 0 R 11951 0 R 11952 0 R 11953 0 R 11954 0 R 11955 0 R 11956 0 R 11957 0 R 11958 0 R 11959 0 R 11960 0 R 11961 0 R 11962 0 R 11963 0 R 11964 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R ] +>> +endobj +11864 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [116.434 758.738 133.382 768.446] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11869 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.741 746.629 123.689 756.543] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11870 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.786 733.852 191.734 744.435] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11871 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.659 721.851 161.607 732.326] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11872 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.605 709.743 163.553 720.217] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11873 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.639 697.634 152.587 708.109] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11874 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [143.888 685.525 160.836 696] +/A << /S /GoTo /D (page.211) >> +>> +endobj +11875 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.566 673.977 192.514 683.685] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11876 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.735 661.308 215.683 671.782] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11877 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [128.17 649.199 145.119 659.468] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11878 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [130.538 637.651 147.486 647.359] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11879 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.958 625.542 151.906 635.25] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11880 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.318 612.766 195.267 623.348] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11881 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.185 588.548 140.133 598.924] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11882 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 564.999 235.811 574.913] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11883 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 552.222 199.543 562.598] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11884 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.365 528.673 170.314 538.381] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11885 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.742 504.455 116.705 514.163] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11886 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.365 492.347 150.328 502.261] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11887 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [177.771 480.238 189.734 490.152] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11888 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.148 468.129 156.111 478.044] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11889 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.34 456.021 161.302 465.729] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11890 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.33 443.244 163.293 453.62] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11891 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [205.28 431.243 217.243 441.511] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11892 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.897 419.695 208.859 429.609] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11893 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [174.929 407.586 186.892 417.5] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11894 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [197.892 395.477 209.855 405.391] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11895 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.887 382.701 210.85 393.283] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11896 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.873 370.592 213.836 381.174] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11897 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [199.882 358.483 211.845 369.065] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11898 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [204.894 346.482 216.857 356.957] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11899 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [197.47 334.266 209.433 344.848] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11900 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.427 322.265 220.39 332.739] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11901 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.897 310.156 225.859 320.631] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11902 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [149.098 298.608 161.061 308.316] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11903 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [151.088 285.831 163.051 296.207] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11904 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [220.971 273.722 232.934 284.305] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11905 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.957 261.614 235.92 271.99] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11906 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [221.966 249.505 233.929 260.087] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11907 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.621 237.504 149.584 247.979] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11908 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.151 225.395 146.114 235.664] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11909 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [179.502 213.287 191.465 223.761] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11910 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.225 201.738 121.188 211.446] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11911 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.56 189.63 158.523 199.544] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11912 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.439 176.961 208.402 187.229] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11913 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [176.839 165.412 188.802 175.12] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11914 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [148.694 152.636 160.657 163.012] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11915 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [121.195 141.195 133.158 150.903] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11916 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.35 128.526 157.313 138.794] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11917 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [123.185 116.31 135.148 126.686] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11918 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.001 104.201 137.964 114.577] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11919 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.099 92.76 157.062 102.674] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11920 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [163.542 80.652 175.505 90.566] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11921 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.89 68.543 198.853 78.457] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11922 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.656 758.738 431.619 768.652] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11923 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [397.842 746.774 409.804 756.688] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11924 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [394.3 734.81 406.263 744.724] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11925 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [449.899 722.846 461.862 732.76] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11926 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [466.299 710.322 478.262 720.796] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11927 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [441.74 698.918 453.703 708.832] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11928 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [443.04 686.954 455.003 696.869] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11929 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.064 674.43 401.027 684.905] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11930 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [388.822 663.027 400.785 672.941] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11931 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.605 650.502 389.568 660.977] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11932 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [377.363 639.099 389.326 649.013] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11933 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.43 626.574 439.393 637.049] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11934 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [425.188 615.171 437.151 625.085] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11935 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.734 602.647 426.697 613.121] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11936 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [423.261 590.683 435.224 601.157] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11937 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [441.695 579.279 453.658 589.193] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11938 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [499.312 566.647 511.275 577.23] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11939 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [408.278 555.351 420.241 565.266] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11940 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [431.232 543.387 443.195 553.302] +/A << /S /GoTo /D (page.23) >> +>> +endobj +11941 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [440.153 531.424 452.116 541.338] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11942 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [456.651 518.792 468.614 529.374] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11943 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [435.231 506.935 447.194 517.41] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11944 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [446.187 494.972 458.15 505.446] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11945 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [469.472 482.9 481.435 493.482] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11946 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [441.202 471.604 453.165 481.518] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11947 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [420.535 459.64 432.498 469.554] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11948 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [442.413 447.116 454.376 457.591] +/A << /S /GoTo /D (page.24) >> +>> +endobj +11949 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [411.479 435.152 423.442 445.627] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11950 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [412.968 423.188 424.931 433.663] +/A << /S /GoTo /D (page.25) >> +>> +endobj +11951 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [353.441 411.785 365.404 421.699] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11952 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [387.064 399.821 399.027 409.735] +/A << /S /GoTo /D (page.26) >> +>> +endobj +11953 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [376.914 387.857 388.877 397.771] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11954 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [358.435 375.893 370.398 385.807] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11955 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [459.206 363.261 471.169 373.843] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11956 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [443.775 351.405 455.738 361.879] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11957 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [374.727 340.001 386.69 349.709] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11958 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 305.965 379.678 315.673] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11959 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 282.037 467.564 291.952] +/A << /S /GoTo /D (page.32) >> +>> +endobj +11960 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [367.715 258.11 379.678 267.818] +/A << /S /GoTo /D (page.21) >> +>> +endobj +11961 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 223.406 431.296 233.782] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11962 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [335.013 211.442 351.961 221.818] +/A << /S /GoTo /D (page.179) >> +>> +endobj +11963 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [354.929 200.146 371.877 210.06] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11964 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [347.963 188.182 364.911 198.096] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11965 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [349.594 176.218 366.543 185.926] +/A << /S /GoTo /D (page.179) >> +>> +endobj +11966 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [344.475 163.586 361.423 173.962] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11967 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [354.938 151.622 371.886 161.998] +/A << /S /GoTo /D (page.179) >> +>> +endobj +11968 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 127.694 431.296 138.07] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11969 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 104.435 402.067 114.143] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11970 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 79.839 431.296 90.215] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11975 0 obj +<< +/D [11973 0 R /XYZ 69.866 801.979 null] +>> +endobj +11972 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +12019 0 obj +<< +/Length 1012 +/Filter /FlateDecode +>> +stream +xX[s8}Wl|-%M'M v&axjKė&Ocg!M_|ᜣOh0Mzl䛁Zh2G6}E^@M /F_ȶ|}kRG&'7}j0}h> lZ7d;ct7EY^.1qBٔLX\s JYZO]{z~bzAu`$fSMpiݠN7lZd%ܰp_a.B[@?O*f!/egfZ\7(?n'fB0OZùd oűq" +@ߣ,*3/`|b,sAtx[%53u'PI%v$G9qZ)(5-kT5JJdJ'sQ=|I <ܓQ%yIN _sψcnc.xԱ$'FJ[,!u{zFȀȆjBYϡk=~:iwd$[6  +endstream +endobj +12018 0 obj +<< +/Type /Page +/Contents 12019 0 R +/Resources 12017 0 R +/MediaBox [0 0 595.276 841.89] +/Parent 12021 0 R +/Annots [ 11971 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11988 0 R 11989 0 R 11990 0 R 11991 0 R 11992 0 R 11993 0 R 11994 0 R 11995 0 R 11996 0 R 11997 0 R 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12005 0 R 12006 0 R 12007 0 R 12008 0 R 12009 0 R 12010 0 R 12011 0 R 12012 0 R 12013 0 R 12014 0 R 12015 0 R 12016 0 R ] +>> +endobj +11971 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 758.07 199.543 768.446] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11976 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 734.107 199.543 744.483] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11977 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 710.143 199.543 720.519] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11978 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.365 686.848 170.314 696.556] +/A << /S /GoTo /D (page.212) >> +>> +endobj +11979 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [98.768 674.867 115.716 684.575] +/A << /S /GoTo /D (page.180) >> +>> +endobj +11980 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.693 662.885 135.641 672.593] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11981 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [117.205 650.904 134.153 660.612] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11982 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [114.721 638.362 131.669 648.63] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11983 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.509 626.94 136.457 636.648] +/A << /S /GoTo /D (page.183) >> +>> +endobj +11984 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [239.889 602.977 256.838 612.891] +/A << /S /GoTo /D (page.162) >> +>> +endobj +11985 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.918 568.611 150.866 578.319] +/A << /S /GoTo /D (page.201) >> +>> +endobj +11986 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 544.648 147.925 554.356] +/A << /S /GoTo /D (page.22) >> +>> +endobj +11987 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.625 520.017 170.573 530.599] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11988 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 496.054 199.543 506.43] +/A << /S /GoTo /D (page.206) >> +>> +endobj +11989 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [141.127 472.091 158.075 482.467] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11990 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [122.19 460.777 139.138 470.691] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11991 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [143.117 448.796 160.065 458.71] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11992 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [146.614 436.814 163.562 446.728] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11993 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [138.634 424.832 155.582 434.747] +/A << /S /GoTo /D (page.192) >> +>> +endobj +11994 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 400.201 199.543 410.577] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11995 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 376.238 199.543 386.614] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11996 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 352.275 199.543 362.651] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11997 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 328.312 199.543 338.688] +/A << /S /GoTo /D (page.205) >> +>> +endobj +11998 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.455 305.017 199.418 314.931] +/A << /S /GoTo /D (page.29) >> +>> +endobj +11999 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 280.386 199.543 290.762] +/A << /S /GoTo /D (page.206) >> +>> +endobj +12000 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 257.09 235.811 267.005] +/A << /S /GoTo /D (page.32) >> +>> +endobj +12001 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [182.595 244.441 199.543 254.817] +/A << /S /GoTo /D (page.205) >> +>> +endobj +12002 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [237.944 221.146 254.892 231.06] +/A << /S /GoTo /D (page.160) >> +>> +endobj +12003 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.365 186.78 170.314 196.488] +/A << /S /GoTo /D (page.212) >> +>> +endobj +12004 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 162.817 235.811 172.731] +/A << /S /GoTo /D (page.31) >> +>> +endobj +12005 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [178.318 138.853 195.267 148.561] +/A << /S /GoTo /D (page.104) >> +>> +endobj +12006 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [223.848 104.488 235.811 114.402] +/A << /S /GoTo /D (page.31) >> +>> +endobj +12007 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [135.962 92.506 147.925 102.214] +/A << /S /GoTo /D (page.21) >> +>> +endobj +12008 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.365 68.543 170.314 78.251] +/A << /S /GoTo /D (page.212) >> +>> +endobj +12009 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [385.118 746.783 402.067 756.491] +/A << /S /GoTo /D (page.212) >> +>> +endobj +12010 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.671 722.872 382.619 732.58] +/A << /S /GoTo /D (page.201) >> +>> +endobj +12011 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [365.671 698.962 382.619 708.67] +/A << /S /GoTo /D (page.201) >> +>> +endobj +12012 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [350.446 665.089 367.394 674.797] +/A << /S /GoTo /D (page.183) >> +>> +endobj +12013 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.208 631.216 431.171 641.13] +/A << /S /GoTo /D (page.29) >> +>> +endobj +12014 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [419.208 607.306 431.171 617.22] +/A << /S /GoTo /D (page.29) >> +>> +endobj +12015 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [455.601 573.433 467.564 583.347] +/A << /S /GoTo /D (page.32) >> +>> +endobj +12016 0 obj +<< +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.348 560.809 431.296 571.185] +/A << /S /GoTo /D (page.205) >> +>> +endobj +12020 0 obj +<< +/D [12018 0 R /XYZ 69.866 801.979 null] +>> +endobj +12017 0 obj +<< +/Font << /F74 4865 0 R /F39 4826 0 R >> +/ProcSet [ /PDF /Text ] +>> +endobj +6753 0 obj +[4822 0 R /Fit] +endobj +6303 0 obj +[4822 0 R /Fit] +endobj +6277 0 obj +[4822 0 R /Fit] +endobj +12023 0 obj +[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410] +endobj +12024 0 obj +[611 167 333 611 278 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 238 278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500] +endobj +12025 0 obj +[500 500 167 333 556 222 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 191 278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500] +endobj +12026 0 obj +[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 0 600 600 600 600 600 600 600 600 600 600 600 0 0 0 0 0 0 600 600] +endobj +12027 0 obj +[277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8] +endobj +12028 0 obj +[500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.8 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8] +endobj +12029 0 obj +[611 167 333 611 278 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 238 278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 0 0 0 278 556 500 1000 556 556 333 1000 667 333 1000 0 0 0 0 0 0 500 500 350 556] +endobj +12030 0 obj +[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410] +endobj +12031 0 obj +[500 500 167 333 556 222 333 333 0 333 584 0 611 500 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 191 278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 0 0 0 222 556 333 1000 556 556 333 1000 667 333 1000 0 0 0 0 0 0 333 333 350 556 1000 333 1000 500 333 944 0 0 667 0 333 556 556 556 556 260 556 333 737 370 556 584 333 737 333 400 584 333 333 333 556 537 278 333 333 365 556 834 834 834 611 667 667 667 667 667 667 1000 722 667 667 667 667 278 278 278 278 722 722 778 778 778 778 778 584 778 722 722 722 722 667 667 611 556 556 556 556 556 556 889 500 556 556] +endobj +12032 0 obj +<< +/Length1 1443 +/Length2 6153 +/Length3 0 +/Length 7138 +/Filter /FlateDecode +>> +stream +xڍwT6Ҥ8$4W RBJЋ{.;R)t"EEE k}zʻg3{ }~y[ L@Emmu0 @dp3o=1 #PD XN 3,JI@AHo -Pm $!PDp{,n.(7,.~;@C!6s8 P8 \RX,J`h{n>Їa`hw-d42`z@0N vktQ0oo} B.( a]-'A^!$;Clp_C*z?ah8 +/k^2VC`1d)0(ܽ@z |[2lP@# S[gD@bD0W e_q5( {` 0O?%20` b60{8qjo4` ]>ZYfD8{@e]eM]}?%˨ E@0HX pgbp^ pSu]#7 a5Ry(#H@h8Iƍ-@sj!dq^H$w q_&QAÝпt 2K?ѸL1;Aɦ&Pڐjy&a)#SABKlRAvִfT7XұCG(gîJk?ʺ=MDC;xOMRnK{DSupPU1уTFhN{guiO~U=r?< ^yqGS,joUt{w0,d?*?sKܷ2h|lTom<_N9qXٲ`J`d}BUHCE䄳4$bj+>8ijzMOt.tLU7 N>/_2. e^,M?^v As46CYSj!! +wxZu`羫Ef> +ӮUшXźYߌ§'`zhzMҁo璅V ȯ»E1H kγ͎Xz;3lJuҽE ƜlymgtPDeoJu؋L]iM v 5NӵЈS/VGVt(op=Hx&ג=^4Z[t Y[{BLYYۭX/l.V7+0. ^m11;"dg@Tȱm+b\Mf_o;Lv|Y5`׉;6-Ye_vGܯ<̂ Ǥﵦxn904s=AmMZ Vd=LX\UoJ| \I|q_zBȓ'Ny|16 ߽[H 䃡V +˛7hfO{OۼW(4 +YJY# =e>՝Z*r򞒯m2ҨVMgP{jlƇlES"|'wOxf'%yGn^5p*_葁ڈcOZ58CeaKGlڵ4J}wxݩ`jυ݂*]|;8oDkq}ϻsT}l _}W5I6`- :C5(ZQ$66 xLg+L +,^HoEpry9UpYǍF!>(w?"[չwD!maf~q4A߬_\vFv"zϝx$̛nJ}R3%tyy/`E=N -W VcaswÁp8qB셣)zlG$ ~"LB;)?ѳue"`(ۗuN.rc/L@ np~aۊE7bŝ }w +F|KQdVqI.:#B穥C>-YN1;}V,^5A%!D^d |6ldY k-6Ӊz3~/׃K_>AWQn.)k>K4+&?p2 DA@dߌD:܅ +gNm/ZrzSN_hޮt*kCN>v}˄9AElg,{HrbD31yY:wVGJQ m7U$˭~ܽ+ мMS~pzQH AݓsbQw֖6Wǰ+:{7[ s5ŠtsNU-pR1#9#O 0-zðUh gQCgO0vI@޵G$Ck 7m+]w8LoldN_>i|ө> iힰԊ22QYe^q&qͳTĮq~p|+ה +jJR*ڃ85s#DJ-Ecσ_ANQ'/;1/#4&;E *;Lp XdN^fKC>JZcɿPzwTH2_yq54\JUSϗI2Ͽhz +u-–TdnĽ5*^SjM\DIrɔ֧MHV~4$kG7c3uօiJĴSsU":B(u_?Ou=PXaF;NЍ*׌]E;/;ϩberOfYƛDJ1}Lj/ke;k4+x`$3X@F`_TXr)pgxc4 9w#^/Ebԑ7[M?$ƓOg١[L"le 9Orl)+Jw$=zS!dɵܬW_8'{dEbP-*I޵.잪㖴7L +Wmѳg4;)قIYaLzJmUAiKäxrƢXOxuqIT:W<,&fb]]|,l<97l +}D'{jikv󕺃t_pIDE`GM=kC]psT P3#@E8I@$a!m'_pmxϏn|ܥSJbL :Mgfo +p4o3\;Zx@^72 Ʈk54vG(E_i'&Jµ$%YX=t0z,eo\8SM|cM#6|cKEjZ9tܨumk\G)[s= TEd N9Ans&} Vi͹ Y5ML:CvARv1@IP;'3D lYUC1v|gs\^Aމ9ŞCB&bZ?1w#Y%)m̳o/'P}G*)Ð}]]`+/CN[q7WZ(KqcXi6<X89+ +r.}mIiLBՙGŨQaN+oIӢ!SnT}N~ .6ZJl׽ͽnJ%K_ Y[C=MjG"7jLW|5LoC%/KJ>iOWύ^<\x*K0,&*yUE,^<=/.&Vwl!)֋]pҋy/m#//ǹ%+ݧ 1q(~g +x;HI;Dsq[mHOj h 6R7^$s&uoKL'{OZjo􉽪~n8regWNŏ6 %̜^fI6ű75 _+H EWXMRGVWy9.)\Jz<͗EEWoHHۿ?I1DQ*\MfΡ@{MN~-zeiS<|. U:i_l t,Drnڮ2n+%>ea}_5SwL)_4ζJQgmGޒ£GZ-9֊ 3 +JlQ(lmX5D:y컰'ggL4Ui'{&߇}&m;um?' =>?ø;7w9%L̢e Z21W3)N?f#!/{#y }idLS@ںL(rw?wng}"ow|K` @y͋_0wP;WdxOHJ D8o ֻ_p8mY^_ϫ‰"u%!A UUkٷ*ڥ]o:x"`J–[4Zd^ͮ +]r1D nl- ǝ(lUo=;U7|{>9-Z + +޲va uȱwYx5'Jpn D)^45^(7UZrgY+Y׶4<'ᓠmA{\_ZQxEXr06R,@gޅLQ*J[ 9 +<[F\@lTzU:Orpw^Mt8b{W~{h9Sh07#xR"K-}7!o jݯlqL, g=w~ ?+nÑe1Ħt~.^w0c~ mkuj2}wL3fp$\p$UZF6r55|g*;?\sރL2urM+6IFSuR%7%<Ңs2 ko.Jy#4v ^ܹdq)䞑ɉ~x0'j0wO`ͻ~k3ڱY9 s*l7<@*~UV\bWgmM&Ah^Hfdg.t-u eKLvkq[1^ +endstream +endobj +12033 0 obj +<< +/Type /FontDescriptor +/FontName /EOEKOR+CMMI10 +/Flags 4 +/FontBBox [-32 -250 1048 750] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 72 +/XHeight 431 +/CharSet (/arrowhookright/greater/less) +/FontFile 12032 0 R +>> +endobj +12034 0 obj +<< +/Length1 1425 +/Length2 6243 +/Length3 0 +/Length 7222 +/Filter /FlateDecode +>> +stream +xڍxT6"Ҥ# Հ{ %!:H"U:t"JoDAҤ# R{oe<3{f3;Y`50PtD9@PHH(P5@ (La fPO4'b*` B$&@D@ w +PH(C wr` $%ݠp cn!`C1~-K Ђ(O'9~ 0PGz`7_ sL?c "X/#`w"u$W#;!;G:`p#H_D0pK:hc+>4A _5 + +=fU2 ĠB'Ws](d+U)T9A1Q(@}!B60s650l 8 @4(? \@G8p:?kl=k V~ _O6X9XHM\]G﯒eTRB%b@ +DP?b_g,=VP~( +`@gvWUnp_ r0)EagTsՅ:½۪cAU VB M_7 /v [o;CW A96aQ1G5v% +a[!A$ +u`k PĿ+" z|Pؓ]qo`{B}iD:UDi"ať$˞Q gl %{3 fˢƧywNG| ]H( 8|eqD18gĮP&2[YsOGwf%pS3b)o>de_ XާH24}O8Qjb5ӻޞ B*QXSis^q8DҒܢ8ۋ/,mIwS`%:-׹pdcCvcJ3uG#@n" _>;*)=O \SG a4YDgJbAs45u=V%ߟ+,"ߵtFwi&B,ڲ7_k4UhϠ:x' Zե$gD L(gLtp2,"C&)Ȩ]wʘ_~z*(&|0?wM["EM7l< mۭK0 [IJ{ JvԥLvToXc}1blͪ7)ط65_c=ju>"DECh^XS^NQ#g Djzޮr%9l N<`T0i 3x!p˚ace홺q'&!>05"? Y苽SDuEzz|fw([AvVS$O+;jWu(qA/Y_E#HOmE܄Lް)T8lvڠ<w!mmQWrUrV͛&_\݈3i.1};TB=yin@A`/jix'0)报/kY?-]*7 +7Cf{7}K}|GqnG9ޕl?Ҳƍox)8ӓM*撷R>r!5O lqk|沩55]!'"?XChGʆ $;ÖUB߼&Z4ei/PJY0Jz68<^lZ+T%;!M6C';oB*[X{9R"Zd +zM;,e´) #JWWYd׭?;9{=2>yf;3 "-q53"P-O6ɗ0!RXmh1[tzڹ-q,A,|7r>dEVbh+[I@pP@xoBd:Cl8ٵ2x?R7y*T, gי|c/46lKهՑpYѺ? L!|iWo1T+d nj~B6StQUzG,+emF4J + Յ~;&gaS)_]Y#,ȇu&}X`:MRWmyTή9rUv}`hj y'#O`HG6Yeu]C&1hd~uk2.GG}ǣÆ<y|3KᖢkvC +@*3 Fњ2qisrGO54x'zofe֕j7\k?L +rPq/Eďo Qユݣ7L" u`j;T|t?V$5w=EwkF13f64;j@n[ogM],A~M=@.Mcj&8Jx6gݶOu{Qb]i5QBk't"bU Tvoc2>kIfBEgHIuz%3fٶ:%U`\.~y]߉u,gK{E/P=>NlbtnՐ>8zwu~Fz !M>k8S0êt +Exu<_ +M +qACq.+ + @rKw(8uUknZhwΛ5pY)2!Bެ2i}Lٕ43H{a/.ޓB<(ɺk4,0'.Q-ظiܦAhDU|6L~A::[r%!hK*/13b5[@ +aQJ0S$)ULBjMtQRs ę )tu`G+UP]ze8,RlHѡbv}OR6E/N3Ik}GtG'WEAM#7.8ڮ6R]&{[+ݵ;mBk>ݱF +ssI!m +]znyYsK( h̯&̔5OHwJ!wE +~LYT#Xܻѫ+AhtUԴ=%n0.ze>g{8YkܗuQ!_}?PfqyI;8v5\9cً~\n2Yv%r.Ȕ#)~bSG<*S;$e~A`-6'صOwrItj<1fij +@QC9,JAv5gL++ͽ*=ଊE<]`ȓ ;ê_bJi>e2IhWRL@nQ'*tNu;Xm>⥽1<0NŻʗ ŽӖ OrTs|(g(am5dr}`kJ|SwUw1>c?c%{sLF!lsi +W7H!k(OZR~O6j-|5JH$u|?ٝ1eݝlB)ޜ U'ʋ_Dptе>&^ɴS|O^>̨Qnzj֢=W:aVpuꤝ\ $Rq[j +$#_~ߑY8F!U钥(~E/'r<)Zt 3y[ j-a}Jsڳε46cB Lh&`DkD2C~+Z/>ᓇ|_B' ++ESlx/mvkϛN.$>*=!eN/}NR$E eJwRbK, 4YMoF~~lj2y~NEHSmMJx6 TK"f]B_\.̵ wТ+s1m.9Miɫy CxׁPjU󋰹,=5b촻HPq\RUVRh'i8ߚfR'97g%*Jxz#@#>H +]'M={cx۹fH7qgcs+D#Z^W Ȗ~(e?]4XUƱj/Ď ~q) rK^ 39)Е8"[T%)btׅ|"8`OqeFZL̑j 978IE G6Hx8z2oōcS0epyXr4Lđ-[(YDg.11W*,oa9N +>6bN[ ,"ޕD}9UL ׼IϾ4. >r{s:o4e +wp4Rf${\c/fU,jOkU4 {2~JeVN +ew ۼV7t~e >a {Dv?`0o̼Ke#04o~}<fAH q%Qo[T-ogWEh.ť ʟe-ڀтuzkLkIW &, ,Nמzx;~tr;,<ɹiWڹM> +endobj +12036 0 obj +<< +/Length1 1612 +/Length2 16269 +/Length3 0 +/Length 17108 +/Filter /FlateDecode +>> +stream +xڬc%+͝+m۶vZVm۬mҶm{Nw=cX3fČ +t&vF@1;[':&zF. \hdag+bM"@c33 lg`afTUR/?!#@hmgou Q8@8R\N :Z-2@[G `b : @cۀn@\{o#o&k7!{6},*?-v#M쌝)_0N'? G{kC;X18 LabӝUohoov_,֦pLs;mfa ϠHښm7q>ÿDP%ahbgk019M SO[ovs3;`o; ;nhcat2 A[03h(f4Qp26ZԿ쪶&@k [_EL#T-li&IH &!Hw꿢jn(E-sx=t, 9~ ֲNn%32ۙ3+N&q;;8U_'osA݀p+v܁iN5X9C"}=LCA%*Uv>ۜA >[N?Fz0w'/RnP3 Gz^lAh1L(*Cigqz%uE'{G6N@iA)8=H8~z>0:<4}ٻGKmtJnp_o íRNkĉJsPBp(ԟ=P@,4,i8k j.V.)!6>J;˖pOG^␂YD{5 Odż`eº82n4΀ؙ^_H +o^YP)8v 4;ǒDф7߹H;6d 3_x渍lrY>Ɗɖ|52#U y PRF VM5 2W&'-E8>VrTNaJH-|XHdX{q6Cv:Xel/| bFB>=0 v2Ăt)_|(VQ +Ա]*5kG!p/]$Dя3oKSzgG u"?/oluQ<*]8V(Ow +tHؿ赒o~)W띨r!NZV!i*&Z538r]nzH~躺yNcooHZH1B>3 +y{{^ʊ29Sx)3m+sbu7yvIOԯ-mʋ6Vv ܣ_KWntȯ!Ǚȇ5䗚ls%tWrv#u2YX9$OSPLã~;f</ѝstSW1ӟe~d~ç43#H ުgչmMWݶAЂvqr<=b-T[ynC[gM"5ўX;,Pqq\"eýD˲LbL]Z^G=ZO(16LBu2h + w> gzT=J!ΣP"Ʒjh=s0H~+lپa@IJXмWtnz^.$ΘMa 1#rk0 nmL4rFlDsL,qF_)5LLYaw|Y/O :`ӤVp@TT?-?>kB_n& +SKPlTrSp^ޯZN"ɤbGdۏnV:]~Ե}HqyRha{Cso[ |[!q/^~)zR[*)djOY|r ^oW3W\Й +3h $@Qhu|v;5y^ +H'+%[XPe.g%:gV=8u˄ ݧȜL [nYr( r-ûQu/?D<1AK֫`4, +WQ27";  #9n0Y@ى* .vQDci[#Voqh ,wܾLXo5U0縉 e@_Xgc'Ĝ!^[V򰧨A7%Ȣ˷ \G-wp[je$|*9EjuNґ@)f)[/xߖVhf" +KZf0=[M*JRkXր^ֶ %v?E{>,0ox)m+ji +ҨY#;<&fe}.}$p/qnwŌn/x0_F@2iθ"ijH:Y0Ε^h$*l?s|&҅#7'cO¿~Ķo$$5Dᓝ\2{<>mxMPFplT@`,܇^#eߕh Sy'o/df:ĬaJ,#k=P0h3ȹC趨Ŧ>XΈqvZ[gm-8aD_v;TQ N]a4'GǓ'Ă]8dtvuVnۼ}x9HZ;yDEaf^ukkB>+zlji܍#vCbg3v0.䧡 bg:f7ܣDhDXƝYC'؈mSe +V' + +'Nݼ[LZy fgEy?: s}'[yJ[+n2H6-ou|WpvW`0XUƯ[06]f' +}UѬõ74z:qa4>YGG-0|: izB7/)91 /PtOƢfL0-u|)N9nhg>Jt.;Mˣ_Efؗp#aLLzЎڇ;'Lb#.]/| He3q+zuKZśmh1z X.VE]ԊF"rJ| +Bj)z2啝g1k^dSvF'x~8m֬ b "&qN+Z:+}ލkLۖ<|C2 n!U!q$v!X&+yrg8 C8^oA+weQ|u-ǘwϙ|Bhs74î:"+b) ΅f,>`# & O*x+ߒ0WtT(8;6d?kq''K`op`m 52&ZBKx;=Z/L7onй8Py۹U¥I(67A@xu$y;D^x /)פ:f}_X{7E$aޚ4|w(ritos:2LET$@lHIto9aF}9_XrܿD]\)l!b-=`W J;\ZK9e?c>_K֝XLϦᜏgڈLq (dQ'*{o$Uc\Lq +/ "t-3? Ks$Ӽ_j#u;-x(`A^&F곢v.2ͥ&y$D$ +'zu("P%HF.s' J4<Ҋ,:fz!UoN>%u; JPm +4Y/qجBb˗V<,(T`$I2Ψ˨W#I *",y1t?kf\lJ,*U@ukdaU=jI昇rdtܑ/cox?Hex-Hd ^ܑΏH%Ie:cdf~U1jeKA@U0K0ȕ[]/pTI80z }i +ipxUu:DL !nPwHӎwΑ18 *ܸ>-3fO@i~Wiz&"!E'6,G9OvH]ldo\L"n:l*0>N0:5ٚ:+C6ZeIۮsz@XG)B8|ׁm 3tCd|YVlxT!=*\R⒛׭0N$1C-$2C |. V iQMb4X|ξt=mOG{ S]~@A'Y{y-YUotrazJFNz1ܲ$4\1.CkY'W,Hθ΄C*w'bEˡL:}X-fX_U=*?FxWʶ*tD8 Bș- l]wrij wRW+ǫBR IadwJ MNyL}s:r'4,a5ƃSU9k:xw臦JLS9WlQMW-t/}z](TՓ@Gg>a, YZH%<+Oد`|$g$-\Tߞ#y>YVjMC46Ejy͉%U'}60䎔P|ui}=d[fvËcЏ*rfٵu$y{V4.C +`($.SHn[;" u]щSwEٚ%t[UeGv1U"$!@P2؏AG)U~`Z0c{3'0g\w_xwP!S?LjM 讳K(#Q*Sg%ϔ%|Pp9r$+[w{`-*Jb&=g Pwguxe:1X-DfÚSKqpRa'BHL#DL?d[-˶)+MQ{QT,I^_Kg8A/w'^]YyjZ4j]NZMc=a+Awmd.E:1f5.7/ +hxhyQ:+ ŽCv[Vld8T\~f"wq;Ɉ.bn͉C%.t=}87[_S BUXLg>[PQDT~*1t+ *<쮱ǂEL!\|[4 Ye-ܮoovX[WDז*N@l۟pݶ DWO`F%P~x{ +Sad˟ХkP_ UdѸOn~bOD??MAI3.L &0iӾ/c ,=:6ҌqM,B-0WAM2Vh@MT9U:-Xz4D KVoۚll̀-7ق絓E͟OZ7=N$;n7&7}3i7m@fUiiսc35@d}aipX +.,I]R.O!i7\TƳaVcjFM]q(vԮIql)qsȐX0}!2^ε.º1ȶCiwe 62-όE;gg -ԅx +`^{=&s(iQYwT5_@+vǦQdyXYxQ1csZާh]Ԭ^1 )7v\d+G )mQ9i]KhOd |fZ_ &t=65A悒l&WU,Gů/+QdZ1M7zZ#ٕjs|[Laq>B{~7hKh**YR0<]<ĿͰ >iON"[YGFc \WY>zbE:WשTCy)܏ §QSz1*!||,Eʘͮ\8\GfDV*ùT[#Hx&h!~'\QU\J it&yqiHjhjV\tsM}rPrVe#D3A s=x\SMp;~tIR8ҤkooNޟvCaLQ 322BƤ' VVfskSeh%DWI~z_G3qwɢZ㏵tCfo3`ywA,#f:\5c!#Z-m)`4}Kq"qtƊ9eW+&@y%r7Y ϴ}HI~Aň\yQWld +tS6 ŪYH}>OhvJ0&+|M]]|"2nf"5|Q8M~ +=>]f@M'H 8p»S֑!ywb{kԍ3nYL>6jxmmZw#WBߚ5^М15Z7sm?*p)fW]Tn'Nǣ7SزL)Z1Mc^Kt8%tW`d!QnNJcv74X5 ( 3k}vH1$^[!\ט)3,=h|@k@#8YO D(. f/ +lJ2+ kIXÖyw`\q +8ȺZ4 ;_\seZBxZkEoEsq:aD%g<!$ g֓|2 L +<寉9Kӯ^鱒G\qs\+Y#XnQѽ)W@$.?ɪ `>ɢgπd=EVl +?UÑ]As);& Jv'Ea;[56;CnDšGЮ3 !=2[" Qi +}[LM|U(0ûpD08 :HUGѰp'-8 ql jeAh#,АtyaG$r:,9s-r92L'+hGռq삘WɬAi轔PNAZ,7xk;'H&DXۭY0o1W_nŦJ_imYыσk|:TcHa.]7ba7 U.'N˦kA#O!{欘t5߾;OycJt}.xGw~Y<ڽ)YNɱ&Z=13<,D_U + +Džj --T=ߣ=rOc0^SZ8XE| }يf18DMסJuz(Nn@->տtW5sqXAL2IN\s ,;guzME|slIz6yw2΁M' 8 Mc6Nai|GvTpBˡ b@)SMriG; >AW""mUqu2fsRwq[> V_e91k7{ 2eH{6(Vg)Ft:Z-To$K0B' +vۗTbSUH 8 %vҬ83Uw+SwI;obB.F#\|_:"P{ɼm +z! ,"4l$FKvzmb/5!:s=/ .2֐TʞRho`| lh&3L-nw3A {:םry=.pEKSZfJ.- +H B w \;OiȑgmZ0I#~ +[]_YSZG(Н$QS6b.C Cr^Ǒۦ)?&do둫.@d)iز vQ/"VAɰ*Rٕ#QYAt 4 oq&tn +ևv͚F[UrϷڟ ^4DU?r/$Y].86V[(j8 ޻/ⰸzt1e`>>yo#n;9-Q՚lYnK(C ,JG+E ԑX3n")LN_XҐ-Li*|3GJ.H''c@qYbVIk1iOS#-Ƌ;|ěA +QW`ĺ6&* uR% ZţWjTOM ] l2n-zf3Ҹ{>GTPj(kGCdE3iq|S(vkfwR%fԘrឯ@_I] C|x#4T$/ a~Ŏ9!. +5n" +{3P(uCDV1qo?jn#yzaQLqk֣mbWmx*ܲu7?/Y)dBmo5}A[>܊bC!RmխԀY]GXBWW22K ™%1hma'dK;j?Z۱EYXjPJqpco7:z wܤ@+P3iNF8ÚPjۖ ئ^IU0>}s;99RZUP49Ϻ4#İ6g:TTcʠ3+U8#q"#O4^~N}W~yu SC [l-yV2HC!=SOSt]U$K^} +(v#i%b +,m&A-ћCWQ"徐 L_M 2Xl?EIP] @!"LRs]kw}|c6Yrm.Y䢆/(%kS|j(ë-AF2,@W$gCYl4[\ |ڠ3 (Tȩzu4Uv4Kfn`L_Jr$>KDTnLbEϹpJyv3 +i~6XڟȗJeg!\»JBcrF"#DD %Oyx8ٹjzw*9_.9,>Ln)!&|՛pjK y)S;^ULIÛ/uC +endstream +endobj +12037 0 obj +<< +/Type /FontDescriptor +/FontName /EVHKTQ+NimbusMonL-Regu +/Flags 4 +/FontBBox [-12 -237 650 811] +/Ascent 625 +/CapHeight 557 +/Descent -147 +/ItalicAngle 0 +/StemV 41 +/XHeight 426 +/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/a/at/b/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/o/one/p/parenleft/parenright/period/plus/quotedbl/quotedblleft/quotedblright/r/s/semicolon/slash/t/three/two/u/underscore/v/w/x/y/z/zero) +/FontFile 12036 0 R +>> +endobj +12038 0 obj +<< +/Length1 1608 +/Length2 11571 +/Length3 0 +/Length 12403 +/Filter /FlateDecode +>> +stream +xڭweTڒ5 ܭqHp &x!Cpwwݝ{̼Y_3Gէή]$UT21X;330qAVF`CkYzaKRh5tr4&Q1Ņ@ u;hԔ5h|zoAf/N@K[+; +p0LA@FB^ Z,AY1 ,qX* %@c51/ho߿@`{l kcKGMm&dkoa{S;A`nWn0 1}41v}0^C5tq+`Z~M 6':=üc՝ oZ}r-MYs;6Y#05(R֦6fMmA4 ; CkKW Q=%2ÿO-W#w7z,d/ +d?Dk ')6YK#,r(=ۮfmYߵzfv񩚃[t]@ke.߼%ĕ6;J]uUWwbQqgdг2q?6&Vo  A..?>< _s`hm>Zemho߯<=@ aaƘ"1%ɡ'oXTmAjnwMWb:Wɷ犟 ܯM3/ҟw;-でY䴝h+T-_v| 4~MˮAks0l +)?Ýz;e{cR~4NjE@9<ݿ~ӹM%=!i7gr؟#] ;BDz|k!"{,DUzj[*x%lOFwqfV=w&cPf~olq=,IψNfjx?t^m4QD Mt.FU&&aYUo]k& D#=l*Ea?'>E)VLD:9NNneN!1sڜp<: +Td\0HG? VNF .;vE=CnKA$da j}-iw:ˊom4enƳAy6KZH?Cʎ{\ WoueRV w +UyFSE<"heZ;D_&7Lf ŏZ%hR Œ飂 8,f qQ%ݨ$Zm}XEC|oB΋q<`POV(DWx9_O?L1YcyEBC1c~~h$Tj,6* Jڌ@%^H ^o[d#3ںs&stw+2?!l`ķ* `)Ta9XK2H[*"IoLƠiPh_˒tY;Nm=r ]W TW@هjɵL 2 'Kl6qh?>ҳ-[=2} +$h8Q+ʰ ֗ȥrC-+(5$XŠnp?g̃J'Xl:jx)4}PW7 ʨ(V%"c_,%RLǽ 8u{vFfӪ&r}~x086}@/$L;A*iQ(14}] w#9o';а ! ݥ,eD37Z_}v2*x|DFM@) n߱5E +h^0i$QneJoY}VUhpR`W?.E[l/edM0()إ& 5yhcz#4:, ]5[]X~2 Y0Co<"-{_zXs! 3OPj)Р-զD1YO!S 5?5nu0t0RYN?H4u:ZgH49?BR;ehña՛>+M?x01GkAWZ͎+W.V F|B_wpQf\JGkr8 SJj`buGZ\C{eT[m~/x,i(5x.}jѩnvTrꔋH +<`ozwl +c,8F$PO~¥Bie +~NQ:@(iOaEX-QF;v[[ݛnU/IsE*Yց/E ,Gg[SQc)8&kZ^!V)!diB_0لQle&UCQ+$uMaew:cTg{cVy2- +g 0;qY۫Gc,?ApS| "4*0#2!/TeGA #$ץqC-ϖQfDZZX G vcW"-26)_벶)Q:9/N<%'Af~. +v~JxV]̭Qƈ﯇°8ϏFMFQk CZ.'wUg,PukBQͶ {}sg(…16mGL)9jCA_VebƧ3Zs 6[8 +wޮIq zF͕kK҇cps9Ӝ,A $Jn}5 +V #hfNS~uޓs܈)tMGjmJT5DwgwOURQ!kO>/jN;E"4sjVg35 r]:WӒR22T-9ƥ3cτp[ӦSӞ=fuek5NjSPLCl^vv!V>z2 W*O~ ;}Kv㫥x51cѬٸ;яc>]E~q8np˳X|N^>:]z%n#wdhFB F$庀uA:0L1_,agەA%/flč)%5i^~Ƣ,'Vr +@c=0NEZђYB1ǢH;en7TY0Kƨn$R ?,,z"7s\(1aǦX߸4f*tfN,|_l,KH` $3T⬽ |O:]m-ؖƩV}=9QKzDXAa"]-uJF@Exu; tKC*'536:o+$9 +פb'kkJ8du_/#ZrZ7H +v8S@XFVg֕Fn̅Ȯ*kwD/הUםRj kjP|1MJ" GhenK_/V0usor$&2zUl-6@ʣ9JÕzQ֐o7&OܣU:0 ڪj,\۟[j̍Gstr"x +{5(D 6K.mQ #O-'A{HsQ,'%vի~SδmZi#k,q>/1 ,E?OWw #n9lCܚ#'Ff qCv1˴[> a]9/^ o=0I~_jͻ}4^OF xF^=3fO&$~ 䇙4Nk(6PڞEX}[V7~K }I-ӣ0K@VΡg=?{ +ۜF} ܠ' +$"{o.Qp첈άNkAXWAd ==,sԣ#v=shnH npGY + 01{0:Ӓ6Nv1(Xsa {ZȲp R@ͺ2U*s|JJ6̰ \K*>ܼKmh2EGvSN#h>PEb (a8!_\&Vc.aY*"ԫkXi:غ9آ@M:eI@j !Ok~?j K8vDG~;G,.&u䄒DŽ@MSN;'q*g]Z=OiY6W߸Nޱ==n`o%4]gы5BUF]|18M~!{p^:D٫8[B9U= `\f?R(s`%ੜ}xŶu≮1*F۝,`%?6g8f(8^7mCH?k=@ :EG~ږ8e?x&wrtNr ;s~_8kP?DēpsG1)"I m99h_;2A t=)D,}5+2@YEKu*ٜ7exb y Xs.NB MJ"EkU +-OٸJ Հf+x|a~0q8ηy&d +5'y4;^3=ȟt%fUG$,vv<|Co@iwn|Xs-lx$zB=ݣNz>6h^ԅ}p#ۦΛ-m~)2a9b#on%ɺoc6%L~yC˞ށWGH/0  8\FBLK^:~H: Z=Hۇ#~ƚ'G^!:M9jYUUÈ:br/k`0Cʆ7FCmW76/\-HVgdsssbT3(>("e̎<=DچN#%#%R +]ʮOpft; A~=z&#O)54m>#^+,oΈ 6l|-<Apә3 ''c ZH_#o^5Gs\2C nh3&:bh>慶Ȩxt[[ ^~X#p->JJ֪ l̯NU&W5wa ,dnm,FX:jJ +; sKg`K$@SL2+b.<(c^ᦒDjn+UribC,o@ƞ^ |;'ݜL4Z?C^y5-F< xFቱnn7vW~qҭiL3%3 ns/~dp-4I}Q4Y{g,x9`v'4t1ƴv ž Rs0 qz*Bbwv5LИ.@΢x(ٟĨaۻtaakɋVаwN#% ͓ITZw"% ++&:fKF8+Uӯ5EKZ +zDrg)p0x!hʱaݖ\+|JeƼ-qKSDV*kIHC +)lO*H[q/JrǕ)n}M~~CQ-aJ <}ŐdWo<]y֩}:;39M՞;~m5MN~c< +NՕ灳bf!el7Xg= bT{YjLޗ"ؤ-OL)w/ud(oPolA;党غPKi<5n 82ٯݐ2\ƹ=|%&*GW= brzh CjIvU_ܝ䄚ES,"w\NIEʗypkmgG?~><ӢL".[žz>"bG{VG~u87%>9Jԧ;U'(2S\ uj5`Jnh8p{8-xt]!$P; +O`ۚߋQ[wmVlk:xIBs2?%m2"t*A*nY9:Q0]̣e0Ư:n/=8e]B:{|F"pOG"rJtasV좥IOFˎ3;,r551o)RgM܀mI%Qjbm%EUh7Ǒ`ȷJQdFm<>v 0vswK/ǟ̌xoEot?gJ k&OJ h8qm^i7vդ<Ƃ~G894FXI@l*xZ&_6"9I'mo*Sh6EYQS,^d ]:2\?;hp'-2:Ə"$7zQx <ȟ5|sh!NĩPAHsןCF0]]eӾ%:/GEx/-8,~}3q_ɷ\d~3/b^"ճ5'cU0[F`HrX^>zE?J2(Xd0O&+$a{NX}#$C/XhKE̅US}C _ƺN;&9 u ֥9Ѽ@(2NƉNJ+7h $ +Z J9"߄pk.=ݓ0e! +v> +D4?۸N`28ZϰF?A +NMo0 @x&:e5; 6)i[ _b1,Pdǻ~ܒlBM̔y֑Ww|@Y"wwsdzficP:vsB1"Uc MͽG?y-8/}~^L9FjdjFeɯ̍ġO?T_īy V'3ΤN'.( v⸈KtճqpL&rWbf 5z_T&Y9":UFoN *.bJ 3Qcre-/*u-VӇ7A>\rzTEB}w.yG wC+[E jQc\E1`Q2k_K K=1&-=bFcH2>8?ʮ'/|vB鮦`W\n.S%,nQP)a4j"Y{aT {Hꄬ}s|#ҳƎ0??I -2=#[T&>bw %ѽQ{(􀀖 6\K:!xQPbuC'*P~q*NqN2z[zD[i\LIȣ4`bZ!p< M܌+U3 +n XJߙ1p" +U!Bt +RcUQ= u +XHX7)B>U\#d &HQ+bmM ق7C͜lX6+*h'\}`DTvc nalj*u9ߧWv17':G7$s?XZby4eXGHFRכ3hvHp8_.Dv{o[q3Gir,QK+R{w}<#SIپ.ȵsi[Phkb3|wŻmWzJ^SGtÊr5\ϒ[ j$[G]+sw(*1?ښܤmjR덪46fGJ#sleWf?c4~ӬZ*|2|lfum#,]nUZ}5O/GxCF +f>:@lqM0;i)bȯ@6E5uܣJ}='/h l y6ͷǭPbN̄Ze ؈ΐ׈bP3Q&uI21T%i_MS^Y$ 52X5QR˓mZa}еku1[83AxbH|Ux1Z ?+ۈofN29MG?EGڮ&#]K8=iVlc5 g;\_Cܭq.<ՋJ)lƎ0%;J@70[L>DB =TZV^#&GPد$CD  x躻J塟8 X/1b2=eQ?4HZ\4;0&-\.t`'\ E@*a[ȴ=DnA{0G);#a\|@`D0_p`gnܹaDFI羬T$”.Sѹʕ+ U~=əݰθ#f`b܌EBfqo Z}C: *?iП떧*&H˒tV#]5`Smv*ĥkՅgXk~eBlm5gyu( ճeqrl-LBv '> +endobj +12040 0 obj +<< +/Length1 1625 +/Length2 13299 +/Length3 0 +/Length 14141 +/Filter /FlateDecode +>> +stream +xڭueT]eNS@Bp waMwZg>rOQ(0lX c'#[Ya;kS;[SGA!4rي9@S( +`₣{8-j4tte0@ +:P?_T@QPԒPKȫ$@G#k5 2:ifv&Y%08M@׀&@=hrrF5plM]L +# Ssrv2q;>*KN`gijg7dp;e 쭍<>b;5/G5ou+O?O g'# GL [8"ekf`a?0W?;34"Ll=@38&y;珐.35# i_sG#}N-bm-od1Z2-3`떑 㿹iKGAl?/#I4U9X̌?]C5 + +``af7Ldbeߔ4L2JڢtnScU=?\LGX``c|X\>MxX,gr|O_'53;4*FsG{yY݁&pˋv&L}jhltds>]n,o1Im'WJj;6BDfoo|:@Q +w.b,jTB߂r8TY3,B&#OQxldcxd/΢h WvFuRd=,VVTdD`,vXH;Seb~A>v1+99XRrE {eYfHݸ"!Şr]M.tAE'P6c\]zq:uLR*xloy㦥wԧ+\A(g*bc=ELj }:؊o8WxoHϮRbDaOpU "{.8o 4)Qnfvf7zcWlZԐ aޣe9h&BJ;m PࣲT | V8WTۓb Yu;#VdxghP[ɯb 8տTvˬFn"7kk:(!=R]_r#/ +$zztڜ19j`6«3OlBU<1Ѷ v v" .6YtoMGAI·D +'xoe5gDž> GWn.oI3:A]mG苐4Bd={w`D!6߉' ef*>l^GΩ6*m2%>F'O?Yܠ1ٍ֓MHPĚ<&%/j}#ϺX h| -)Pe5"_;a^XQFT#-$TN]*:{VquҡD*#I2ZO"H-=|/g,m +Y}DH_2"Hs7BO.Z"JYew=~;Љ1t.J>o~ EҼ}0N/dn+ +P]@dPq Xk9.+#V㰍h:oX#Iݲݱa5X-c-* U\YpLlc\V,wARe ǜ{DAag|mn2GF¾ʮj99.e2 E/NNX?_nL{p㽌c@o +05ԳUzCpt/fiJb[+-*W^ݥ]n(ռhG*@c!I񕇏 ߀ID_z(;ʄСѾǕRxnm6sP4k,#xxQߚK?zɳ&hLO {A;MuVn! ,x9(&zƦVS7j'01^R\_,rzM-?.^ppN,ZyevSutWpQDP(o}makw{З(8vd$l,t+4nQaGOT}O. DA +xċH^bYR\LՕ`F8@c1zSf)7Sn HvZit(MqzSSY~ m鹚EJl㯋iuHJWPk/}bY(!CyyJ4 FRm-jN,G]a5ԑ!3KAI6qj䯣r$3^P{3{&;/nKV$s0lBA#;O( l- ~6Orǃ*fx?UyNiIB Y.C}7>#9BUKǍv ז d35AFp+B\aHvCpñbEMPyx;%jSM~_jn-Ӣ~j=DFj)t/S4&,q|9.<'4e[el_= BvV`*zUɧ>cEW@ZgLoOvz#x7B]$'_RU@ݖe~?&|FG,/p ({M4fTIWLhiu(8lWNR} bRyW`Se7λ0ʯ3.y")EF8[3d9A^)b1U-dף9>a$Th^E~^&wKکAbTc#\eͫ02wUZ Gidi%2(|pΨAk(<h$=YǷ94 r$H5"ab;w85T[1S+cg6> +ɖ?|mJBeMsFX}5 {e*t\I*MBppjLYGOy87 CJ._59G Fa5 R"EaT@z{ӟX0o5juZPs@r^kT苴oL辡d9lώiR&"c0g v/EaeIawXrә`|x1N]](p?g!%y7ݚ:\ Q'6"7DP8MA-I!$K3::4{m(Тh@VG׫!2A&u4NY* +0|Qqf¥7۬4t +T1 fIr{NְٝՐc@.F/m(Ĵˌ> Azz]5~.@}<$)`:`l +  2 +b|y;jwz]/n35Wu2dyri''F́%240أT;{7l3Vg/KяM|qk2*^p~Z\C$n̫GV?B{1 ׄPu Á{abtכz<+|[3EhBf/Ur%bFkG2fay~ЎJt`Goj硑Ԫ^{0Ps 7H3OŖo9i%ޢdBv?IK{X;(+Ax@rNC-xp%R%~ mkF4V4 +3$~HZ 6#M*h N n2 uvd`גy|Hnr}vGu(=xlgBm|TYDy3u,5 +V\@yY\dȘgLм%p!g؁pR2O*h&?5ɤM!ڮ$*iS~])H\km^L}Y蟷I5ĝW,ę"LGZ˥*;e%uUuL8=:ۙ\cGsE.]*la]!iN6Ȳ$-E;wr4NĐXo>Jl@B`2K7]Z4Z iMa>),VBE oGGAm_^@dxu |4[&11ǐNC&I4 E%;&o mI`»1{zFFyPjաT>¶0(%fWJj,-rNk: -kP.NNk#a>Kj*\'R/LxޠDwMJ)=w4W!e7O Uqb&sH?<.27O r +++r+ \r*QjtmoXngt_ez'{շB磎@zoA0D2s^OD& JtR9i+ء2ikNQufP)&Z# 8贵%Z) :cOq(ov2;n}-L7CQݵnfB))Ңp +[89AfY׸,ܑs +7Sگ{ +esNavs;JثCz3̃?RWG Qӵv!du00"#+77~15˥ދd;!³tҧBjTZ*Az Rf.W+/"`/R|,2[@X*j.t< +mr9_݅*Y(Na  + qZ>sOhV䧽z/OܖUn`㭽 "M W&slKzZD]^ Th"錑NPoOB-##i{^+z!F.ww+PIvMj&Wif~hq=2BBc9g# J(, r N[Nʦcg-_'SZ-锻f"Fkí3Õ| />B*rcgk(r4Ǥ XobcEaB@QFNz@CȺFbjE$O]ߴ{Jy/"A,ub_!VU:?e`[Ӭni8k%}j\Z ٭D 1iOPB|>u; +4L=MPiZ5(E-;ѲMN]USĖt-`$`i3u"wGW6Eb O-#bP4*m"jYn!LB yת=џn<~Qפے㥰T0M;X2ssݒz-_7#ލ˒V~pFfc: +7 +I+Mk6eENqONI|tSx2O]3 m'j)~[DoNY9%0}I&]$iWCH{FG[.;WŠ_W0qͲȥ+VȣBa[C6UB7tŅ1%C)VgB=s0kG+_U[`6y#yxoԠMVc`ix^B_-9HH.Zi$$DњKV9`65a()2t2`crɏHL])mǃwJ/1aWG1*,lbeOJv_.Hw) )M&f2&y"#)[g>x&u  cq௰+S͸X]2U?:5'g=Ý-/ KZ92889p]1%]5ԤmJxSb̫5̓_cp& (]97-@os9?ϚLZe~~}g6I#ދOM3C%L4b=p0Ҫc"2#o݌G7cs)A.gb7^ᓾkU# y>֦EV~\% D kg gx}cwj>@6ڔ}SGW#ȕ@NFY巬7{$@$sY&NtzFԡZSuW keKvĹ>~Ĩ$ VX2TrOֽӺV`[X"]鉒2o{y}<̵kY"f6pnM颐:c\3GebI;|R(ץOW ?;^xq<`UJp.@HIrF55YAU|Y%~j@SN If2,Zn]k@nhxǽ O|3j!>Fj48 ` L7j6:F^y"zޒny{6s0JM+&[ pGߕbWG5CAdCWl9Y+ +@lNRgRnڹvۭ-墓}8rjqLk˗$iMxjJR *HW"n&,Z%܅w`´7RE +mY[&v5u[^u﫨{hپ&Ç>W,A0lMǖѶ0 eNe&ņm{Ud({R+B1׊JzɦZwԒ.V[+g$$?+xXLA!=C(BF׌`vm>GhE#V3 Y4Md>/X P=#I_*'%~*-F'WrEy l7E1IT|j7lʹ0&p ?kpUGTvxn!g-?`9C&spक I@tĊ ԯ$#h"F1nn7^J};Ze"amAb255{ b^2c2< 2X9-'O,f9,-Hns2*ebP{XÔLsO>5掺#Fd)41]/"5`V@FD}V36x"\]bgoTRk[:˞qs:LHS0`~k|39E{y^^`[*R/ +*_ Ciuadv#P`U$|D_}跬dh ͻ%\*K# +k,fM>V2J0x]rn~F_NTυXA?cX/ڪ^̫nԚa┎sy gpz`YGoK-Ip8]ܥrJ!oNe绀TT + C;O>wلH(ᰩK!L;tOwx14 +GQ a| K:hHu \ma;}r9} +rSg5ع/ѧݲ5fQ9KfE18'<P?"{攋I-1>DΠqgZx)j 4W {lJmeǠ1|3nץ*MQe9ċO;{Esqfl+]T|t [)8CqiɱzƓ'7'63W PP gX(hLxMFsZGXUErQۖI N]:W~V֜g{qچ3K2x\/P~}i<a VMfd-O4X>ll7ǧ)KP;s.zIF~~sVn%NDMHeBD#]`l\;YR?uFᨙSZJ#ΡL }DIYH*3PJKiAlxoISY u{5A^DHR$K}\MXHZ +nu\ _.Ws| ~(撛^bBwbφa쎡w+0n +ܻgdp%:e|:Zqfu2 sk؂- gխnٚ+h*;Ʀk'1e GdN|ؓoWpúgdGeǁHPJ.NuuH HY& R2 u/(F0J3ȄUBk@RcGQlnZG%N +btQhEh?,T*Hht5S2eSO<X[>-k|cOTbKts;pI[Аq|X> +4 C[sjxrZܾQ[QcDM~wJEREŁ/J{)P&&x$_! ʹ<7ƪZ]$Ȃ=]\wZHpHPI r5~2/\1'W֓C s+KG{| P:|\¤i9Z\U$UVXq ?p x!-hhPcқ!?&{&׍doUwb{5G3CAbK+}.~&NSY- !m7bX38툃9#3RfTh `o3⾡"F2z']acuC(ӱ8{҃U(]K@GA}/O͛g9|}IOAm[){)X^Rdr{o&-ؚdhF)7 F}ѹaL*"&5-[g!=c2VM9.gA+UqZAgA@~BFة*S믻H$6)_I Pe>Q}@ :>+#,wQWi[ʧS y rM^! |km?J|USCGUW5Otl[d8Z[u:7*_yƯo h22JBC$3Dg8]Q~R +[#+P"bYȍ_q XBBI_i5_&:RY3+7&V$^t3ҸQ?WyWZX) i:oDCs]5YC<; SX]~qc*0uqKܻ~IV]ÍЪجv&\YdܡBԦ;4G1av%Z?br蠁POs sW<f3'vxwT~Jϻjdya[[Zz_& +endstream +endobj +12041 0 obj +<< +/Type /FontDescriptor +/FontName /KLZQZD+NimbusSanL-BoldCond +/Flags 4 +/FontBBox [-139 -307 822 975] +/Ascent 722 +/CapHeight 722 +/Descent -217 +/ItalicAngle 0 +/StemV 114 +/XHeight 532 +/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/equal/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/question/quotedbl/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) +/FontFile 12040 0 R +>> +endobj +12042 0 obj +<< +/Length1 1625 +/Length2 10485 +/Length3 0 +/Length 11322 +/Filter /FlateDecode +>> +stream +xڭxctemnTI*v*qR]AŶmsǶmVl۶]ۧ{~?Ϝ;؛PVFHH@K 6wtPг4Y>RҟFz@3kA='@ hd`d0ppp~غڛJ*TTw'i`fb p22~R @S#ৌBDZ bdmd@`lc``cmhWj\=٧_5`0׳~h06t4+O|jX}bd6@{3[ ӫ?` l?5 m JoY;F.| l-\?}ڛɿ"Z98||rU oZmm`t04a`imbf CװY!7t'ddw( m-]F0t6O]isM?H{=o>;c>@מh =+3KU_\#4 9ʚ Lz[dmhdoifmԿio_g26?wtRʪTj[SsFq0h9 l&D :K\ ?FQY~ ?L'feƀ+<%=Xkp\P|0жN1?קҦ;%dL*~umOp7%yWy'1eO.:Yվv|Jż&:+v+$d=Sɽ-Arm4z;R=Ju Y{/={8TY_I0 uo4ÐOU$$8|xZ)|QM!ǐ3,r ٱڰ EA_a&Q]D<3\jv +)½ zTԅZ-29yh%F1u8Z9Xs;H:2bIrp7k;B,G+}7_Ox'/8K,-] &kGqo<|$tq1שQ;$Lj{K]h ai:rGr/D+neB|`!x3[Dnks +NI6){e2ѳD*i K[$Z]AKM`9tYK F){6f%~!Y='Q<򒯧Zx(גG&0WB|_؄7$fԈhY]zyR'hɱݑs:؟_T@"QYd0aFuL!.UogTG6 d ;xʓ+GY{z6 4:}Cҹ(P$}+*֯*Go;ڷxn"Ib CK1=>v^ -v%eLdۂy0}eJI[ީ'pN"O!Ֆf\ZB{4&a 2ih]Ŏ),ž9$7xR2ͽc92frA@7}=pƀӯ1f0/v&K+xѽc!Բ^(U(=v-a!^+ApқӤ2$n%.=wqA75}ry@1n-.Pr] ad_걢Ρf_)x NP~"m02DqI!ʅ)cfe֫ztjBJTi ++v\Ovu+V!):˾M!kUUÄKIOl.`fVS}ev]*3bv%Idmy rOZJ@H9ȟ{ Rq {I &T(RZ04寋hPAS s~=Nm%>HH[;{"gFdx 덹L[^C>`$nHAg@+Rz> jAq)BjǮ_xX;jc}8O _=3M֭<~LXXV"6&}bk;]{߇"D~A@tf7ZBtb<\˸K:g{Z)/,ޯ}}Za]-=溑 Qx1*sTޯW +\Vt MD15"^=T_=\S5J~ݡ[\ YfCkjWKbUQC,!@ݶ@gbٳ'y!МoC)lW]lA$ .&a_Ҁ 4tHP%*L[f ]WH 7%OBu k  +5C4ݸֵ2KC^ynFm6Ўz 4uE|_bo#XKwZnhۀjIZ]}R+4[lD/*伧)e (+a +zh02.kAdUGd$NLg,Ҫ\fiʂ$y5I'ZBq= +&uS)oO!^_Vhkl UP茪g z.Ы͎.Uq=חJv[bؒWۉ<#Jby`z lY#8;N0s-.Gܠ5DL12J=\(yU!Bꫵ}mȐ|"6vXPঐ[nF3`0(|<:kpppf mk-=VD,zl/r|۽AT&2D"Ij~"ܓ=(غ?0l%0PUrNI,y +<8{.i Hr{r n}!zX3[٫oϴ;h-}ГBy`U 6vy_cV,߃5?i//lhZ5AKE$ʬs v pnce'nDBӼ$0AhMOrW +s.hf5ڿN҈*fJb\~<_&w,8!RkrX_VZa˟1S~GO]}]͑r x[0ێi2s –r>@Y7tfk  +cգVmH:d`"ܛu(wQsTGPdx %;m/ +>o!NPny D .+ Ue1v>U@:9riWհ&,3.Y@j0dɝh8Nط`^Lmb"i=kO:fN яrYCW${_ܹlOQ98[urd挪vc:ړ=JaomYt R[FKEDڂ/!Gю51#ɏӈYJs<ĕN*`=\KK;FMj||;i? b0g(N5bp|*)' p',E +Of^چ zVYg(ҟ@@=XL) +dS(•}16ܰQ쑟~C:/^SYδ5D!yhcA_hlj;?ӝ[mV4$m= 6"P(&%Fu9,1Lt/3-tUӯƦ %k Ɗ{xzۓE2b~T*n;rL:•}I[Mw344kGRkfPKVjk <8((sA +]idA_nb7 !16B.\rGj 0S!3KRLC8׺lg/pCZSq9&,ȃw{$ :V`/\rfƬH5ZCԉ/hf*JaI1.6hUX%< +2x-&䴄OyNqA!vяG^`nq-A藒DzsgGU2"pzHE>9,+hkG|gF'THQ-7Q03龋ͮ[h0 Nh65$j~΂!i G^ŒS6R&q$3۫$k-)j6Ƭ:cJ<87N-LY㓹MC+|HbV%Rfj aS@ɝ(:TZGHѠa^2`,A0uu#*փ8H mYZ?x\{ov/N3IN#>!ҵ~P/,lsSxUDLǚ!+HAyk%`bu&L*͵WY1:S"x DAFmaNcƯzQ.f{^Mg+ T왌+JF9-L^A޵zB}[+O96S`g,G/Rni~zW[ (gKM 89%HdzH6q]7O~~{ "I +xZ-w"y6ZHSZ>P\3H ~lլSGc! pTiΞ19Đim ;MhȸU?#?;G0_ +ڳ(q9ApXnտqT-S/T.h5"K5%[ ] +֢ %GOv_ü4 h7Rژ6Δ#Am~ѷD"rq,w?s=$ 傱c'!4\+hGJVb^ǎk'a29K#a3{Nvqnpfd;M-|8E1$›nYgT$tOSpQSMD/jSľ-RY, Y] p[rgW6iAq\墜Ϊ %䵣l +!7= [jېDY~yB( %Id8FAL*+w/=%~5i@i(ᖞ!S5{kϾzʲL_ƙ0HVCOjo;x:+P6pDA&b/>|g;w:!] '_h)N`%?KrcGWwPzAIN@L_X1ny@XS G8@bRTH#گiUy+@ %#7e*LV3B,߇Hg[xqy矍sP5)Is0 +*.!`Zl|іVڶe@u*Nʙ +Y^!de7Pw_h/"94 +|5ȍO +|D[c|-՛nSW$a,GRcfI*q$J9V_k!*XƦ([>]V.M@WRq'1[[}VLm،BfQ}[z&˄A'u:q֚rV2q¸6fpJFm%Q)!ós=#VW&!n +h.H,A6zGP2VA(!o8%\ܢ$/3z3Xk^K>l\wZA?_NFiI#_vɃ\'Lj TiB샂5zԩȋbDG:p0P NdQ7_K*JC+.=' |Kɦ?Gr>??b'~ 7D/>]+}9ZS?*>ux*W 'L>RZe6k̭>iCO/HS&JI^Gg:uGXoPE긿J~M[&VȰ385b(9[`]njMRJ.FG-N W~mbt|O .fLT'pwiد'i +=~ {\V`7,1W%6t!0rߍIjrtD<^HFu]_I~J?qCρ۾y}]2RV㏾ +XQAzyeFxF=6s= ,ʶPngǰ|6_f%hǣDi@rFͭ@mVȳ)Xg/V0"2F4:((Wɿ "|`1(M > PYado{wQT)|U9%8ʉ4"JWck5L h>[]˕D -W(|7Y6xe'Z7gb{$Wd:<ި{U)iyjk;Դ}w³蹠j?R_;(M/ (1^"`SI|%IR^ .a#8 )MV嫭mU94~H?<^aZ3$鍪 n|3lP@J(Z,bn=40'pI +?xޫ1&r7l7»&X ˾a%B[:(" o +.AiRѦy0>2iͪNr3kJ}cqs'^Ek: EsιV~)v\cةX'*CH:HU|Ng6t*s&9i :I)4KLWEzWw("/Xm-ܴ1w ?t%#oP;͹ lmK:ri#+q+VRDGVM(S^7.fGzV[Iey"]/( ^9 +f⣊n D%hnL̡҄2JR(P;" _"XGD+*f%Ѿ TU0ѭx{nKHxIz VB< 9K"Z `7;kq|T"&-bT`p2)BolҏTnYhIE|ބ!GӏdI +">&G! h$KtZ&|{ӑ +endstream +endobj +12043 0 obj +<< +/Type /FontDescriptor +/FontName /MVXLPF+NimbusSanL-BoldItal +/Flags 4 +/FontBBox [-177 -309 1107 953] +/Ascent 722 +/CapHeight 722 +/Descent -217 +/ItalicAngle -12 +/StemV 145 +/XHeight 532 +/CharSet (/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/Q/R/S/T/U/V/W/X/a/b/c/d/e/f/fl/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) +/FontFile 12042 0 R +>> +endobj +12044 0 obj +<< +/Length1 1641 +/Length2 9988 +/Length3 0 +/Length 10832 +/Filter /FlateDecode +>> +stream +xڭueX\m-N-KҸ ݝ!8=pݙ9s3?֪Zڵ)ɔEA@I3#+ @INQdc.3q6b@g+34llV^^^Jꓥ3FCU_?.S NVT@-- + @LIYGFQ +@#ߋPv12[휀 #R?91s8LN@30:Z99?M3q1#nK#{'S99;9Z;޳*KOn'wx4)/u6s8ݝ2̭mL/qeG9ʱ2Mll<w-cS}z #/V+'I+w%k+rw0niefm C@;ް3+J*_aTZ + p^F6^/+;I +&ΎV=&V?~:9ؙ? `3GV+݁f?@fS3ҜkpszX!K @ݾ[/AL | dGzplyDT̆%i'Z^7tX4UT _`'~Qa}G1K@kè)8>J8쾄#ώ7I:&Kt0v7{~r咻~o|*gx|ie[/m)@fbe}H(G[Q(r5IGǼ# I(M9fPţK>d؈`̰:wxUj5)fHli.lT1@bh&&:@VUEwMi7Yw"*3{u6o4e#֏o+vg Th4>)6Z\1hpTxNE6u^|S$$9B|6oQs}(ח}Kn-*bƵUSj)֊MC +kalרKTi,B*G2S1-U񲍺pT+D,m&ZĸEia5 І;N&vu>Ə? 3D&i--I +LCg=k| ŋ I~=;!Hۖ>!59a` ?At(a*%bpz|x.:5G}V5c)rpB}"sGܱk42Z[a} o$%e-+FYR +}6Vp!kYC==8% 9H:L݄F"ol7K%180rԾdL{FUKz@OX}?%8qnLy3^aH1慒$kgavqq0_PMґPW&>2d',O+/chbɩZ o[JvT8v>YdF0ߔ85#PgJ RTadGj8P}s}-cvn,XЯ+N ~dX)H<%=v:RB7yN.xDjyDV^}I.392F'Zw~VUW ^u* irNO]R:TVnbV`,k=0R #,t Za듫)Wn'|S |IV$/zKmfDÁZx;.#BK*7f*M+ H*(pX2 a|W*SH]`oі[@3%+OKSzf^yQ+jO3#t ju Q'5q;WMZtciO +h 7#Y 2Lhz:%AםӷFxPPw-<JkEe>Xe{*؞mpl|uXȢ|Ocb K:Ae)7S9_Y0{Sa9̔4;qA/܏&7z-Sտyl9@'Ց`{Ul`nߔɮ쳶k(@iE 9)Djn|Juu@*j/LS \YP2Dڎcc1*]NԱ]iU%v})GU>#=\ {weP`Őw?x\*Ap)=_T|mkcS^?YD|2c['<Լ%Ѫ?( pntl?3 ^Oe`.^[8-Aakl +ِC)uH`nKNeh\^AE{q1g#u}:+Bծ`mR%3usAXҧ0#D>x11LĜSMgth/%pqC\5%(w0$Abj҇&wv>1;.ڡs8p370C&l0ɶrȐ?mpDkshq)iHl.bM`yP>Jm5/dQt12ApyOp@>=دւΉaxOGiw1J+c<9ŇZә,Ҟh:PPwO|Y7``L]ɒ[ +<-w;(]]'X9 dNo6fӽ~Uצօv~#MOF 'Wf;\Yjέ|?t֦:Ruɚ[qz=##H۔BlQy)A G˄ +i.8 +*^_Oez '&BΙj{RìHTۆ|06^\s*"0-Ҿo=&p:Px@4:wWf%Ĕj`H-K3tFK +5BkTg* CFMz_CRwt-ַU*ݛyAH>"r{,;S!iRʍt)G 4h65LK +S?iD +8})Y `tDV-E+"-(oJ4/_Y z5lN{OvYkT ++htl,JU:ȭ\f1]F\–{;eШQOb +Lp4ާ +.?*ڇ{}h>;({V*ܣUfߖItXXWUۯe=R=sUH6[I5H&[bY cdj%½T0vLdUPƫ"30;6'/Q2?9RZ˿i]lS +пY,Jp]!Uvϸy|ShR({hb|_lN{h(Q5$OۯSĈVvvn +s|jtH=G5Dm rtG,X H‚,534|?u^_=2=ԥbV?C)E>徼8igQꎋ-SZ4Ř5[&&\lrFtklYnM4; Ö q Rǯ8{0w/U(L嵰 y*Ì1CjXvm%')~P͜'d=Vy>*Km:2] LY7U $@@8ptTHbpgCZ au78FwJd3sRc?ܽnop53.L}^p)7)P/B0PԪFXpCzU/Ӻ/x'fJy<7@1LFɵ_$*S"sR⢭M8 X㮛. K̮K"_!1QBre `jz yo`2Y9af%n6U%VqڢO +9EGUʹa#Q_!eXzS^o!zSǪ<F!)@>sCE_]wnbr~I6YT3JƲ&RZA2>O8]]!Zag^qn [JVqa$H%enh$ƻj3Q: 2V-Wv;A+{ HX#'bh̥ݽO]ebX_W?vͦ3އq r*AC<ɮs$¡f1 +{l1*2te ;HG2^1T6))K$Cȑ +# FF$KGk&XE9q'4&mJBӻ1yz`5S=dDUmA%ZӴrc.[BJeYsz_[-Ţօ\F~ =xn j;B`DaH)KK&KyNg'Axq_0i[?9:ňZ:SFBMo:HڻlI0 !`B$młJ^5@Jh@*mUꬓϪ0uR< ~dPl'gBd! oC}0!7[JfM]nrCOzԇ % y`J݀LLZA͹%~n`~<}Δ+Aܹuh̷@pZ9^j 9csWpRbQsGR8@(@$2U=ebBj4v3'*TE0cRH<VIKLtߺsV^hh^qkA73Twɑ߉ݝ"0WnTL@~?+:; I +IB?iFe19¶t* 4R]Q`O߃(:hi7Ե fF`OO{ot2Lp,|v޿WCs8?{ߘ>o6r%?xa+"juzbkSy bBAȄ < ňl[<4p@"|T5x?OXj\\]NItW E UK=[aBV-U7G/Ţf"szɜL;ig" lL)B#ΐΆ 귕nT5EF24W[ V7~u}zV6gXG?S4W^lj,))U=R9̄uaթa=zDΑq1ygmƬBGPDa1рTS M }7 y"sJaNaՊ<ǵ}Se+vdIϑ2憛'#wM\'9jaV?NXH]bQ=q +t4-_'lWzgS #D+Nο9dȯN'zOQbu]) 'Pݲh@$/=~ڳ"K&R_-Z{~=8Whtox+:}Jݯo Z>%:ųlWn"%2l}jw&L ˚9;G#9U f)X@q(7L{{1@dF{9Yz+񲙷y绯)òkTQ +T!{N9ExTnɽ\W蝷w O[bo%ʁfkAC!ZVI߿ 6ӡ "ѻ(ܾ`"B1-"e%G)މaɞHӗ[*%78|Yސ7a; ^&jؔID\Ɔ'wJ}\.7C RkS`|e{qhxJhαf0H'@96g]}=+1Ri߼N?plN];_Id2!5, ~ ;N?;(aPo$&i]@hFVfPCq^U _=Gr _7CXvm €|n_̀ѵBSI^d>fU{ =^&O m%R ;f"c>(‚9ޯw+2v+EZvz`!-&ݩ3"^Eiל[ +`I}|85`XBls +endstream +endobj +12045 0 obj +<< +/Type /FontDescriptor +/FontName /LPBEBP+NimbusSanL-BoldCondItal +/Flags 4 +/FontBBox [-143 -298 913 989] +/Ascent 722 +/CapHeight 722 +/Descent -217 +/ItalicAngle -9 +/StemV 120 +/XHeight 532 +/CharSet (/A/B/C/D/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/a/b/c/comma/d/e/equal/f/fi/fl/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) +/FontFile 12044 0 R +>> +endobj +12046 0 obj +<< +/Length1 1144 +/Length2 11441 +/Length3 0 +/Length 12213 +/Filter /FlateDecode +>> +stream +xuveT\[-ܥV!8]܃{pw׼ӯo{95?Ysi)յX$ Y; + @MIEy,Phim@E!\A'i ?@`dfg UjAN(i` A<\ 7A;+@ +j qh1011XHlN? OL$@N ?E[nm!ceWzwwgA66gk ͚ P'+)_n(LӔ _-Yy88ٺxoad`\ o _)}ANV~gf z_P88V@w%Ycbj 0bgegkeB N>WpTEIJBHpqX8y8叢*[ߊ}XG&=An\۰ +q61;yqj!whs72,\+9zn` p;kLn +u[w?\/qppmc wq?R8!VN`YZ z?ֶ +A@%P(Ԯ!NċeW7J+L*}9 w-jh +,txL,d+"6N6|$O֯ªhH3Wĉ1R>CwRZ#5jd%s5y vQ{g+6ǩ6_\D XCqo$1(|ReUmm{q 09;!t*$khk~EԲ֋*jӷg2~)׭7UoLAM4|P2V+m' Y6&!7 $pZ)b5$D12zX> O\Ʒ2CDuBV}}V{GOKwH l*x!|N Ml#0`D-b``!a~ +l,y[R}(1)zs9)+i ( ]an:Eђ9*ƏhNΓ~ǷWPW$4Q㛕}kυZMhm; +M~}lOX0/=NZJbz?Tza!on4*r +>U]:eC'L>]Vx𻝕\Fgp0Âp{yA4K$5%4źe#7.NMy zdB___[kfS&̸/]* tQbWUnIO] +\bsUy(|+dn\'WhZw2~\ 77w eJJޛ C +KYM Bġh^f 0IS\z(7Y5&Il2դ+ cI:ZAzR-xYqMwukz24 GIr3d&;~{`k&y>0 63գ珑D<7;N1ג|Aުl,f`S7Gf{Ł)wn9܋RwjqχUd6qkKն<۱Lv K),J+q]|akڄuv/ +z:vNw4Bm]WnZ%.e JƓ_L2{iVfC1G9B7-6)h[ s&V{~DŽR<팴jsmsdz¡b"VuUa>Ѭ 8ԎvN{+SS) Z? +h e"\^`} :2{6LU,ڒ^5I@1ȱ&O䡏r=]IS[ 2h~W &(VBZ{` /N]IfRjԔH(xf1: +h<|bp ^wCǝ|l1s9_,Z5Q]cqY;zz&H[7 +;he9,F %OLd[by9+z\O :9㇫00PsEOoCV`U2RPgڻ5UUX} +b;031,$4KIJԤ`{S2߈l,2 XlmGLӀڳ&$dLbw:evvrrA]ctzN/X?ż@F8z (*P+S~ِpsgPS'<אKbT"Y(w2(gsU{.лoWVM[E)0~R(?OG&o|◭~CLJ.ikPX$DD!>7]@ !GN~޳q!yYd`{%Ut}J ϲ*eM]db'MJҏ +{u&x/`P L`wG&:QT5wr7/b'f~d^- s[b2c[`z@)z8PD9,z$2gOK ݗY:1;INtb_>ep`gn" =‚=ƧయO#ƴvPh)G߱S̶=^_K١ANRGӸnTQ_ /\=ː0ɧMpO-wVzRcAo4QNUb-V&Yeyi1X7ot3I'_5IFu3UbFR8.v{_#/r¡3<5yW8E-:.`9V>F,.(z6kؑ]?K_G^b$::X%cCuLjk]@';1ʞ dy\%-5-`V_|B@œ/?愶, $?^_~$'[m:MXM:I+W (mOlM]0R6 1\Sov/SJ܇e2qItlҦ6n̝ψӫ;`kKjxH%瓒u[)ǒ_ +dmN R*tdzY{kJ! Hrn٠XӺKa+>3 18T%} =']fSwMDCvJsxHVyT;~HD\3.LT;h3%bXAl?F@^+18PGX$J*PM;y|:c)~"ºs2 q˺)OCeD:~c:+Ћcy|B[tL~A? !cO8kF@Ǎd{Jsqϲ(>#~d:E4zѴ]HQ(I4}j(!>Q'Rp9tҚ=ʄ})G.[ժL)WM!*~8#֟껃vkar=֩fu( +!~ (XFiP.~] F=fpA=\dY +{+ގqc0k/O&o(*⤁GP-d-,Gst8׭jR2B[2н v/8G VrXS6!?Zc"?eKD>nc'.|c9Tķh: +#OSi@'$i:R5Fj0r=wV̽CJtOڀpnk$TTx"ut2N)^?:7p[/9cC5SDVPRtJG r.izϼ(.NC]/iܘ'J*dZ rnj$V?j"2ڒͰtU)v +f?^p~ݿ)wm~&{5 s6ΔgDk%ݴ>b EZURYh-/B)Ҡ PŸBr^_х,טxYQT Y>'; =ӇF :?=D2.?Wru0h5J}֪:+>J Rd5SiRb$ȩ ^fs3e|%4wErLY>byQs +bUluO_LvD%x//0>MNUԯ1pՓC+l=YTV$;OrsH`:\f%ka&Q X7VƠ\#H"mQl2Ypưn0\Y`y: $2{ MH\v/lQcg^Pu_ aSgYpbh;n#V6XPXe)u_Ws.0-(=A5yTW{5NxJ"l>fey/LN%)ώv} +f={o/ibMpc`@ :Qx ,`a&mU\(a`3œ &&0{KK{B _MQ[iU".OH1p64;TZ߸k'mNj1  }2%DٙOM:Aa`RQ\G>#8A<@4bƁ 3kWq}*̢Ws&]cYR:8v9C.)$SыދlC#oڸ7!>6U|2}Y91HtTХCQɣX8 mW"8T(lVr!Ppa߾P]&i~Krg{yWQa#:u^wt.ڌn]YkZt'1_>ڂpo#8.dEa x̚9|  Ңbh|(DP-E3E\tnAq`I7E, Cu{t/& 95)3+-3b8Y[s#߼]"27d'[%?wS)!%v@a!P:}d+.f[cnn<=ߘ5Răn,m86gr$}Ui3J][݀j/̆i>OD>Ӥr=hEeS7mrIJDf^t;6S͸ɿѽuYҢ +L\UsU=%Y'Ds_]w$\6h 5,fTM(entWy[$΢3,VtrvNY6$1^̓}I22*Р\9?f/&xZ29)I\k?ʡ#b&a;JOnt~׷(~ُBđݛoatcWc/p 8rRԚMp3S _80Vba⾨XM1ȴ%< wg~k!C&7/Ex15mMԳx߰30*&0kKDeB)h0a*B4c_]yeW6zBzAa?Fԏr:mrrcmMƄz" Vw<}'А4 j{n\֦B\r>,ͥlV>ߞRn׊ /zxLM뢕2tºoiawRX_\\m(B|س@p)mJ:Vb6}4g}7a~7n+7)݅ +J9½uvU-]क़m7|/.#eCG=< >s"*s5<"D1y2^ﲜՔ\ 6< nt=!lQp"Cks=@!eSyGC8rLo(4V$75sf_ W-|z1efўԲϓQbEY2\8 =ېFR"0 +ƒYUo!*̊ZXIwĕoogd>6ĵ"*#g9-]:->-ohoEMbFRD%YbW Uy󓼣宲.ikD5(< tJ[ubly&qx_ 2v=4ھ7Sm_t憝2 Ssζ-̌L 1/m"“D_HU]%Km{Y\$p\J:bL7 FatTbYDT/nZD񈶫I7Bυr}&h( X:#MKx [Qϗ?!4u+u_Gz3rĴ*K'7(iy͌.gYf&vU oNE[C"~KW+ʨ_탋uYZvNw>DaF=5FdeeYC3а;1+SF /%vwc* 9NgƵjׇ]뵐X?(wl͘x'읯 zI,EϊD%#a=Y@?G‚dg'+ģI5kƩ-lZ՜MΛkwmS])½Đ :v-B d^cJۢԯ>g*G֯+gnyX+)8VAcuZ X6nv:Ce<1/rx9'&*(`[oL-R{i 7HKy*3~FM т36dG2n +*CT .*mfGlFy3SaLm>%ljEwlD8m0߹ת(7 {&Q2JͪCKX3pAF`ET|(59ybdAl0<]DF$^ZP=AΜ@*sШhD +(7EnV{|,xΪ./Xv&l:onv'!k eL qkRJd'YFZgKڢjdnAP1gd$ʗ.uW8>n JaT|a޸b΍n} +"uGBvm)]_not?$2%~A*X;םiO. lilE_S|70 $i;zo.&,&dQ /\dti}{DFuɔ{ńqr-n5ōSހ.9-Kk4$d!T6rol&gIW[f!7߲XݏAiPf6PJW!J& +C@o"͢j k0b׬0Ґa>NODu8E#AǪM usg,;4 +(Z/}+"#0 a;:lX(ĠUU~@V|a֐3vlE6iE;sC/O 컓 )8RBfoir=M?Ƒ?d|kWIۋwHf8#*P"޾JP+X}&nJrMTL2$(a.G)[QzW~$AVCŕm"{'1wj2\E2jV҈ :Rf@%Ԩ=mQ&8[6.-@ UG"jĐɊ^`jb L + o{7 O>ƶ2Ⱦ"r.D ^FPu_lЍncaDŽٮ +~+*ti59/N@~jۢgfN"iPVpJA|0OF/'6cihL3:e"=cw$S>_ՍJ qR*,eD0A#v"Iث*gӔp +'ZWSkd-ob&D{DxODSfm$=1'mB@;LFQypp D=+A* {lW#<)m=Vu@j=VI^J솥r^̫ÍoɯÚ =C"l踰$׶pNzM;.$%}4iHs/"jGz&cJ/w 8F=BuAeEчdS:{//NbrH_&30M)9$6$0=gΠNNzb޿Sޕ$W13LJ&m?@v7cMeW }#L|ɃMܹ($uJEޮlǣm&<+gYP IYx聺:>r +endstream +endobj +12047 0 obj +<< +/Type /FontDescriptor +/FontName /OWNCKJ+NimbusSanL-Regu +/Flags 4 +/FontBBox [-174 -285 1001 953] +/Ascent 712 +/CapHeight 712 +/Descent -213 +/ItalicAngle 0 +/StemV 85 +/XHeight 523 +/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/ampersand/b/backslash/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/d/e/eacute/eight/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) +/FontFile 12046 0 R +>> +endobj +12048 0 obj +<< +/Length1 1177 +/Length2 10700 +/Length3 0 +/Length 11480 +/Filter /FlateDecode +>> +stream +xmeT]K5;=Fkw6]CrܾX?jkDI^(ag gf`(X9;ѫ͜AրBd GRh3}ب; ,Lf&&.6= yJ6v% hmaA;mA@1Љ`Q?gٻ;ZT*ԴtAFfb@' 3[hmgW@[G&*Xj@e02ڛ?0'S[ Xq[Q;8!5?1 GGc4C+[;W[L-lM՞=3PZ> `f@ t݌Jnlhkiog05vz[?O'C  00fW0ﳼ! `ݷ5v UZUZ_K̜\z.63GUb?\NPKԀIda PG0LLZXQHG9w gk̀;oDP'G5Y-$,܀&J cU7nkTs13fnale tr(%535>hh_ǜuS>Z|y,k \w'X{9ޝ zp rn~f) T@C|'tigEF +?aSAdŏM:u:')ӢGW %|?pP! *+W<~ +8SQ=!d(0EF`nOw$ˆ@cɼ]V "50o$8UOr6Kps}TH\¶Fkřdr[XFL;E bV^Ҷ%="yT$gP5BRUYҧr+K'<6h2;TW#'2˿U# /^_,P},E.!<\wNFʿm{ KaDCR= wEO5o>F +kǃ` {0Qc7ު2r<̏<06Ӑ(*fP?W7Cխrmj 5Eqy(?U&_yC~p#GxS\RjT&)0ł#/tX̷8~{f +컴Z[u`+ a?IXkv+ޒ֚᳅:`֧ +H>qBJ)Aw+r:lu'v'Y +sG +] cǨKضeYҏeX8Mc=`T`Dhd6-Z=S%xWXzѬz57W &S>˓H8u =exc S]|4[W2Yɡ5(R؁?7]_E4ޑ2Պ} W{&sHGaʋ^ v+`b䦍j/Z'/`tS$\`~eaC%J̚+ @64]VǹbYݟbqr8C~xk9>: V(/0!u@ :bfK'KҶJ~^Mi/Ȭ.NՋ/824.Y({jU 9 p? So9%`Rz)%xľ{D U̢.S<ۏ7@77>g 4ѱڦ/.V:6jZfq.ZT"yH#mw6!Q<@'~XWeԫ[ZvJN^+X]eEa<ԋ0"q.@&]ūWxYQZ%x=VGG1 +D4.K-#[O6(%rvϠaU2_oL<0ǧYgI9{S@{i!|J>tЗG4\!8I6uy4VmRG^f׆Q!xj2V 3^H7ב1R1_} +HOFWU=z6S^a2s噠 o~4YQ§h(#Y"W +Iq"ңIR昽_Udl*G~7% *Qxw9vFK6=~ceh{[+ØېpL*๥_{mW…5/]OU6v4n9QzJS|V*wgrd-έt+CaAW۲>s vϝʸZ\'ߩv]( 6~%94Vs\Ekd)e, +4fÞ.xwWZ CVHZeXOT@vBWOj0&CYTT1$NHxڦuhۘbqH]~m'frz( +AS)߿zge/Z46i~|}01ÏDކ +6 +QNt~{[WȋMD~\67[KP\]G.}ϳ;%ݣxx s։'p:/SͶo2¤JZkBά<2+7Uz˔{hɚ-N gW$ޔ!HOF1ܿ "wHw@W'92J| .b#f\YyB0U^e`{ԔbyE#Vƀ@,=3#JUlqr;u'z$W-POl~JN^'īX>YG-ZQW+ +쉓Hlaydb,.ItuhIH4C_מœl׼||F@xǟ{#5URX;̦OӲyvP&6<=6zGח 7hӼ2r`4e񭲁KرqMH{\OU:=/FqYD5`cLo蓧45 ;I;*E`5[Ψwyڠʮ Y)e5jٹǗ׋Lj7ԥ  XW"3P:ꋹG^KDI/@WoX`0ӱ]u:eQU3k+L4U.^7Hߋvho龽`2_?L5˪M-ɞuPp7M#զ!C8he8 }.FbXl{6b^'~cΕ%y+Er%χy-58{}+rm*sZfD-1x˹kG,D{_W&y+`)Ś +_(~2YCzl=˵ލY={"p}4Ee*4Sۡ.' ~mm~a=)H|aD#c { ݷST T7qh 3H#a"D8AI'zx:C_i𡝤<ř%`i&vcc6Ӊ}"Y[r1GSF3]%XB !'GY -*g.ݵp !_G8ݪU͵4c"e[4fjK4@AL`!RwoDZS=eee|@AMqU#skh>7= +4j(i=jhtZ: m +ZTCɉ`;ci&bɼ}tˣaet`!rˮ|5.ѫ= j=5Y텕,d }CǓr(LbT<67 (Ş+?'*c!,^v7D ӲrrYcEuf/YF")kOx~6=9 +a.&IV,DgFt~Mb)"W4ͻDdN&wĝ\&F7>zy]P}bmnoC;ZF,&Y4ܢ].YW AcU>"$S)MMkvǘ%QJh.8ET `mduMT +pp]d{ Vx!娖2Q\w*=,c=~A/3)|LS6 s,hFZ[f'[ol _=9X'wq 8^dgVIE¿s6Uu\V'h  8t.C.rV+~Ѧ e>a&C:oteyvϘ#JDwx]ARB +ف +lS v:c+MLeR 8fc+75=贗[S@FIyߒX2oJ>#^޼B-M=7-׮ +Ƅ܍狱BhVbV'S{<3"lM.[ TXn[h$>}PóQD٢d.1JeW +iC +FqJL\4rBw#L|޽kT^oz`b(R۬sY){+EgH~"$nh>.=Fnw^C%ڊGJ%J]>\[w&=. (+S11etwFk,~"۫{ 紱w>(*sꔯtZToz!B/T`3^ۻh Yзp}dy=h,~4! fo22PAfjha$FC΄ntjƳH-ƿʥq0ڟrXt2ٖ,fֱߞ8!iŵxm%.KƲ/)X)bDĔ}qP#~ygfVgG(2x$׽AVs@u$c)69x}b :4NS-H&N0hE;A_n&L:AT +uL)e懟e es]\U#&%c/o+áyb/c➢5aLOR|O +wfbc ;^@\x`hbY>:m)qyv/#~37z)Su.=1Y[MIQl^ T};@DpH;TS +1OϺ6G*X̣/ͭ]qnXRw& +PbÆrT<&~zƊS鍰`n^\ݬKJm^s- +AdvBv1XMFS +Тt1.`lqMD,֊Sش_(YTb18w׼ѫVZWa|J/0k0-_%Eɘ+gXET k}ksŤG{]|%4Ei+q Z S>as:RbV`<(MhwPfI4dY/cÑr>aKj&-obv}}k@ݜ[F:qO/CS˧ $O0*.O+ MgFkxTNN+5Eϵ%`wxl:P&"ĕ ++HDcA^ YB03.#h bxVY(>熥#}5+hfK!&:Qz妏WI{7*K +tAN^I +FgPV=z}/ˑ8s(%C μ%;]~bKYi̍V 5]T4Py *];$+*F+l<$,K ۗhܬSy4 +%)h `F.vs,E+SMD.#^q-\]:𞜇[rb-8~RcjUw]zՀܐvOԼa}֦P,'BvN?Ǟc15g{28(*Aƹ6~sK`ES2u0$ e]|0ǎ6z4'PHoVk*!:~:%U@0!WXPItTheLW2ݢBrϔܾ +*b_9^ !)Եjwb +uJHe<_lH" Tb]߯=T mRvmp%t{>ђ+F$X2.Fu O:I5+`WhԾDh%o9H.C0>טH,DU_ U .r\{ ġ|r\"I"h^lq%oAn%'T]ۣ#r:Z Y5$c69y+b<%i:s+|*C*&=Uc"&\"DB OjF͜0sug\B(vfQ{C4xROe37d *^x#8.ձh2QdI#f+}n5>8{Uqi_ڎԄȌ{j^W QB,gqG`1He,(@?7{ri$י 'خD%0.KB՝Vku%d ylx)᢬t\$Ga,ÕWncIt +U")(Zs!_y5+eRTǢO\\IC~"z惺YMqvɆє5z$2sBRHlLc6. pec$Q7|Q%C ,^24J&C=.Ealixx؋M蕗=a8sٶ]N9c'- ngJ):ASǿIh*kqB 7H"@-2AE{%}N]I*5LcyTvcؓ):&-{OxGppQk*{ٟ[tn=7&25%^YK:\R6C[3ﲄ[GTNA~T9Bf,mQNHHǪ~ -y['Te=b!4'/R4ru!WtԬ̮~HlJTKz`s텟sxi_D)H{6ka + ff>Mp*^_0T_.|mnKG/VJ8È;\nig#(7.6}2DckꙊkC1?$SqgG's! |[a%S(~(2}|0iHNV隺P ,ǭ<P0YJh旅kmLg|T&F\?%RQ&UʃͿ" '>;_ޚM=y~7Eglz38_,e*a Lm9*#~oaT +8ZY*/0dIGj HDsh0/^J__յu^m^[ag?Yq >;zC&UTfރ]VrX٢cqٷCg7n)m.CSк +Q?-nT{;Kŏ-"u`aMEh(U[D Ņ5$EykմxYr"?zw"oz )onv"CF(\UYY=3sS-4Vo2dٸ M -Q{xݠ0RfN-H/QjWckt߆)v A|y ZDGܬDB(S<$ˏ1H+,DcVpӁ]y;9L/I2`U?dL-BsZ_]ؘ!>sa} KH(an":d;jcWMɭXT ^QL@^ 2獒HU鼒QQF6@VA%KҪ 䭯 +W0okٯԖ4/vn_{_3oTtB|?6q9m =G{~_!CEG8}䕷(տ|S-{h2nLr9KQ4[`DD0Dpr{nRh@n7iXU:2 +K J.ƇwgO-\Ǜ23Nhlz jCFh@.R/A`+d mcb+ͦ +ÖE07 H[Zԍ d&E$4#u/CU O UZnA2R7M!b7W0޾yV¥Iހfն(v(|TEX%3M)(d7W&BR}ޭGG(+OuڪSi O^`2g9+9ҦzaGRLPcpHrUv)SM& `9]^BOSƣ2x/l&Zu,`om>b[c:_)AWXSz5g!"rn3,ء +Rg*{O#˛d$X,h> {fI;5wlY`VOE*jud^)3A)~ʫFqxstʑ~.:e <ٚG !,A6p> +endobj +12022 0 obj +<< +/Type /Encoding +/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y 91/bracketleft/backslash/bracketright 95/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 233/eacute] +>> +endobj +6068 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /EOEKOR+CMMI10 +/FontDescriptor 12033 0 R +/FirstChar 45 +/LastChar 62 +/Widths 12027 0 R +>> +endobj +6067 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /FMWGLG+CMSY10 +/FontDescriptor 12035 0 R +/FirstChar 3 +/LastChar 106 +/Widths 12028 0 R +>> +endobj +6194 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /EVHKTQ+NimbusMonL-Regu +/FontDescriptor 12037 0 R +/FirstChar 33 +/LastChar 148 +/Widths 12026 0 R +/Encoding 12022 0 R +>> +endobj +4865 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /OZZGFQ+NimbusSanL-Bold +/FontDescriptor 12039 0 R +/FirstChar 3 +/LastChar 150 +/Widths 12029 0 R +/Encoding 12022 0 R +>> +endobj +4864 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /KLZQZD+NimbusSanL-BoldCond +/FontDescriptor 12041 0 R +/FirstChar 2 +/LastChar 122 +/Widths 12030 0 R +/Encoding 12022 0 R +>> +endobj +6686 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /MVXLPF+NimbusSanL-BoldItal +/FontDescriptor 12043 0 R +/FirstChar 3 +/LastChar 122 +/Widths 12024 0 R +/Encoding 12022 0 R +>> +endobj +6866 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /LPBEBP+NimbusSanL-BoldCondItal +/FontDescriptor 12045 0 R +/FirstChar 2 +/LastChar 122 +/Widths 12023 0 R +/Encoding 12022 0 R +>> +endobj +4826 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /OWNCKJ+NimbusSanL-Regu +/FontDescriptor 12047 0 R +/FirstChar 2 +/LastChar 233 +/Widths 12031 0 R +/Encoding 12022 0 R +>> +endobj +6525 0 obj +<< +/Type /Font +/Subtype /Type1 +/BaseFont /SXISIP+NimbusSanL-ReguItal +/FontDescriptor 12049 0 R +/FirstChar 2 +/LastChar 122 +/Widths 12025 0 R +/Encoding 12022 0 R +>> +endobj +4827 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12050 0 R +/Kids [4822 0 R 4829 0 R 4861 0 R 4906 0 R 4949 0 R 4992 0 R] +>> +endobj +5037 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12050 0 R +/Kids [5035 0 R 5079 0 R 5122 0 R 5165 0 R 5208 0 R 5251 0 R] +>> +endobj +5296 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12050 0 R +/Kids [5294 0 R 5338 0 R 5381 0 R 5424 0 R 5467 0 R 5510 0 R] +>> +endobj +5555 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12050 0 R +/Kids [5553 0 R 5597 0 R 5640 0 R 5683 0 R 5726 0 R 5769 0 R] +>> +endobj +5814 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12050 0 R +/Kids [5812 0 R 5856 0 R 5899 0 R 5942 0 R 5985 0 R 6027 0 R] +>> +endobj +6076 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12050 0 R +/Kids [6065 0 R 6111 0 R 6150 0 R 6175 0 R 6189 0 R 6200 0 R] +>> +endobj +6218 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12051 0 R +/Kids [6212 0 R 6234 0 R 6265 0 R 6294 0 R 6325 0 R 6349 0 R] +>> +endobj +6389 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12051 0 R +/Kids [6381 0 R 6409 0 R 6425 0 R 6430 0 R 6434 0 R 6439 0 R] +>> +endobj +6454 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12051 0 R +/Kids [6444 0 R 6457 0 R 6465 0 R 6472 0 R 6521 0 R 6591 0 R] +>> +endobj +6687 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12051 0 R +/Kids [6683 0 R 6699 0 R 6742 0 R 6788 0 R 6820 0 R 6844 0 R] +>> +endobj +6868 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12051 0 R +/Kids [6863 0 R 6878 0 R 6894 0 R 6963 0 R 7019 0 R 7054 0 R] +>> +endobj +7070 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12051 0 R +/Kids [7066 0 R 7073 0 R 7083 0 R 7111 0 R 7129 0 R 7136 0 R] +>> +endobj +7164 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12052 0 R +/Kids [7158 0 R 7181 0 R 7200 0 R 7223 0 R 7243 0 R 7282 0 R] +>> +endobj +7339 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12052 0 R +/Kids [7335 0 R 7367 0 R 7383 0 R 7391 0 R 7403 0 R 7409 0 R] +>> +endobj +7420 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12052 0 R +/Kids [7417 0 R 7435 0 R 7460 0 R 7479 0 R 7502 0 R 7521 0 R] +>> +endobj +7550 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12052 0 R +/Kids [7541 0 R 7565 0 R 7579 0 R 7610 0 R 7638 0 R 7651 0 R] +>> +endobj +7688 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12052 0 R +/Kids [7685 0 R 7717 0 R 7731 0 R 7739 0 R 7761 0 R 7785 0 R] +>> +endobj +7810 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12052 0 R +/Kids [7805 0 R 7826 0 R 7837 0 R 7846 0 R 7865 0 R 7885 0 R] +>> +endobj +7915 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12053 0 R +/Kids [7906 0 R 7932 0 R 7942 0 R 7946 0 R 7994 0 R 8047 0 R] +>> +endobj +8087 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12053 0 R +/Kids [8082 0 R 8115 0 R 8152 0 R 8161 0 R 8184 0 R 8209 0 R] +>> +endobj +8246 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12053 0 R +/Kids [8241 0 R 8263 0 R 8285 0 R 8311 0 R 8336 0 R 8350 0 R] +>> +endobj +8373 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12053 0 R +/Kids [8368 0 R 8405 0 R 8457 0 R 8502 0 R 8527 0 R 8533 0 R] +>> +endobj +8541 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12053 0 R +/Kids [8538 0 R 8544 0 R 8549 0 R 8558 0 R 8596 0 R 8625 0 R] +>> +endobj +8643 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12053 0 R +/Kids [8639 0 R 8653 0 R 8676 0 R 8711 0 R 8772 0 R 8828 0 R] +>> +endobj +8887 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12054 0 R +/Kids [8882 0 R 8945 0 R 9006 0 R 9036 0 R 9072 0 R 9098 0 R] +>> +endobj +9108 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12054 0 R +/Kids [9105 0 R 9119 0 R 9129 0 R 9139 0 R 9150 0 R 9162 0 R] +>> +endobj +9183 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12054 0 R +/Kids [9179 0 R 9188 0 R 9196 0 R 9206 0 R 9221 0 R 9234 0 R] +>> +endobj +9246 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12054 0 R +/Kids [9242 0 R 9256 0 R 9268 0 R 9273 0 R 9279 0 R 9290 0 R] +>> +endobj +9302 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12054 0 R +/Kids [9299 0 R 9307 0 R 9320 0 R 9330 0 R 9339 0 R 9349 0 R] +>> +endobj +9368 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12054 0 R +/Kids [9364 0 R 9377 0 R 9392 0 R 9420 0 R 9476 0 R 9506 0 R] +>> +endobj +9520 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12055 0 R +/Kids [9517 0 R 9525 0 R 9548 0 R 9574 0 R 9596 0 R 9617 0 R] +>> +endobj +9653 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12055 0 R +/Kids [9648 0 R 9673 0 R 9687 0 R 9712 0 R 9733 0 R 9754 0 R] +>> +endobj +9785 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12055 0 R +/Kids [9779 0 R 9813 0 R 9839 0 R 9866 0 R 9898 0 R 9969 0 R] +>> +endobj +10034 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12055 0 R +/Kids [10029 0 R 10054 0 R 10068 0 R 10080 0 R 10093 0 R 10148 0 R] +>> +endobj +10192 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12055 0 R +/Kids [10184 0 R 10209 0 R 10237 0 R 10267 0 R 10289 0 R 10311 0 R] +>> +endobj +10335 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12055 0 R +/Kids [10330 0 R 10349 0 R 10376 0 R 10409 0 R 10439 0 R 10458 0 R] +>> +endobj +10467 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12056 0 R +/Kids [10464 0 R 10493 0 R 10527 0 R 10543 0 R 10554 0 R 10581 0 R] +>> +endobj +10607 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12056 0 R +/Kids [10604 0 R 10615 0 R 10641 0 R 10691 0 R 10716 0 R 10729 0 R] +>> +endobj +10771 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12056 0 R +/Kids [10758 0 R 10786 0 R 10806 0 R 10819 0 R 10825 0 R 10915 0 R] +>> +endobj +10968 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12056 0 R +/Kids [10965 0 R 10976 0 R 11015 0 R 11073 0 R 11127 0 R 11132 0 R] +>> +endobj +11196 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12056 0 R +/Kids [11180 0 R 11222 0 R 11239 0 R 11263 0 R 11305 0 R 11335 0 R] +>> +endobj +11365 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12056 0 R +/Kids [11353 0 R 11377 0 R 11400 0 R 11426 0 R 11463 0 R 11520 0 R] +>> +endobj +11556 0 obj +<< +/Type /Pages +/Count 6 +/Parent 12057 0 R +/Kids [11540 0 R 11614 0 R 11706 0 R 11793 0 R 11866 0 R 11973 0 R] +>> +endobj +12021 0 obj +<< +/Type /Pages +/Count 1 +/Parent 12057 0 R +/Kids [12018 0 R] +>> +endobj +12050 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12058 0 R +/Kids [4827 0 R 5037 0 R 5296 0 R 5555 0 R 5814 0 R 6076 0 R] +>> +endobj +12051 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12058 0 R +/Kids [6218 0 R 6389 0 R 6454 0 R 6687 0 R 6868 0 R 7070 0 R] +>> +endobj +12052 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12058 0 R +/Kids [7164 0 R 7339 0 R 7420 0 R 7550 0 R 7688 0 R 7810 0 R] +>> +endobj +12053 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12058 0 R +/Kids [7915 0 R 8087 0 R 8246 0 R 8373 0 R 8541 0 R 8643 0 R] +>> +endobj +12054 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12058 0 R +/Kids [8887 0 R 9108 0 R 9183 0 R 9246 0 R 9302 0 R 9368 0 R] +>> +endobj +12055 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12058 0 R +/Kids [9520 0 R 9653 0 R 9785 0 R 10034 0 R 10192 0 R 10335 0 R] +>> +endobj +12056 0 obj +<< +/Type /Pages +/Count 36 +/Parent 12059 0 R +/Kids [10467 0 R 10607 0 R 10771 0 R 10968 0 R 11196 0 R 11365 0 R] +>> +endobj +12057 0 obj +<< +/Type /Pages +/Count 7 +/Parent 12059 0 R +/Kids [11556 0 R 12021 0 R] +>> +endobj +12058 0 obj +<< +/Type /Pages +/Count 216 +/Parent 12060 0 R +/Kids [12050 0 R 12051 0 R 12052 0 R 12053 0 R 12054 0 R 12055 0 R] +>> +endobj +12059 0 obj +<< +/Type /Pages +/Count 43 +/Parent 12060 0 R +/Kids [12056 0 R 12057 0 R] +>> +endobj +12060 0 obj +<< +/Type /Pages +/Count 259 +/Kids [12058 0 R 12059 0 R] +>> +endobj +12061 0 obj +<< +/Type /Outlines +/First 3 0 R +/Last 4819 0 R +/Count 10 +>> +endobj +4819 0 obj +<< +/Title 4820 0 R +/A 4817 0 R +/Parent 12061 0 R +/Prev 4423 0 R +>> +endobj +4815 0 obj +<< +/Title 4816 0 R +/A 4813 0 R +/Parent 4423 0 R +/Prev 4811 0 R +>> +endobj +4811 0 obj +<< +/Title 4812 0 R +/A 4809 0 R +/Parent 4423 0 R +/Prev 4807 0 R +/Next 4815 0 R +>> +endobj +4807 0 obj +<< +/Title 4808 0 R +/A 4805 0 R +/Parent 4423 0 R +/Prev 4803 0 R +/Next 4811 0 R +>> +endobj +4803 0 obj +<< +/Title 4804 0 R +/A 4801 0 R +/Parent 4423 0 R +/Prev 4799 0 R +/Next 4807 0 R +>> +endobj +4799 0 obj +<< +/Title 4800 0 R +/A 4797 0 R +/Parent 4423 0 R +/Prev 4795 0 R +/Next 4803 0 R +>> +endobj +4795 0 obj +<< +/Title 4796 0 R +/A 4793 0 R +/Parent 4423 0 R +/Prev 4791 0 R +/Next 4799 0 R +>> +endobj +4791 0 obj +<< +/Title 4792 0 R +/A 4789 0 R +/Parent 4423 0 R +/Prev 4787 0 R +/Next 4795 0 R +>> +endobj +4787 0 obj +<< +/Title 4788 0 R +/A 4785 0 R +/Parent 4423 0 R +/Prev 4783 0 R +/Next 4791 0 R +>> +endobj +4783 0 obj +<< +/Title 4784 0 R +/A 4781 0 R +/Parent 4423 0 R +/Prev 4779 0 R +/Next 4787 0 R +>> +endobj +4779 0 obj +<< +/Title 4780 0 R +/A 4777 0 R +/Parent 4423 0 R +/Prev 4775 0 R +/Next 4783 0 R +>> +endobj +4775 0 obj +<< +/Title 4776 0 R +/A 4773 0 R +/Parent 4423 0 R +/Prev 4771 0 R +/Next 4779 0 R +>> +endobj +4771 0 obj +<< +/Title 4772 0 R +/A 4769 0 R +/Parent 4423 0 R +/Prev 4767 0 R +/Next 4775 0 R +>> +endobj +4767 0 obj +<< +/Title 4768 0 R +/A 4765 0 R +/Parent 4423 0 R +/Prev 4763 0 R +/Next 4771 0 R +>> +endobj +4763 0 obj +<< +/Title 4764 0 R +/A 4761 0 R +/Parent 4423 0 R +/Prev 4759 0 R +/Next 4767 0 R +>> +endobj +4759 0 obj +<< +/Title 4760 0 R +/A 4757 0 R +/Parent 4423 0 R +/Prev 4755 0 R +/Next 4763 0 R +>> +endobj +4755 0 obj +<< +/Title 4756 0 R +/A 4753 0 R +/Parent 4423 0 R +/Prev 4751 0 R +/Next 4759 0 R +>> +endobj +4751 0 obj +<< +/Title 4752 0 R +/A 4749 0 R +/Parent 4423 0 R +/Prev 4747 0 R +/Next 4755 0 R +>> +endobj +4747 0 obj +<< +/Title 4748 0 R +/A 4745 0 R +/Parent 4423 0 R +/Prev 4743 0 R +/Next 4751 0 R +>> +endobj +4743 0 obj +<< +/Title 4744 0 R +/A 4741 0 R +/Parent 4423 0 R +/Prev 4739 0 R +/Next 4747 0 R +>> +endobj +4739 0 obj +<< +/Title 4740 0 R +/A 4737 0 R +/Parent 4423 0 R +/Prev 4735 0 R +/Next 4743 0 R +>> +endobj +4735 0 obj +<< +/Title 4736 0 R +/A 4733 0 R +/Parent 4423 0 R +/Prev 4723 0 R +/Next 4739 0 R +>> +endobj +4731 0 obj +<< +/Title 4732 0 R +/A 4729 0 R +/Parent 4727 0 R +>> +endobj +4727 0 obj +<< +/Title 4728 0 R +/A 4725 0 R +/Parent 4723 0 R +/First 4731 0 R +/Last 4731 0 R +/Count -1 +>> +endobj +4723 0 obj +<< +/Title 4724 0 R +/A 4721 0 R +/Parent 4423 0 R +/Prev 4715 0 R +/Next 4735 0 R +/First 4727 0 R +/Last 4727 0 R +/Count -1 +>> +endobj +4719 0 obj +<< +/Title 4720 0 R +/A 4717 0 R +/Parent 4715 0 R +>> +endobj +4715 0 obj +<< +/Title 4716 0 R +/A 4713 0 R +/Parent 4423 0 R +/Prev 4707 0 R +/Next 4723 0 R +/First 4719 0 R +/Last 4719 0 R +/Count -1 +>> +endobj +4711 0 obj +<< +/Title 4712 0 R +/A 4709 0 R +/Parent 4707 0 R +>> +endobj +4707 0 obj +<< +/Title 4708 0 R +/A 4705 0 R +/Parent 4423 0 R +/Prev 4703 0 R +/Next 4715 0 R +/First 4711 0 R +/Last 4711 0 R +/Count -1 +>> +endobj +4703 0 obj +<< +/Title 4704 0 R +/A 4701 0 R +/Parent 4423 0 R +/Prev 4699 0 R +/Next 4707 0 R +>> +endobj +4699 0 obj +<< +/Title 4700 0 R +/A 4697 0 R +/Parent 4423 0 R +/Prev 4683 0 R +/Next 4703 0 R +>> +endobj +4695 0 obj +<< +/Title 4696 0 R +/A 4693 0 R +/Parent 4687 0 R +/Prev 4691 0 R +>> +endobj +4691 0 obj +<< +/Title 4692 0 R +/A 4689 0 R +/Parent 4687 0 R +/Next 4695 0 R +>> +endobj +4687 0 obj +<< +/Title 4688 0 R +/A 4685 0 R +/Parent 4683 0 R +/First 4691 0 R +/Last 4695 0 R +/Count -2 +>> +endobj +4683 0 obj +<< +/Title 4684 0 R +/A 4681 0 R +/Parent 4423 0 R +/Prev 4659 0 R +/Next 4699 0 R +/First 4687 0 R +/Last 4687 0 R +/Count -1 +>> +endobj +4679 0 obj +<< +/Title 4680 0 R +/A 4677 0 R +/Parent 4663 0 R +/Prev 4675 0 R +>> +endobj +4675 0 obj +<< +/Title 4676 0 R +/A 4673 0 R +/Parent 4663 0 R +/Prev 4671 0 R +/Next 4679 0 R +>> +endobj +4671 0 obj +<< +/Title 4672 0 R +/A 4669 0 R +/Parent 4663 0 R +/Prev 4667 0 R +/Next 4675 0 R +>> +endobj +4667 0 obj +<< +/Title 4668 0 R +/A 4665 0 R +/Parent 4663 0 R +/Next 4671 0 R +>> +endobj +4663 0 obj +<< +/Title 4664 0 R +/A 4661 0 R +/Parent 4659 0 R +/First 4667 0 R +/Last 4679 0 R +/Count -4 +>> +endobj +4659 0 obj +<< +/Title 4660 0 R +/A 4657 0 R +/Parent 4423 0 R +/Prev 4655 0 R +/Next 4683 0 R +/First 4663 0 R +/Last 4663 0 R +/Count -1 +>> +endobj +4655 0 obj +<< +/Title 4656 0 R +/A 4653 0 R +/Parent 4423 0 R +/Prev 4647 0 R +/Next 4659 0 R +>> +endobj +4651 0 obj +<< +/Title 4652 0 R +/A 4649 0 R +/Parent 4647 0 R +>> +endobj +4647 0 obj +<< +/Title 4648 0 R +/A 4645 0 R +/Parent 4423 0 R +/Prev 4635 0 R +/Next 4655 0 R +/First 4651 0 R +/Last 4651 0 R +/Count -1 +>> +endobj +4643 0 obj +<< +/Title 4644 0 R +/A 4641 0 R +/Parent 4639 0 R +>> +endobj +4639 0 obj +<< +/Title 4640 0 R +/A 4637 0 R +/Parent 4635 0 R +/First 4643 0 R +/Last 4643 0 R +/Count -1 +>> +endobj +4635 0 obj +<< +/Title 4636 0 R +/A 4633 0 R +/Parent 4423 0 R +/Prev 4619 0 R +/Next 4647 0 R +/First 4639 0 R +/Last 4639 0 R +/Count -1 +>> +endobj +4631 0 obj +<< +/Title 4632 0 R +/A 4629 0 R +/Parent 4623 0 R +/Prev 4627 0 R +>> +endobj +4627 0 obj +<< +/Title 4628 0 R +/A 4625 0 R +/Parent 4623 0 R +/Next 4631 0 R +>> +endobj +4623 0 obj +<< +/Title 4624 0 R +/A 4621 0 R +/Parent 4619 0 R +/First 4627 0 R +/Last 4631 0 R +/Count -2 +>> +endobj +4619 0 obj +<< +/Title 4620 0 R +/A 4617 0 R +/Parent 4423 0 R +/Prev 4611 0 R +/Next 4635 0 R +/First 4623 0 R +/Last 4623 0 R +/Count -1 +>> +endobj +4615 0 obj +<< +/Title 4616 0 R +/A 4613 0 R +/Parent 4611 0 R +>> +endobj +4611 0 obj +<< +/Title 4612 0 R +/A 4609 0 R +/Parent 4423 0 R +/Prev 4591 0 R +/Next 4619 0 R +/First 4615 0 R +/Last 4615 0 R +/Count -1 +>> +endobj +4607 0 obj +<< +/Title 4608 0 R +/A 4605 0 R +/Parent 4595 0 R +/Prev 4603 0 R +>> +endobj +4603 0 obj +<< +/Title 4604 0 R +/A 4601 0 R +/Parent 4595 0 R +/Prev 4599 0 R +/Next 4607 0 R +>> +endobj +4599 0 obj +<< +/Title 4600 0 R +/A 4597 0 R +/Parent 4595 0 R +/Next 4603 0 R +>> +endobj +4595 0 obj +<< +/Title 4596 0 R +/A 4593 0 R +/Parent 4591 0 R +/First 4599 0 R +/Last 4607 0 R +/Count -3 +>> +endobj +4591 0 obj +<< +/Title 4592 0 R +/A 4589 0 R +/Parent 4423 0 R +/Prev 4571 0 R +/Next 4611 0 R +/First 4595 0 R +/Last 4595 0 R +/Count -1 +>> +endobj +4587 0 obj +<< +/Title 4588 0 R +/A 4585 0 R +/Parent 4579 0 R +/Prev 4583 0 R +>> +endobj +4583 0 obj +<< +/Title 4584 0 R +/A 4581 0 R +/Parent 4579 0 R +/Next 4587 0 R +>> +endobj +4579 0 obj +<< +/Title 4580 0 R +/A 4577 0 R +/Parent 4571 0 R +/Prev 4575 0 R +/First 4583 0 R +/Last 4587 0 R +/Count -2 +>> +endobj +4575 0 obj +<< +/Title 4576 0 R +/A 4573 0 R +/Parent 4571 0 R +/Next 4579 0 R +>> +endobj +4571 0 obj +<< +/Title 4572 0 R +/A 4569 0 R +/Parent 4423 0 R +/Prev 4547 0 R +/Next 4591 0 R +/First 4575 0 R +/Last 4579 0 R +/Count -2 +>> +endobj +4567 0 obj +<< +/Title 4568 0 R +/A 4565 0 R +/Parent 4563 0 R +>> +endobj +4563 0 obj +<< +/Title 4564 0 R +/A 4561 0 R +/Parent 4547 0 R +/Prev 4551 0 R +/First 4567 0 R +/Last 4567 0 R +/Count -1 +>> +endobj +4559 0 obj +<< +/Title 4560 0 R +/A 4557 0 R +/Parent 4551 0 R +/Prev 4555 0 R +>> +endobj +4555 0 obj +<< +/Title 4556 0 R +/A 4553 0 R +/Parent 4551 0 R +/Next 4559 0 R +>> +endobj +4551 0 obj +<< +/Title 4552 0 R +/A 4549 0 R +/Parent 4547 0 R +/Next 4563 0 R +/First 4555 0 R +/Last 4559 0 R +/Count -2 +>> +endobj +4547 0 obj +<< +/Title 4548 0 R +/A 4545 0 R +/Parent 4423 0 R +/Prev 4507 0 R +/Next 4571 0 R +/First 4551 0 R +/Last 4563 0 R +/Count -2 +>> +endobj +4543 0 obj +<< +/Title 4544 0 R +/A 4541 0 R +/Parent 4511 0 R +/Prev 4539 0 R +>> +endobj +4539 0 obj +<< +/Title 4540 0 R +/A 4537 0 R +/Parent 4511 0 R +/Prev 4535 0 R +/Next 4543 0 R +>> +endobj +4535 0 obj +<< +/Title 4536 0 R +/A 4533 0 R +/Parent 4511 0 R +/Prev 4531 0 R +/Next 4539 0 R +>> +endobj +4531 0 obj +<< +/Title 4532 0 R +/A 4529 0 R +/Parent 4511 0 R +/Prev 4527 0 R +/Next 4535 0 R +>> +endobj +4527 0 obj +<< +/Title 4528 0 R +/A 4525 0 R +/Parent 4511 0 R +/Prev 4523 0 R +/Next 4531 0 R +>> +endobj +4523 0 obj +<< +/Title 4524 0 R +/A 4521 0 R +/Parent 4511 0 R +/Prev 4519 0 R +/Next 4527 0 R +>> +endobj +4519 0 obj +<< +/Title 4520 0 R +/A 4517 0 R +/Parent 4511 0 R +/Prev 4515 0 R +/Next 4523 0 R +>> +endobj +4515 0 obj +<< +/Title 4516 0 R +/A 4513 0 R +/Parent 4511 0 R +/Next 4519 0 R +>> +endobj +4511 0 obj +<< +/Title 4512 0 R +/A 4509 0 R +/Parent 4507 0 R +/First 4515 0 R +/Last 4543 0 R +/Count -8 +>> +endobj +4507 0 obj +<< +/Title 4508 0 R +/A 4505 0 R +/Parent 4423 0 R +/Prev 4503 0 R +/Next 4547 0 R +/First 4511 0 R +/Last 4511 0 R +/Count -1 +>> +endobj +4503 0 obj +<< +/Title 4504 0 R +/A 4501 0 R +/Parent 4423 0 R +/Prev 4499 0 R +/Next 4507 0 R +>> +endobj +4499 0 obj +<< +/Title 4500 0 R +/A 4497 0 R +/Parent 4423 0 R +/Prev 4483 0 R +/Next 4503 0 R +>> +endobj +4495 0 obj +<< +/Title 4496 0 R +/A 4493 0 R +/Parent 4487 0 R +/Prev 4491 0 R +>> +endobj +4491 0 obj +<< +/Title 4492 0 R +/A 4489 0 R +/Parent 4487 0 R +/Next 4495 0 R +>> +endobj +4487 0 obj +<< +/Title 4488 0 R +/A 4485 0 R +/Parent 4483 0 R +/First 4491 0 R +/Last 4495 0 R +/Count -2 +>> +endobj +4483 0 obj +<< +/Title 4484 0 R +/A 4481 0 R +/Parent 4423 0 R +/Prev 4455 0 R +/Next 4499 0 R +/First 4487 0 R +/Last 4487 0 R +/Count -1 +>> +endobj +4479 0 obj +<< +/Title 4480 0 R +/A 4477 0 R +/Parent 4463 0 R +/Prev 4475 0 R +>> +endobj +4475 0 obj +<< +/Title 4476 0 R +/A 4473 0 R +/Parent 4463 0 R +/Prev 4471 0 R +/Next 4479 0 R +>> +endobj +4471 0 obj +<< +/Title 4472 0 R +/A 4469 0 R +/Parent 4463 0 R +/Prev 4467 0 R +/Next 4475 0 R +>> +endobj +4467 0 obj +<< +/Title 4468 0 R +/A 4465 0 R +/Parent 4463 0 R +/Next 4471 0 R +>> +endobj +4463 0 obj +<< +/Title 4464 0 R +/A 4461 0 R +/Parent 4455 0 R +/Prev 4459 0 R +/First 4467 0 R +/Last 4479 0 R +/Count -4 +>> +endobj +4459 0 obj +<< +/Title 4460 0 R +/A 4457 0 R +/Parent 4455 0 R +/Next 4463 0 R +>> +endobj +4455 0 obj +<< +/Title 4456 0 R +/A 4453 0 R +/Parent 4423 0 R +/Prev 4447 0 R +/Next 4483 0 R +/First 4459 0 R +/Last 4463 0 R +/Count -2 +>> +endobj +4451 0 obj +<< +/Title 4452 0 R +/A 4449 0 R +/Parent 4447 0 R +>> +endobj +4447 0 obj +<< +/Title 4448 0 R +/A 4445 0 R +/Parent 4423 0 R +/Prev 4443 0 R +/Next 4455 0 R +/First 4451 0 R +/Last 4451 0 R +/Count -1 +>> +endobj +4443 0 obj +<< +/Title 4444 0 R +/A 4441 0 R +/Parent 4423 0 R +/Prev 4439 0 R +/Next 4447 0 R +>> +endobj +4439 0 obj +<< +/Title 4440 0 R +/A 4437 0 R +/Parent 4423 0 R +/Prev 4435 0 R +/Next 4443 0 R +>> +endobj +4435 0 obj +<< +/Title 4436 0 R +/A 4433 0 R +/Parent 4423 0 R +/Prev 4431 0 R +/Next 4439 0 R +>> +endobj +4431 0 obj +<< +/Title 4432 0 R +/A 4429 0 R +/Parent 4423 0 R +/Prev 4427 0 R +/Next 4435 0 R +>> +endobj +4427 0 obj +<< +/Title 4428 0 R +/A 4425 0 R +/Parent 4423 0 R +/Next 4431 0 R +>> +endobj +4423 0 obj +<< +/Title 4424 0 R +/A 4421 0 R +/Parent 12061 0 R +/Prev 159 0 R +/Next 4819 0 R +/First 4427 0 R +/Last 4815 0 R +/Count -47 +>> +endobj +4419 0 obj +<< +/Title 4420 0 R +/A 4417 0 R +/Parent 4403 0 R +/Prev 4415 0 R +>> +endobj +4415 0 obj +<< +/Title 4416 0 R +/A 4413 0 R +/Parent 4403 0 R +/Prev 4411 0 R +/Next 4419 0 R +>> +endobj +4411 0 obj +<< +/Title 4412 0 R +/A 4409 0 R +/Parent 4403 0 R +/Prev 4407 0 R +/Next 4415 0 R +>> +endobj +4407 0 obj +<< +/Title 4408 0 R +/A 4405 0 R +/Parent 4403 0 R +/Next 4411 0 R +>> +endobj +4403 0 obj +<< +/Title 4404 0 R +/A 4401 0 R +/Parent 4379 0 R +/Prev 4395 0 R +/First 4407 0 R +/Last 4419 0 R +/Count -4 +>> +endobj +4399 0 obj +<< +/Title 4400 0 R +/A 4397 0 R +/Parent 4395 0 R +>> +endobj +4395 0 obj +<< +/Title 4396 0 R +/A 4393 0 R +/Parent 4379 0 R +/Prev 4387 0 R +/Next 4403 0 R +/First 4399 0 R +/Last 4399 0 R +/Count -1 +>> +endobj +4391 0 obj +<< +/Title 4392 0 R +/A 4389 0 R +/Parent 4387 0 R +>> +endobj +4387 0 obj +<< +/Title 4388 0 R +/A 4385 0 R +/Parent 4379 0 R +/Prev 4383 0 R +/Next 4395 0 R +/First 4391 0 R +/Last 4391 0 R +/Count -1 +>> +endobj +4383 0 obj +<< +/Title 4384 0 R +/A 4381 0 R +/Parent 4379 0 R +/Next 4387 0 R +>> +endobj +4379 0 obj +<< +/Title 4380 0 R +/A 4377 0 R +/Parent 159 0 R +/Prev 4355 0 R +/First 4383 0 R +/Last 4403 0 R +/Count -4 +>> +endobj +4375 0 obj +<< +/Title 4376 0 R +/A 4373 0 R +/Parent 4367 0 R +/Prev 4371 0 R +>> +endobj +4371 0 obj +<< +/Title 4372 0 R +/A 4369 0 R +/Parent 4367 0 R +/Next 4375 0 R +>> +endobj +4367 0 obj +<< +/Title 4368 0 R +/A 4365 0 R +/Parent 4355 0 R +/Prev 4359 0 R +/First 4371 0 R +/Last 4375 0 R +/Count -2 +>> +endobj +4363 0 obj +<< +/Title 4364 0 R +/A 4361 0 R +/Parent 4359 0 R +>> +endobj +4359 0 obj +<< +/Title 4360 0 R +/A 4357 0 R +/Parent 4355 0 R +/Next 4367 0 R +/First 4363 0 R +/Last 4363 0 R +/Count -1 +>> +endobj +4355 0 obj +<< +/Title 4356 0 R +/A 4353 0 R +/Parent 159 0 R +/Prev 4303 0 R +/Next 4379 0 R +/First 4359 0 R +/Last 4367 0 R +/Count -2 +>> +endobj +4351 0 obj +<< +/Title 4352 0 R +/A 4349 0 R +/Parent 4347 0 R +>> +endobj +4347 0 obj +<< +/Title 4348 0 R +/A 4345 0 R +/Parent 4303 0 R +/Prev 4331 0 R +/First 4351 0 R +/Last 4351 0 R +/Count -1 +>> +endobj +4343 0 obj +<< +/Title 4344 0 R +/A 4341 0 R +/Parent 4331 0 R +/Prev 4339 0 R +>> +endobj +4339 0 obj +<< +/Title 4340 0 R +/A 4337 0 R +/Parent 4331 0 R +/Prev 4335 0 R +/Next 4343 0 R +>> +endobj +4335 0 obj +<< +/Title 4336 0 R +/A 4333 0 R +/Parent 4331 0 R +/Next 4339 0 R +>> +endobj +4331 0 obj +<< +/Title 4332 0 R +/A 4329 0 R +/Parent 4303 0 R +/Prev 4323 0 R +/Next 4347 0 R +/First 4335 0 R +/Last 4343 0 R +/Count -3 +>> +endobj +4327 0 obj +<< +/Title 4328 0 R +/A 4325 0 R +/Parent 4323 0 R +>> +endobj +4323 0 obj +<< +/Title 4324 0 R +/A 4321 0 R +/Parent 4303 0 R +/Prev 4311 0 R +/Next 4331 0 R +/First 4327 0 R +/Last 4327 0 R +/Count -1 +>> +endobj +4319 0 obj +<< +/Title 4320 0 R +/A 4317 0 R +/Parent 4311 0 R +/Prev 4315 0 R +>> +endobj +4315 0 obj +<< +/Title 4316 0 R +/A 4313 0 R +/Parent 4311 0 R +/Next 4319 0 R +>> +endobj +4311 0 obj +<< +/Title 4312 0 R +/A 4309 0 R +/Parent 4303 0 R +/Prev 4307 0 R +/Next 4323 0 R +/First 4315 0 R +/Last 4319 0 R +/Count -2 +>> +endobj +4307 0 obj +<< +/Title 4308 0 R +/A 4305 0 R +/Parent 4303 0 R +/Next 4311 0 R +>> +endobj +4303 0 obj +<< +/Title 4304 0 R +/A 4301 0 R +/Parent 159 0 R +/Prev 4283 0 R +/Next 4355 0 R +/First 4307 0 R +/Last 4347 0 R +/Count -5 +>> +endobj +4299 0 obj +<< +/Title 4300 0 R +/A 4297 0 R +/Parent 4287 0 R +/Prev 4295 0 R +>> +endobj +4295 0 obj +<< +/Title 4296 0 R +/A 4293 0 R +/Parent 4287 0 R +/Prev 4291 0 R +/Next 4299 0 R +>> +endobj +4291 0 obj +<< +/Title 4292 0 R +/A 4289 0 R +/Parent 4287 0 R +/Next 4295 0 R +>> +endobj +4287 0 obj +<< +/Title 4288 0 R +/A 4285 0 R +/Parent 4283 0 R +/First 4291 0 R +/Last 4299 0 R +/Count -3 +>> +endobj +4283 0 obj +<< +/Title 4284 0 R +/A 4281 0 R +/Parent 159 0 R +/Prev 4267 0 R +/Next 4303 0 R +/First 4287 0 R +/Last 4287 0 R +/Count -1 +>> +endobj +4279 0 obj +<< +/Title 4280 0 R +/A 4277 0 R +/Parent 4271 0 R +/Prev 4275 0 R +>> +endobj +4275 0 obj +<< +/Title 4276 0 R +/A 4273 0 R +/Parent 4271 0 R +/Next 4279 0 R +>> +endobj +4271 0 obj +<< +/Title 4272 0 R +/A 4269 0 R +/Parent 4267 0 R +/First 4275 0 R +/Last 4279 0 R +/Count -2 +>> +endobj +4267 0 obj +<< +/Title 4268 0 R +/A 4265 0 R +/Parent 159 0 R +/Prev 4223 0 R +/Next 4283 0 R +/First 4271 0 R +/Last 4271 0 R +/Count -1 +>> +endobj +4263 0 obj +<< +/Title 4264 0 R +/A 4261 0 R +/Parent 4239 0 R +/Prev 4259 0 R +>> +endobj +4259 0 obj +<< +/Title 4260 0 R +/A 4257 0 R +/Parent 4239 0 R +/Prev 4255 0 R +/Next 4263 0 R +>> +endobj +4255 0 obj +<< +/Title 4256 0 R +/A 4253 0 R +/Parent 4239 0 R +/Prev 4251 0 R +/Next 4259 0 R +>> +endobj +4251 0 obj +<< +/Title 4252 0 R +/A 4249 0 R +/Parent 4239 0 R +/Prev 4247 0 R +/Next 4255 0 R +>> +endobj +4247 0 obj +<< +/Title 4248 0 R +/A 4245 0 R +/Parent 4239 0 R +/Prev 4243 0 R +/Next 4251 0 R +>> +endobj +4243 0 obj +<< +/Title 4244 0 R +/A 4241 0 R +/Parent 4239 0 R +/Next 4247 0 R +>> +endobj +4239 0 obj +<< +/Title 4240 0 R +/A 4237 0 R +/Parent 4223 0 R +/Prev 4231 0 R +/First 4243 0 R +/Last 4263 0 R +/Count -6 +>> +endobj +4235 0 obj +<< +/Title 4236 0 R +/A 4233 0 R +/Parent 4231 0 R +>> +endobj +4231 0 obj +<< +/Title 4232 0 R +/A 4229 0 R +/Parent 4223 0 R +/Prev 4227 0 R +/Next 4239 0 R +/First 4235 0 R +/Last 4235 0 R +/Count -1 +>> +endobj +4227 0 obj +<< +/Title 4228 0 R +/A 4225 0 R +/Parent 4223 0 R +/Next 4231 0 R +>> +endobj +4223 0 obj +<< +/Title 4224 0 R +/A 4221 0 R +/Parent 159 0 R +/Prev 4095 0 R +/Next 4267 0 R +/First 4227 0 R +/Last 4239 0 R +/Count -3 +>> +endobj +4219 0 obj +<< +/Title 4220 0 R +/A 4217 0 R +/Parent 4215 0 R +>> +endobj +4215 0 obj +<< +/Title 4216 0 R +/A 4213 0 R +/Parent 4095 0 R +/Prev 4143 0 R +/First 4219 0 R +/Last 4219 0 R +/Count -1 +>> +endobj +4211 0 obj +<< +/Title 4212 0 R +/A 4209 0 R +/Parent 4143 0 R +/Prev 4207 0 R +>> +endobj +4207 0 obj +<< +/Title 4208 0 R +/A 4205 0 R +/Parent 4143 0 R +/Prev 4203 0 R +/Next 4211 0 R +>> +endobj +4203 0 obj +<< +/Title 4204 0 R +/A 4201 0 R +/Parent 4143 0 R +/Prev 4199 0 R +/Next 4207 0 R +>> +endobj +4199 0 obj +<< +/Title 4200 0 R +/A 4197 0 R +/Parent 4143 0 R +/Prev 4195 0 R +/Next 4203 0 R +>> +endobj +4195 0 obj +<< +/Title 4196 0 R +/A 4193 0 R +/Parent 4143 0 R +/Prev 4191 0 R +/Next 4199 0 R +>> +endobj +4191 0 obj +<< +/Title 4192 0 R +/A 4189 0 R +/Parent 4143 0 R +/Prev 4187 0 R +/Next 4195 0 R +>> +endobj +4187 0 obj +<< +/Title 4188 0 R +/A 4185 0 R +/Parent 4143 0 R +/Prev 4183 0 R +/Next 4191 0 R +>> +endobj +4183 0 obj +<< +/Title 4184 0 R +/A 4181 0 R +/Parent 4143 0 R +/Prev 4179 0 R +/Next 4187 0 R +>> +endobj +4179 0 obj +<< +/Title 4180 0 R +/A 4177 0 R +/Parent 4143 0 R +/Prev 4175 0 R +/Next 4183 0 R +>> +endobj +4175 0 obj +<< +/Title 4176 0 R +/A 4173 0 R +/Parent 4143 0 R +/Prev 4171 0 R +/Next 4179 0 R +>> +endobj +4171 0 obj +<< +/Title 4172 0 R +/A 4169 0 R +/Parent 4143 0 R +/Prev 4167 0 R +/Next 4175 0 R +>> +endobj +4167 0 obj +<< +/Title 4168 0 R +/A 4165 0 R +/Parent 4143 0 R +/Prev 4163 0 R +/Next 4171 0 R +>> +endobj +4163 0 obj +<< +/Title 4164 0 R +/A 4161 0 R +/Parent 4143 0 R +/Prev 4159 0 R +/Next 4167 0 R +>> +endobj +4159 0 obj +<< +/Title 4160 0 R +/A 4157 0 R +/Parent 4143 0 R +/Prev 4155 0 R +/Next 4163 0 R +>> +endobj +4155 0 obj +<< +/Title 4156 0 R +/A 4153 0 R +/Parent 4143 0 R +/Prev 4151 0 R +/Next 4159 0 R +>> +endobj +4151 0 obj +<< +/Title 4152 0 R +/A 4149 0 R +/Parent 4143 0 R +/Prev 4147 0 R +/Next 4155 0 R +>> +endobj +4147 0 obj +<< +/Title 4148 0 R +/A 4145 0 R +/Parent 4143 0 R +/Next 4151 0 R +>> +endobj +4143 0 obj +<< +/Title 4144 0 R +/A 4141 0 R +/Parent 4095 0 R +/Prev 4111 0 R +/Next 4215 0 R +/First 4147 0 R +/Last 4211 0 R +/Count -17 +>> +endobj +4139 0 obj +<< +/Title 4140 0 R +/A 4137 0 R +/Parent 4111 0 R +/Prev 4135 0 R +>> +endobj +4135 0 obj +<< +/Title 4136 0 R +/A 4133 0 R +/Parent 4111 0 R +/Prev 4131 0 R +/Next 4139 0 R +>> +endobj +4131 0 obj +<< +/Title 4132 0 R +/A 4129 0 R +/Parent 4111 0 R +/Prev 4127 0 R +/Next 4135 0 R +>> +endobj +4127 0 obj +<< +/Title 4128 0 R +/A 4125 0 R +/Parent 4111 0 R +/Prev 4123 0 R +/Next 4131 0 R +>> +endobj +4123 0 obj +<< +/Title 4124 0 R +/A 4121 0 R +/Parent 4111 0 R +/Prev 4119 0 R +/Next 4127 0 R +>> +endobj +4119 0 obj +<< +/Title 4120 0 R +/A 4117 0 R +/Parent 4111 0 R +/Prev 4115 0 R +/Next 4123 0 R +>> +endobj +4115 0 obj +<< +/Title 4116 0 R +/A 4113 0 R +/Parent 4111 0 R +/Next 4119 0 R +>> +endobj +4111 0 obj +<< +/Title 4112 0 R +/A 4109 0 R +/Parent 4095 0 R +/Prev 4103 0 R +/Next 4143 0 R +/First 4115 0 R +/Last 4139 0 R +/Count -7 +>> +endobj +4107 0 obj +<< +/Title 4108 0 R +/A 4105 0 R +/Parent 4103 0 R +>> +endobj +4103 0 obj +<< +/Title 4104 0 R +/A 4101 0 R +/Parent 4095 0 R +/Prev 4099 0 R +/Next 4111 0 R +/First 4107 0 R +/Last 4107 0 R +/Count -1 +>> +endobj +4099 0 obj +<< +/Title 4100 0 R +/A 4097 0 R +/Parent 4095 0 R +/Next 4103 0 R +>> +endobj +4095 0 obj +<< +/Title 4096 0 R +/A 4093 0 R +/Parent 159 0 R +/Prev 4079 0 R +/Next 4223 0 R +/First 4099 0 R +/Last 4215 0 R +/Count -5 +>> +endobj +4091 0 obj +<< +/Title 4092 0 R +/A 4089 0 R +/Parent 4083 0 R +/Prev 4087 0 R +>> +endobj +4087 0 obj +<< +/Title 4088 0 R +/A 4085 0 R +/Parent 4083 0 R +/Next 4091 0 R +>> +endobj +4083 0 obj +<< +/Title 4084 0 R +/A 4081 0 R +/Parent 4079 0 R +/First 4087 0 R +/Last 4091 0 R +/Count -2 +>> +endobj +4079 0 obj +<< +/Title 4080 0 R +/A 4077 0 R +/Parent 159 0 R +/Prev 4059 0 R +/Next 4095 0 R +/First 4083 0 R +/Last 4083 0 R +/Count -1 +>> +endobj +4075 0 obj +<< +/Title 4076 0 R +/A 4073 0 R +/Parent 4067 0 R +/Prev 4071 0 R +>> +endobj +4071 0 obj +<< +/Title 4072 0 R +/A 4069 0 R +/Parent 4067 0 R +/Next 4075 0 R +>> +endobj +4067 0 obj +<< +/Title 4068 0 R +/A 4065 0 R +/Parent 4059 0 R +/Prev 4063 0 R +/First 4071 0 R +/Last 4075 0 R +/Count -2 +>> +endobj +4063 0 obj +<< +/Title 4064 0 R +/A 4061 0 R +/Parent 4059 0 R +/Next 4067 0 R +>> +endobj +4059 0 obj +<< +/Title 4060 0 R +/A 4057 0 R +/Parent 159 0 R +/Prev 3959 0 R +/Next 4079 0 R +/First 4063 0 R +/Last 4067 0 R +/Count -2 +>> +endobj +4055 0 obj +<< +/Title 4056 0 R +/A 4053 0 R +/Parent 3995 0 R +/Prev 4051 0 R +>> +endobj +4051 0 obj +<< +/Title 4052 0 R +/A 4049 0 R +/Parent 3995 0 R +/Prev 4047 0 R +/Next 4055 0 R +>> +endobj +4047 0 obj +<< +/Title 4048 0 R +/A 4045 0 R +/Parent 3995 0 R +/Prev 4043 0 R +/Next 4051 0 R +>> +endobj +4043 0 obj +<< +/Title 4044 0 R +/A 4041 0 R +/Parent 3995 0 R +/Prev 4039 0 R +/Next 4047 0 R +>> +endobj +4039 0 obj +<< +/Title 4040 0 R +/A 4037 0 R +/Parent 3995 0 R +/Prev 4035 0 R +/Next 4043 0 R +>> +endobj +4035 0 obj +<< +/Title 4036 0 R +/A 4033 0 R +/Parent 3995 0 R +/Prev 4031 0 R +/Next 4039 0 R +>> +endobj +4031 0 obj +<< +/Title 4032 0 R +/A 4029 0 R +/Parent 3995 0 R +/Prev 4027 0 R +/Next 4035 0 R +>> +endobj +4027 0 obj +<< +/Title 4028 0 R +/A 4025 0 R +/Parent 3995 0 R +/Prev 4023 0 R +/Next 4031 0 R +>> +endobj +4023 0 obj +<< +/Title 4024 0 R +/A 4021 0 R +/Parent 3995 0 R +/Prev 4019 0 R +/Next 4027 0 R +>> +endobj +4019 0 obj +<< +/Title 4020 0 R +/A 4017 0 R +/Parent 3995 0 R +/Prev 4015 0 R +/Next 4023 0 R +>> +endobj +4015 0 obj +<< +/Title 4016 0 R +/A 4013 0 R +/Parent 3995 0 R +/Prev 4011 0 R +/Next 4019 0 R +>> +endobj +4011 0 obj +<< +/Title 4012 0 R +/A 4009 0 R +/Parent 3995 0 R +/Prev 4007 0 R +/Next 4015 0 R +>> +endobj +4007 0 obj +<< +/Title 4008 0 R +/A 4005 0 R +/Parent 3995 0 R +/Prev 4003 0 R +/Next 4011 0 R +>> +endobj +4003 0 obj +<< +/Title 4004 0 R +/A 4001 0 R +/Parent 3995 0 R +/Prev 3999 0 R +/Next 4007 0 R +>> +endobj +3999 0 obj +<< +/Title 4000 0 R +/A 3997 0 R +/Parent 3995 0 R +/Next 4003 0 R +>> +endobj +3995 0 obj +<< +/Title 3996 0 R +/A 3993 0 R +/Parent 3959 0 R +/Prev 3967 0 R +/First 3999 0 R +/Last 4055 0 R +/Count -15 +>> +endobj +3991 0 obj +<< +/Title 3992 0 R +/A 3989 0 R +/Parent 3967 0 R +/Prev 3987 0 R +>> +endobj +3987 0 obj +<< +/Title 3988 0 R +/A 3985 0 R +/Parent 3967 0 R +/Prev 3983 0 R +/Next 3991 0 R +>> +endobj +3983 0 obj +<< +/Title 3984 0 R +/A 3981 0 R +/Parent 3967 0 R +/Prev 3979 0 R +/Next 3987 0 R +>> +endobj +3979 0 obj +<< +/Title 3980 0 R +/A 3977 0 R +/Parent 3967 0 R +/Prev 3975 0 R +/Next 3983 0 R +>> +endobj +3975 0 obj +<< +/Title 3976 0 R +/A 3973 0 R +/Parent 3967 0 R +/Prev 3971 0 R +/Next 3979 0 R +>> +endobj +3971 0 obj +<< +/Title 3972 0 R +/A 3969 0 R +/Parent 3967 0 R +/Next 3975 0 R +>> +endobj +3967 0 obj +<< +/Title 3968 0 R +/A 3965 0 R +/Parent 3959 0 R +/Prev 3963 0 R +/Next 3995 0 R +/First 3971 0 R +/Last 3991 0 R +/Count -6 +>> +endobj +3963 0 obj +<< +/Title 3964 0 R +/A 3961 0 R +/Parent 3959 0 R +/Next 3967 0 R +>> +endobj +3959 0 obj +<< +/Title 3960 0 R +/A 3957 0 R +/Parent 159 0 R +/Prev 3839 0 R +/Next 4059 0 R +/First 3963 0 R +/Last 3995 0 R +/Count -3 +>> +endobj +3955 0 obj +<< +/Title 3956 0 R +/A 3953 0 R +/Parent 3895 0 R +/Prev 3951 0 R +>> +endobj +3951 0 obj +<< +/Title 3952 0 R +/A 3949 0 R +/Parent 3895 0 R +/Prev 3947 0 R +/Next 3955 0 R +>> +endobj +3947 0 obj +<< +/Title 3948 0 R +/A 3945 0 R +/Parent 3895 0 R +/Prev 3943 0 R +/Next 3951 0 R +>> +endobj +3943 0 obj +<< +/Title 3944 0 R +/A 3941 0 R +/Parent 3895 0 R +/Prev 3939 0 R +/Next 3947 0 R +>> +endobj +3939 0 obj +<< +/Title 3940 0 R +/A 3937 0 R +/Parent 3895 0 R +/Prev 3935 0 R +/Next 3943 0 R +>> +endobj +3935 0 obj +<< +/Title 3936 0 R +/A 3933 0 R +/Parent 3895 0 R +/Prev 3931 0 R +/Next 3939 0 R +>> +endobj +3931 0 obj +<< +/Title 3932 0 R +/A 3929 0 R +/Parent 3895 0 R +/Prev 3927 0 R +/Next 3935 0 R +>> +endobj +3927 0 obj +<< +/Title 3928 0 R +/A 3925 0 R +/Parent 3895 0 R +/Prev 3923 0 R +/Next 3931 0 R +>> +endobj +3923 0 obj +<< +/Title 3924 0 R +/A 3921 0 R +/Parent 3895 0 R +/Prev 3919 0 R +/Next 3927 0 R +>> +endobj +3919 0 obj +<< +/Title 3920 0 R +/A 3917 0 R +/Parent 3895 0 R +/Prev 3915 0 R +/Next 3923 0 R +>> +endobj +3915 0 obj +<< +/Title 3916 0 R +/A 3913 0 R +/Parent 3895 0 R +/Prev 3911 0 R +/Next 3919 0 R +>> +endobj +3911 0 obj +<< +/Title 3912 0 R +/A 3909 0 R +/Parent 3895 0 R +/Prev 3907 0 R +/Next 3915 0 R +>> +endobj +3907 0 obj +<< +/Title 3908 0 R +/A 3905 0 R +/Parent 3895 0 R +/Prev 3903 0 R +/Next 3911 0 R +>> +endobj +3903 0 obj +<< +/Title 3904 0 R +/A 3901 0 R +/Parent 3895 0 R +/Prev 3899 0 R +/Next 3907 0 R +>> +endobj +3899 0 obj +<< +/Title 3900 0 R +/A 3897 0 R +/Parent 3895 0 R +/Next 3903 0 R +>> +endobj +3895 0 obj +<< +/Title 3896 0 R +/A 3893 0 R +/Parent 3839 0 R +/Prev 3867 0 R +/First 3899 0 R +/Last 3955 0 R +/Count -15 +>> +endobj +3891 0 obj +<< +/Title 3892 0 R +/A 3889 0 R +/Parent 3867 0 R +/Prev 3887 0 R +>> +endobj +3887 0 obj +<< +/Title 3888 0 R +/A 3885 0 R +/Parent 3867 0 R +/Prev 3883 0 R +/Next 3891 0 R +>> +endobj +3883 0 obj +<< +/Title 3884 0 R +/A 3881 0 R +/Parent 3867 0 R +/Prev 3879 0 R +/Next 3887 0 R +>> +endobj +3879 0 obj +<< +/Title 3880 0 R +/A 3877 0 R +/Parent 3867 0 R +/Prev 3875 0 R +/Next 3883 0 R +>> +endobj +3875 0 obj +<< +/Title 3876 0 R +/A 3873 0 R +/Parent 3867 0 R +/Prev 3871 0 R +/Next 3879 0 R +>> +endobj +3871 0 obj +<< +/Title 3872 0 R +/A 3869 0 R +/Parent 3867 0 R +/Next 3875 0 R +>> +endobj +3867 0 obj +<< +/Title 3868 0 R +/A 3865 0 R +/Parent 3839 0 R +/Prev 3847 0 R +/Next 3895 0 R +/First 3871 0 R +/Last 3891 0 R +/Count -6 +>> +endobj +3863 0 obj +<< +/Title 3864 0 R +/A 3861 0 R +/Parent 3847 0 R +/Prev 3859 0 R +>> +endobj +3859 0 obj +<< +/Title 3860 0 R +/A 3857 0 R +/Parent 3847 0 R +/Prev 3855 0 R +/Next 3863 0 R +>> +endobj +3855 0 obj +<< +/Title 3856 0 R +/A 3853 0 R +/Parent 3847 0 R +/Prev 3851 0 R +/Next 3859 0 R +>> +endobj +3851 0 obj +<< +/Title 3852 0 R +/A 3849 0 R +/Parent 3847 0 R +/Next 3855 0 R +>> +endobj +3847 0 obj +<< +/Title 3848 0 R +/A 3845 0 R +/Parent 3839 0 R +/Prev 3843 0 R +/Next 3867 0 R +/First 3851 0 R +/Last 3863 0 R +/Count -4 +>> +endobj +3843 0 obj +<< +/Title 3844 0 R +/A 3841 0 R +/Parent 3839 0 R +/Next 3847 0 R +>> +endobj +3839 0 obj +<< +/Title 3840 0 R +/A 3837 0 R +/Parent 159 0 R +/Prev 3739 0 R +/Next 3959 0 R +/First 3843 0 R +/Last 3895 0 R +/Count -4 +>> +endobj +3835 0 obj +<< +/Title 3836 0 R +/A 3833 0 R +/Parent 3771 0 R +/Prev 3831 0 R +>> +endobj +3831 0 obj +<< +/Title 3832 0 R +/A 3829 0 R +/Parent 3771 0 R +/Prev 3827 0 R +/Next 3835 0 R +>> +endobj +3827 0 obj +<< +/Title 3828 0 R +/A 3825 0 R +/Parent 3771 0 R +/Prev 3823 0 R +/Next 3831 0 R +>> +endobj +3823 0 obj +<< +/Title 3824 0 R +/A 3821 0 R +/Parent 3771 0 R +/Prev 3819 0 R +/Next 3827 0 R +>> +endobj +3819 0 obj +<< +/Title 3820 0 R +/A 3817 0 R +/Parent 3771 0 R +/Prev 3815 0 R +/Next 3823 0 R +>> +endobj +3815 0 obj +<< +/Title 3816 0 R +/A 3813 0 R +/Parent 3771 0 R +/Prev 3811 0 R +/Next 3819 0 R +>> +endobj +3811 0 obj +<< +/Title 3812 0 R +/A 3809 0 R +/Parent 3771 0 R +/Prev 3807 0 R +/Next 3815 0 R +>> +endobj +3807 0 obj +<< +/Title 3808 0 R +/A 3805 0 R +/Parent 3771 0 R +/Prev 3803 0 R +/Next 3811 0 R +>> +endobj +3803 0 obj +<< +/Title 3804 0 R +/A 3801 0 R +/Parent 3771 0 R +/Prev 3799 0 R +/Next 3807 0 R +>> +endobj +3799 0 obj +<< +/Title 3800 0 R +/A 3797 0 R +/Parent 3771 0 R +/Prev 3795 0 R +/Next 3803 0 R +>> +endobj +3795 0 obj +<< +/Title 3796 0 R +/A 3793 0 R +/Parent 3771 0 R +/Prev 3791 0 R +/Next 3799 0 R +>> +endobj +3791 0 obj +<< +/Title 3792 0 R +/A 3789 0 R +/Parent 3771 0 R +/Prev 3787 0 R +/Next 3795 0 R +>> +endobj +3787 0 obj +<< +/Title 3788 0 R +/A 3785 0 R +/Parent 3771 0 R +/Prev 3783 0 R +/Next 3791 0 R +>> +endobj +3783 0 obj +<< +/Title 3784 0 R +/A 3781 0 R +/Parent 3771 0 R +/Prev 3779 0 R +/Next 3787 0 R +>> +endobj +3779 0 obj +<< +/Title 3780 0 R +/A 3777 0 R +/Parent 3771 0 R +/Prev 3775 0 R +/Next 3783 0 R +>> +endobj +3775 0 obj +<< +/Title 3776 0 R +/A 3773 0 R +/Parent 3771 0 R +/Next 3779 0 R +>> +endobj +3771 0 obj +<< +/Title 3772 0 R +/A 3769 0 R +/Parent 3739 0 R +/Prev 3747 0 R +/First 3775 0 R +/Last 3835 0 R +/Count -16 +>> +endobj +3767 0 obj +<< +/Title 3768 0 R +/A 3765 0 R +/Parent 3747 0 R +/Prev 3763 0 R +>> +endobj +3763 0 obj +<< +/Title 3764 0 R +/A 3761 0 R +/Parent 3747 0 R +/Prev 3759 0 R +/Next 3767 0 R +>> +endobj +3759 0 obj +<< +/Title 3760 0 R +/A 3757 0 R +/Parent 3747 0 R +/Prev 3755 0 R +/Next 3763 0 R +>> +endobj +3755 0 obj +<< +/Title 3756 0 R +/A 3753 0 R +/Parent 3747 0 R +/Prev 3751 0 R +/Next 3759 0 R +>> +endobj +3751 0 obj +<< +/Title 3752 0 R +/A 3749 0 R +/Parent 3747 0 R +/Next 3755 0 R +>> +endobj +3747 0 obj +<< +/Title 3748 0 R +/A 3745 0 R +/Parent 3739 0 R +/Prev 3743 0 R +/Next 3771 0 R +/First 3751 0 R +/Last 3767 0 R +/Count -5 +>> +endobj +3743 0 obj +<< +/Title 3744 0 R +/A 3741 0 R +/Parent 3739 0 R +/Next 3747 0 R +>> +endobj +3739 0 obj +<< +/Title 3740 0 R +/A 3737 0 R +/Parent 159 0 R +/Prev 3691 0 R +/Next 3839 0 R +/First 3743 0 R +/Last 3771 0 R +/Count -3 +>> +endobj +3735 0 obj +<< +/Title 3736 0 R +/A 3733 0 R +/Parent 3719 0 R +/Prev 3731 0 R +>> +endobj +3731 0 obj +<< +/Title 3732 0 R +/A 3729 0 R +/Parent 3719 0 R +/Prev 3727 0 R +/Next 3735 0 R +>> +endobj +3727 0 obj +<< +/Title 3728 0 R +/A 3725 0 R +/Parent 3719 0 R +/Prev 3723 0 R +/Next 3731 0 R +>> +endobj +3723 0 obj +<< +/Title 3724 0 R +/A 3721 0 R +/Parent 3719 0 R +/Next 3727 0 R +>> +endobj +3719 0 obj +<< +/Title 3720 0 R +/A 3717 0 R +/Parent 3691 0 R +/Prev 3707 0 R +/First 3723 0 R +/Last 3735 0 R +/Count -4 +>> +endobj +3715 0 obj +<< +/Title 3716 0 R +/A 3713 0 R +/Parent 3707 0 R +/Prev 3711 0 R +>> +endobj +3711 0 obj +<< +/Title 3712 0 R +/A 3709 0 R +/Parent 3707 0 R +/Next 3715 0 R +>> +endobj +3707 0 obj +<< +/Title 3708 0 R +/A 3705 0 R +/Parent 3691 0 R +/Prev 3695 0 R +/Next 3719 0 R +/First 3711 0 R +/Last 3715 0 R +/Count -2 +>> +endobj +3703 0 obj +<< +/Title 3704 0 R +/A 3701 0 R +/Parent 3695 0 R +/Prev 3699 0 R +>> +endobj +3699 0 obj +<< +/Title 3700 0 R +/A 3697 0 R +/Parent 3695 0 R +/Next 3703 0 R +>> +endobj +3695 0 obj +<< +/Title 3696 0 R +/A 3693 0 R +/Parent 3691 0 R +/Next 3707 0 R +/First 3699 0 R +/Last 3703 0 R +/Count -2 +>> +endobj +3691 0 obj +<< +/Title 3692 0 R +/A 3689 0 R +/Parent 159 0 R +/Prev 3647 0 R +/Next 3739 0 R +/First 3695 0 R +/Last 3719 0 R +/Count -3 +>> +endobj +3687 0 obj +<< +/Title 3688 0 R +/A 3685 0 R +/Parent 3655 0 R +/Prev 3683 0 R +>> +endobj +3683 0 obj +<< +/Title 3684 0 R +/A 3681 0 R +/Parent 3655 0 R +/Prev 3679 0 R +/Next 3687 0 R +>> +endobj +3679 0 obj +<< +/Title 3680 0 R +/A 3677 0 R +/Parent 3655 0 R +/Prev 3675 0 R +/Next 3683 0 R +>> +endobj +3675 0 obj +<< +/Title 3676 0 R +/A 3673 0 R +/Parent 3655 0 R +/Prev 3671 0 R +/Next 3679 0 R +>> +endobj +3671 0 obj +<< +/Title 3672 0 R +/A 3669 0 R +/Parent 3655 0 R +/Prev 3667 0 R +/Next 3675 0 R +>> +endobj +3667 0 obj +<< +/Title 3668 0 R +/A 3665 0 R +/Parent 3655 0 R +/Prev 3663 0 R +/Next 3671 0 R +>> +endobj +3663 0 obj +<< +/Title 3664 0 R +/A 3661 0 R +/Parent 3655 0 R +/Prev 3659 0 R +/Next 3667 0 R +>> +endobj +3659 0 obj +<< +/Title 3660 0 R +/A 3657 0 R +/Parent 3655 0 R +/Next 3663 0 R +>> +endobj +3655 0 obj +<< +/Title 3656 0 R +/A 3653 0 R +/Parent 3647 0 R +/Prev 3651 0 R +/First 3659 0 R +/Last 3687 0 R +/Count -8 +>> +endobj +3651 0 obj +<< +/Title 3652 0 R +/A 3649 0 R +/Parent 3647 0 R +/Next 3655 0 R +>> +endobj +3647 0 obj +<< +/Title 3648 0 R +/A 3645 0 R +/Parent 159 0 R +/Prev 3639 0 R +/Next 3691 0 R +/First 3651 0 R +/Last 3655 0 R +/Count -2 +>> +endobj +3643 0 obj +<< +/Title 3644 0 R +/A 3641 0 R +/Parent 3639 0 R +>> +endobj +3639 0 obj +<< +/Title 3640 0 R +/A 3637 0 R +/Parent 159 0 R +/Prev 3511 0 R +/Next 3647 0 R +/First 3643 0 R +/Last 3643 0 R +/Count -1 +>> +endobj +3635 0 obj +<< +/Title 3636 0 R +/A 3633 0 R +/Parent 3519 0 R +/Prev 3631 0 R +>> +endobj +3631 0 obj +<< +/Title 3632 0 R +/A 3629 0 R +/Parent 3519 0 R +/Prev 3627 0 R +/Next 3635 0 R +>> +endobj +3627 0 obj +<< +/Title 3628 0 R +/A 3625 0 R +/Parent 3519 0 R +/Prev 3623 0 R +/Next 3631 0 R +>> +endobj +3623 0 obj +<< +/Title 3624 0 R +/A 3621 0 R +/Parent 3519 0 R +/Prev 3619 0 R +/Next 3627 0 R +>> +endobj +3619 0 obj +<< +/Title 3620 0 R +/A 3617 0 R +/Parent 3519 0 R +/Prev 3615 0 R +/Next 3623 0 R +>> +endobj +3615 0 obj +<< +/Title 3616 0 R +/A 3613 0 R +/Parent 3519 0 R +/Prev 3611 0 R +/Next 3619 0 R +>> +endobj +3611 0 obj +<< +/Title 3612 0 R +/A 3609 0 R +/Parent 3519 0 R +/Prev 3607 0 R +/Next 3615 0 R +>> +endobj +3607 0 obj +<< +/Title 3608 0 R +/A 3605 0 R +/Parent 3519 0 R +/Prev 3603 0 R +/Next 3611 0 R +>> +endobj +3603 0 obj +<< +/Title 3604 0 R +/A 3601 0 R +/Parent 3519 0 R +/Prev 3599 0 R +/Next 3607 0 R +>> +endobj +3599 0 obj +<< +/Title 3600 0 R +/A 3597 0 R +/Parent 3519 0 R +/Prev 3595 0 R +/Next 3603 0 R +>> +endobj +3595 0 obj +<< +/Title 3596 0 R +/A 3593 0 R +/Parent 3519 0 R +/Prev 3591 0 R +/Next 3599 0 R +>> +endobj +3591 0 obj +<< +/Title 3592 0 R +/A 3589 0 R +/Parent 3519 0 R +/Prev 3587 0 R +/Next 3595 0 R +>> +endobj +3587 0 obj +<< +/Title 3588 0 R +/A 3585 0 R +/Parent 3519 0 R +/Prev 3583 0 R +/Next 3591 0 R +>> +endobj +3583 0 obj +<< +/Title 3584 0 R +/A 3581 0 R +/Parent 3519 0 R +/Prev 3579 0 R +/Next 3587 0 R +>> +endobj +3579 0 obj +<< +/Title 3580 0 R +/A 3577 0 R +/Parent 3519 0 R +/Prev 3575 0 R +/Next 3583 0 R +>> +endobj +3575 0 obj +<< +/Title 3576 0 R +/A 3573 0 R +/Parent 3519 0 R +/Prev 3571 0 R +/Next 3579 0 R +>> +endobj +3571 0 obj +<< +/Title 3572 0 R +/A 3569 0 R +/Parent 3519 0 R +/Prev 3567 0 R +/Next 3575 0 R +>> +endobj +3567 0 obj +<< +/Title 3568 0 R +/A 3565 0 R +/Parent 3519 0 R +/Prev 3563 0 R +/Next 3571 0 R +>> +endobj +3563 0 obj +<< +/Title 3564 0 R +/A 3561 0 R +/Parent 3519 0 R +/Prev 3559 0 R +/Next 3567 0 R +>> +endobj +3559 0 obj +<< +/Title 3560 0 R +/A 3557 0 R +/Parent 3519 0 R +/Prev 3555 0 R +/Next 3563 0 R +>> +endobj +3555 0 obj +<< +/Title 3556 0 R +/A 3553 0 R +/Parent 3519 0 R +/Prev 3551 0 R +/Next 3559 0 R +>> +endobj +3551 0 obj +<< +/Title 3552 0 R +/A 3549 0 R +/Parent 3519 0 R +/Prev 3547 0 R +/Next 3555 0 R +>> +endobj +3547 0 obj +<< +/Title 3548 0 R +/A 3545 0 R +/Parent 3519 0 R +/Prev 3543 0 R +/Next 3551 0 R +>> +endobj +3543 0 obj +<< +/Title 3544 0 R +/A 3541 0 R +/Parent 3519 0 R +/Prev 3539 0 R +/Next 3547 0 R +>> +endobj +3539 0 obj +<< +/Title 3540 0 R +/A 3537 0 R +/Parent 3519 0 R +/Prev 3535 0 R +/Next 3543 0 R +>> +endobj +3535 0 obj +<< +/Title 3536 0 R +/A 3533 0 R +/Parent 3519 0 R +/Prev 3531 0 R +/Next 3539 0 R +>> +endobj +3531 0 obj +<< +/Title 3532 0 R +/A 3529 0 R +/Parent 3519 0 R +/Prev 3527 0 R +/Next 3535 0 R +>> +endobj +3527 0 obj +<< +/Title 3528 0 R +/A 3525 0 R +/Parent 3519 0 R +/Prev 3523 0 R +/Next 3531 0 R +>> +endobj +3523 0 obj +<< +/Title 3524 0 R +/A 3521 0 R +/Parent 3519 0 R +/Next 3527 0 R +>> +endobj +3519 0 obj +<< +/Title 3520 0 R +/A 3517 0 R +/Parent 3511 0 R +/Prev 3515 0 R +/First 3523 0 R +/Last 3635 0 R +/Count -29 +>> +endobj +3515 0 obj +<< +/Title 3516 0 R +/A 3513 0 R +/Parent 3511 0 R +/Next 3519 0 R +>> +endobj +3511 0 obj +<< +/Title 3512 0 R +/A 3509 0 R +/Parent 159 0 R +/Prev 3487 0 R +/Next 3639 0 R +/First 3515 0 R +/Last 3519 0 R +/Count -2 +>> +endobj +3507 0 obj +<< +/Title 3508 0 R +/A 3505 0 R +/Parent 3495 0 R +/Prev 3503 0 R +>> +endobj +3503 0 obj +<< +/Title 3504 0 R +/A 3501 0 R +/Parent 3495 0 R +/Prev 3499 0 R +/Next 3507 0 R +>> +endobj +3499 0 obj +<< +/Title 3500 0 R +/A 3497 0 R +/Parent 3495 0 R +/Next 3503 0 R +>> +endobj +3495 0 obj +<< +/Title 3496 0 R +/A 3493 0 R +/Parent 3487 0 R +/Prev 3491 0 R +/First 3499 0 R +/Last 3507 0 R +/Count -3 +>> +endobj +3491 0 obj +<< +/Title 3492 0 R +/A 3489 0 R +/Parent 3487 0 R +/Next 3495 0 R +>> +endobj +3487 0 obj +<< +/Title 3488 0 R +/A 3485 0 R +/Parent 159 0 R +/Prev 3327 0 R +/Next 3511 0 R +/First 3491 0 R +/Last 3495 0 R +/Count -2 +>> +endobj +3483 0 obj +<< +/Title 3484 0 R +/A 3481 0 R +/Parent 3447 0 R +/Prev 3479 0 R +>> +endobj +3479 0 obj +<< +/Title 3480 0 R +/A 3477 0 R +/Parent 3447 0 R +/Prev 3475 0 R +/Next 3483 0 R +>> +endobj +3475 0 obj +<< +/Title 3476 0 R +/A 3473 0 R +/Parent 3447 0 R +/Prev 3471 0 R +/Next 3479 0 R +>> +endobj +3471 0 obj +<< +/Title 3472 0 R +/A 3469 0 R +/Parent 3447 0 R +/Prev 3467 0 R +/Next 3475 0 R +>> +endobj +3467 0 obj +<< +/Title 3468 0 R +/A 3465 0 R +/Parent 3447 0 R +/Prev 3463 0 R +/Next 3471 0 R +>> +endobj +3463 0 obj +<< +/Title 3464 0 R +/A 3461 0 R +/Parent 3447 0 R +/Prev 3459 0 R +/Next 3467 0 R +>> +endobj +3459 0 obj +<< +/Title 3460 0 R +/A 3457 0 R +/Parent 3447 0 R +/Prev 3455 0 R +/Next 3463 0 R +>> +endobj +3455 0 obj +<< +/Title 3456 0 R +/A 3453 0 R +/Parent 3447 0 R +/Prev 3451 0 R +/Next 3459 0 R +>> +endobj +3451 0 obj +<< +/Title 3452 0 R +/A 3449 0 R +/Parent 3447 0 R +/Next 3455 0 R +>> +endobj +3447 0 obj +<< +/Title 3448 0 R +/A 3445 0 R +/Parent 3327 0 R +/Prev 3399 0 R +/First 3451 0 R +/Last 3483 0 R +/Count -9 +>> +endobj +3443 0 obj +<< +/Title 3444 0 R +/A 3441 0 R +/Parent 3399 0 R +/Prev 3439 0 R +>> +endobj +3439 0 obj +<< +/Title 3440 0 R +/A 3437 0 R +/Parent 3399 0 R +/Prev 3435 0 R +/Next 3443 0 R +>> +endobj +3435 0 obj +<< +/Title 3436 0 R +/A 3433 0 R +/Parent 3399 0 R +/Prev 3431 0 R +/Next 3439 0 R +>> +endobj +3431 0 obj +<< +/Title 3432 0 R +/A 3429 0 R +/Parent 3399 0 R +/Prev 3427 0 R +/Next 3435 0 R +>> +endobj +3427 0 obj +<< +/Title 3428 0 R +/A 3425 0 R +/Parent 3399 0 R +/Prev 3423 0 R +/Next 3431 0 R +>> +endobj +3423 0 obj +<< +/Title 3424 0 R +/A 3421 0 R +/Parent 3399 0 R +/Prev 3419 0 R +/Next 3427 0 R +>> +endobj +3419 0 obj +<< +/Title 3420 0 R +/A 3417 0 R +/Parent 3399 0 R +/Prev 3415 0 R +/Next 3423 0 R +>> +endobj +3415 0 obj +<< +/Title 3416 0 R +/A 3413 0 R +/Parent 3399 0 R +/Prev 3411 0 R +/Next 3419 0 R +>> +endobj +3411 0 obj +<< +/Title 3412 0 R +/A 3409 0 R +/Parent 3399 0 R +/Prev 3407 0 R +/Next 3415 0 R +>> +endobj +3407 0 obj +<< +/Title 3408 0 R +/A 3405 0 R +/Parent 3399 0 R +/Prev 3403 0 R +/Next 3411 0 R +>> +endobj +3403 0 obj +<< +/Title 3404 0 R +/A 3401 0 R +/Parent 3399 0 R +/Next 3407 0 R +>> +endobj +3399 0 obj +<< +/Title 3400 0 R +/A 3397 0 R +/Parent 3327 0 R +/Prev 3335 0 R +/Next 3447 0 R +/First 3403 0 R +/Last 3443 0 R +/Count -11 +>> +endobj +3395 0 obj +<< +/Title 3396 0 R +/A 3393 0 R +/Parent 3335 0 R +/Prev 3391 0 R +>> +endobj +3391 0 obj +<< +/Title 3392 0 R +/A 3389 0 R +/Parent 3335 0 R +/Prev 3387 0 R +/Next 3395 0 R +>> +endobj +3387 0 obj +<< +/Title 3388 0 R +/A 3385 0 R +/Parent 3335 0 R +/Prev 3383 0 R +/Next 3391 0 R +>> +endobj +3383 0 obj +<< +/Title 3384 0 R +/A 3381 0 R +/Parent 3335 0 R +/Prev 3379 0 R +/Next 3387 0 R +>> +endobj +3379 0 obj +<< +/Title 3380 0 R +/A 3377 0 R +/Parent 3335 0 R +/Prev 3375 0 R +/Next 3383 0 R +>> +endobj +3375 0 obj +<< +/Title 3376 0 R +/A 3373 0 R +/Parent 3335 0 R +/Prev 3371 0 R +/Next 3379 0 R +>> +endobj +3371 0 obj +<< +/Title 3372 0 R +/A 3369 0 R +/Parent 3335 0 R +/Prev 3367 0 R +/Next 3375 0 R +>> +endobj +3367 0 obj +<< +/Title 3368 0 R +/A 3365 0 R +/Parent 3335 0 R +/Prev 3363 0 R +/Next 3371 0 R +>> +endobj +3363 0 obj +<< +/Title 3364 0 R +/A 3361 0 R +/Parent 3335 0 R +/Prev 3359 0 R +/Next 3367 0 R +>> +endobj +3359 0 obj +<< +/Title 3360 0 R +/A 3357 0 R +/Parent 3335 0 R +/Prev 3355 0 R +/Next 3363 0 R +>> +endobj +3355 0 obj +<< +/Title 3356 0 R +/A 3353 0 R +/Parent 3335 0 R +/Prev 3351 0 R +/Next 3359 0 R +>> +endobj +3351 0 obj +<< +/Title 3352 0 R +/A 3349 0 R +/Parent 3335 0 R +/Prev 3347 0 R +/Next 3355 0 R +>> +endobj +3347 0 obj +<< +/Title 3348 0 R +/A 3345 0 R +/Parent 3335 0 R +/Prev 3343 0 R +/Next 3351 0 R +>> +endobj +3343 0 obj +<< +/Title 3344 0 R +/A 3341 0 R +/Parent 3335 0 R +/Prev 3339 0 R +/Next 3347 0 R +>> +endobj +3339 0 obj +<< +/Title 3340 0 R +/A 3337 0 R +/Parent 3335 0 R +/Next 3343 0 R +>> +endobj +3335 0 obj +<< +/Title 3336 0 R +/A 3333 0 R +/Parent 3327 0 R +/Prev 3331 0 R +/Next 3399 0 R +/First 3339 0 R +/Last 3395 0 R +/Count -15 +>> +endobj +3331 0 obj +<< +/Title 3332 0 R +/A 3329 0 R +/Parent 3327 0 R +/Next 3335 0 R +>> +endobj +3327 0 obj +<< +/Title 3328 0 R +/A 3325 0 R +/Parent 159 0 R +/Prev 3295 0 R +/Next 3487 0 R +/First 3331 0 R +/Last 3447 0 R +/Count -4 +>> +endobj +3323 0 obj +<< +/Title 3324 0 R +/A 3321 0 R +/Parent 3307 0 R +/Prev 3319 0 R +>> +endobj +3319 0 obj +<< +/Title 3320 0 R +/A 3317 0 R +/Parent 3307 0 R +/Prev 3315 0 R +/Next 3323 0 R +>> +endobj +3315 0 obj +<< +/Title 3316 0 R +/A 3313 0 R +/Parent 3307 0 R +/Prev 3311 0 R +/Next 3319 0 R +>> +endobj +3311 0 obj +<< +/Title 3312 0 R +/A 3309 0 R +/Parent 3307 0 R +/Next 3315 0 R +>> +endobj +3307 0 obj +<< +/Title 3308 0 R +/A 3305 0 R +/Parent 3295 0 R +/Prev 3299 0 R +/First 3311 0 R +/Last 3323 0 R +/Count -4 +>> +endobj +3303 0 obj +<< +/Title 3304 0 R +/A 3301 0 R +/Parent 3299 0 R +>> +endobj +3299 0 obj +<< +/Title 3300 0 R +/A 3297 0 R +/Parent 3295 0 R +/Next 3307 0 R +/First 3303 0 R +/Last 3303 0 R +/Count -1 +>> +endobj +3295 0 obj +<< +/Title 3296 0 R +/A 3293 0 R +/Parent 159 0 R +/Prev 3267 0 R +/Next 3327 0 R +/First 3299 0 R +/Last 3307 0 R +/Count -2 +>> +endobj +3291 0 obj +<< +/Title 3292 0 R +/A 3289 0 R +/Parent 3279 0 R +/Prev 3287 0 R +>> +endobj +3287 0 obj +<< +/Title 3288 0 R +/A 3285 0 R +/Parent 3279 0 R +/Prev 3283 0 R +/Next 3291 0 R +>> +endobj +3283 0 obj +<< +/Title 3284 0 R +/A 3281 0 R +/Parent 3279 0 R +/Next 3287 0 R +>> +endobj +3279 0 obj +<< +/Title 3280 0 R +/A 3277 0 R +/Parent 3267 0 R +/Prev 3271 0 R +/First 3283 0 R +/Last 3291 0 R +/Count -3 +>> +endobj +3275 0 obj +<< +/Title 3276 0 R +/A 3273 0 R +/Parent 3271 0 R +>> +endobj +3271 0 obj +<< +/Title 3272 0 R +/A 3269 0 R +/Parent 3267 0 R +/Next 3279 0 R +/First 3275 0 R +/Last 3275 0 R +/Count -1 +>> +endobj +3267 0 obj +<< +/Title 3268 0 R +/A 3265 0 R +/Parent 159 0 R +/Prev 3235 0 R +/Next 3295 0 R +/First 3271 0 R +/Last 3279 0 R +/Count -2 +>> +endobj +3263 0 obj +<< +/Title 3264 0 R +/A 3261 0 R +/Parent 3247 0 R +/Prev 3259 0 R +>> +endobj +3259 0 obj +<< +/Title 3260 0 R +/A 3257 0 R +/Parent 3247 0 R +/Prev 3255 0 R +/Next 3263 0 R +>> +endobj +3255 0 obj +<< +/Title 3256 0 R +/A 3253 0 R +/Parent 3247 0 R +/Prev 3251 0 R +/Next 3259 0 R +>> +endobj +3251 0 obj +<< +/Title 3252 0 R +/A 3249 0 R +/Parent 3247 0 R +/Next 3255 0 R +>> +endobj +3247 0 obj +<< +/Title 3248 0 R +/A 3245 0 R +/Parent 3235 0 R +/Prev 3239 0 R +/First 3251 0 R +/Last 3263 0 R +/Count -4 +>> +endobj +3243 0 obj +<< +/Title 3244 0 R +/A 3241 0 R +/Parent 3239 0 R +>> +endobj +3239 0 obj +<< +/Title 3240 0 R +/A 3237 0 R +/Parent 3235 0 R +/Next 3247 0 R +/First 3243 0 R +/Last 3243 0 R +/Count -1 +>> +endobj +3235 0 obj +<< +/Title 3236 0 R +/A 3233 0 R +/Parent 159 0 R +/Prev 3207 0 R +/Next 3267 0 R +/First 3239 0 R +/Last 3247 0 R +/Count -2 +>> +endobj +3231 0 obj +<< +/Title 3232 0 R +/A 3229 0 R +/Parent 3219 0 R +/Prev 3227 0 R +>> +endobj +3227 0 obj +<< +/Title 3228 0 R +/A 3225 0 R +/Parent 3219 0 R +/Prev 3223 0 R +/Next 3231 0 R +>> +endobj +3223 0 obj +<< +/Title 3224 0 R +/A 3221 0 R +/Parent 3219 0 R +/Next 3227 0 R +>> +endobj +3219 0 obj +<< +/Title 3220 0 R +/A 3217 0 R +/Parent 3207 0 R +/Prev 3211 0 R +/First 3223 0 R +/Last 3231 0 R +/Count -3 +>> +endobj +3215 0 obj +<< +/Title 3216 0 R +/A 3213 0 R +/Parent 3211 0 R +>> +endobj +3211 0 obj +<< +/Title 3212 0 R +/A 3209 0 R +/Parent 3207 0 R +/Next 3219 0 R +/First 3215 0 R +/Last 3215 0 R +/Count -1 +>> +endobj +3207 0 obj +<< +/Title 3208 0 R +/A 3205 0 R +/Parent 159 0 R +/Prev 3131 0 R +/Next 3235 0 R +/First 3211 0 R +/Last 3219 0 R +/Count -2 +>> +endobj +3203 0 obj +<< +/Title 3204 0 R +/A 3201 0 R +/Parent 3147 0 R +/Prev 3199 0 R +>> +endobj +3199 0 obj +<< +/Title 3200 0 R +/A 3197 0 R +/Parent 3147 0 R +/Prev 3195 0 R +/Next 3203 0 R +>> +endobj +3195 0 obj +<< +/Title 3196 0 R +/A 3193 0 R +/Parent 3147 0 R +/Prev 3191 0 R +/Next 3199 0 R +>> +endobj +3191 0 obj +<< +/Title 3192 0 R +/A 3189 0 R +/Parent 3147 0 R +/Prev 3187 0 R +/Next 3195 0 R +>> +endobj +3187 0 obj +<< +/Title 3188 0 R +/A 3185 0 R +/Parent 3147 0 R +/Prev 3183 0 R +/Next 3191 0 R +>> +endobj +3183 0 obj +<< +/Title 3184 0 R +/A 3181 0 R +/Parent 3147 0 R +/Prev 3179 0 R +/Next 3187 0 R +>> +endobj +3179 0 obj +<< +/Title 3180 0 R +/A 3177 0 R +/Parent 3147 0 R +/Prev 3175 0 R +/Next 3183 0 R +>> +endobj +3175 0 obj +<< +/Title 3176 0 R +/A 3173 0 R +/Parent 3147 0 R +/Prev 3171 0 R +/Next 3179 0 R +>> +endobj +3171 0 obj +<< +/Title 3172 0 R +/A 3169 0 R +/Parent 3147 0 R +/Prev 3167 0 R +/Next 3175 0 R +>> +endobj +3167 0 obj +<< +/Title 3168 0 R +/A 3165 0 R +/Parent 3147 0 R +/Prev 3163 0 R +/Next 3171 0 R +>> +endobj +3163 0 obj +<< +/Title 3164 0 R +/A 3161 0 R +/Parent 3147 0 R +/Prev 3159 0 R +/Next 3167 0 R +>> +endobj +3159 0 obj +<< +/Title 3160 0 R +/A 3157 0 R +/Parent 3147 0 R +/Prev 3155 0 R +/Next 3163 0 R +>> +endobj +3155 0 obj +<< +/Title 3156 0 R +/A 3153 0 R +/Parent 3147 0 R +/Prev 3151 0 R +/Next 3159 0 R +>> +endobj +3151 0 obj +<< +/Title 3152 0 R +/A 3149 0 R +/Parent 3147 0 R +/Next 3155 0 R +>> +endobj +3147 0 obj +<< +/Title 3148 0 R +/A 3145 0 R +/Parent 3131 0 R +/Prev 3135 0 R +/First 3151 0 R +/Last 3203 0 R +/Count -14 +>> +endobj +3143 0 obj +<< +/Title 3144 0 R +/A 3141 0 R +/Parent 3135 0 R +/Prev 3139 0 R +>> +endobj +3139 0 obj +<< +/Title 3140 0 R +/A 3137 0 R +/Parent 3135 0 R +/Next 3143 0 R +>> +endobj +3135 0 obj +<< +/Title 3136 0 R +/A 3133 0 R +/Parent 3131 0 R +/Next 3147 0 R +/First 3139 0 R +/Last 3143 0 R +/Count -2 +>> +endobj +3131 0 obj +<< +/Title 3132 0 R +/A 3129 0 R +/Parent 159 0 R +/Prev 3095 0 R +/Next 3207 0 R +/First 3135 0 R +/Last 3147 0 R +/Count -2 +>> +endobj +3127 0 obj +<< +/Title 3128 0 R +/A 3125 0 R +/Parent 3107 0 R +/Prev 3123 0 R +>> +endobj +3123 0 obj +<< +/Title 3124 0 R +/A 3121 0 R +/Parent 3107 0 R +/Prev 3119 0 R +/Next 3127 0 R +>> +endobj +3119 0 obj +<< +/Title 3120 0 R +/A 3117 0 R +/Parent 3107 0 R +/Prev 3115 0 R +/Next 3123 0 R +>> +endobj +3115 0 obj +<< +/Title 3116 0 R +/A 3113 0 R +/Parent 3107 0 R +/Prev 3111 0 R +/Next 3119 0 R +>> +endobj +3111 0 obj +<< +/Title 3112 0 R +/A 3109 0 R +/Parent 3107 0 R +/Next 3115 0 R +>> +endobj +3107 0 obj +<< +/Title 3108 0 R +/A 3105 0 R +/Parent 3095 0 R +/Prev 3099 0 R +/First 3111 0 R +/Last 3127 0 R +/Count -5 +>> +endobj +3103 0 obj +<< +/Title 3104 0 R +/A 3101 0 R +/Parent 3099 0 R +>> +endobj +3099 0 obj +<< +/Title 3100 0 R +/A 3097 0 R +/Parent 3095 0 R +/Next 3107 0 R +/First 3103 0 R +/Last 3103 0 R +/Count -1 +>> +endobj +3095 0 obj +<< +/Title 3096 0 R +/A 3093 0 R +/Parent 159 0 R +/Prev 3075 0 R +/Next 3131 0 R +/First 3099 0 R +/Last 3107 0 R +/Count -2 +>> +endobj +3091 0 obj +<< +/Title 3092 0 R +/A 3089 0 R +/Parent 3083 0 R +/Prev 3087 0 R +>> +endobj +3087 0 obj +<< +/Title 3088 0 R +/A 3085 0 R +/Parent 3083 0 R +/Next 3091 0 R +>> +endobj +3083 0 obj +<< +/Title 3084 0 R +/A 3081 0 R +/Parent 3075 0 R +/Prev 3079 0 R +/First 3087 0 R +/Last 3091 0 R +/Count -2 +>> +endobj +3079 0 obj +<< +/Title 3080 0 R +/A 3077 0 R +/Parent 3075 0 R +/Next 3083 0 R +>> +endobj +3075 0 obj +<< +/Title 3076 0 R +/A 3073 0 R +/Parent 159 0 R +/Prev 3031 0 R +/Next 3095 0 R +/First 3079 0 R +/Last 3083 0 R +/Count -2 +>> +endobj +3071 0 obj +<< +/Title 3072 0 R +/A 3069 0 R +/Parent 3047 0 R +/Prev 3067 0 R +>> +endobj +3067 0 obj +<< +/Title 3068 0 R +/A 3065 0 R +/Parent 3047 0 R +/Prev 3063 0 R +/Next 3071 0 R +>> +endobj +3063 0 obj +<< +/Title 3064 0 R +/A 3061 0 R +/Parent 3047 0 R +/Prev 3059 0 R +/Next 3067 0 R +>> +endobj +3059 0 obj +<< +/Title 3060 0 R +/A 3057 0 R +/Parent 3047 0 R +/Prev 3055 0 R +/Next 3063 0 R +>> +endobj +3055 0 obj +<< +/Title 3056 0 R +/A 3053 0 R +/Parent 3047 0 R +/Prev 3051 0 R +/Next 3059 0 R +>> +endobj +3051 0 obj +<< +/Title 3052 0 R +/A 3049 0 R +/Parent 3047 0 R +/Next 3055 0 R +>> +endobj +3047 0 obj +<< +/Title 3048 0 R +/A 3045 0 R +/Parent 3031 0 R +/Prev 3039 0 R +/First 3051 0 R +/Last 3071 0 R +/Count -6 +>> +endobj +3043 0 obj +<< +/Title 3044 0 R +/A 3041 0 R +/Parent 3039 0 R +>> +endobj +3039 0 obj +<< +/Title 3040 0 R +/A 3037 0 R +/Parent 3031 0 R +/Prev 3035 0 R +/Next 3047 0 R +/First 3043 0 R +/Last 3043 0 R +/Count -1 +>> +endobj +3035 0 obj +<< +/Title 3036 0 R +/A 3033 0 R +/Parent 3031 0 R +/Next 3039 0 R +>> +endobj +3031 0 obj +<< +/Title 3032 0 R +/A 3029 0 R +/Parent 159 0 R +/Prev 2935 0 R +/Next 3075 0 R +/First 3035 0 R +/Last 3047 0 R +/Count -3 +>> +endobj +3027 0 obj +<< +/Title 3028 0 R +/A 3025 0 R +/Parent 3015 0 R +/Prev 3023 0 R +>> +endobj +3023 0 obj +<< +/Title 3024 0 R +/A 3021 0 R +/Parent 3015 0 R +/Prev 3019 0 R +/Next 3027 0 R +>> +endobj +3019 0 obj +<< +/Title 3020 0 R +/A 3017 0 R +/Parent 3015 0 R +/Next 3023 0 R +>> +endobj +3015 0 obj +<< +/Title 3016 0 R +/A 3013 0 R +/Parent 2935 0 R +/Prev 2951 0 R +/First 3019 0 R +/Last 3027 0 R +/Count -3 +>> +endobj +3011 0 obj +<< +/Title 3012 0 R +/A 3009 0 R +/Parent 2951 0 R +/Prev 3007 0 R +>> +endobj +3007 0 obj +<< +/Title 3008 0 R +/A 3005 0 R +/Parent 2951 0 R +/Prev 3003 0 R +/Next 3011 0 R +>> +endobj +3003 0 obj +<< +/Title 3004 0 R +/A 3001 0 R +/Parent 2951 0 R +/Prev 2999 0 R +/Next 3007 0 R +>> +endobj +2999 0 obj +<< +/Title 3000 0 R +/A 2997 0 R +/Parent 2951 0 R +/Prev 2995 0 R +/Next 3003 0 R +>> +endobj +2995 0 obj +<< +/Title 2996 0 R +/A 2993 0 R +/Parent 2951 0 R +/Prev 2991 0 R +/Next 2999 0 R +>> +endobj +2991 0 obj +<< +/Title 2992 0 R +/A 2989 0 R +/Parent 2951 0 R +/Prev 2987 0 R +/Next 2995 0 R +>> +endobj +2987 0 obj +<< +/Title 2988 0 R +/A 2985 0 R +/Parent 2951 0 R +/Prev 2983 0 R +/Next 2991 0 R +>> +endobj +2983 0 obj +<< +/Title 2984 0 R +/A 2981 0 R +/Parent 2951 0 R +/Prev 2979 0 R +/Next 2987 0 R +>> +endobj +2979 0 obj +<< +/Title 2980 0 R +/A 2977 0 R +/Parent 2951 0 R +/Prev 2975 0 R +/Next 2983 0 R +>> +endobj +2975 0 obj +<< +/Title 2976 0 R +/A 2973 0 R +/Parent 2951 0 R +/Prev 2971 0 R +/Next 2979 0 R +>> +endobj +2971 0 obj +<< +/Title 2972 0 R +/A 2969 0 R +/Parent 2951 0 R +/Prev 2967 0 R +/Next 2975 0 R +>> +endobj +2967 0 obj +<< +/Title 2968 0 R +/A 2965 0 R +/Parent 2951 0 R +/Prev 2963 0 R +/Next 2971 0 R +>> +endobj +2963 0 obj +<< +/Title 2964 0 R +/A 2961 0 R +/Parent 2951 0 R +/Prev 2959 0 R +/Next 2967 0 R +>> +endobj +2959 0 obj +<< +/Title 2960 0 R +/A 2957 0 R +/Parent 2951 0 R +/Prev 2955 0 R +/Next 2963 0 R +>> +endobj +2955 0 obj +<< +/Title 2956 0 R +/A 2953 0 R +/Parent 2951 0 R +/Next 2959 0 R +>> +endobj +2951 0 obj +<< +/Title 2952 0 R +/A 2949 0 R +/Parent 2935 0 R +/Prev 2943 0 R +/Next 3015 0 R +/First 2955 0 R +/Last 3011 0 R +/Count -15 +>> +endobj +2947 0 obj +<< +/Title 2948 0 R +/A 2945 0 R +/Parent 2943 0 R +>> +endobj +2943 0 obj +<< +/Title 2944 0 R +/A 2941 0 R +/Parent 2935 0 R +/Prev 2939 0 R +/Next 2951 0 R +/First 2947 0 R +/Last 2947 0 R +/Count -1 +>> +endobj +2939 0 obj +<< +/Title 2940 0 R +/A 2937 0 R +/Parent 2935 0 R +/Next 2943 0 R +>> +endobj +2935 0 obj +<< +/Title 2936 0 R +/A 2933 0 R +/Parent 159 0 R +/Prev 2875 0 R +/Next 3031 0 R +/First 2939 0 R +/Last 3015 0 R +/Count -4 +>> +endobj +2931 0 obj +<< +/Title 2932 0 R +/A 2929 0 R +/Parent 2903 0 R +/Prev 2927 0 R +>> +endobj +2927 0 obj +<< +/Title 2928 0 R +/A 2925 0 R +/Parent 2903 0 R +/Prev 2923 0 R +/Next 2931 0 R +>> +endobj +2923 0 obj +<< +/Title 2924 0 R +/A 2921 0 R +/Parent 2903 0 R +/Prev 2919 0 R +/Next 2927 0 R +>> +endobj +2919 0 obj +<< +/Title 2920 0 R +/A 2917 0 R +/Parent 2903 0 R +/Prev 2915 0 R +/Next 2923 0 R +>> +endobj +2915 0 obj +<< +/Title 2916 0 R +/A 2913 0 R +/Parent 2903 0 R +/Prev 2911 0 R +/Next 2919 0 R +>> +endobj +2911 0 obj +<< +/Title 2912 0 R +/A 2909 0 R +/Parent 2903 0 R +/Prev 2907 0 R +/Next 2915 0 R +>> +endobj +2907 0 obj +<< +/Title 2908 0 R +/A 2905 0 R +/Parent 2903 0 R +/Next 2911 0 R +>> +endobj +2903 0 obj +<< +/Title 2904 0 R +/A 2901 0 R +/Parent 2875 0 R +/Prev 2883 0 R +/First 2907 0 R +/Last 2931 0 R +/Count -7 +>> +endobj +2899 0 obj +<< +/Title 2900 0 R +/A 2897 0 R +/Parent 2883 0 R +/Prev 2895 0 R +>> +endobj +2895 0 obj +<< +/Title 2896 0 R +/A 2893 0 R +/Parent 2883 0 R +/Prev 2891 0 R +/Next 2899 0 R +>> +endobj +2891 0 obj +<< +/Title 2892 0 R +/A 2889 0 R +/Parent 2883 0 R +/Prev 2887 0 R +/Next 2895 0 R +>> +endobj +2887 0 obj +<< +/Title 2888 0 R +/A 2885 0 R +/Parent 2883 0 R +/Next 2891 0 R +>> +endobj +2883 0 obj +<< +/Title 2884 0 R +/A 2881 0 R +/Parent 2875 0 R +/Prev 2879 0 R +/Next 2903 0 R +/First 2887 0 R +/Last 2899 0 R +/Count -4 +>> +endobj +2879 0 obj +<< +/Title 2880 0 R +/A 2877 0 R +/Parent 2875 0 R +/Next 2883 0 R +>> +endobj +2875 0 obj +<< +/Title 2876 0 R +/A 2873 0 R +/Parent 159 0 R +/Prev 2859 0 R +/Next 2935 0 R +/First 2879 0 R +/Last 2903 0 R +/Count -3 +>> +endobj +2871 0 obj +<< +/Title 2872 0 R +/A 2869 0 R +/Parent 2867 0 R +>> +endobj +2867 0 obj +<< +/Title 2868 0 R +/A 2865 0 R +/Parent 2859 0 R +/Prev 2863 0 R +/First 2871 0 R +/Last 2871 0 R +/Count -1 +>> +endobj +2863 0 obj +<< +/Title 2864 0 R +/A 2861 0 R +/Parent 2859 0 R +/Next 2867 0 R +>> +endobj +2859 0 obj +<< +/Title 2860 0 R +/A 2857 0 R +/Parent 159 0 R +/Prev 2843 0 R +/Next 2875 0 R +/First 2863 0 R +/Last 2867 0 R +/Count -2 +>> +endobj +2855 0 obj +<< +/Title 2856 0 R +/A 2853 0 R +/Parent 2851 0 R +>> +endobj +2851 0 obj +<< +/Title 2852 0 R +/A 2849 0 R +/Parent 2843 0 R +/Prev 2847 0 R +/First 2855 0 R +/Last 2855 0 R +/Count -1 +>> +endobj +2847 0 obj +<< +/Title 2848 0 R +/A 2845 0 R +/Parent 2843 0 R +/Next 2851 0 R +>> +endobj +2843 0 obj +<< +/Title 2844 0 R +/A 2841 0 R +/Parent 159 0 R +/Prev 2695 0 R +/Next 2859 0 R +/First 2847 0 R +/Last 2851 0 R +/Count -2 +>> +endobj +2839 0 obj +<< +/Title 2840 0 R +/A 2837 0 R +/Parent 2783 0 R +/Prev 2835 0 R +>> +endobj +2835 0 obj +<< +/Title 2836 0 R +/A 2833 0 R +/Parent 2783 0 R +/Prev 2831 0 R +/Next 2839 0 R +>> +endobj +2831 0 obj +<< +/Title 2832 0 R +/A 2829 0 R +/Parent 2783 0 R +/Prev 2827 0 R +/Next 2835 0 R +>> +endobj +2827 0 obj +<< +/Title 2828 0 R +/A 2825 0 R +/Parent 2783 0 R +/Prev 2823 0 R +/Next 2831 0 R +>> +endobj +2823 0 obj +<< +/Title 2824 0 R +/A 2821 0 R +/Parent 2783 0 R +/Prev 2819 0 R +/Next 2827 0 R +>> +endobj +2819 0 obj +<< +/Title 2820 0 R +/A 2817 0 R +/Parent 2783 0 R +/Prev 2815 0 R +/Next 2823 0 R +>> +endobj +2815 0 obj +<< +/Title 2816 0 R +/A 2813 0 R +/Parent 2783 0 R +/Prev 2811 0 R +/Next 2819 0 R +>> +endobj +2811 0 obj +<< +/Title 2812 0 R +/A 2809 0 R +/Parent 2783 0 R +/Prev 2807 0 R +/Next 2815 0 R +>> +endobj +2807 0 obj +<< +/Title 2808 0 R +/A 2805 0 R +/Parent 2783 0 R +/Prev 2803 0 R +/Next 2811 0 R +>> +endobj +2803 0 obj +<< +/Title 2804 0 R +/A 2801 0 R +/Parent 2783 0 R +/Prev 2799 0 R +/Next 2807 0 R +>> +endobj +2799 0 obj +<< +/Title 2800 0 R +/A 2797 0 R +/Parent 2783 0 R +/Prev 2795 0 R +/Next 2803 0 R +>> +endobj +2795 0 obj +<< +/Title 2796 0 R +/A 2793 0 R +/Parent 2783 0 R +/Prev 2791 0 R +/Next 2799 0 R +>> +endobj +2791 0 obj +<< +/Title 2792 0 R +/A 2789 0 R +/Parent 2783 0 R +/Prev 2787 0 R +/Next 2795 0 R +>> +endobj +2787 0 obj +<< +/Title 2788 0 R +/A 2785 0 R +/Parent 2783 0 R +/Next 2791 0 R +>> +endobj +2783 0 obj +<< +/Title 2784 0 R +/A 2781 0 R +/Parent 2695 0 R +/Prev 2771 0 R +/First 2787 0 R +/Last 2839 0 R +/Count -14 +>> +endobj +2779 0 obj +<< +/Title 2780 0 R +/A 2777 0 R +/Parent 2771 0 R +/Prev 2775 0 R +>> +endobj +2775 0 obj +<< +/Title 2776 0 R +/A 2773 0 R +/Parent 2771 0 R +/Next 2779 0 R +>> +endobj +2771 0 obj +<< +/Title 2772 0 R +/A 2769 0 R +/Parent 2695 0 R +/Prev 2711 0 R +/Next 2783 0 R +/First 2775 0 R +/Last 2779 0 R +/Count -2 +>> +endobj +2767 0 obj +<< +/Title 2768 0 R +/A 2765 0 R +/Parent 2711 0 R +/Prev 2763 0 R +>> +endobj +2763 0 obj +<< +/Title 2764 0 R +/A 2761 0 R +/Parent 2711 0 R +/Prev 2759 0 R +/Next 2767 0 R +>> +endobj +2759 0 obj +<< +/Title 2760 0 R +/A 2757 0 R +/Parent 2711 0 R +/Prev 2755 0 R +/Next 2763 0 R +>> +endobj +2755 0 obj +<< +/Title 2756 0 R +/A 2753 0 R +/Parent 2711 0 R +/Prev 2751 0 R +/Next 2759 0 R +>> +endobj +2751 0 obj +<< +/Title 2752 0 R +/A 2749 0 R +/Parent 2711 0 R +/Prev 2747 0 R +/Next 2755 0 R +>> +endobj +2747 0 obj +<< +/Title 2748 0 R +/A 2745 0 R +/Parent 2711 0 R +/Prev 2743 0 R +/Next 2751 0 R +>> +endobj +2743 0 obj +<< +/Title 2744 0 R +/A 2741 0 R +/Parent 2711 0 R +/Prev 2739 0 R +/Next 2747 0 R +>> +endobj +2739 0 obj +<< +/Title 2740 0 R +/A 2737 0 R +/Parent 2711 0 R +/Prev 2735 0 R +/Next 2743 0 R +>> +endobj +2735 0 obj +<< +/Title 2736 0 R +/A 2733 0 R +/Parent 2711 0 R +/Prev 2731 0 R +/Next 2739 0 R +>> +endobj +2731 0 obj +<< +/Title 2732 0 R +/A 2729 0 R +/Parent 2711 0 R +/Prev 2727 0 R +/Next 2735 0 R +>> +endobj +2727 0 obj +<< +/Title 2728 0 R +/A 2725 0 R +/Parent 2711 0 R +/Prev 2723 0 R +/Next 2731 0 R +>> +endobj +2723 0 obj +<< +/Title 2724 0 R +/A 2721 0 R +/Parent 2711 0 R +/Prev 2719 0 R +/Next 2727 0 R +>> +endobj +2719 0 obj +<< +/Title 2720 0 R +/A 2717 0 R +/Parent 2711 0 R +/Prev 2715 0 R +/Next 2723 0 R +>> +endobj +2715 0 obj +<< +/Title 2716 0 R +/A 2713 0 R +/Parent 2711 0 R +/Next 2719 0 R +>> +endobj +2711 0 obj +<< +/Title 2712 0 R +/A 2709 0 R +/Parent 2695 0 R +/Prev 2703 0 R +/Next 2771 0 R +/First 2715 0 R +/Last 2767 0 R +/Count -14 +>> +endobj +2707 0 obj +<< +/Title 2708 0 R +/A 2705 0 R +/Parent 2703 0 R +>> +endobj +2703 0 obj +<< +/Title 2704 0 R +/A 2701 0 R +/Parent 2695 0 R +/Prev 2699 0 R +/Next 2711 0 R +/First 2707 0 R +/Last 2707 0 R +/Count -1 +>> +endobj +2699 0 obj +<< +/Title 2700 0 R +/A 2697 0 R +/Parent 2695 0 R +/Next 2703 0 R +>> +endobj +2695 0 obj +<< +/Title 2696 0 R +/A 2693 0 R +/Parent 159 0 R +/Prev 2647 0 R +/Next 2843 0 R +/First 2699 0 R +/Last 2783 0 R +/Count -5 +>> +endobj +2691 0 obj +<< +/Title 2692 0 R +/A 2689 0 R +/Parent 2683 0 R +/Prev 2687 0 R +>> +endobj +2687 0 obj +<< +/Title 2688 0 R +/A 2685 0 R +/Parent 2683 0 R +/Next 2691 0 R +>> +endobj +2683 0 obj +<< +/Title 2684 0 R +/A 2681 0 R +/Parent 2647 0 R +/Prev 2663 0 R +/First 2687 0 R +/Last 2691 0 R +/Count -2 +>> +endobj +2679 0 obj +<< +/Title 2680 0 R +/A 2677 0 R +/Parent 2663 0 R +/Prev 2675 0 R +>> +endobj +2675 0 obj +<< +/Title 2676 0 R +/A 2673 0 R +/Parent 2663 0 R +/Prev 2671 0 R +/Next 2679 0 R +>> +endobj +2671 0 obj +<< +/Title 2672 0 R +/A 2669 0 R +/Parent 2663 0 R +/Prev 2667 0 R +/Next 2675 0 R +>> +endobj +2667 0 obj +<< +/Title 2668 0 R +/A 2665 0 R +/Parent 2663 0 R +/Next 2671 0 R +>> +endobj +2663 0 obj +<< +/Title 2664 0 R +/A 2661 0 R +/Parent 2647 0 R +/Prev 2651 0 R +/Next 2683 0 R +/First 2667 0 R +/Last 2679 0 R +/Count -4 +>> +endobj +2659 0 obj +<< +/Title 2660 0 R +/A 2657 0 R +/Parent 2651 0 R +/Prev 2655 0 R +>> +endobj +2655 0 obj +<< +/Title 2656 0 R +/A 2653 0 R +/Parent 2651 0 R +/Next 2659 0 R +>> +endobj +2651 0 obj +<< +/Title 2652 0 R +/A 2649 0 R +/Parent 2647 0 R +/Next 2663 0 R +/First 2655 0 R +/Last 2659 0 R +/Count -2 +>> +endobj +2647 0 obj +<< +/Title 2648 0 R +/A 2645 0 R +/Parent 159 0 R +/Prev 2103 0 R +/Next 2695 0 R +/First 2651 0 R +/Last 2683 0 R +/Count -3 +>> +endobj +2643 0 obj +<< +/Title 2644 0 R +/A 2641 0 R +/Parent 2459 0 R +/Prev 2639 0 R +>> +endobj +2639 0 obj +<< +/Title 2640 0 R +/A 2637 0 R +/Parent 2459 0 R +/Prev 2635 0 R +/Next 2643 0 R +>> +endobj +2635 0 obj +<< +/Title 2636 0 R +/A 2633 0 R +/Parent 2459 0 R +/Prev 2631 0 R +/Next 2639 0 R +>> +endobj +2631 0 obj +<< +/Title 2632 0 R +/A 2629 0 R +/Parent 2459 0 R +/Prev 2627 0 R +/Next 2635 0 R +>> +endobj +2627 0 obj +<< +/Title 2628 0 R +/A 2625 0 R +/Parent 2459 0 R +/Prev 2623 0 R +/Next 2631 0 R +>> +endobj +2623 0 obj +<< +/Title 2624 0 R +/A 2621 0 R +/Parent 2459 0 R +/Prev 2619 0 R +/Next 2627 0 R +>> +endobj +2619 0 obj +<< +/Title 2620 0 R +/A 2617 0 R +/Parent 2459 0 R +/Prev 2615 0 R +/Next 2623 0 R +>> +endobj +2615 0 obj +<< +/Title 2616 0 R +/A 2613 0 R +/Parent 2459 0 R +/Prev 2611 0 R +/Next 2619 0 R +>> +endobj +2611 0 obj +<< +/Title 2612 0 R +/A 2609 0 R +/Parent 2459 0 R +/Prev 2607 0 R +/Next 2615 0 R +>> +endobj +2607 0 obj +<< +/Title 2608 0 R +/A 2605 0 R +/Parent 2459 0 R +/Prev 2603 0 R +/Next 2611 0 R +>> +endobj +2603 0 obj +<< +/Title 2604 0 R +/A 2601 0 R +/Parent 2459 0 R +/Prev 2599 0 R +/Next 2607 0 R +>> +endobj +2599 0 obj +<< +/Title 2600 0 R +/A 2597 0 R +/Parent 2459 0 R +/Prev 2595 0 R +/Next 2603 0 R +>> +endobj +2595 0 obj +<< +/Title 2596 0 R +/A 2593 0 R +/Parent 2459 0 R +/Prev 2591 0 R +/Next 2599 0 R +>> +endobj +2591 0 obj +<< +/Title 2592 0 R +/A 2589 0 R +/Parent 2459 0 R +/Prev 2587 0 R +/Next 2595 0 R +>> +endobj +2587 0 obj +<< +/Title 2588 0 R +/A 2585 0 R +/Parent 2459 0 R +/Prev 2583 0 R +/Next 2591 0 R +>> +endobj +2583 0 obj +<< +/Title 2584 0 R +/A 2581 0 R +/Parent 2459 0 R +/Prev 2579 0 R +/Next 2587 0 R +>> +endobj +2579 0 obj +<< +/Title 2580 0 R +/A 2577 0 R +/Parent 2459 0 R +/Prev 2575 0 R +/Next 2583 0 R +>> +endobj +2575 0 obj +<< +/Title 2576 0 R +/A 2573 0 R +/Parent 2459 0 R +/Prev 2571 0 R +/Next 2579 0 R +>> +endobj +2571 0 obj +<< +/Title 2572 0 R +/A 2569 0 R +/Parent 2459 0 R +/Prev 2567 0 R +/Next 2575 0 R +>> +endobj +2567 0 obj +<< +/Title 2568 0 R +/A 2565 0 R +/Parent 2459 0 R +/Prev 2563 0 R +/Next 2571 0 R +>> +endobj +2563 0 obj +<< +/Title 2564 0 R +/A 2561 0 R +/Parent 2459 0 R +/Prev 2559 0 R +/Next 2567 0 R +>> +endobj +2559 0 obj +<< +/Title 2560 0 R +/A 2557 0 R +/Parent 2459 0 R +/Prev 2555 0 R +/Next 2563 0 R +>> +endobj +2555 0 obj +<< +/Title 2556 0 R +/A 2553 0 R +/Parent 2459 0 R +/Prev 2551 0 R +/Next 2559 0 R +>> +endobj +2551 0 obj +<< +/Title 2552 0 R +/A 2549 0 R +/Parent 2459 0 R +/Prev 2547 0 R +/Next 2555 0 R +>> +endobj +2547 0 obj +<< +/Title 2548 0 R +/A 2545 0 R +/Parent 2459 0 R +/Prev 2543 0 R +/Next 2551 0 R +>> +endobj +2543 0 obj +<< +/Title 2544 0 R +/A 2541 0 R +/Parent 2459 0 R +/Prev 2539 0 R +/Next 2547 0 R +>> +endobj +2539 0 obj +<< +/Title 2540 0 R +/A 2537 0 R +/Parent 2459 0 R +/Prev 2535 0 R +/Next 2543 0 R +>> +endobj +2535 0 obj +<< +/Title 2536 0 R +/A 2533 0 R +/Parent 2459 0 R +/Prev 2531 0 R +/Next 2539 0 R +>> +endobj +2531 0 obj +<< +/Title 2532 0 R +/A 2529 0 R +/Parent 2459 0 R +/Prev 2527 0 R +/Next 2535 0 R +>> +endobj +2527 0 obj +<< +/Title 2528 0 R +/A 2525 0 R +/Parent 2459 0 R +/Prev 2523 0 R +/Next 2531 0 R +>> +endobj +2523 0 obj +<< +/Title 2524 0 R +/A 2521 0 R +/Parent 2459 0 R +/Prev 2519 0 R +/Next 2527 0 R +>> +endobj +2519 0 obj +<< +/Title 2520 0 R +/A 2517 0 R +/Parent 2459 0 R +/Prev 2515 0 R +/Next 2523 0 R +>> +endobj +2515 0 obj +<< +/Title 2516 0 R +/A 2513 0 R +/Parent 2459 0 R +/Prev 2511 0 R +/Next 2519 0 R +>> +endobj +2511 0 obj +<< +/Title 2512 0 R +/A 2509 0 R +/Parent 2459 0 R +/Prev 2507 0 R +/Next 2515 0 R +>> +endobj +2507 0 obj +<< +/Title 2508 0 R +/A 2505 0 R +/Parent 2459 0 R +/Prev 2503 0 R +/Next 2511 0 R +>> +endobj +2503 0 obj +<< +/Title 2504 0 R +/A 2501 0 R +/Parent 2459 0 R +/Prev 2499 0 R +/Next 2507 0 R +>> +endobj +2499 0 obj +<< +/Title 2500 0 R +/A 2497 0 R +/Parent 2459 0 R +/Prev 2495 0 R +/Next 2503 0 R +>> +endobj +2495 0 obj +<< +/Title 2496 0 R +/A 2493 0 R +/Parent 2459 0 R +/Prev 2491 0 R +/Next 2499 0 R +>> +endobj +2491 0 obj +<< +/Title 2492 0 R +/A 2489 0 R +/Parent 2459 0 R +/Prev 2487 0 R +/Next 2495 0 R +>> +endobj +2487 0 obj +<< +/Title 2488 0 R +/A 2485 0 R +/Parent 2459 0 R +/Prev 2483 0 R +/Next 2491 0 R +>> +endobj +2483 0 obj +<< +/Title 2484 0 R +/A 2481 0 R +/Parent 2459 0 R +/Prev 2479 0 R +/Next 2487 0 R +>> +endobj +2479 0 obj +<< +/Title 2480 0 R +/A 2477 0 R +/Parent 2459 0 R +/Prev 2475 0 R +/Next 2483 0 R +>> +endobj +2475 0 obj +<< +/Title 2476 0 R +/A 2473 0 R +/Parent 2459 0 R +/Prev 2471 0 R +/Next 2479 0 R +>> +endobj +2471 0 obj +<< +/Title 2472 0 R +/A 2469 0 R +/Parent 2459 0 R +/Prev 2467 0 R +/Next 2475 0 R +>> +endobj +2467 0 obj +<< +/Title 2468 0 R +/A 2465 0 R +/Parent 2459 0 R +/Prev 2463 0 R +/Next 2471 0 R +>> +endobj +2463 0 obj +<< +/Title 2464 0 R +/A 2461 0 R +/Parent 2459 0 R +/Next 2467 0 R +>> +endobj +2459 0 obj +<< +/Title 2460 0 R +/A 2457 0 R +/Parent 2103 0 R +/Prev 2387 0 R +/First 2463 0 R +/Last 2643 0 R +/Count -46 +>> +endobj +2455 0 obj +<< +/Title 2456 0 R +/A 2453 0 R +/Parent 2387 0 R +/Prev 2451 0 R +>> +endobj +2451 0 obj +<< +/Title 2452 0 R +/A 2449 0 R +/Parent 2387 0 R +/Prev 2447 0 R +/Next 2455 0 R +>> +endobj +2447 0 obj +<< +/Title 2448 0 R +/A 2445 0 R +/Parent 2387 0 R +/Prev 2443 0 R +/Next 2451 0 R +>> +endobj +2443 0 obj +<< +/Title 2444 0 R +/A 2441 0 R +/Parent 2387 0 R +/Prev 2439 0 R +/Next 2447 0 R +>> +endobj +2439 0 obj +<< +/Title 2440 0 R +/A 2437 0 R +/Parent 2387 0 R +/Prev 2435 0 R +/Next 2443 0 R +>> +endobj +2435 0 obj +<< +/Title 2436 0 R +/A 2433 0 R +/Parent 2387 0 R +/Prev 2431 0 R +/Next 2439 0 R +>> +endobj +2431 0 obj +<< +/Title 2432 0 R +/A 2429 0 R +/Parent 2387 0 R +/Prev 2427 0 R +/Next 2435 0 R +>> +endobj +2427 0 obj +<< +/Title 2428 0 R +/A 2425 0 R +/Parent 2387 0 R +/Prev 2423 0 R +/Next 2431 0 R +>> +endobj +2423 0 obj +<< +/Title 2424 0 R +/A 2421 0 R +/Parent 2387 0 R +/Prev 2419 0 R +/Next 2427 0 R +>> +endobj +2419 0 obj +<< +/Title 2420 0 R +/A 2417 0 R +/Parent 2387 0 R +/Prev 2415 0 R +/Next 2423 0 R +>> +endobj +2415 0 obj +<< +/Title 2416 0 R +/A 2413 0 R +/Parent 2387 0 R +/Prev 2411 0 R +/Next 2419 0 R +>> +endobj +2411 0 obj +<< +/Title 2412 0 R +/A 2409 0 R +/Parent 2387 0 R +/Prev 2407 0 R +/Next 2415 0 R +>> +endobj +2407 0 obj +<< +/Title 2408 0 R +/A 2405 0 R +/Parent 2387 0 R +/Prev 2403 0 R +/Next 2411 0 R +>> +endobj +2403 0 obj +<< +/Title 2404 0 R +/A 2401 0 R +/Parent 2387 0 R +/Prev 2399 0 R +/Next 2407 0 R +>> +endobj +2399 0 obj +<< +/Title 2400 0 R +/A 2397 0 R +/Parent 2387 0 R +/Prev 2395 0 R +/Next 2403 0 R +>> +endobj +2395 0 obj +<< +/Title 2396 0 R +/A 2393 0 R +/Parent 2387 0 R +/Prev 2391 0 R +/Next 2399 0 R +>> +endobj +2391 0 obj +<< +/Title 2392 0 R +/A 2389 0 R +/Parent 2387 0 R +/Next 2395 0 R +>> +endobj +2387 0 obj +<< +/Title 2388 0 R +/A 2385 0 R +/Parent 2103 0 R +/Prev 2111 0 R +/Next 2459 0 R +/First 2391 0 R +/Last 2455 0 R +/Count -17 +>> +endobj +2383 0 obj +<< +/Title 2384 0 R +/A 2381 0 R +/Parent 2111 0 R +/Prev 2379 0 R +>> +endobj +2379 0 obj +<< +/Title 2380 0 R +/A 2377 0 R +/Parent 2111 0 R +/Prev 2375 0 R +/Next 2383 0 R +>> +endobj +2375 0 obj +<< +/Title 2376 0 R +/A 2373 0 R +/Parent 2111 0 R +/Prev 2371 0 R +/Next 2379 0 R +>> +endobj +2371 0 obj +<< +/Title 2372 0 R +/A 2369 0 R +/Parent 2111 0 R +/Prev 2367 0 R +/Next 2375 0 R +>> +endobj +2367 0 obj +<< +/Title 2368 0 R +/A 2365 0 R +/Parent 2111 0 R +/Prev 2363 0 R +/Next 2371 0 R +>> +endobj +2363 0 obj +<< +/Title 2364 0 R +/A 2361 0 R +/Parent 2111 0 R +/Prev 2359 0 R +/Next 2367 0 R +>> +endobj +2359 0 obj +<< +/Title 2360 0 R +/A 2357 0 R +/Parent 2111 0 R +/Prev 2355 0 R +/Next 2363 0 R +>> +endobj +2355 0 obj +<< +/Title 2356 0 R +/A 2353 0 R +/Parent 2111 0 R +/Prev 2351 0 R +/Next 2359 0 R +>> +endobj +2351 0 obj +<< +/Title 2352 0 R +/A 2349 0 R +/Parent 2111 0 R +/Prev 2347 0 R +/Next 2355 0 R +>> +endobj +2347 0 obj +<< +/Title 2348 0 R +/A 2345 0 R +/Parent 2111 0 R +/Prev 2343 0 R +/Next 2351 0 R +>> +endobj +2343 0 obj +<< +/Title 2344 0 R +/A 2341 0 R +/Parent 2111 0 R +/Prev 2339 0 R +/Next 2347 0 R +>> +endobj +2339 0 obj +<< +/Title 2340 0 R +/A 2337 0 R +/Parent 2111 0 R +/Prev 2335 0 R +/Next 2343 0 R +>> +endobj +2335 0 obj +<< +/Title 2336 0 R +/A 2333 0 R +/Parent 2111 0 R +/Prev 2331 0 R +/Next 2339 0 R +>> +endobj +2331 0 obj +<< +/Title 2332 0 R +/A 2329 0 R +/Parent 2111 0 R +/Prev 2327 0 R +/Next 2335 0 R +>> +endobj +2327 0 obj +<< +/Title 2328 0 R +/A 2325 0 R +/Parent 2111 0 R +/Prev 2323 0 R +/Next 2331 0 R +>> +endobj +2323 0 obj +<< +/Title 2324 0 R +/A 2321 0 R +/Parent 2111 0 R +/Prev 2319 0 R +/Next 2327 0 R +>> +endobj +2319 0 obj +<< +/Title 2320 0 R +/A 2317 0 R +/Parent 2111 0 R +/Prev 2315 0 R +/Next 2323 0 R +>> +endobj +2315 0 obj +<< +/Title 2316 0 R +/A 2313 0 R +/Parent 2111 0 R +/Prev 2311 0 R +/Next 2319 0 R +>> +endobj +2311 0 obj +<< +/Title 2312 0 R +/A 2309 0 R +/Parent 2111 0 R +/Prev 2307 0 R +/Next 2315 0 R +>> +endobj +2307 0 obj +<< +/Title 2308 0 R +/A 2305 0 R +/Parent 2111 0 R +/Prev 2303 0 R +/Next 2311 0 R +>> +endobj +2303 0 obj +<< +/Title 2304 0 R +/A 2301 0 R +/Parent 2111 0 R +/Prev 2299 0 R +/Next 2307 0 R +>> +endobj +2299 0 obj +<< +/Title 2300 0 R +/A 2297 0 R +/Parent 2111 0 R +/Prev 2295 0 R +/Next 2303 0 R +>> +endobj +2295 0 obj +<< +/Title 2296 0 R +/A 2293 0 R +/Parent 2111 0 R +/Prev 2291 0 R +/Next 2299 0 R +>> +endobj +2291 0 obj +<< +/Title 2292 0 R +/A 2289 0 R +/Parent 2111 0 R +/Prev 2287 0 R +/Next 2295 0 R +>> +endobj +2287 0 obj +<< +/Title 2288 0 R +/A 2285 0 R +/Parent 2111 0 R +/Prev 2283 0 R +/Next 2291 0 R +>> +endobj +2283 0 obj +<< +/Title 2284 0 R +/A 2281 0 R +/Parent 2111 0 R +/Prev 2279 0 R +/Next 2287 0 R +>> +endobj +2279 0 obj +<< +/Title 2280 0 R +/A 2277 0 R +/Parent 2111 0 R +/Prev 2275 0 R +/Next 2283 0 R +>> +endobj +2275 0 obj +<< +/Title 2276 0 R +/A 2273 0 R +/Parent 2111 0 R +/Prev 2271 0 R +/Next 2279 0 R +>> +endobj +2271 0 obj +<< +/Title 2272 0 R +/A 2269 0 R +/Parent 2111 0 R +/Prev 2267 0 R +/Next 2275 0 R +>> +endobj +2267 0 obj +<< +/Title 2268 0 R +/A 2265 0 R +/Parent 2111 0 R +/Prev 2263 0 R +/Next 2271 0 R +>> +endobj +2263 0 obj +<< +/Title 2264 0 R +/A 2261 0 R +/Parent 2111 0 R +/Prev 2259 0 R +/Next 2267 0 R +>> +endobj +2259 0 obj +<< +/Title 2260 0 R +/A 2257 0 R +/Parent 2111 0 R +/Prev 2255 0 R +/Next 2263 0 R +>> +endobj +2255 0 obj +<< +/Title 2256 0 R +/A 2253 0 R +/Parent 2111 0 R +/Prev 2251 0 R +/Next 2259 0 R +>> +endobj +2251 0 obj +<< +/Title 2252 0 R +/A 2249 0 R +/Parent 2111 0 R +/Prev 2247 0 R +/Next 2255 0 R +>> +endobj +2247 0 obj +<< +/Title 2248 0 R +/A 2245 0 R +/Parent 2111 0 R +/Prev 2243 0 R +/Next 2251 0 R +>> +endobj +2243 0 obj +<< +/Title 2244 0 R +/A 2241 0 R +/Parent 2111 0 R +/Prev 2239 0 R +/Next 2247 0 R +>> +endobj +2239 0 obj +<< +/Title 2240 0 R +/A 2237 0 R +/Parent 2111 0 R +/Prev 2235 0 R +/Next 2243 0 R +>> +endobj +2235 0 obj +<< +/Title 2236 0 R +/A 2233 0 R +/Parent 2111 0 R +/Prev 2231 0 R +/Next 2239 0 R +>> +endobj +2231 0 obj +<< +/Title 2232 0 R +/A 2229 0 R +/Parent 2111 0 R +/Prev 2227 0 R +/Next 2235 0 R +>> +endobj +2227 0 obj +<< +/Title 2228 0 R +/A 2225 0 R +/Parent 2111 0 R +/Prev 2223 0 R +/Next 2231 0 R +>> +endobj +2223 0 obj +<< +/Title 2224 0 R +/A 2221 0 R +/Parent 2111 0 R +/Prev 2219 0 R +/Next 2227 0 R +>> +endobj +2219 0 obj +<< +/Title 2220 0 R +/A 2217 0 R +/Parent 2111 0 R +/Prev 2215 0 R +/Next 2223 0 R +>> +endobj +2215 0 obj +<< +/Title 2216 0 R +/A 2213 0 R +/Parent 2111 0 R +/Prev 2211 0 R +/Next 2219 0 R +>> +endobj +2211 0 obj +<< +/Title 2212 0 R +/A 2209 0 R +/Parent 2111 0 R +/Prev 2207 0 R +/Next 2215 0 R +>> +endobj +2207 0 obj +<< +/Title 2208 0 R +/A 2205 0 R +/Parent 2111 0 R +/Prev 2203 0 R +/Next 2211 0 R +>> +endobj +2203 0 obj +<< +/Title 2204 0 R +/A 2201 0 R +/Parent 2111 0 R +/Prev 2199 0 R +/Next 2207 0 R +>> +endobj +2199 0 obj +<< +/Title 2200 0 R +/A 2197 0 R +/Parent 2111 0 R +/Prev 2195 0 R +/Next 2203 0 R +>> +endobj +2195 0 obj +<< +/Title 2196 0 R +/A 2193 0 R +/Parent 2111 0 R +/Prev 2191 0 R +/Next 2199 0 R +>> +endobj +2191 0 obj +<< +/Title 2192 0 R +/A 2189 0 R +/Parent 2111 0 R +/Prev 2187 0 R +/Next 2195 0 R +>> +endobj +2187 0 obj +<< +/Title 2188 0 R +/A 2185 0 R +/Parent 2111 0 R +/Prev 2183 0 R +/Next 2191 0 R +>> +endobj +2183 0 obj +<< +/Title 2184 0 R +/A 2181 0 R +/Parent 2111 0 R +/Prev 2179 0 R +/Next 2187 0 R +>> +endobj +2179 0 obj +<< +/Title 2180 0 R +/A 2177 0 R +/Parent 2111 0 R +/Prev 2175 0 R +/Next 2183 0 R +>> +endobj +2175 0 obj +<< +/Title 2176 0 R +/A 2173 0 R +/Parent 2111 0 R +/Prev 2171 0 R +/Next 2179 0 R +>> +endobj +2171 0 obj +<< +/Title 2172 0 R +/A 2169 0 R +/Parent 2111 0 R +/Prev 2167 0 R +/Next 2175 0 R +>> +endobj +2167 0 obj +<< +/Title 2168 0 R +/A 2165 0 R +/Parent 2111 0 R +/Prev 2163 0 R +/Next 2171 0 R +>> +endobj +2163 0 obj +<< +/Title 2164 0 R +/A 2161 0 R +/Parent 2111 0 R +/Prev 2159 0 R +/Next 2167 0 R +>> +endobj +2159 0 obj +<< +/Title 2160 0 R +/A 2157 0 R +/Parent 2111 0 R +/Prev 2155 0 R +/Next 2163 0 R +>> +endobj +2155 0 obj +<< +/Title 2156 0 R +/A 2153 0 R +/Parent 2111 0 R +/Prev 2151 0 R +/Next 2159 0 R +>> +endobj +2151 0 obj +<< +/Title 2152 0 R +/A 2149 0 R +/Parent 2111 0 R +/Prev 2147 0 R +/Next 2155 0 R +>> +endobj +2147 0 obj +<< +/Title 2148 0 R +/A 2145 0 R +/Parent 2111 0 R +/Prev 2143 0 R +/Next 2151 0 R +>> +endobj +2143 0 obj +<< +/Title 2144 0 R +/A 2141 0 R +/Parent 2111 0 R +/Prev 2139 0 R +/Next 2147 0 R +>> +endobj +2139 0 obj +<< +/Title 2140 0 R +/A 2137 0 R +/Parent 2111 0 R +/Prev 2135 0 R +/Next 2143 0 R +>> +endobj +2135 0 obj +<< +/Title 2136 0 R +/A 2133 0 R +/Parent 2111 0 R +/Prev 2131 0 R +/Next 2139 0 R +>> +endobj +2131 0 obj +<< +/Title 2132 0 R +/A 2129 0 R +/Parent 2111 0 R +/Prev 2127 0 R +/Next 2135 0 R +>> +endobj +2127 0 obj +<< +/Title 2128 0 R +/A 2125 0 R +/Parent 2111 0 R +/Prev 2123 0 R +/Next 2131 0 R +>> +endobj +2123 0 obj +<< +/Title 2124 0 R +/A 2121 0 R +/Parent 2111 0 R +/Prev 2119 0 R +/Next 2127 0 R +>> +endobj +2119 0 obj +<< +/Title 2120 0 R +/A 2117 0 R +/Parent 2111 0 R +/Prev 2115 0 R +/Next 2123 0 R +>> +endobj +2115 0 obj +<< +/Title 2116 0 R +/A 2113 0 R +/Parent 2111 0 R +/Next 2119 0 R +>> +endobj +2111 0 obj +<< +/Title 2112 0 R +/A 2109 0 R +/Parent 2103 0 R +/Prev 2107 0 R +/Next 2387 0 R +/First 2115 0 R +/Last 2383 0 R +/Count -68 +>> +endobj +2107 0 obj +<< +/Title 2108 0 R +/A 2105 0 R +/Parent 2103 0 R +/Next 2111 0 R +>> +endobj +2103 0 obj +<< +/Title 2104 0 R +/A 2101 0 R +/Parent 159 0 R +/Prev 2059 0 R +/Next 2647 0 R +/First 2107 0 R +/Last 2459 0 R +/Count -4 +>> +endobj +2099 0 obj +<< +/Title 2100 0 R +/A 2097 0 R +/Parent 2095 0 R +>> +endobj +2095 0 obj +<< +/Title 2096 0 R +/A 2093 0 R +/Parent 2059 0 R +/Prev 2083 0 R +/First 2099 0 R +/Last 2099 0 R +/Count -1 +>> +endobj +2091 0 obj +<< +/Title 2092 0 R +/A 2089 0 R +/Parent 2083 0 R +/Prev 2087 0 R +>> +endobj +2087 0 obj +<< +/Title 2088 0 R +/A 2085 0 R +/Parent 2083 0 R +/Next 2091 0 R +>> +endobj +2083 0 obj +<< +/Title 2084 0 R +/A 2081 0 R +/Parent 2059 0 R +/Prev 2075 0 R +/Next 2095 0 R +/First 2087 0 R +/Last 2091 0 R +/Count -2 +>> +endobj +2079 0 obj +<< +/Title 2080 0 R +/A 2077 0 R +/Parent 2075 0 R +>> +endobj +2075 0 obj +<< +/Title 2076 0 R +/A 2073 0 R +/Parent 2059 0 R +/Prev 2067 0 R +/Next 2083 0 R +/First 2079 0 R +/Last 2079 0 R +/Count -1 +>> +endobj +2071 0 obj +<< +/Title 2072 0 R +/A 2069 0 R +/Parent 2067 0 R +>> +endobj +2067 0 obj +<< +/Title 2068 0 R +/A 2065 0 R +/Parent 2059 0 R +/Prev 2063 0 R +/Next 2075 0 R +/First 2071 0 R +/Last 2071 0 R +/Count -1 +>> +endobj +2063 0 obj +<< +/Title 2064 0 R +/A 2061 0 R +/Parent 2059 0 R +/Next 2067 0 R +>> +endobj +2059 0 obj +<< +/Title 2060 0 R +/A 2057 0 R +/Parent 159 0 R +/Prev 2015 0 R +/Next 2103 0 R +/First 2063 0 R +/Last 2095 0 R +/Count -5 +>> +endobj +2055 0 obj +<< +/Title 2056 0 R +/A 2053 0 R +/Parent 2051 0 R +>> +endobj +2051 0 obj +<< +/Title 2052 0 R +/A 2049 0 R +/Parent 2015 0 R +/Prev 2035 0 R +/First 2055 0 R +/Last 2055 0 R +/Count -1 +>> +endobj +2047 0 obj +<< +/Title 2048 0 R +/A 2045 0 R +/Parent 2035 0 R +/Prev 2043 0 R +>> +endobj +2043 0 obj +<< +/Title 2044 0 R +/A 2041 0 R +/Parent 2035 0 R +/Prev 2039 0 R +/Next 2047 0 R +>> +endobj +2039 0 obj +<< +/Title 2040 0 R +/A 2037 0 R +/Parent 2035 0 R +/Next 2043 0 R +>> +endobj +2035 0 obj +<< +/Title 2036 0 R +/A 2033 0 R +/Parent 2015 0 R +/Prev 2023 0 R +/Next 2051 0 R +/First 2039 0 R +/Last 2047 0 R +/Count -3 +>> +endobj +2031 0 obj +<< +/Title 2032 0 R +/A 2029 0 R +/Parent 2023 0 R +/Prev 2027 0 R +>> +endobj +2027 0 obj +<< +/Title 2028 0 R +/A 2025 0 R +/Parent 2023 0 R +/Next 2031 0 R +>> +endobj +2023 0 obj +<< +/Title 2024 0 R +/A 2021 0 R +/Parent 2015 0 R +/Prev 2019 0 R +/Next 2035 0 R +/First 2027 0 R +/Last 2031 0 R +/Count -2 +>> +endobj +2019 0 obj +<< +/Title 2020 0 R +/A 2017 0 R +/Parent 2015 0 R +/Next 2023 0 R +>> +endobj +2015 0 obj +<< +/Title 2016 0 R +/A 2013 0 R +/Parent 159 0 R +/Prev 1951 0 R +/Next 2059 0 R +/First 2019 0 R +/Last 2051 0 R +/Count -4 +>> +endobj +2011 0 obj +<< +/Title 2012 0 R +/A 2009 0 R +/Parent 1971 0 R +/Prev 2007 0 R +>> +endobj +2007 0 obj +<< +/Title 2008 0 R +/A 2005 0 R +/Parent 1971 0 R +/Prev 2003 0 R +/Next 2011 0 R +>> +endobj +2003 0 obj +<< +/Title 2004 0 R +/A 2001 0 R +/Parent 1971 0 R +/Prev 1999 0 R +/Next 2007 0 R +>> +endobj +1999 0 obj +<< +/Title 2000 0 R +/A 1997 0 R +/Parent 1971 0 R +/Prev 1995 0 R +/Next 2003 0 R +>> +endobj +1995 0 obj +<< +/Title 1996 0 R +/A 1993 0 R +/Parent 1971 0 R +/Prev 1991 0 R +/Next 1999 0 R +>> +endobj +1991 0 obj +<< +/Title 1992 0 R +/A 1989 0 R +/Parent 1971 0 R +/Prev 1987 0 R +/Next 1995 0 R +>> +endobj +1987 0 obj +<< +/Title 1988 0 R +/A 1985 0 R +/Parent 1971 0 R +/Prev 1983 0 R +/Next 1991 0 R +>> +endobj +1983 0 obj +<< +/Title 1984 0 R +/A 1981 0 R +/Parent 1971 0 R +/Prev 1979 0 R +/Next 1987 0 R +>> +endobj +1979 0 obj +<< +/Title 1980 0 R +/A 1977 0 R +/Parent 1971 0 R +/Prev 1975 0 R +/Next 1983 0 R +>> +endobj +1975 0 obj +<< +/Title 1976 0 R +/A 1973 0 R +/Parent 1971 0 R +/Next 1979 0 R +>> +endobj +1971 0 obj +<< +/Title 1972 0 R +/A 1969 0 R +/Parent 1951 0 R +/Prev 1959 0 R +/First 1975 0 R +/Last 2011 0 R +/Count -10 +>> +endobj +1967 0 obj +<< +/Title 1968 0 R +/A 1965 0 R +/Parent 1959 0 R +/Prev 1963 0 R +>> +endobj +1963 0 obj +<< +/Title 1964 0 R +/A 1961 0 R +/Parent 1959 0 R +/Next 1967 0 R +>> +endobj +1959 0 obj +<< +/Title 1960 0 R +/A 1957 0 R +/Parent 1951 0 R +/Prev 1955 0 R +/Next 1971 0 R +/First 1963 0 R +/Last 1967 0 R +/Count -2 +>> +endobj +1955 0 obj +<< +/Title 1956 0 R +/A 1953 0 R +/Parent 1951 0 R +/Next 1959 0 R +>> +endobj +1951 0 obj +<< +/Title 1952 0 R +/A 1949 0 R +/Parent 159 0 R +/Prev 1671 0 R +/Next 2015 0 R +/First 1955 0 R +/Last 1971 0 R +/Count -3 +>> +endobj +1947 0 obj +<< +/Title 1948 0 R +/A 1945 0 R +/Parent 1679 0 R +/Prev 1943 0 R +>> +endobj +1943 0 obj +<< +/Title 1944 0 R +/A 1941 0 R +/Parent 1679 0 R +/Prev 1939 0 R +/Next 1947 0 R +>> +endobj +1939 0 obj +<< +/Title 1940 0 R +/A 1937 0 R +/Parent 1679 0 R +/Prev 1935 0 R +/Next 1943 0 R +>> +endobj +1935 0 obj +<< +/Title 1936 0 R +/A 1933 0 R +/Parent 1679 0 R +/Prev 1931 0 R +/Next 1939 0 R +>> +endobj +1931 0 obj +<< +/Title 1932 0 R +/A 1929 0 R +/Parent 1679 0 R +/Prev 1927 0 R +/Next 1935 0 R +>> +endobj +1927 0 obj +<< +/Title 1928 0 R +/A 1925 0 R +/Parent 1679 0 R +/Prev 1923 0 R +/Next 1931 0 R +>> +endobj +1923 0 obj +<< +/Title 1924 0 R +/A 1921 0 R +/Parent 1679 0 R +/Prev 1919 0 R +/Next 1927 0 R +>> +endobj +1919 0 obj +<< +/Title 1920 0 R +/A 1917 0 R +/Parent 1679 0 R +/Prev 1915 0 R +/Next 1923 0 R +>> +endobj +1915 0 obj +<< +/Title 1916 0 R +/A 1913 0 R +/Parent 1679 0 R +/Prev 1911 0 R +/Next 1919 0 R +>> +endobj +1911 0 obj +<< +/Title 1912 0 R +/A 1909 0 R +/Parent 1679 0 R +/Prev 1907 0 R +/Next 1915 0 R +>> +endobj +1907 0 obj +<< +/Title 1908 0 R +/A 1905 0 R +/Parent 1679 0 R +/Prev 1903 0 R +/Next 1911 0 R +>> +endobj +1903 0 obj +<< +/Title 1904 0 R +/A 1901 0 R +/Parent 1679 0 R +/Prev 1899 0 R +/Next 1907 0 R +>> +endobj +1899 0 obj +<< +/Title 1900 0 R +/A 1897 0 R +/Parent 1679 0 R +/Prev 1895 0 R +/Next 1903 0 R +>> +endobj +1895 0 obj +<< +/Title 1896 0 R +/A 1893 0 R +/Parent 1679 0 R +/Prev 1891 0 R +/Next 1899 0 R +>> +endobj +1891 0 obj +<< +/Title 1892 0 R +/A 1889 0 R +/Parent 1679 0 R +/Prev 1887 0 R +/Next 1895 0 R +>> +endobj +1887 0 obj +<< +/Title 1888 0 R +/A 1885 0 R +/Parent 1679 0 R +/Prev 1883 0 R +/Next 1891 0 R +>> +endobj +1883 0 obj +<< +/Title 1884 0 R +/A 1881 0 R +/Parent 1679 0 R +/Prev 1879 0 R +/Next 1887 0 R +>> +endobj +1879 0 obj +<< +/Title 1880 0 R +/A 1877 0 R +/Parent 1679 0 R +/Prev 1875 0 R +/Next 1883 0 R +>> +endobj +1875 0 obj +<< +/Title 1876 0 R +/A 1873 0 R +/Parent 1679 0 R +/Prev 1871 0 R +/Next 1879 0 R +>> +endobj +1871 0 obj +<< +/Title 1872 0 R +/A 1869 0 R +/Parent 1679 0 R +/Prev 1867 0 R +/Next 1875 0 R +>> +endobj +1867 0 obj +<< +/Title 1868 0 R +/A 1865 0 R +/Parent 1679 0 R +/Prev 1863 0 R +/Next 1871 0 R +>> +endobj +1863 0 obj +<< +/Title 1864 0 R +/A 1861 0 R +/Parent 1679 0 R +/Prev 1859 0 R +/Next 1867 0 R +>> +endobj +1859 0 obj +<< +/Title 1860 0 R +/A 1857 0 R +/Parent 1679 0 R +/Prev 1855 0 R +/Next 1863 0 R +>> +endobj +1855 0 obj +<< +/Title 1856 0 R +/A 1853 0 R +/Parent 1679 0 R +/Prev 1851 0 R +/Next 1859 0 R +>> +endobj +1851 0 obj +<< +/Title 1852 0 R +/A 1849 0 R +/Parent 1679 0 R +/Prev 1847 0 R +/Next 1855 0 R +>> +endobj +1847 0 obj +<< +/Title 1848 0 R +/A 1845 0 R +/Parent 1679 0 R +/Prev 1843 0 R +/Next 1851 0 R +>> +endobj +1843 0 obj +<< +/Title 1844 0 R +/A 1841 0 R +/Parent 1679 0 R +/Prev 1839 0 R +/Next 1847 0 R +>> +endobj +1839 0 obj +<< +/Title 1840 0 R +/A 1837 0 R +/Parent 1679 0 R +/Prev 1835 0 R +/Next 1843 0 R +>> +endobj +1835 0 obj +<< +/Title 1836 0 R +/A 1833 0 R +/Parent 1679 0 R +/Prev 1831 0 R +/Next 1839 0 R +>> +endobj +1831 0 obj +<< +/Title 1832 0 R +/A 1829 0 R +/Parent 1679 0 R +/Prev 1827 0 R +/Next 1835 0 R +>> +endobj +1827 0 obj +<< +/Title 1828 0 R +/A 1825 0 R +/Parent 1679 0 R +/Prev 1823 0 R +/Next 1831 0 R +>> +endobj +1823 0 obj +<< +/Title 1824 0 R +/A 1821 0 R +/Parent 1679 0 R +/Prev 1819 0 R +/Next 1827 0 R +>> +endobj +1819 0 obj +<< +/Title 1820 0 R +/A 1817 0 R +/Parent 1679 0 R +/Prev 1815 0 R +/Next 1823 0 R +>> +endobj +1815 0 obj +<< +/Title 1816 0 R +/A 1813 0 R +/Parent 1679 0 R +/Prev 1811 0 R +/Next 1819 0 R +>> +endobj +1811 0 obj +<< +/Title 1812 0 R +/A 1809 0 R +/Parent 1679 0 R +/Prev 1807 0 R +/Next 1815 0 R +>> +endobj +1807 0 obj +<< +/Title 1808 0 R +/A 1805 0 R +/Parent 1679 0 R +/Prev 1803 0 R +/Next 1811 0 R +>> +endobj +1803 0 obj +<< +/Title 1804 0 R +/A 1801 0 R +/Parent 1679 0 R +/Prev 1799 0 R +/Next 1807 0 R +>> +endobj +1799 0 obj +<< +/Title 1800 0 R +/A 1797 0 R +/Parent 1679 0 R +/Prev 1795 0 R +/Next 1803 0 R +>> +endobj +1795 0 obj +<< +/Title 1796 0 R +/A 1793 0 R +/Parent 1679 0 R +/Prev 1791 0 R +/Next 1799 0 R +>> +endobj +1791 0 obj +<< +/Title 1792 0 R +/A 1789 0 R +/Parent 1679 0 R +/Prev 1787 0 R +/Next 1795 0 R +>> +endobj +1787 0 obj +<< +/Title 1788 0 R +/A 1785 0 R +/Parent 1679 0 R +/Prev 1783 0 R +/Next 1791 0 R +>> +endobj +1783 0 obj +<< +/Title 1784 0 R +/A 1781 0 R +/Parent 1679 0 R +/Prev 1779 0 R +/Next 1787 0 R +>> +endobj +1779 0 obj +<< +/Title 1780 0 R +/A 1777 0 R +/Parent 1679 0 R +/Prev 1775 0 R +/Next 1783 0 R +>> +endobj +1775 0 obj +<< +/Title 1776 0 R +/A 1773 0 R +/Parent 1679 0 R +/Prev 1771 0 R +/Next 1779 0 R +>> +endobj +1771 0 obj +<< +/Title 1772 0 R +/A 1769 0 R +/Parent 1679 0 R +/Prev 1767 0 R +/Next 1775 0 R +>> +endobj +1767 0 obj +<< +/Title 1768 0 R +/A 1765 0 R +/Parent 1679 0 R +/Prev 1763 0 R +/Next 1771 0 R +>> +endobj +1763 0 obj +<< +/Title 1764 0 R +/A 1761 0 R +/Parent 1679 0 R +/Prev 1759 0 R +/Next 1767 0 R +>> +endobj +1759 0 obj +<< +/Title 1760 0 R +/A 1757 0 R +/Parent 1679 0 R +/Prev 1755 0 R +/Next 1763 0 R +>> +endobj +1755 0 obj +<< +/Title 1756 0 R +/A 1753 0 R +/Parent 1679 0 R +/Prev 1751 0 R +/Next 1759 0 R +>> +endobj +1751 0 obj +<< +/Title 1752 0 R +/A 1749 0 R +/Parent 1679 0 R +/Prev 1747 0 R +/Next 1755 0 R +>> +endobj +1747 0 obj +<< +/Title 1748 0 R +/A 1745 0 R +/Parent 1679 0 R +/Prev 1743 0 R +/Next 1751 0 R +>> +endobj +1743 0 obj +<< +/Title 1744 0 R +/A 1741 0 R +/Parent 1679 0 R +/Prev 1739 0 R +/Next 1747 0 R +>> +endobj +1739 0 obj +<< +/Title 1740 0 R +/A 1737 0 R +/Parent 1679 0 R +/Prev 1735 0 R +/Next 1743 0 R +>> +endobj +1735 0 obj +<< +/Title 1736 0 R +/A 1733 0 R +/Parent 1679 0 R +/Prev 1731 0 R +/Next 1739 0 R +>> +endobj +1731 0 obj +<< +/Title 1732 0 R +/A 1729 0 R +/Parent 1679 0 R +/Prev 1727 0 R +/Next 1735 0 R +>> +endobj +1727 0 obj +<< +/Title 1728 0 R +/A 1725 0 R +/Parent 1679 0 R +/Prev 1723 0 R +/Next 1731 0 R +>> +endobj +1723 0 obj +<< +/Title 1724 0 R +/A 1721 0 R +/Parent 1679 0 R +/Prev 1719 0 R +/Next 1727 0 R +>> +endobj +1719 0 obj +<< +/Title 1720 0 R +/A 1717 0 R +/Parent 1679 0 R +/Prev 1715 0 R +/Next 1723 0 R +>> +endobj +1715 0 obj +<< +/Title 1716 0 R +/A 1713 0 R +/Parent 1679 0 R +/Prev 1711 0 R +/Next 1719 0 R +>> +endobj +1711 0 obj +<< +/Title 1712 0 R +/A 1709 0 R +/Parent 1679 0 R +/Prev 1707 0 R +/Next 1715 0 R +>> +endobj +1707 0 obj +<< +/Title 1708 0 R +/A 1705 0 R +/Parent 1679 0 R +/Prev 1703 0 R +/Next 1711 0 R +>> +endobj +1703 0 obj +<< +/Title 1704 0 R +/A 1701 0 R +/Parent 1679 0 R +/Prev 1699 0 R +/Next 1707 0 R +>> +endobj +1699 0 obj +<< +/Title 1700 0 R +/A 1697 0 R +/Parent 1679 0 R +/Prev 1695 0 R +/Next 1703 0 R +>> +endobj +1695 0 obj +<< +/Title 1696 0 R +/A 1693 0 R +/Parent 1679 0 R +/Prev 1691 0 R +/Next 1699 0 R +>> +endobj +1691 0 obj +<< +/Title 1692 0 R +/A 1689 0 R +/Parent 1679 0 R +/Prev 1687 0 R +/Next 1695 0 R +>> +endobj +1687 0 obj +<< +/Title 1688 0 R +/A 1685 0 R +/Parent 1679 0 R +/Prev 1683 0 R +/Next 1691 0 R +>> +endobj +1683 0 obj +<< +/Title 1684 0 R +/A 1681 0 R +/Parent 1679 0 R +/Next 1687 0 R +>> +endobj +1679 0 obj +<< +/Title 1680 0 R +/A 1677 0 R +/Parent 1671 0 R +/Prev 1675 0 R +/First 1683 0 R +/Last 1947 0 R +/Count -67 +>> +endobj +1675 0 obj +<< +/Title 1676 0 R +/A 1673 0 R +/Parent 1671 0 R +/Next 1679 0 R +>> +endobj +1671 0 obj +<< +/Title 1672 0 R +/A 1669 0 R +/Parent 159 0 R +/Prev 1627 0 R +/Next 1951 0 R +/First 1675 0 R +/Last 1679 0 R +/Count -2 +>> +endobj +1667 0 obj +<< +/Title 1668 0 R +/A 1665 0 R +/Parent 1631 0 R +/Prev 1663 0 R +>> +endobj +1663 0 obj +<< +/Title 1664 0 R +/A 1661 0 R +/Parent 1631 0 R +/Prev 1659 0 R +/Next 1667 0 R +>> +endobj +1659 0 obj +<< +/Title 1660 0 R +/A 1657 0 R +/Parent 1631 0 R +/Prev 1655 0 R +/Next 1663 0 R +>> +endobj +1655 0 obj +<< +/Title 1656 0 R +/A 1653 0 R +/Parent 1631 0 R +/Prev 1651 0 R +/Next 1659 0 R +>> +endobj +1651 0 obj +<< +/Title 1652 0 R +/A 1649 0 R +/Parent 1631 0 R +/Prev 1647 0 R +/Next 1655 0 R +>> +endobj +1647 0 obj +<< +/Title 1648 0 R +/A 1645 0 R +/Parent 1631 0 R +/Prev 1643 0 R +/Next 1651 0 R +>> +endobj +1643 0 obj +<< +/Title 1644 0 R +/A 1641 0 R +/Parent 1631 0 R +/Prev 1639 0 R +/Next 1647 0 R +>> +endobj +1639 0 obj +<< +/Title 1640 0 R +/A 1637 0 R +/Parent 1631 0 R +/Prev 1635 0 R +/Next 1643 0 R +>> +endobj +1635 0 obj +<< +/Title 1636 0 R +/A 1633 0 R +/Parent 1631 0 R +/Next 1639 0 R +>> +endobj +1631 0 obj +<< +/Title 1632 0 R +/A 1629 0 R +/Parent 1627 0 R +/First 1635 0 R +/Last 1667 0 R +/Count -9 +>> +endobj +1627 0 obj +<< +/Title 1628 0 R +/A 1625 0 R +/Parent 159 0 R +/Prev 1535 0 R +/Next 1671 0 R +/First 1631 0 R +/Last 1631 0 R +/Count -1 +>> +endobj +1623 0 obj +<< +/Title 1624 0 R +/A 1621 0 R +/Parent 1543 0 R +/Prev 1619 0 R +>> +endobj +1619 0 obj +<< +/Title 1620 0 R +/A 1617 0 R +/Parent 1543 0 R +/Prev 1615 0 R +/Next 1623 0 R +>> +endobj +1615 0 obj +<< +/Title 1616 0 R +/A 1613 0 R +/Parent 1543 0 R +/Prev 1611 0 R +/Next 1619 0 R +>> +endobj +1611 0 obj +<< +/Title 1612 0 R +/A 1609 0 R +/Parent 1543 0 R +/Prev 1607 0 R +/Next 1615 0 R +>> +endobj +1607 0 obj +<< +/Title 1608 0 R +/A 1605 0 R +/Parent 1543 0 R +/Prev 1603 0 R +/Next 1611 0 R +>> +endobj +1603 0 obj +<< +/Title 1604 0 R +/A 1601 0 R +/Parent 1543 0 R +/Prev 1599 0 R +/Next 1607 0 R +>> +endobj +1599 0 obj +<< +/Title 1600 0 R +/A 1597 0 R +/Parent 1543 0 R +/Prev 1595 0 R +/Next 1603 0 R +>> +endobj +1595 0 obj +<< +/Title 1596 0 R +/A 1593 0 R +/Parent 1543 0 R +/Prev 1591 0 R +/Next 1599 0 R +>> +endobj +1591 0 obj +<< +/Title 1592 0 R +/A 1589 0 R +/Parent 1543 0 R +/Prev 1587 0 R +/Next 1595 0 R +>> +endobj +1587 0 obj +<< +/Title 1588 0 R +/A 1585 0 R +/Parent 1543 0 R +/Prev 1583 0 R +/Next 1591 0 R +>> +endobj +1583 0 obj +<< +/Title 1584 0 R +/A 1581 0 R +/Parent 1543 0 R +/Prev 1579 0 R +/Next 1587 0 R +>> +endobj +1579 0 obj +<< +/Title 1580 0 R +/A 1577 0 R +/Parent 1543 0 R +/Prev 1575 0 R +/Next 1583 0 R +>> +endobj +1575 0 obj +<< +/Title 1576 0 R +/A 1573 0 R +/Parent 1543 0 R +/Prev 1571 0 R +/Next 1579 0 R +>> +endobj +1571 0 obj +<< +/Title 1572 0 R +/A 1569 0 R +/Parent 1543 0 R +/Prev 1567 0 R +/Next 1575 0 R +>> +endobj +1567 0 obj +<< +/Title 1568 0 R +/A 1565 0 R +/Parent 1543 0 R +/Prev 1563 0 R +/Next 1571 0 R +>> +endobj +1563 0 obj +<< +/Title 1564 0 R +/A 1561 0 R +/Parent 1543 0 R +/Prev 1559 0 R +/Next 1567 0 R +>> +endobj +1559 0 obj +<< +/Title 1560 0 R +/A 1557 0 R +/Parent 1543 0 R +/Prev 1555 0 R +/Next 1563 0 R +>> +endobj +1555 0 obj +<< +/Title 1556 0 R +/A 1553 0 R +/Parent 1543 0 R +/Prev 1551 0 R +/Next 1559 0 R +>> +endobj +1551 0 obj +<< +/Title 1552 0 R +/A 1549 0 R +/Parent 1543 0 R +/Prev 1547 0 R +/Next 1555 0 R +>> +endobj +1547 0 obj +<< +/Title 1548 0 R +/A 1545 0 R +/Parent 1543 0 R +/Next 1551 0 R +>> +endobj +1543 0 obj +<< +/Title 1544 0 R +/A 1541 0 R +/Parent 1535 0 R +/Prev 1539 0 R +/First 1547 0 R +/Last 1623 0 R +/Count -20 +>> +endobj +1539 0 obj +<< +/Title 1540 0 R +/A 1537 0 R +/Parent 1535 0 R +/Next 1543 0 R +>> +endobj +1535 0 obj +<< +/Title 1536 0 R +/A 1533 0 R +/Parent 159 0 R +/Prev 1515 0 R +/Next 1627 0 R +/First 1539 0 R +/Last 1543 0 R +/Count -2 +>> +endobj +1531 0 obj +<< +/Title 1532 0 R +/A 1529 0 R +/Parent 1523 0 R +/Prev 1527 0 R +>> +endobj +1527 0 obj +<< +/Title 1528 0 R +/A 1525 0 R +/Parent 1523 0 R +/Next 1531 0 R +>> +endobj +1523 0 obj +<< +/Title 1524 0 R +/A 1521 0 R +/Parent 1515 0 R +/Prev 1519 0 R +/First 1527 0 R +/Last 1531 0 R +/Count -2 +>> +endobj +1519 0 obj +<< +/Title 1520 0 R +/A 1517 0 R +/Parent 1515 0 R +/Next 1523 0 R +>> +endobj +1515 0 obj +<< +/Title 1516 0 R +/A 1513 0 R +/Parent 159 0 R +/Prev 1495 0 R +/Next 1535 0 R +/First 1519 0 R +/Last 1523 0 R +/Count -2 +>> +endobj +1511 0 obj +<< +/Title 1512 0 R +/A 1509 0 R +/Parent 1503 0 R +/Prev 1507 0 R +>> +endobj +1507 0 obj +<< +/Title 1508 0 R +/A 1505 0 R +/Parent 1503 0 R +/Next 1511 0 R +>> +endobj +1503 0 obj +<< +/Title 1504 0 R +/A 1501 0 R +/Parent 1495 0 R +/Prev 1499 0 R +/First 1507 0 R +/Last 1511 0 R +/Count -2 +>> +endobj +1499 0 obj +<< +/Title 1500 0 R +/A 1497 0 R +/Parent 1495 0 R +/Next 1503 0 R +>> +endobj +1495 0 obj +<< +/Title 1496 0 R +/A 1493 0 R +/Parent 159 0 R +/Prev 1487 0 R +/Next 1515 0 R +/First 1499 0 R +/Last 1503 0 R +/Count -2 +>> +endobj +1491 0 obj +<< +/Title 1492 0 R +/A 1489 0 R +/Parent 1487 0 R +>> +endobj +1487 0 obj +<< +/Title 1488 0 R +/A 1485 0 R +/Parent 159 0 R +/Prev 1359 0 R +/Next 1495 0 R +/First 1491 0 R +/Last 1491 0 R +/Count -1 +>> +endobj +1483 0 obj +<< +/Title 1484 0 R +/A 1481 0 R +/Parent 1367 0 R +/Prev 1479 0 R +>> +endobj +1479 0 obj +<< +/Title 1480 0 R +/A 1477 0 R +/Parent 1367 0 R +/Prev 1475 0 R +/Next 1483 0 R +>> +endobj +1475 0 obj +<< +/Title 1476 0 R +/A 1473 0 R +/Parent 1367 0 R +/Prev 1471 0 R +/Next 1479 0 R +>> +endobj +1471 0 obj +<< +/Title 1472 0 R +/A 1469 0 R +/Parent 1367 0 R +/Prev 1467 0 R +/Next 1475 0 R +>> +endobj +1467 0 obj +<< +/Title 1468 0 R +/A 1465 0 R +/Parent 1367 0 R +/Prev 1463 0 R +/Next 1471 0 R +>> +endobj +1463 0 obj +<< +/Title 1464 0 R +/A 1461 0 R +/Parent 1367 0 R +/Prev 1459 0 R +/Next 1467 0 R +>> +endobj +1459 0 obj +<< +/Title 1460 0 R +/A 1457 0 R +/Parent 1367 0 R +/Prev 1455 0 R +/Next 1463 0 R +>> +endobj +1455 0 obj +<< +/Title 1456 0 R +/A 1453 0 R +/Parent 1367 0 R +/Prev 1451 0 R +/Next 1459 0 R +>> +endobj +1451 0 obj +<< +/Title 1452 0 R +/A 1449 0 R +/Parent 1367 0 R +/Prev 1447 0 R +/Next 1455 0 R +>> +endobj +1447 0 obj +<< +/Title 1448 0 R +/A 1445 0 R +/Parent 1367 0 R +/Prev 1443 0 R +/Next 1451 0 R +>> +endobj +1443 0 obj +<< +/Title 1444 0 R +/A 1441 0 R +/Parent 1367 0 R +/Prev 1439 0 R +/Next 1447 0 R +>> +endobj +1439 0 obj +<< +/Title 1440 0 R +/A 1437 0 R +/Parent 1367 0 R +/Prev 1435 0 R +/Next 1443 0 R +>> +endobj +1435 0 obj +<< +/Title 1436 0 R +/A 1433 0 R +/Parent 1367 0 R +/Prev 1431 0 R +/Next 1439 0 R +>> +endobj +1431 0 obj +<< +/Title 1432 0 R +/A 1429 0 R +/Parent 1367 0 R +/Prev 1427 0 R +/Next 1435 0 R +>> +endobj +1427 0 obj +<< +/Title 1428 0 R +/A 1425 0 R +/Parent 1367 0 R +/Prev 1423 0 R +/Next 1431 0 R +>> +endobj +1423 0 obj +<< +/Title 1424 0 R +/A 1421 0 R +/Parent 1367 0 R +/Prev 1419 0 R +/Next 1427 0 R +>> +endobj +1419 0 obj +<< +/Title 1420 0 R +/A 1417 0 R +/Parent 1367 0 R +/Prev 1415 0 R +/Next 1423 0 R +>> +endobj +1415 0 obj +<< +/Title 1416 0 R +/A 1413 0 R +/Parent 1367 0 R +/Prev 1411 0 R +/Next 1419 0 R +>> +endobj +1411 0 obj +<< +/Title 1412 0 R +/A 1409 0 R +/Parent 1367 0 R +/Prev 1407 0 R +/Next 1415 0 R +>> +endobj +1407 0 obj +<< +/Title 1408 0 R +/A 1405 0 R +/Parent 1367 0 R +/Prev 1403 0 R +/Next 1411 0 R +>> +endobj +1403 0 obj +<< +/Title 1404 0 R +/A 1401 0 R +/Parent 1367 0 R +/Prev 1399 0 R +/Next 1407 0 R +>> +endobj +1399 0 obj +<< +/Title 1400 0 R +/A 1397 0 R +/Parent 1367 0 R +/Prev 1395 0 R +/Next 1403 0 R +>> +endobj +1395 0 obj +<< +/Title 1396 0 R +/A 1393 0 R +/Parent 1367 0 R +/Prev 1391 0 R +/Next 1399 0 R +>> +endobj +1391 0 obj +<< +/Title 1392 0 R +/A 1389 0 R +/Parent 1367 0 R +/Prev 1387 0 R +/Next 1395 0 R +>> +endobj +1387 0 obj +<< +/Title 1388 0 R +/A 1385 0 R +/Parent 1367 0 R +/Prev 1383 0 R +/Next 1391 0 R +>> +endobj +1383 0 obj +<< +/Title 1384 0 R +/A 1381 0 R +/Parent 1367 0 R +/Prev 1379 0 R +/Next 1387 0 R +>> +endobj +1379 0 obj +<< +/Title 1380 0 R +/A 1377 0 R +/Parent 1367 0 R +/Prev 1375 0 R +/Next 1383 0 R +>> +endobj +1375 0 obj +<< +/Title 1376 0 R +/A 1373 0 R +/Parent 1367 0 R +/Prev 1371 0 R +/Next 1379 0 R +>> +endobj +1371 0 obj +<< +/Title 1372 0 R +/A 1369 0 R +/Parent 1367 0 R +/Next 1375 0 R +>> +endobj +1367 0 obj +<< +/Title 1368 0 R +/A 1365 0 R +/Parent 1359 0 R +/Prev 1363 0 R +/First 1371 0 R +/Last 1483 0 R +/Count -29 +>> +endobj +1363 0 obj +<< +/Title 1364 0 R +/A 1361 0 R +/Parent 1359 0 R +/Next 1367 0 R +>> +endobj +1359 0 obj +<< +/Title 1360 0 R +/A 1357 0 R +/Parent 159 0 R +/Prev 1311 0 R +/Next 1487 0 R +/First 1363 0 R +/Last 1367 0 R +/Count -2 +>> +endobj +1355 0 obj +<< +/Title 1356 0 R +/A 1353 0 R +/Parent 1319 0 R +/Prev 1351 0 R +>> +endobj +1351 0 obj +<< +/Title 1352 0 R +/A 1349 0 R +/Parent 1319 0 R +/Prev 1347 0 R +/Next 1355 0 R +>> +endobj +1347 0 obj +<< +/Title 1348 0 R +/A 1345 0 R +/Parent 1319 0 R +/Prev 1343 0 R +/Next 1351 0 R +>> +endobj +1343 0 obj +<< +/Title 1344 0 R +/A 1341 0 R +/Parent 1319 0 R +/Prev 1339 0 R +/Next 1347 0 R +>> +endobj +1339 0 obj +<< +/Title 1340 0 R +/A 1337 0 R +/Parent 1319 0 R +/Prev 1335 0 R +/Next 1343 0 R +>> +endobj +1335 0 obj +<< +/Title 1336 0 R +/A 1333 0 R +/Parent 1319 0 R +/Prev 1331 0 R +/Next 1339 0 R +>> +endobj +1331 0 obj +<< +/Title 1332 0 R +/A 1329 0 R +/Parent 1319 0 R +/Prev 1327 0 R +/Next 1335 0 R +>> +endobj +1327 0 obj +<< +/Title 1328 0 R +/A 1325 0 R +/Parent 1319 0 R +/Prev 1323 0 R +/Next 1331 0 R +>> +endobj +1323 0 obj +<< +/Title 1324 0 R +/A 1321 0 R +/Parent 1319 0 R +/Next 1327 0 R +>> +endobj +1319 0 obj +<< +/Title 1320 0 R +/A 1317 0 R +/Parent 1311 0 R +/Prev 1315 0 R +/First 1323 0 R +/Last 1355 0 R +/Count -9 +>> +endobj +1315 0 obj +<< +/Title 1316 0 R +/A 1313 0 R +/Parent 1311 0 R +/Next 1319 0 R +>> +endobj +1311 0 obj +<< +/Title 1312 0 R +/A 1309 0 R +/Parent 159 0 R +/Prev 1295 0 R +/Next 1359 0 R +/First 1315 0 R +/Last 1319 0 R +/Count -2 +>> +endobj +1307 0 obj +<< +/Title 1308 0 R +/A 1305 0 R +/Parent 1303 0 R +>> +endobj +1303 0 obj +<< +/Title 1304 0 R +/A 1301 0 R +/Parent 1295 0 R +/Prev 1299 0 R +/First 1307 0 R +/Last 1307 0 R +/Count -1 +>> +endobj +1299 0 obj +<< +/Title 1300 0 R +/A 1297 0 R +/Parent 1295 0 R +/Next 1303 0 R +>> +endobj +1295 0 obj +<< +/Title 1296 0 R +/A 1293 0 R +/Parent 159 0 R +/Prev 1283 0 R +/Next 1311 0 R +/First 1299 0 R +/Last 1303 0 R +/Count -2 +>> +endobj +1291 0 obj +<< +/Title 1292 0 R +/A 1289 0 R +/Parent 1287 0 R +>> +endobj +1287 0 obj +<< +/Title 1288 0 R +/A 1285 0 R +/Parent 1283 0 R +/First 1291 0 R +/Last 1291 0 R +/Count -1 +>> +endobj +1283 0 obj +<< +/Title 1284 0 R +/A 1281 0 R +/Parent 159 0 R +/Prev 1235 0 R +/Next 1295 0 R +/First 1287 0 R +/Last 1287 0 R +/Count -1 +>> +endobj +1279 0 obj +<< +/Title 1280 0 R +/A 1277 0 R +/Parent 1243 0 R +/Prev 1275 0 R +>> +endobj +1275 0 obj +<< +/Title 1276 0 R +/A 1273 0 R +/Parent 1243 0 R +/Prev 1271 0 R +/Next 1279 0 R +>> +endobj +1271 0 obj +<< +/Title 1272 0 R +/A 1269 0 R +/Parent 1243 0 R +/Prev 1267 0 R +/Next 1275 0 R +>> +endobj +1267 0 obj +<< +/Title 1268 0 R +/A 1265 0 R +/Parent 1243 0 R +/Prev 1263 0 R +/Next 1271 0 R +>> +endobj +1263 0 obj +<< +/Title 1264 0 R +/A 1261 0 R +/Parent 1243 0 R +/Prev 1259 0 R +/Next 1267 0 R +>> +endobj +1259 0 obj +<< +/Title 1260 0 R +/A 1257 0 R +/Parent 1243 0 R +/Prev 1255 0 R +/Next 1263 0 R +>> +endobj +1255 0 obj +<< +/Title 1256 0 R +/A 1253 0 R +/Parent 1243 0 R +/Prev 1251 0 R +/Next 1259 0 R +>> +endobj +1251 0 obj +<< +/Title 1252 0 R +/A 1249 0 R +/Parent 1243 0 R +/Prev 1247 0 R +/Next 1255 0 R +>> +endobj +1247 0 obj +<< +/Title 1248 0 R +/A 1245 0 R +/Parent 1243 0 R +/Next 1251 0 R +>> +endobj +1243 0 obj +<< +/Title 1244 0 R +/A 1241 0 R +/Parent 1235 0 R +/Prev 1239 0 R +/First 1247 0 R +/Last 1279 0 R +/Count -9 +>> +endobj +1239 0 obj +<< +/Title 1240 0 R +/A 1237 0 R +/Parent 1235 0 R +/Next 1243 0 R +>> +endobj +1235 0 obj +<< +/Title 1236 0 R +/A 1233 0 R +/Parent 159 0 R +/Prev 1219 0 R +/Next 1283 0 R +/First 1239 0 R +/Last 1243 0 R +/Count -2 +>> +endobj +1231 0 obj +<< +/Title 1232 0 R +/A 1229 0 R +/Parent 1227 0 R +>> +endobj +1227 0 obj +<< +/Title 1228 0 R +/A 1225 0 R +/Parent 1219 0 R +/Prev 1223 0 R +/First 1231 0 R +/Last 1231 0 R +/Count -1 +>> +endobj +1223 0 obj +<< +/Title 1224 0 R +/A 1221 0 R +/Parent 1219 0 R +/Next 1227 0 R +>> +endobj +1219 0 obj +<< +/Title 1220 0 R +/A 1217 0 R +/Parent 159 0 R +/Prev 1183 0 R +/Next 1235 0 R +/First 1223 0 R +/Last 1227 0 R +/Count -2 +>> +endobj +1215 0 obj +<< +/Title 1216 0 R +/A 1213 0 R +/Parent 1199 0 R +/Prev 1211 0 R +>> +endobj +1211 0 obj +<< +/Title 1212 0 R +/A 1209 0 R +/Parent 1199 0 R +/Prev 1207 0 R +/Next 1215 0 R +>> +endobj +1207 0 obj +<< +/Title 1208 0 R +/A 1205 0 R +/Parent 1199 0 R +/Prev 1203 0 R +/Next 1211 0 R +>> +endobj +1203 0 obj +<< +/Title 1204 0 R +/A 1201 0 R +/Parent 1199 0 R +/Next 1207 0 R +>> +endobj +1199 0 obj +<< +/Title 1200 0 R +/A 1197 0 R +/Parent 1183 0 R +/Prev 1191 0 R +/First 1203 0 R +/Last 1215 0 R +/Count -4 +>> +endobj +1195 0 obj +<< +/Title 1196 0 R +/A 1193 0 R +/Parent 1191 0 R +>> +endobj +1191 0 obj +<< +/Title 1192 0 R +/A 1189 0 R +/Parent 1183 0 R +/Prev 1187 0 R +/Next 1199 0 R +/First 1195 0 R +/Last 1195 0 R +/Count -1 +>> +endobj +1187 0 obj +<< +/Title 1188 0 R +/A 1185 0 R +/Parent 1183 0 R +/Next 1191 0 R +>> +endobj +1183 0 obj +<< +/Title 1184 0 R +/A 1181 0 R +/Parent 159 0 R +/Prev 1107 0 R +/Next 1219 0 R +/First 1187 0 R +/Last 1199 0 R +/Count -3 +>> +endobj +1179 0 obj +<< +/Title 1180 0 R +/A 1177 0 R +/Parent 1175 0 R +>> +endobj +1175 0 obj +<< +/Title 1176 0 R +/A 1173 0 R +/Parent 1107 0 R +/Prev 1115 0 R +/First 1179 0 R +/Last 1179 0 R +/Count -1 +>> +endobj +1171 0 obj +<< +/Title 1172 0 R +/A 1169 0 R +/Parent 1115 0 R +/Prev 1167 0 R +>> +endobj +1167 0 obj +<< +/Title 1168 0 R +/A 1165 0 R +/Parent 1115 0 R +/Prev 1163 0 R +/Next 1171 0 R +>> +endobj +1163 0 obj +<< +/Title 1164 0 R +/A 1161 0 R +/Parent 1115 0 R +/Prev 1159 0 R +/Next 1167 0 R +>> +endobj +1159 0 obj +<< +/Title 1160 0 R +/A 1157 0 R +/Parent 1115 0 R +/Prev 1155 0 R +/Next 1163 0 R +>> +endobj +1155 0 obj +<< +/Title 1156 0 R +/A 1153 0 R +/Parent 1115 0 R +/Prev 1151 0 R +/Next 1159 0 R +>> +endobj +1151 0 obj +<< +/Title 1152 0 R +/A 1149 0 R +/Parent 1115 0 R +/Prev 1147 0 R +/Next 1155 0 R +>> +endobj +1147 0 obj +<< +/Title 1148 0 R +/A 1145 0 R +/Parent 1115 0 R +/Prev 1143 0 R +/Next 1151 0 R +>> +endobj +1143 0 obj +<< +/Title 1144 0 R +/A 1141 0 R +/Parent 1115 0 R +/Prev 1139 0 R +/Next 1147 0 R +>> +endobj +1139 0 obj +<< +/Title 1140 0 R +/A 1137 0 R +/Parent 1115 0 R +/Prev 1135 0 R +/Next 1143 0 R +>> +endobj +1135 0 obj +<< +/Title 1136 0 R +/A 1133 0 R +/Parent 1115 0 R +/Prev 1131 0 R +/Next 1139 0 R +>> +endobj +1131 0 obj +<< +/Title 1132 0 R +/A 1129 0 R +/Parent 1115 0 R +/Prev 1127 0 R +/Next 1135 0 R +>> +endobj +1127 0 obj +<< +/Title 1128 0 R +/A 1125 0 R +/Parent 1115 0 R +/Prev 1123 0 R +/Next 1131 0 R +>> +endobj +1123 0 obj +<< +/Title 1124 0 R +/A 1121 0 R +/Parent 1115 0 R +/Prev 1119 0 R +/Next 1127 0 R +>> +endobj +1119 0 obj +<< +/Title 1120 0 R +/A 1117 0 R +/Parent 1115 0 R +/Next 1123 0 R +>> +endobj +1115 0 obj +<< +/Title 1116 0 R +/A 1113 0 R +/Parent 1107 0 R +/Prev 1111 0 R +/Next 1175 0 R +/First 1119 0 R +/Last 1171 0 R +/Count -14 +>> +endobj +1111 0 obj +<< +/Title 1112 0 R +/A 1109 0 R +/Parent 1107 0 R +/Next 1115 0 R +>> +endobj +1107 0 obj +<< +/Title 1108 0 R +/A 1105 0 R +/Parent 159 0 R +/Prev 1039 0 R +/Next 1183 0 R +/First 1111 0 R +/Last 1175 0 R +/Count -3 +>> +endobj +1103 0 obj +<< +/Title 1104 0 R +/A 1101 0 R +/Parent 1047 0 R +/Prev 1099 0 R +>> +endobj +1099 0 obj +<< +/Title 1100 0 R +/A 1097 0 R +/Parent 1047 0 R +/Prev 1095 0 R +/Next 1103 0 R +>> +endobj +1095 0 obj +<< +/Title 1096 0 R +/A 1093 0 R +/Parent 1047 0 R +/Prev 1091 0 R +/Next 1099 0 R +>> +endobj +1091 0 obj +<< +/Title 1092 0 R +/A 1089 0 R +/Parent 1047 0 R +/Prev 1087 0 R +/Next 1095 0 R +>> +endobj +1087 0 obj +<< +/Title 1088 0 R +/A 1085 0 R +/Parent 1047 0 R +/Prev 1083 0 R +/Next 1091 0 R +>> +endobj +1083 0 obj +<< +/Title 1084 0 R +/A 1081 0 R +/Parent 1047 0 R +/Prev 1079 0 R +/Next 1087 0 R +>> +endobj +1079 0 obj +<< +/Title 1080 0 R +/A 1077 0 R +/Parent 1047 0 R +/Prev 1075 0 R +/Next 1083 0 R +>> +endobj +1075 0 obj +<< +/Title 1076 0 R +/A 1073 0 R +/Parent 1047 0 R +/Prev 1071 0 R +/Next 1079 0 R +>> +endobj +1071 0 obj +<< +/Title 1072 0 R +/A 1069 0 R +/Parent 1047 0 R +/Prev 1067 0 R +/Next 1075 0 R +>> +endobj +1067 0 obj +<< +/Title 1068 0 R +/A 1065 0 R +/Parent 1047 0 R +/Prev 1063 0 R +/Next 1071 0 R +>> +endobj +1063 0 obj +<< +/Title 1064 0 R +/A 1061 0 R +/Parent 1047 0 R +/Prev 1059 0 R +/Next 1067 0 R +>> +endobj +1059 0 obj +<< +/Title 1060 0 R +/A 1057 0 R +/Parent 1047 0 R +/Prev 1055 0 R +/Next 1063 0 R +>> +endobj +1055 0 obj +<< +/Title 1056 0 R +/A 1053 0 R +/Parent 1047 0 R +/Prev 1051 0 R +/Next 1059 0 R +>> +endobj +1051 0 obj +<< +/Title 1052 0 R +/A 1049 0 R +/Parent 1047 0 R +/Next 1055 0 R +>> +endobj +1047 0 obj +<< +/Title 1048 0 R +/A 1045 0 R +/Parent 1039 0 R +/Prev 1043 0 R +/First 1051 0 R +/Last 1103 0 R +/Count -14 +>> +endobj +1043 0 obj +<< +/Title 1044 0 R +/A 1041 0 R +/Parent 1039 0 R +/Next 1047 0 R +>> +endobj +1039 0 obj +<< +/Title 1040 0 R +/A 1037 0 R +/Parent 159 0 R +/Prev 911 0 R +/Next 1107 0 R +/First 1043 0 R +/Last 1047 0 R +/Count -2 +>> +endobj +1035 0 obj +<< +/Title 1036 0 R +/A 1033 0 R +/Parent 919 0 R +/Prev 1031 0 R +>> +endobj +1031 0 obj +<< +/Title 1032 0 R +/A 1029 0 R +/Parent 919 0 R +/Prev 1027 0 R +/Next 1035 0 R +>> +endobj +1027 0 obj +<< +/Title 1028 0 R +/A 1025 0 R +/Parent 919 0 R +/Prev 1023 0 R +/Next 1031 0 R +>> +endobj +1023 0 obj +<< +/Title 1024 0 R +/A 1021 0 R +/Parent 919 0 R +/Prev 1019 0 R +/Next 1027 0 R +>> +endobj +1019 0 obj +<< +/Title 1020 0 R +/A 1017 0 R +/Parent 919 0 R +/Prev 1015 0 R +/Next 1023 0 R +>> +endobj +1015 0 obj +<< +/Title 1016 0 R +/A 1013 0 R +/Parent 919 0 R +/Prev 1011 0 R +/Next 1019 0 R +>> +endobj +1011 0 obj +<< +/Title 1012 0 R +/A 1009 0 R +/Parent 919 0 R +/Prev 1007 0 R +/Next 1015 0 R +>> +endobj +1007 0 obj +<< +/Title 1008 0 R +/A 1005 0 R +/Parent 919 0 R +/Prev 1003 0 R +/Next 1011 0 R +>> +endobj +1003 0 obj +<< +/Title 1004 0 R +/A 1001 0 R +/Parent 919 0 R +/Prev 999 0 R +/Next 1007 0 R +>> +endobj +999 0 obj +<< +/Title 1000 0 R +/A 997 0 R +/Parent 919 0 R +/Prev 995 0 R +/Next 1003 0 R +>> +endobj +995 0 obj +<< +/Title 996 0 R +/A 993 0 R +/Parent 919 0 R +/Prev 991 0 R +/Next 999 0 R +>> +endobj +991 0 obj +<< +/Title 992 0 R +/A 989 0 R +/Parent 919 0 R +/Prev 987 0 R +/Next 995 0 R +>> +endobj +987 0 obj +<< +/Title 988 0 R +/A 985 0 R +/Parent 919 0 R +/Prev 983 0 R +/Next 991 0 R +>> +endobj +983 0 obj +<< +/Title 984 0 R +/A 981 0 R +/Parent 919 0 R +/Prev 979 0 R +/Next 987 0 R +>> +endobj +979 0 obj +<< +/Title 980 0 R +/A 977 0 R +/Parent 919 0 R +/Prev 975 0 R +/Next 983 0 R +>> +endobj +975 0 obj +<< +/Title 976 0 R +/A 973 0 R +/Parent 919 0 R +/Prev 971 0 R +/Next 979 0 R +>> +endobj +971 0 obj +<< +/Title 972 0 R +/A 969 0 R +/Parent 919 0 R +/Prev 967 0 R +/Next 975 0 R +>> +endobj +967 0 obj +<< +/Title 968 0 R +/A 965 0 R +/Parent 919 0 R +/Prev 963 0 R +/Next 971 0 R +>> +endobj +963 0 obj +<< +/Title 964 0 R +/A 961 0 R +/Parent 919 0 R +/Prev 959 0 R +/Next 967 0 R +>> +endobj +959 0 obj +<< +/Title 960 0 R +/A 957 0 R +/Parent 919 0 R +/Prev 955 0 R +/Next 963 0 R +>> +endobj +955 0 obj +<< +/Title 956 0 R +/A 953 0 R +/Parent 919 0 R +/Prev 951 0 R +/Next 959 0 R +>> +endobj +951 0 obj +<< +/Title 952 0 R +/A 949 0 R +/Parent 919 0 R +/Prev 947 0 R +/Next 955 0 R +>> +endobj +947 0 obj +<< +/Title 948 0 R +/A 945 0 R +/Parent 919 0 R +/Prev 943 0 R +/Next 951 0 R +>> +endobj +943 0 obj +<< +/Title 944 0 R +/A 941 0 R +/Parent 919 0 R +/Prev 939 0 R +/Next 947 0 R +>> +endobj +939 0 obj +<< +/Title 940 0 R +/A 937 0 R +/Parent 919 0 R +/Prev 935 0 R +/Next 943 0 R +>> +endobj +935 0 obj +<< +/Title 936 0 R +/A 933 0 R +/Parent 919 0 R +/Prev 931 0 R +/Next 939 0 R +>> +endobj +931 0 obj +<< +/Title 932 0 R +/A 929 0 R +/Parent 919 0 R +/Prev 927 0 R +/Next 935 0 R +>> +endobj +927 0 obj +<< +/Title 928 0 R +/A 925 0 R +/Parent 919 0 R +/Prev 923 0 R +/Next 931 0 R +>> +endobj +923 0 obj +<< +/Title 924 0 R +/A 921 0 R +/Parent 919 0 R +/Next 927 0 R +>> +endobj +919 0 obj +<< +/Title 920 0 R +/A 917 0 R +/Parent 911 0 R +/Prev 915 0 R +/First 923 0 R +/Last 1035 0 R +/Count -29 +>> +endobj +915 0 obj +<< +/Title 916 0 R +/A 913 0 R +/Parent 911 0 R +/Next 919 0 R +>> +endobj +911 0 obj +<< +/Title 912 0 R +/A 909 0 R +/Parent 159 0 R +/Prev 839 0 R +/Next 1039 0 R +/First 915 0 R +/Last 919 0 R +/Count -2 +>> +endobj +907 0 obj +<< +/Title 908 0 R +/A 905 0 R +/Parent 847 0 R +/Prev 903 0 R +>> +endobj +903 0 obj +<< +/Title 904 0 R +/A 901 0 R +/Parent 847 0 R +/Prev 899 0 R +/Next 907 0 R +>> +endobj +899 0 obj +<< +/Title 900 0 R +/A 897 0 R +/Parent 847 0 R +/Prev 895 0 R +/Next 903 0 R +>> +endobj +895 0 obj +<< +/Title 896 0 R +/A 893 0 R +/Parent 847 0 R +/Prev 891 0 R +/Next 899 0 R +>> +endobj +891 0 obj +<< +/Title 892 0 R +/A 889 0 R +/Parent 847 0 R +/Prev 887 0 R +/Next 895 0 R +>> +endobj +887 0 obj +<< +/Title 888 0 R +/A 885 0 R +/Parent 847 0 R +/Prev 883 0 R +/Next 891 0 R +>> +endobj +883 0 obj +<< +/Title 884 0 R +/A 881 0 R +/Parent 847 0 R +/Prev 879 0 R +/Next 887 0 R +>> +endobj +879 0 obj +<< +/Title 880 0 R +/A 877 0 R +/Parent 847 0 R +/Prev 875 0 R +/Next 883 0 R +>> +endobj +875 0 obj +<< +/Title 876 0 R +/A 873 0 R +/Parent 847 0 R +/Prev 871 0 R +/Next 879 0 R +>> +endobj +871 0 obj +<< +/Title 872 0 R +/A 869 0 R +/Parent 847 0 R +/Prev 867 0 R +/Next 875 0 R +>> +endobj +867 0 obj +<< +/Title 868 0 R +/A 865 0 R +/Parent 847 0 R +/Prev 863 0 R +/Next 871 0 R +>> +endobj +863 0 obj +<< +/Title 864 0 R +/A 861 0 R +/Parent 847 0 R +/Prev 859 0 R +/Next 867 0 R +>> +endobj +859 0 obj +<< +/Title 860 0 R +/A 857 0 R +/Parent 847 0 R +/Prev 855 0 R +/Next 863 0 R +>> +endobj +855 0 obj +<< +/Title 856 0 R +/A 853 0 R +/Parent 847 0 R +/Prev 851 0 R +/Next 859 0 R +>> +endobj +851 0 obj +<< +/Title 852 0 R +/A 849 0 R +/Parent 847 0 R +/Next 855 0 R +>> +endobj +847 0 obj +<< +/Title 848 0 R +/A 845 0 R +/Parent 839 0 R +/Prev 843 0 R +/First 851 0 R +/Last 907 0 R +/Count -15 +>> +endobj +843 0 obj +<< +/Title 844 0 R +/A 841 0 R +/Parent 839 0 R +/Next 847 0 R +>> +endobj +839 0 obj +<< +/Title 840 0 R +/A 837 0 R +/Parent 159 0 R +/Prev 819 0 R +/Next 911 0 R +/First 843 0 R +/Last 847 0 R +/Count -2 +>> +endobj +835 0 obj +<< +/Title 836 0 R +/A 833 0 R +/Parent 823 0 R +/Prev 831 0 R +>> +endobj +831 0 obj +<< +/Title 832 0 R +/A 829 0 R +/Parent 823 0 R +/Prev 827 0 R +/Next 835 0 R +>> +endobj +827 0 obj +<< +/Title 828 0 R +/A 825 0 R +/Parent 823 0 R +/Next 831 0 R +>> +endobj +823 0 obj +<< +/Title 824 0 R +/A 821 0 R +/Parent 819 0 R +/First 827 0 R +/Last 835 0 R +/Count -3 +>> +endobj +819 0 obj +<< +/Title 820 0 R +/A 817 0 R +/Parent 159 0 R +/Prev 779 0 R +/Next 839 0 R +/First 823 0 R +/Last 823 0 R +/Count -1 +>> +endobj +815 0 obj +<< +/Title 816 0 R +/A 813 0 R +/Parent 787 0 R +/Prev 811 0 R +>> +endobj +811 0 obj +<< +/Title 812 0 R +/A 809 0 R +/Parent 787 0 R +/Prev 807 0 R +/Next 815 0 R +>> +endobj +807 0 obj +<< +/Title 808 0 R +/A 805 0 R +/Parent 787 0 R +/Prev 803 0 R +/Next 811 0 R +>> +endobj +803 0 obj +<< +/Title 804 0 R +/A 801 0 R +/Parent 787 0 R +/Prev 799 0 R +/Next 807 0 R +>> +endobj +799 0 obj +<< +/Title 800 0 R +/A 797 0 R +/Parent 787 0 R +/Prev 795 0 R +/Next 803 0 R +>> +endobj +795 0 obj +<< +/Title 796 0 R +/A 793 0 R +/Parent 787 0 R +/Prev 791 0 R +/Next 799 0 R +>> +endobj +791 0 obj +<< +/Title 792 0 R +/A 789 0 R +/Parent 787 0 R +/Next 795 0 R +>> +endobj +787 0 obj +<< +/Title 788 0 R +/A 785 0 R +/Parent 779 0 R +/Prev 783 0 R +/First 791 0 R +/Last 815 0 R +/Count -7 +>> +endobj +783 0 obj +<< +/Title 784 0 R +/A 781 0 R +/Parent 779 0 R +/Next 787 0 R +>> +endobj +779 0 obj +<< +/Title 780 0 R +/A 777 0 R +/Parent 159 0 R +/Prev 731 0 R +/Next 819 0 R +/First 783 0 R +/Last 787 0 R +/Count -2 +>> +endobj +775 0 obj +<< +/Title 776 0 R +/A 773 0 R +/Parent 771 0 R +>> +endobj +771 0 obj +<< +/Title 772 0 R +/A 769 0 R +/Parent 731 0 R +/Prev 759 0 R +/First 775 0 R +/Last 775 0 R +/Count -1 +>> +endobj +767 0 obj +<< +/Title 768 0 R +/A 765 0 R +/Parent 759 0 R +/Prev 763 0 R +>> +endobj +763 0 obj +<< +/Title 764 0 R +/A 761 0 R +/Parent 759 0 R +/Next 767 0 R +>> +endobj +759 0 obj +<< +/Title 760 0 R +/A 757 0 R +/Parent 731 0 R +/Prev 747 0 R +/Next 771 0 R +/First 763 0 R +/Last 767 0 R +/Count -2 +>> +endobj +755 0 obj +<< +/Title 756 0 R +/A 753 0 R +/Parent 747 0 R +/Prev 751 0 R +>> +endobj +751 0 obj +<< +/Title 752 0 R +/A 749 0 R +/Parent 747 0 R +/Next 755 0 R +>> +endobj +747 0 obj +<< +/Title 748 0 R +/A 745 0 R +/Parent 731 0 R +/Prev 739 0 R +/Next 759 0 R +/First 751 0 R +/Last 755 0 R +/Count -2 +>> +endobj +743 0 obj +<< +/Title 744 0 R +/A 741 0 R +/Parent 739 0 R +>> +endobj +739 0 obj +<< +/Title 740 0 R +/A 737 0 R +/Parent 731 0 R +/Prev 735 0 R +/Next 747 0 R +/First 743 0 R +/Last 743 0 R +/Count -1 +>> +endobj +735 0 obj +<< +/Title 736 0 R +/A 733 0 R +/Parent 731 0 R +/Next 739 0 R +>> +endobj +731 0 obj +<< +/Title 732 0 R +/A 729 0 R +/Parent 159 0 R +/Prev 651 0 R +/Next 779 0 R +/First 735 0 R +/Last 771 0 R +/Count -5 +>> +endobj +727 0 obj +<< +/Title 728 0 R +/A 725 0 R +/Parent 659 0 R +/Prev 723 0 R +>> +endobj +723 0 obj +<< +/Title 724 0 R +/A 721 0 R +/Parent 659 0 R +/Prev 719 0 R +/Next 727 0 R +>> +endobj +719 0 obj +<< +/Title 720 0 R +/A 717 0 R +/Parent 659 0 R +/Prev 715 0 R +/Next 723 0 R +>> +endobj +715 0 obj +<< +/Title 716 0 R +/A 713 0 R +/Parent 659 0 R +/Prev 711 0 R +/Next 719 0 R +>> +endobj +711 0 obj +<< +/Title 712 0 R +/A 709 0 R +/Parent 659 0 R +/Prev 707 0 R +/Next 715 0 R +>> +endobj +707 0 obj +<< +/Title 708 0 R +/A 705 0 R +/Parent 659 0 R +/Prev 703 0 R +/Next 711 0 R +>> +endobj +703 0 obj +<< +/Title 704 0 R +/A 701 0 R +/Parent 659 0 R +/Prev 699 0 R +/Next 707 0 R +>> +endobj +699 0 obj +<< +/Title 700 0 R +/A 697 0 R +/Parent 659 0 R +/Prev 695 0 R +/Next 703 0 R +>> +endobj +695 0 obj +<< +/Title 696 0 R +/A 693 0 R +/Parent 659 0 R +/Prev 691 0 R +/Next 699 0 R +>> +endobj +691 0 obj +<< +/Title 692 0 R +/A 689 0 R +/Parent 659 0 R +/Prev 687 0 R +/Next 695 0 R +>> +endobj +687 0 obj +<< +/Title 688 0 R +/A 685 0 R +/Parent 659 0 R +/Prev 683 0 R +/Next 691 0 R +>> +endobj +683 0 obj +<< +/Title 684 0 R +/A 681 0 R +/Parent 659 0 R +/Prev 679 0 R +/Next 687 0 R +>> +endobj +679 0 obj +<< +/Title 680 0 R +/A 677 0 R +/Parent 659 0 R +/Prev 675 0 R +/Next 683 0 R +>> +endobj +675 0 obj +<< +/Title 676 0 R +/A 673 0 R +/Parent 659 0 R +/Prev 671 0 R +/Next 679 0 R +>> +endobj +671 0 obj +<< +/Title 672 0 R +/A 669 0 R +/Parent 659 0 R +/Prev 667 0 R +/Next 675 0 R +>> +endobj +667 0 obj +<< +/Title 668 0 R +/A 665 0 R +/Parent 659 0 R +/Prev 663 0 R +/Next 671 0 R +>> +endobj +663 0 obj +<< +/Title 664 0 R +/A 661 0 R +/Parent 659 0 R +/Next 667 0 R +>> +endobj +659 0 obj +<< +/Title 660 0 R +/A 657 0 R +/Parent 651 0 R +/Prev 655 0 R +/First 663 0 R +/Last 727 0 R +/Count -17 +>> +endobj +655 0 obj +<< +/Title 656 0 R +/A 653 0 R +/Parent 651 0 R +/Next 659 0 R +>> +endobj +651 0 obj +<< +/Title 652 0 R +/A 649 0 R +/Parent 159 0 R +/Prev 603 0 R +/Next 731 0 R +/First 655 0 R +/Last 659 0 R +/Count -2 +>> +endobj +647 0 obj +<< +/Title 648 0 R +/A 645 0 R +/Parent 611 0 R +/Prev 643 0 R +>> +endobj +643 0 obj +<< +/Title 644 0 R +/A 641 0 R +/Parent 611 0 R +/Prev 639 0 R +/Next 647 0 R +>> +endobj +639 0 obj +<< +/Title 640 0 R +/A 637 0 R +/Parent 611 0 R +/Prev 635 0 R +/Next 643 0 R +>> +endobj +635 0 obj +<< +/Title 636 0 R +/A 633 0 R +/Parent 611 0 R +/Prev 631 0 R +/Next 639 0 R +>> +endobj +631 0 obj +<< +/Title 632 0 R +/A 629 0 R +/Parent 611 0 R +/Prev 627 0 R +/Next 635 0 R +>> +endobj +627 0 obj +<< +/Title 628 0 R +/A 625 0 R +/Parent 611 0 R +/Prev 623 0 R +/Next 631 0 R +>> +endobj +623 0 obj +<< +/Title 624 0 R +/A 621 0 R +/Parent 611 0 R +/Prev 619 0 R +/Next 627 0 R +>> +endobj +619 0 obj +<< +/Title 620 0 R +/A 617 0 R +/Parent 611 0 R +/Prev 615 0 R +/Next 623 0 R +>> +endobj +615 0 obj +<< +/Title 616 0 R +/A 613 0 R +/Parent 611 0 R +/Next 619 0 R +>> +endobj +611 0 obj +<< +/Title 612 0 R +/A 609 0 R +/Parent 603 0 R +/Prev 607 0 R +/First 615 0 R +/Last 647 0 R +/Count -9 +>> +endobj +607 0 obj +<< +/Title 608 0 R +/A 605 0 R +/Parent 603 0 R +/Next 611 0 R +>> +endobj +603 0 obj +<< +/Title 604 0 R +/A 601 0 R +/Parent 159 0 R +/Prev 563 0 R +/Next 651 0 R +/First 607 0 R +/Last 611 0 R +/Count -2 +>> +endobj +599 0 obj +<< +/Title 600 0 R +/A 597 0 R +/Parent 571 0 R +/Prev 595 0 R +>> +endobj +595 0 obj +<< +/Title 596 0 R +/A 593 0 R +/Parent 571 0 R +/Prev 591 0 R +/Next 599 0 R +>> +endobj +591 0 obj +<< +/Title 592 0 R +/A 589 0 R +/Parent 571 0 R +/Prev 587 0 R +/Next 595 0 R +>> +endobj +587 0 obj +<< +/Title 588 0 R +/A 585 0 R +/Parent 571 0 R +/Prev 583 0 R +/Next 591 0 R +>> +endobj +583 0 obj +<< +/Title 584 0 R +/A 581 0 R +/Parent 571 0 R +/Prev 579 0 R +/Next 587 0 R +>> +endobj +579 0 obj +<< +/Title 580 0 R +/A 577 0 R +/Parent 571 0 R +/Prev 575 0 R +/Next 583 0 R +>> +endobj +575 0 obj +<< +/Title 576 0 R +/A 573 0 R +/Parent 571 0 R +/Next 579 0 R +>> +endobj +571 0 obj +<< +/Title 572 0 R +/A 569 0 R +/Parent 563 0 R +/Prev 567 0 R +/First 575 0 R +/Last 599 0 R +/Count -7 +>> +endobj +567 0 obj +<< +/Title 568 0 R +/A 565 0 R +/Parent 563 0 R +/Next 571 0 R +>> +endobj +563 0 obj +<< +/Title 564 0 R +/A 561 0 R +/Parent 159 0 R +/Prev 387 0 R +/Next 603 0 R +/First 567 0 R +/Last 571 0 R +/Count -2 +>> +endobj +559 0 obj +<< +/Title 560 0 R +/A 557 0 R +/Parent 503 0 R +/Prev 555 0 R +>> +endobj +555 0 obj +<< +/Title 556 0 R +/A 553 0 R +/Parent 503 0 R +/Prev 551 0 R +/Next 559 0 R +>> +endobj +551 0 obj +<< +/Title 552 0 R +/A 549 0 R +/Parent 503 0 R +/Prev 547 0 R +/Next 555 0 R +>> +endobj +547 0 obj +<< +/Title 548 0 R +/A 545 0 R +/Parent 503 0 R +/Prev 543 0 R +/Next 551 0 R +>> +endobj +543 0 obj +<< +/Title 544 0 R +/A 541 0 R +/Parent 503 0 R +/Prev 539 0 R +/Next 547 0 R +>> +endobj +539 0 obj +<< +/Title 540 0 R +/A 537 0 R +/Parent 503 0 R +/Prev 535 0 R +/Next 543 0 R +>> +endobj +535 0 obj +<< +/Title 536 0 R +/A 533 0 R +/Parent 503 0 R +/Prev 531 0 R +/Next 539 0 R +>> +endobj +531 0 obj +<< +/Title 532 0 R +/A 529 0 R +/Parent 503 0 R +/Prev 527 0 R +/Next 535 0 R +>> +endobj +527 0 obj +<< +/Title 528 0 R +/A 525 0 R +/Parent 503 0 R +/Prev 523 0 R +/Next 531 0 R +>> +endobj +523 0 obj +<< +/Title 524 0 R +/A 521 0 R +/Parent 503 0 R +/Prev 519 0 R +/Next 527 0 R +>> +endobj +519 0 obj +<< +/Title 520 0 R +/A 517 0 R +/Parent 503 0 R +/Prev 515 0 R +/Next 523 0 R +>> +endobj +515 0 obj +<< +/Title 516 0 R +/A 513 0 R +/Parent 503 0 R +/Prev 511 0 R +/Next 519 0 R +>> +endobj +511 0 obj +<< +/Title 512 0 R +/A 509 0 R +/Parent 503 0 R +/Prev 507 0 R +/Next 515 0 R +>> +endobj +507 0 obj +<< +/Title 508 0 R +/A 505 0 R +/Parent 503 0 R +/Next 511 0 R +>> +endobj +503 0 obj +<< +/Title 504 0 R +/A 501 0 R +/Parent 387 0 R +/Prev 483 0 R +/First 507 0 R +/Last 559 0 R +/Count -14 +>> +endobj +499 0 obj +<< +/Title 500 0 R +/A 497 0 R +/Parent 483 0 R +/Prev 495 0 R +>> +endobj +495 0 obj +<< +/Title 496 0 R +/A 493 0 R +/Parent 483 0 R +/Prev 491 0 R +/Next 499 0 R +>> +endobj +491 0 obj +<< +/Title 492 0 R +/A 489 0 R +/Parent 483 0 R +/Prev 487 0 R +/Next 495 0 R +>> +endobj +487 0 obj +<< +/Title 488 0 R +/A 485 0 R +/Parent 483 0 R +/Next 491 0 R +>> +endobj +483 0 obj +<< +/Title 484 0 R +/A 481 0 R +/Parent 387 0 R +/Prev 403 0 R +/Next 503 0 R +/First 487 0 R +/Last 499 0 R +/Count -4 +>> +endobj +479 0 obj +<< +/Title 480 0 R +/A 477 0 R +/Parent 403 0 R +/Prev 475 0 R +>> +endobj +475 0 obj +<< +/Title 476 0 R +/A 473 0 R +/Parent 403 0 R +/Prev 471 0 R +/Next 479 0 R +>> +endobj +471 0 obj +<< +/Title 472 0 R +/A 469 0 R +/Parent 403 0 R +/Prev 467 0 R +/Next 475 0 R +>> +endobj +467 0 obj +<< +/Title 468 0 R +/A 465 0 R +/Parent 403 0 R +/Prev 463 0 R +/Next 471 0 R +>> +endobj +463 0 obj +<< +/Title 464 0 R +/A 461 0 R +/Parent 403 0 R +/Prev 459 0 R +/Next 467 0 R +>> +endobj +459 0 obj +<< +/Title 460 0 R +/A 457 0 R +/Parent 403 0 R +/Prev 455 0 R +/Next 463 0 R +>> +endobj +455 0 obj +<< +/Title 456 0 R +/A 453 0 R +/Parent 403 0 R +/Prev 451 0 R +/Next 459 0 R +>> +endobj +451 0 obj +<< +/Title 452 0 R +/A 449 0 R +/Parent 403 0 R +/Prev 447 0 R +/Next 455 0 R +>> +endobj +447 0 obj +<< +/Title 448 0 R +/A 445 0 R +/Parent 403 0 R +/Prev 443 0 R +/Next 451 0 R +>> +endobj +443 0 obj +<< +/Title 444 0 R +/A 441 0 R +/Parent 403 0 R +/Prev 439 0 R +/Next 447 0 R +>> +endobj +439 0 obj +<< +/Title 440 0 R +/A 437 0 R +/Parent 403 0 R +/Prev 435 0 R +/Next 443 0 R +>> +endobj +435 0 obj +<< +/Title 436 0 R +/A 433 0 R +/Parent 403 0 R +/Prev 431 0 R +/Next 439 0 R +>> +endobj +431 0 obj +<< +/Title 432 0 R +/A 429 0 R +/Parent 403 0 R +/Prev 427 0 R +/Next 435 0 R +>> +endobj +427 0 obj +<< +/Title 428 0 R +/A 425 0 R +/Parent 403 0 R +/Prev 423 0 R +/Next 431 0 R +>> +endobj +423 0 obj +<< +/Title 424 0 R +/A 421 0 R +/Parent 403 0 R +/Prev 419 0 R +/Next 427 0 R +>> +endobj +419 0 obj +<< +/Title 420 0 R +/A 417 0 R +/Parent 403 0 R +/Prev 415 0 R +/Next 423 0 R +>> +endobj +415 0 obj +<< +/Title 416 0 R +/A 413 0 R +/Parent 403 0 R +/Prev 411 0 R +/Next 419 0 R +>> +endobj +411 0 obj +<< +/Title 412 0 R +/A 409 0 R +/Parent 403 0 R +/Prev 407 0 R +/Next 415 0 R +>> +endobj +407 0 obj +<< +/Title 408 0 R +/A 405 0 R +/Parent 403 0 R +/Next 411 0 R +>> +endobj +403 0 obj +<< +/Title 404 0 R +/A 401 0 R +/Parent 387 0 R +/Prev 395 0 R +/Next 483 0 R +/First 407 0 R +/Last 479 0 R +/Count -19 +>> +endobj +399 0 obj +<< +/Title 400 0 R +/A 397 0 R +/Parent 395 0 R +>> +endobj +395 0 obj +<< +/Title 396 0 R +/A 393 0 R +/Parent 387 0 R +/Prev 391 0 R +/Next 403 0 R +/First 399 0 R +/Last 399 0 R +/Count -1 +>> +endobj +391 0 obj +<< +/Title 392 0 R +/A 389 0 R +/Parent 387 0 R +/Next 395 0 R +>> +endobj +387 0 obj +<< +/Title 388 0 R +/A 385 0 R +/Parent 159 0 R +/Prev 315 0 R +/Next 563 0 R +/First 391 0 R +/Last 503 0 R +/Count -5 +>> +endobj +383 0 obj +<< +/Title 384 0 R +/A 381 0 R +/Parent 375 0 R +/Prev 379 0 R +>> +endobj +379 0 obj +<< +/Title 380 0 R +/A 377 0 R +/Parent 375 0 R +/Next 383 0 R +>> +endobj +375 0 obj +<< +/Title 376 0 R +/A 373 0 R +/Parent 315 0 R +/Prev 355 0 R +/First 379 0 R +/Last 383 0 R +/Count -2 +>> +endobj +371 0 obj +<< +/Title 372 0 R +/A 369 0 R +/Parent 355 0 R +/Prev 367 0 R +>> +endobj +367 0 obj +<< +/Title 368 0 R +/A 365 0 R +/Parent 355 0 R +/Prev 363 0 R +/Next 371 0 R +>> +endobj +363 0 obj +<< +/Title 364 0 R +/A 361 0 R +/Parent 355 0 R +/Prev 359 0 R +/Next 367 0 R +>> +endobj +359 0 obj +<< +/Title 360 0 R +/A 357 0 R +/Parent 355 0 R +/Next 363 0 R +>> +endobj +355 0 obj +<< +/Title 356 0 R +/A 353 0 R +/Parent 315 0 R +/Prev 331 0 R +/Next 375 0 R +/First 359 0 R +/Last 371 0 R +/Count -4 +>> +endobj +351 0 obj +<< +/Title 352 0 R +/A 349 0 R +/Parent 331 0 R +/Prev 347 0 R +>> +endobj +347 0 obj +<< +/Title 348 0 R +/A 345 0 R +/Parent 331 0 R +/Prev 343 0 R +/Next 351 0 R +>> +endobj +343 0 obj +<< +/Title 344 0 R +/A 341 0 R +/Parent 331 0 R +/Prev 339 0 R +/Next 347 0 R +>> +endobj +339 0 obj +<< +/Title 340 0 R +/A 337 0 R +/Parent 331 0 R +/Prev 335 0 R +/Next 343 0 R +>> +endobj +335 0 obj +<< +/Title 336 0 R +/A 333 0 R +/Parent 331 0 R +/Next 339 0 R +>> +endobj +331 0 obj +<< +/Title 332 0 R +/A 329 0 R +/Parent 315 0 R +/Prev 323 0 R +/Next 355 0 R +/First 335 0 R +/Last 351 0 R +/Count -5 +>> +endobj +327 0 obj +<< +/Title 328 0 R +/A 325 0 R +/Parent 323 0 R +>> +endobj +323 0 obj +<< +/Title 324 0 R +/A 321 0 R +/Parent 315 0 R +/Prev 319 0 R +/Next 331 0 R +/First 327 0 R +/Last 327 0 R +/Count -1 +>> +endobj +319 0 obj +<< +/Title 320 0 R +/A 317 0 R +/Parent 315 0 R +/Next 323 0 R +>> +endobj +315 0 obj +<< +/Title 316 0 R +/A 313 0 R +/Parent 159 0 R +/Prev 251 0 R +/Next 387 0 R +/First 319 0 R +/Last 375 0 R +/Count -5 +>> +endobj +311 0 obj +<< +/Title 312 0 R +/A 309 0 R +/Parent 291 0 R +/Prev 307 0 R +>> +endobj +307 0 obj +<< +/Title 308 0 R +/A 305 0 R +/Parent 291 0 R +/Prev 303 0 R +/Next 311 0 R +>> +endobj +303 0 obj +<< +/Title 304 0 R +/A 301 0 R +/Parent 291 0 R +/Prev 299 0 R +/Next 307 0 R +>> +endobj +299 0 obj +<< +/Title 300 0 R +/A 297 0 R +/Parent 291 0 R +/Prev 295 0 R +/Next 303 0 R +>> +endobj +295 0 obj +<< +/Title 296 0 R +/A 293 0 R +/Parent 291 0 R +/Next 299 0 R +>> +endobj +291 0 obj +<< +/Title 292 0 R +/A 289 0 R +/Parent 251 0 R +/Prev 271 0 R +/First 295 0 R +/Last 311 0 R +/Count -5 +>> +endobj +287 0 obj +<< +/Title 288 0 R +/A 285 0 R +/Parent 271 0 R +/Prev 283 0 R +>> +endobj +283 0 obj +<< +/Title 284 0 R +/A 281 0 R +/Parent 271 0 R +/Prev 279 0 R +/Next 287 0 R +>> +endobj +279 0 obj +<< +/Title 280 0 R +/A 277 0 R +/Parent 271 0 R +/Prev 275 0 R +/Next 283 0 R +>> +endobj +275 0 obj +<< +/Title 276 0 R +/A 273 0 R +/Parent 271 0 R +/Next 279 0 R +>> +endobj +271 0 obj +<< +/Title 272 0 R +/A 269 0 R +/Parent 251 0 R +/Prev 259 0 R +/Next 291 0 R +/First 275 0 R +/Last 287 0 R +/Count -4 +>> +endobj +267 0 obj +<< +/Title 268 0 R +/A 265 0 R +/Parent 259 0 R +/Prev 263 0 R +>> +endobj +263 0 obj +<< +/Title 264 0 R +/A 261 0 R +/Parent 259 0 R +/Next 267 0 R +>> +endobj +259 0 obj +<< +/Title 260 0 R +/A 257 0 R +/Parent 251 0 R +/Prev 255 0 R +/Next 271 0 R +/First 263 0 R +/Last 267 0 R +/Count -2 +>> +endobj +255 0 obj +<< +/Title 256 0 R +/A 253 0 R +/Parent 251 0 R +/Next 259 0 R +>> +endobj +251 0 obj +<< +/Title 252 0 R +/A 249 0 R +/Parent 159 0 R +/Prev 187 0 R +/Next 315 0 R +/First 255 0 R +/Last 291 0 R +/Count -4 +>> +endobj +247 0 obj +<< +/Title 248 0 R +/A 245 0 R +/Parent 227 0 R +/Prev 243 0 R +>> +endobj +243 0 obj +<< +/Title 244 0 R +/A 241 0 R +/Parent 227 0 R +/Prev 239 0 R +/Next 247 0 R +>> +endobj +239 0 obj +<< +/Title 240 0 R +/A 237 0 R +/Parent 227 0 R +/Prev 235 0 R +/Next 243 0 R +>> +endobj +235 0 obj +<< +/Title 236 0 R +/A 233 0 R +/Parent 227 0 R +/Prev 231 0 R +/Next 239 0 R +>> +endobj +231 0 obj +<< +/Title 232 0 R +/A 229 0 R +/Parent 227 0 R +/Next 235 0 R +>> +endobj +227 0 obj +<< +/Title 228 0 R +/A 225 0 R +/Parent 187 0 R +/Prev 207 0 R +/First 231 0 R +/Last 247 0 R +/Count -5 +>> +endobj +223 0 obj +<< +/Title 224 0 R +/A 221 0 R +/Parent 207 0 R +/Prev 219 0 R +>> +endobj +219 0 obj +<< +/Title 220 0 R +/A 217 0 R +/Parent 207 0 R +/Prev 215 0 R +/Next 223 0 R +>> +endobj +215 0 obj +<< +/Title 216 0 R +/A 213 0 R +/Parent 207 0 R +/Prev 211 0 R +/Next 219 0 R +>> +endobj +211 0 obj +<< +/Title 212 0 R +/A 209 0 R +/Parent 207 0 R +/Next 215 0 R +>> +endobj +207 0 obj +<< +/Title 208 0 R +/A 205 0 R +/Parent 187 0 R +/Prev 195 0 R +/Next 227 0 R +/First 211 0 R +/Last 223 0 R +/Count -4 +>> +endobj +203 0 obj +<< +/Title 204 0 R +/A 201 0 R +/Parent 195 0 R +/Prev 199 0 R +>> +endobj +199 0 obj +<< +/Title 200 0 R +/A 197 0 R +/Parent 195 0 R +/Next 203 0 R +>> +endobj +195 0 obj +<< +/Title 196 0 R +/A 193 0 R +/Parent 187 0 R +/Prev 191 0 R +/Next 207 0 R +/First 199 0 R +/Last 203 0 R +/Count -2 +>> +endobj +191 0 obj +<< +/Title 192 0 R +/A 189 0 R +/Parent 187 0 R +/Next 195 0 R +>> +endobj +187 0 obj +<< +/Title 188 0 R +/A 185 0 R +/Parent 159 0 R +/Prev 163 0 R +/Next 251 0 R +/First 191 0 R +/Last 227 0 R +/Count -4 +>> +endobj +183 0 obj +<< +/Title 184 0 R +/A 181 0 R +/Parent 171 0 R +/Prev 179 0 R +>> +endobj +179 0 obj +<< +/Title 180 0 R +/A 177 0 R +/Parent 171 0 R +/Prev 175 0 R +/Next 183 0 R +>> +endobj +175 0 obj +<< +/Title 176 0 R +/A 173 0 R +/Parent 171 0 R +/Next 179 0 R +>> +endobj +171 0 obj +<< +/Title 172 0 R +/A 169 0 R +/Parent 163 0 R +/Prev 167 0 R +/First 175 0 R +/Last 183 0 R +/Count -3 +>> +endobj +167 0 obj +<< +/Title 168 0 R +/A 165 0 R +/Parent 163 0 R +/Next 171 0 R +>> +endobj +163 0 obj +<< +/Title 164 0 R +/A 161 0 R +/Parent 159 0 R +/Next 187 0 R +/First 167 0 R +/Last 171 0 R +/Count -2 +>> +endobj +159 0 obj +<< +/Title 160 0 R +/A 157 0 R +/Parent 12061 0 R +/Prev 91 0 R +/Next 4423 0 R +/First 163 0 R +/Last 4379 0 R +/Count -64 +>> +endobj +155 0 obj +<< +/Title 156 0 R +/A 153 0 R +/Parent 91 0 R +/Prev 151 0 R +>> +endobj +151 0 obj +<< +/Title 152 0 R +/A 149 0 R +/Parent 91 0 R +/Prev 139 0 R +/Next 155 0 R +>> +endobj +147 0 obj +<< +/Title 148 0 R +/A 145 0 R +/Parent 143 0 R +>> +endobj +143 0 obj +<< +/Title 144 0 R +/A 141 0 R +/Parent 139 0 R +/First 147 0 R +/Last 147 0 R +/Count -1 +>> +endobj +139 0 obj +<< +/Title 140 0 R +/A 137 0 R +/Parent 91 0 R +/Prev 119 0 R +/Next 151 0 R +/First 143 0 R +/Last 143 0 R +/Count -1 +>> +endobj +135 0 obj +<< +/Title 136 0 R +/A 133 0 R +/Parent 123 0 R +/Prev 131 0 R +>> +endobj +131 0 obj +<< +/Title 132 0 R +/A 129 0 R +/Parent 123 0 R +/Prev 127 0 R +/Next 135 0 R +>> +endobj +127 0 obj +<< +/Title 128 0 R +/A 125 0 R +/Parent 123 0 R +/Next 131 0 R +>> +endobj +123 0 obj +<< +/Title 124 0 R +/A 121 0 R +/Parent 119 0 R +/First 127 0 R +/Last 135 0 R +/Count -3 +>> +endobj +119 0 obj +<< +/Title 120 0 R +/A 117 0 R +/Parent 91 0 R +/Prev 115 0 R +/Next 139 0 R +/First 123 0 R +/Last 123 0 R +/Count -1 +>> +endobj +115 0 obj +<< +/Title 116 0 R +/A 113 0 R +/Parent 91 0 R +/Prev 103 0 R +/Next 119 0 R +>> +endobj +111 0 obj +<< +/Title 112 0 R +/A 109 0 R +/Parent 107 0 R +>> +endobj +107 0 obj +<< +/Title 108 0 R +/A 105 0 R +/Parent 103 0 R +/First 111 0 R +/Last 111 0 R +/Count -1 +>> +endobj +103 0 obj +<< +/Title 104 0 R +/A 101 0 R +/Parent 91 0 R +/Prev 99 0 R +/Next 115 0 R +/First 107 0 R +/Last 107 0 R +/Count -1 +>> +endobj +99 0 obj +<< +/Title 100 0 R +/A 97 0 R +/Parent 91 0 R +/Prev 95 0 R +/Next 103 0 R +>> +endobj +95 0 obj +<< +/Title 96 0 R +/A 93 0 R +/Parent 91 0 R +/Next 99 0 R +>> +endobj +91 0 obj +<< +/Title 92 0 R +/A 89 0 R +/Parent 12061 0 R +/Prev 39 0 R +/Next 159 0 R +/First 95 0 R +/Last 155 0 R +/Count -8 +>> +endobj +87 0 obj +<< +/Title 88 0 R +/A 85 0 R +/Parent 83 0 R +>> +endobj +83 0 obj +<< +/Title 84 0 R +/A 81 0 R +/Parent 39 0 R +/Prev 43 0 R +/First 87 0 R +/Last 87 0 R +/Count -1 +>> +endobj +79 0 obj +<< +/Title 80 0 R +/A 77 0 R +/Parent 75 0 R +>> +endobj +75 0 obj +<< +/Title 76 0 R +/A 73 0 R +/Parent 43 0 R +/Prev 51 0 R +/First 79 0 R +/Last 79 0 R +/Count -1 +>> +endobj +71 0 obj +<< +/Title 72 0 R +/A 69 0 R +/Parent 51 0 R +/Prev 67 0 R +>> +endobj +67 0 obj +<< +/Title 68 0 R +/A 65 0 R +/Parent 51 0 R +/Prev 63 0 R +/Next 71 0 R +>> +endobj +63 0 obj +<< +/Title 64 0 R +/A 61 0 R +/Parent 51 0 R +/Prev 59 0 R +/Next 67 0 R +>> +endobj +59 0 obj +<< +/Title 60 0 R +/A 57 0 R +/Parent 51 0 R +/Prev 55 0 R +/Next 63 0 R +>> +endobj +55 0 obj +<< +/Title 56 0 R +/A 53 0 R +/Parent 51 0 R +/Next 59 0 R +>> +endobj +51 0 obj +<< +/Title 52 0 R +/A 49 0 R +/Parent 43 0 R +/Prev 47 0 R +/Next 75 0 R +/First 55 0 R +/Last 71 0 R +/Count -5 +>> +endobj +47 0 obj +<< +/Title 48 0 R +/A 45 0 R +/Parent 43 0 R +/Next 51 0 R +>> +endobj +43 0 obj +<< +/Title 44 0 R +/A 41 0 R +/Parent 39 0 R +/Next 83 0 R +/First 47 0 R +/Last 75 0 R +/Count -3 +>> +endobj +39 0 obj +<< +/Title 40 0 R +/A 37 0 R +/Parent 12061 0 R +/Prev 35 0 R +/Next 91 0 R +/First 43 0 R +/Last 83 0 R +/Count -2 +>> +endobj +35 0 obj +<< +/Title 36 0 R +/A 33 0 R +/Parent 12061 0 R +/Prev 31 0 R +/Next 39 0 R +>> +endobj +31 0 obj +<< +/Title 32 0 R +/A 29 0 R +/Parent 12061 0 R +/Prev 27 0 R +/Next 35 0 R +>> +endobj +27 0 obj +<< +/Title 28 0 R +/A 25 0 R +/Parent 12061 0 R +/Prev 7 0 R +/Next 31 0 R +>> +endobj +23 0 obj +<< +/Title 24 0 R +/A 21 0 R +/Parent 11 0 R +/Prev 19 0 R +>> +endobj +19 0 obj +<< +/Title 20 0 R +/A 17 0 R +/Parent 11 0 R +/Prev 15 0 R +/Next 23 0 R +>> +endobj +15 0 obj +<< +/Title 16 0 R +/A 13 0 R +/Parent 11 0 R +/Next 19 0 R +>> +endobj +11 0 obj +<< +/Title 12 0 R +/A 9 0 R +/Parent 7 0 R +/First 15 0 R +/Last 23 0 R +/Count -3 +>> +endobj +7 0 obj +<< +/Title 8 0 R +/A 5 0 R +/Parent 12061 0 R +/Prev 3 0 R +/Next 27 0 R +/First 11 0 R +/Last 11 0 R +/Count -1 +>> +endobj +3 0 obj +<< +/Title 4 0 R +/A 1 0 R +/Parent 12061 0 R +/Next 7 0 R +>> +endobj +12062 0 obj +<< +/Names [(Doc-Start) 4825 0 R (_chat_channel_8cs) 11434 0 R (_chat_client_8cs) 11437 0 R (_chat_disconnect_cause_8cs) 11440 0 R (_chat_event_code_8cs) 11474 0 R (_chat_operation_code_8cs) 11477 0 R] +/Limits [(Doc-Start) (_chat_operation_code_8cs)] +>> +endobj +12063 0 obj +<< +/Names [(_chat_parameter_code_8cs) 11480 0 R (_chat_peer_8cs) 11525 0 R (_chat_state_8cs) 11531 0 R (_chat_user_status_8cs) 11550 0 R (_custom_types_8cs) 9247 0 R (_enums_8cs) 10834 0 R] +/Limits [(_chat_parameter_code_8cs) (_enums_8cs)] +>> +endobj +12064 0 obj +<< +/Names [(_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0) 10957 0 R (_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0a279497bbf0f95253e9d5bb0de757d10d) 10958 0 R (_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0ad8d9b213c7c5146145b74119aa01c9a3) 10959 0 R (_enums_8cs_acdd867d72142510ce53521a63a062f9b) 8964 0 R (_enums_8cs_acdd867d72142510ce53521a63a062f9ba10b0501000c144cb2a7424bd45e1bcde) 10955 0 R (_enums_8cs_acdd867d72142510ce53521a63a062f9ba2ec0d16e4ca169baedb9b2d50ec5c6d7) 10954 0 R] +/Limits [(_enums_8cs_a8c224c940c96213eca8a8b02aa81fdb0) (_enums_8cs_acdd867d72142510ce53521a63a062f9ba2ec0d16e4ca169baedb9b2d50ec5c6d7)] +>> +endobj +12065 0 obj +<< +/Names [(_enums_8cs_acdd867d72142510ce53521a63a062f9baa745dcbcb79fe11077073440a0089d1b) 10956 0 R (_enums_8cs_acdd867d72142510ce53521a63a062f9bae321c53b354930ba96f0243e652df458) 10953 0 R (_enums_8cs_acdd867d72142510ce53521a63a062f9baef70e46fd3bbc21e3e1f0b6815e750c0) 10952 0 R (_enums_8cs_af823e3be9567fa753720895120c9819b) 8725 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba0b3b97fa66886c5688ee4ae80ec0c3c2) 10932 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba13b5bfe96f3e2fe411c9f66f4a582adf) 10940 0 R] +/Limits [(_enums_8cs_acdd867d72142510ce53521a63a062f9baa745dcbcb79fe11077073440a0089d1b) (_enums_8cs_af823e3be9567fa753720895120c9819ba13b5bfe96f3e2fe411c9f66f4a582adf)] +>> +endobj +12066 0 obj +<< +/Names [(_enums_8cs_af823e3be9567fa753720895120c9819ba2cc2c74685f65f453bf6a6df1fc560df) 10936 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba334c4a4c42fdb79d7ebc3e73b517e6f8) 10941 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba43ef4393816412456a776afb5477cc24) 10938 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba4829322d03d1606fb09ae9af59a271d3) 10931 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba55add3d845bfcd87a9b0949b0da49c0a) 10934 0 R (_enums_8cs_af823e3be9567fa753720895120c9819ba8bcc25c96aa5a71f7a76309077753e67) 10935 0 R] +/Limits [(_enums_8cs_af823e3be9567fa753720895120c9819ba2cc2c74685f65f453bf6a6df1fc560df) (_enums_8cs_af823e3be9567fa753720895120c9819ba8bcc25c96aa5a71f7a76309077753e67)] +>> +endobj +12067 0 obj +<< +/Names [(_enums_8cs_af823e3be9567fa753720895120c9819bac12e01f2a13ff5587e1e9e4aedb8242d) 10937 0 R (_enums_8cs_af823e3be9567fa753720895120c9819bacffe819d4413b95dd8c35c0085930789) 10933 0 R (_enums_8cs_af823e3be9567fa753720895120c9819badcf0d7d2cd120bf42580d43f29785dd3) 10939 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1) 10701 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a0b3b97fa66886c5688ee4ae80ec0c3c2) 10943 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a13b5bfe96f3e2fe411c9f66f4a582adf) 10951 0 R] +/Limits [(_enums_8cs_af823e3be9567fa753720895120c9819bac12e01f2a13ff5587e1e9e4aedb8242d) (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a13b5bfe96f3e2fe411c9f66f4a582adf)] +>> +endobj +12068 0 obj +<< +/Names [(_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a2cc2c74685f65f453bf6a6df1fc560df) 10947 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a43ef4393816412456a776afb5477cc24) 10949 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a4829322d03d1606fb09ae9af59a271d3) 10942 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a55add3d845bfcd87a9b0949b0da49c0a) 10945 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a8bcc25c96aa5a71f7a76309077753e67) 10946 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1ac12e01f2a13ff5587e1e9e4aedb8242d) 10948 0 R] +/Limits [(_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a2cc2c74685f65f453bf6a6df1fc560df) (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1ac12e01f2a13ff5587e1e9e4aedb8242d)] +>> +endobj +12069 0 obj +<< +/Names [(_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1acffe819d4413b95dd8c35c0085930789) 10944 0 R (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1adcf0d7d2cd120bf42580d43f29785dd3) 10950 0 R (_extensions_8cs) 10979 0 R (_extensions_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) 10982 0 R (_extensions_8cs_afa613ef589c02dbd94acc273b62cdcfd) 6275 0 R (_friend_info_8cs) 10983 0 R] +/Limits [(_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1acffe819d4413b95dd8c35c0085930789) (_friend_info_8cs)] +>> +endobj +12070 0 obj +<< +/Names [(_gizmo_type_8cs) 10985 0 R (_i_chat_client_listener_8cs) 11553 0 R (_loadbalancing_peer_8cs) 11023 0 R (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85e) 8788 0 R (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85ea43f0360f3d6dd072a905e7bf6343b565) 11094 0 R (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85ea85e600e069b55d677fcc38fe96002751) 11093 0 R] +/Limits [(_gizmo_type_8cs) (_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85ea85e600e069b55d677fcc38fe96002751)] +>> +endobj +12071 0 obj +<< +/Names [(_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85eaa5912f7a88c36ab01e9c1c38fd7bad9e) 11092 0 R (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8) 11110 0 R (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a1cc84619677de81ee6e44149845270a3) 11113 0 R (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a63d72051e901c069f8aa1b32aa0c43bb) 11112 0 R (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a68ebb8ef1cbd0371b060a93d7788d460) 11114 0 R (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a6adf97f83acf6453d4a6a4b1070f3754) 11111 0 R] +/Limits [(_loadbalancing_peer_8cs_a0b5a0270c468f91b73474bae9bbca85eaa5912f7a88c36ab01e9c1c38fd7bad9e) (_loadbalancing_peer_8cs_a56ba95f412db928c4d3998aa8a7663a8a6adf97f83acf6453d4a6a4b1070f3754)] +>> +endobj +12072 0 obj +<< +/Names [(_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41) 10360 0 R (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41a52ef9633d88a7480b3a938ff9eaa2a25) 11095 0 R (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41ab1c94ca2fbc3e78fc30069c8d0f01680) 11096 0 R (_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41ad0209f4a40060d6e7c37d29979d8f444) 11097 0 R (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ad) 10774 0 R (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ada5c1bd8d2513ea60a7adcc388b0702dd9) 11116 0 R] +/Limits [(_loadbalancing_peer_8cs_a8058430b43015a65b81946afb4017e41) (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ada5c1bd8d2513ea60a7adcc388b0702dd9)] +>> +endobj +12073 0 obj +<< +/Names [(_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ada7a1920d61156abc05a60135aefe8bc67) 11115 0 R (_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74adac833c502bc8e709e70d75b82c027bb6b) 11117 0 R (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9) 11087 0 R (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9a1e41e14c1f9344f2db61fe8653b5b001) 11089 0 R (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9a7a1920d61156abc05a60135aefe8bc67) 11088 0 R (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9aa63ce0e3e810c781a410d3addc56db7f) 11090 0 R] +/Limits [(_loadbalancing_peer_8cs_ab34738ecd04700648af88bf53d1d74ada7a1920d61156abc05a60135aefe8bc67) (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9aa63ce0e3e810c781a410d3addc56db7f)] +>> +endobj +12074 0 obj +<< +/Names [(_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9adc2168ee308fc14616dfd264d45cfd15) 11091 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816) 10358 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a06e5db15df6ca1969b38628518d71d76) 11105 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a0dc854abbac4ba563d1151c331e58c91) 11106 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a187c171b946f4fb73de86aaee4d7aad2) 11103 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a28f79c65a5ac3ff0e04978cf99f7e540) 11100 0 R] +/Limits [(_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9adc2168ee308fc14616dfd264d45cfd15) (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a28f79c65a5ac3ff0e04978cf99f7e540)] +>> +endobj +12075 0 obj +<< +/Names [(_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a53f67bc41da305a88205d1ded2f35954) 11102 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a92cb14adcb4e187b188c94fb74c53dab) 11104 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ac9a823ae99d397814cb62b335ba9e0a9) 11099 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816acdf56f0af5cd6eecb93e8d808c131841) 11108 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ad45857356b7a23b7daac5ef397b3825e) 11101 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ae426b4afc51b756484914daadb36ad4d) 11109 0 R] +/Limits [(_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816a53f67bc41da305a88205d1ded2f35954) (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816ae426b4afc51b756484914daadb36ad4d)] +>> +endobj +12076 0 obj +<< +/Names [(_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816aed89696ce2a8a4cfb22e37d482c72cbb) 11098 0 R (_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816af8a05e1851a5563b3aff68bf8bf8486b) 11107 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257) 7171 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a183709ebe3a1d675014d32b94ad7ed94) 11123 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a3f6fb6f058deeea1407bacefec5265a2) 11122 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a4db4563826bad0eb2f60ee6e42d0ea4b) 11119 0 R] +/Limits [(_loadbalancing_peer_8cs_ae10dce4ddb0b729888faca30c8f8e816aed89696ce2a8a4cfb22e37d482c72cbb) (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a4db4563826bad0eb2f60ee6e42d0ea4b)] +>> +endobj +12077 0 obj +<< +/Names [(_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a6adf97f83acf6453d4a6a4b1070f3754) 11124 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a90589c47f06eb971d548591f23c285af) 11118 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257aa8a06837aec81e16c9a07221848aef6f) 11121 0 R (_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257ad85544fce402c7a2a96a48078edaf203) 11120 0 R (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3) 11083 0 R (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3a632c9594449737188c71ee1c8534f893) 11084 0 R] +/Limits [(_loadbalancing_peer_8cs_aeb4d921fa77465ceb160913c4950e257a6adf97f83acf6453d4a6a4b1070f3754) (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3a632c9594449737188c71ee1c8534f893)] +>> +endobj +12078 0 obj +<< +/Names [(_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3aa3863fc49e47221d013aed5edca1ca03) 11085 0 R (_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3ae36ec8ecce3ddc0a8ce532dd4d5133dd) 11086 0 R (_networking_peer_8cs) 11135 0 R (_networking_peer_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) 11195 0 R (_networking_peer_8cs_a85638c2837a71574f29802d46793c990) 8967 0 R (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a183832aa8cc99ec3e781066d643b2d25) 11197 0 R] +/Limits [(_loadbalancing_peer_8cs_af45954e80665db66500544dbdcfd2ce3aa3863fc49e47221d013aed5edca1ca03) (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a183832aa8cc99ec3e781066d643b2d25)] +>> +endobj +12079 0 obj +<< +/Names [(_networking_peer_8cs_a85638c2837a71574f29802d46793c990a1c7d561350ce0a5a7e51b973a3796315) 11198 0 R (_networking_peer_8cs_a85638c2837a71574f29802d46793c990a6f478184dbea3df0c2e9147987c01e64) 11199 0 R (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da4cd18dd5dcd9d56224a0f41273998bdc) 6303 0 R (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da5988ddff3f148ce684fbbdb8f68896c1) 6753 0 R (_networking_peer_8cs_aef400c43b34e3ecc3f7b342aa821395da942b62b9b9c5fa148dfe59f3488d4d08) 6277 0 R (_networking_peer_8cs_afa613ef589c02dbd94acc273b62cdcfd) 11194 0 R] +/Limits [(_networking_peer_8cs_a85638c2837a71574f29802d46793c990a1c7d561350ce0a5a7e51b973a3796315) (_networking_peer_8cs_afa613ef589c02dbd94acc273b62cdcfd)] +>> +endobj +12080 0 obj +<< +/Names [(_photon_animator_view_8cs) 11385 0 R (_photon_classes_8cs) 11225 0 R (_photon_classes_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) 11244 0 R (_photon_classes_8cs_afa613ef589c02dbd94acc273b62cdcfd) 11243 0 R (_photon_handler_8cs) 11245 0 R (_photon_handler_8cs_a0100be52d45f14348918ea69ec09f959) 11248 0 R] +/Limits [(_photon_animator_view_8cs) (_photon_handler_8cs_a0100be52d45f14348918ea69ec09f959)] +>> +endobj +12081 0 obj +<< +/Names [(_photon_handler_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) 11250 0 R (_photon_handler_8cs_afa613ef589c02dbd94acc273b62cdcfd) 11249 0 R (_photon_lag_simulation_gui_8cs) 11251 0 R (_photon_network_8cs) 11266 0 R (_photon_network_8cs_a0100be52d45f14348918ea69ec09f959) 11269 0 R (_photon_network_8cs_afa613ef589c02dbd94acc273b62cdcfd) 11270 0 R] +/Limits [(_photon_handler_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) (_photon_network_8cs_afa613ef589c02dbd94acc273b62cdcfd)] +>> +endobj +12082 0 obj +<< +/Names [(_photon_player_8cs) 11271 0 R (_photon_player_8cs_afa613ef589c02dbd94acc273b62cdcfd) 11274 0 R (_photon_rigidbody2_d_view_8cs) 11387 0 R (_photon_rigidbody_view_8cs) 11389 0 R (_photon_stats_gui_8cs) 11275 0 R (_photon_stream_queue_8cs) 11308 0 R] +/Limits [(_photon_player_8cs) (_photon_stream_queue_8cs)] +>> +endobj +12083 0 obj +<< +/Names [(_photon_transform_view_8cs) 11404 0 R (_photon_transform_view_position_control_8cs) 11406 0 R (_photon_transform_view_position_model_8cs) 11408 0 R (_photon_transform_view_rotation_control_8cs) 11410 0 R (_photon_transform_view_rotation_model_8cs) 11412 0 R (_photon_transform_view_scale_control_8cs) 11430 0 R] +/Limits [(_photon_transform_view_8cs) (_photon_transform_view_scale_control_8cs)] +>> +endobj +12084 0 obj +<< +/Names [(_photon_transform_view_scale_model_8cs) 11432 0 R (_photon_view_8cs) 11310 0 R (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2) 9998 0 R (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2a13b388a622bc4a923c74b50c6f05ec13) 11316 0 R (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2aa2090ce6165d865de2f99434311550a2) 10000 0 R (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2aa5c1fc068f4516291607c2b43fd4e229) 11321 0 R] +/Limits [(_photon_transform_view_scale_model_8cs) (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2aa5c1fc068f4516291607c2b43fd4e229)] +>> +endobj +12085 0 obj +<< +/Names [(_photon_view_8cs_a2188da6000e577148a984d5c78b279d2ab1c94ca2fbc3e78fc30069c8d0f01680) 11323 0 R (_photon_view_8cs_a2188da6000e577148a984d5c78b279d2af18c3625579a7ac187ea5252f4be51e1) 11322 0 R (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3) 10001 0 R (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3a09e2739a1a164c20187c61c27b690cda) 11314 0 R (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3a73f73a9364f6e0d2b6a30a1a94ecfc26) 11315 0 R (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3ab1c94ca2fbc3e78fc30069c8d0f01680) 10003 0 R] +/Limits [(_photon_view_8cs_a2188da6000e577148a984d5c78b279d2ab1c94ca2fbc3e78fc30069c8d0f01680) (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3ab1c94ca2fbc3e78fc30069c8d0f01680)] +>> +endobj +12086 0 obj +<< +/Names [(_photon_view_8cs_adca9c5e682d5417add581b004cd5b990) 9996 0 R (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990a4675cf4fdfedd2c2b31b60eff2d5a4da) 11318 0 R (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990a921d92d43c84141ff815c24c48431c2e) 11320 0 R (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990a98a19ff88f463baefac152f8641dea36) 11319 0 R (_photon_view_8cs_adca9c5e682d5417add581b004cd5b990ad15305d7a4e34e02489c74a5ef542f36) 11317 0 R (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39f) 10004 0 R] +/Limits [(_photon_view_8cs_adca9c5e682d5417add581b004cd5b990) (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39f)] +>> +endobj +12087 0 obj +<< +/Names [(_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa15c2d85f1fae22a3c3a0594510a1f611) 11325 0 R (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa4457d440870ad6d42bab9082d9bf9b61) 10006 0 R (_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa9d42dba7120418ef641edb36d0edf0cb) 11324 0 R (_ping_cloud_regions_8cs) 11338 0 R (_ping_cloud_regions_8cs_a0100be52d45f14348918ea69ec09f959) 11341 0 R (_ping_cloud_regions_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) 11342 0 R] +/Limits [(_photon_view_8cs_afcc67b7812df847096e32bd0a953b39fa15c2d85f1fae22a3c3a0594510a1f611) (_ping_cloud_regions_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0)] +>> +endobj +12088 0 obj +<< +/Names [(_r_p_c_8cs) 11360 0 R (_room_8cs) 11343 0 R (_room_info_8cs) 11358 0 R (_server_settings_8cs) 11362 0 R (_socket_web_tcp_8cs) 11364 0 R (_socket_web_tcp_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0) 11383 0 R] +/Limits [(_r_p_c_8cs) (_socket_web_tcp_8cs_a4f22422f74b51c3b696d9c0e5dcb96b0)] +>> +endobj +12089 0 obj +<< +/Names [(_socket_web_tcp_native_dynamic_8cs) 11384 0 R (chapter*.1) 4863 0 R (chapter.1) 2 0 R (chapter.2) 6 0 R (chapter.3) 26 0 R (chapter.4) 30 0 R] +/Limits [(_socket_web_tcp_native_dynamic_8cs) (chapter.4)] +>> +endobj +12090 0 obj +<< +/Names [(chapter.5) 34 0 R (chapter.6) 38 0 R (chapter.7) 90 0 R (chapter.8) 158 0 R (chapter.9) 4422 0 R (class_actor_properties) 7086 0 R] +/Limits [(chapter.5) (class_actor_properties)] +>> +endobj +12091 0 obj +<< +/Names [(class_actor_properties_a08edbcddcc29b968467fe728e478eaa4) 7090 0 R (class_actor_properties_a61f77cdeb2dffd485952b106feec37bb) 7088 0 R (class_actor_properties_acfa9b932f472314d1efe0f0dad359524) 7089 0 R (class_authentication_values) 7161 0 R (class_authentication_values_a0fa90664bfe590fec56cf4f399ff26b2) 7175 0 R (class_authentication_values_a25eb4617207f2cb2f97ecbf91091ed96) 7165 0 R] +/Limits [(class_actor_properties_a08edbcddcc29b968467fe728e478eaa4) (class_authentication_values_a25eb4617207f2cb2f97ecbf91091ed96)] +>> +endobj +12092 0 obj +<< +/Names [(class_authentication_values_a3fd84b1b6fca86c6838d6c2fff8926e0) 7168 0 R (class_authentication_values_a59e9550389ab702b9bc033eeb6e117a2) 7166 0 R (class_authentication_values_a60a4d92454c4b2bbca1f299631da2f94) 7176 0 R (class_authentication_values_a6902d22f3f59653cac4ee895273ed5c5) 7172 0 R (class_authentication_values_a960384fb735ced0be6ee2d3e365fd5aa) 7173 0 R (class_authentication_values_adac06329a99f2a0035e485e45460d9af) 7167 0 R] +/Limits [(class_authentication_values_a3fd84b1b6fca86c6838d6c2fff8926e0) (class_authentication_values_adac06329a99f2a0035e485e45460d9af)] +>> +endobj +12093 0 obj +<< +/Names [(class_authentication_values_ae5df4bb87c20c0e83e1f13ca126a3b5f) 7174 0 R (class_authentication_values_af74e9d15a79034c547ea621bb70899b4) 7170 0 R (class_authentication_values_af800bbd7144b184c244277c37297dba1) 7169 0 R (class_encryption_data_parameters) 7582 0 R (class_encryption_data_parameters_a60cf6b811cc22df22cb516c1ce93be54) 7585 0 R (class_encryption_data_parameters_a837720bb0e44718f0a815f7fa5cf7d76) 7586 0 R] +/Limits [(class_authentication_values_ae5df4bb87c20c0e83e1f13ca126a3b5f) (class_encryption_data_parameters_a837720bb0e44718f0a815f7fa5cf7d76)] +>> +endobj +12094 0 obj +<< +/Names [(class_encryption_data_parameters_a93bed68ee0b94820d7579c2b3010a309) 7584 0 R (class_error_code) 6751 0 R (class_error_code_a0f2f47487dda3e4731fb00da4447df72) 7699 0 R (class_error_code_a10cbd27d35c99b76eee99f90247a0a0d) 7696 0 R (class_error_code_a1c4efacb70415130bd0dda612c9fd99e) 7694 0 R (class_error_code_a1c7a999816947e7e4db6f0c9b3e444ad) 7711 0 R] +/Limits [(class_encryption_data_parameters_a93bed68ee0b94820d7579c2b3010a309) (class_error_code_a1c7a999816947e7e4db6f0c9b3e444ad)] +>> +endobj +12095 0 obj +<< +/Names [(class_error_code_a20d30b808843239ec76b929ef2c316e5) 7689 0 R (class_error_code_a2366ccf7d7ec923b52be91c277bc7405) 7710 0 R (class_error_code_a28b15046c7f8086552e38ba805a241af) 7722 0 R (class_error_code_a294ef9a4f4abbfd3defd4c0db705ba61) 7703 0 R (class_error_code_a2c2a6c12d1f2a7c7f02cecfdd6aa0db3) 7657 0 R (class_error_code_a40e5e7b6bf6688df5c6de67e9922fd5b) 7697 0 R] +/Limits [(class_error_code_a20d30b808843239ec76b929ef2c316e5) (class_error_code_a40e5e7b6bf6688df5c6de67e9922fd5b)] +>> +endobj +12096 0 obj +<< +/Names [(class_error_code_a511ab919439555b4edc36bf28d821e0b) 7709 0 R (class_error_code_a589b20e6c22d3c24bf3969e75b2868f6) 7655 0 R (class_error_code_a60de7771513847052846f54e5debbaf9) 7708 0 R (class_error_code_a77dd2b2f1f69b7f2883afb0266b04e5c) 7690 0 R (class_error_code_a7aefe6e82478c9a479b7e925e27130b7) 7706 0 R (class_error_code_a7f823534f0d35beb53a78d6083a69d2d) 7693 0 R] +/Limits [(class_error_code_a511ab919439555b4edc36bf28d821e0b) (class_error_code_a7f823534f0d35beb53a78d6083a69d2d)] +>> +endobj +12097 0 obj +<< +/Names [(class_error_code_a8126103517b94ed6ebd0c92c6a832e4a) 7720 0 R (class_error_code_a84290da3689bc3ea86a19c488ede9d6f) 7698 0 R (class_error_code_a872edd00cf4eab84fab8fd69c2d90a74) 7691 0 R (class_error_code_ab693a622556ed2e6aa7095b2ec29fc41) 7700 0 R (class_error_code_ab799ccd0f66a406266346f29c5c46538) 7701 0 R (class_error_code_abaf9c6de084558d58e8387e278837a00) 7705 0 R] +/Limits [(class_error_code_a8126103517b94ed6ebd0c92c6a832e4a) (class_error_code_abaf9c6de084558d58e8387e278837a00)] +>> +endobj +12098 0 obj +<< +/Names [(class_error_code_ac3ca1983dd44173e855b61f87961fbd9) 7707 0 R (class_error_code_ac764d0c308a4249ab16939ef30cc00c8) 7695 0 R (class_error_code_acb92a50685729588d3dfc4594b1e0595) 7702 0 R (class_error_code_acf7dfe0e3482105d028c258b6bab0b17) 7692 0 R (class_error_code_adb4ef5f067b08c6bdc7cb0a672c357f7) 7704 0 R (class_error_code_ae522215ae10edc565a60b7790637e262) 7721 0 R] +/Limits [(class_error_code_ac3ca1983dd44173e855b61f87961fbd9) (class_error_code_ae522215ae10edc565a60b7790637e262)] +>> +endobj +12099 0 obj +<< +/Names [(class_error_code_ae5e576ba8cd8ba6c430789a3244587b9) 7656 0 R (class_event_code) 7764 0 R (class_event_code_a0058917d1018cde229ae231366e60325) 7778 0 R (class_event_code_a0ab9a45c50351f9fef9cf11ca9c50f10) 7779 0 R (class_event_code_a1ec979abe73b626a2b17b1a2d5db06dd) 7766 0 R (class_event_code_a2371306aa8691dbea0f3e05687f2a5d5) 7773 0 R] +/Limits [(class_error_code_ae5e576ba8cd8ba6c430789a3244587b9) (class_event_code_a2371306aa8691dbea0f3e05687f2a5d5)] +>> +endobj +12100 0 obj +<< +/Names [(class_event_code_a34917fc738d56feff082f993d13e52e6) 7776 0 R (class_event_code_a395440a821a6c6400b9df174fb366fa1) 7775 0 R (class_event_code_a59dfbd091af6bb7cdc69802c39ea414b) 7769 0 R (class_event_code_a7ce7fa1807af9b040e3066ef62a35e6c) 7777 0 R (class_event_code_a7f4c65ba232d561a371baa95148b3ee3) 7770 0 R (class_event_code_a7fe212e647bd96d83003bb053b243440) 7768 0 R] +/Limits [(class_event_code_a34917fc738d56feff082f993d13e52e6) (class_event_code_a7fe212e647bd96d83003bb053b243440)] +>> +endobj +12101 0 obj +<< +/Names [(class_event_code_a805b47e96977c416d2c7c34adaa75c2c) 7771 0 R (class_event_code_a8764d71552a912c1db73d41c7e4fb01f) 7774 0 R (class_event_code_a9f7e3812d0fea07355c6f4468e3983f3) 7767 0 R (class_event_code_ac3ccf8aec263389580df5634f8788e3a) 7772 0 R (class_exit_games_1_1_client_1_1_g_u_i_1_1_gizmo_type_drawer) 6909 0 R (class_exit_games_1_1_client_1_1_g_u_i_1_1_gizmo_type_drawer_a9a9c702995c512168fae27aefc07f666) 7910 0 R] +/Limits [(class_event_code_a805b47e96977c416d2c7c34adaa75c2c) (class_exit_games_1_1_client_1_1_g_u_i_1_1_gizmo_type_drawer_a9a9c702995c512168fae27aefc07f666)] +>> +endobj +12102 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) 6975 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a083a5547fef3709586481254c256e04e) 7122 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a2b0231eb3737127f6c905fca3bda5976) 7119 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a400c002afb41d2ea2a2288e3d010afa6) 7126 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a551321f83ae6ae95688ebfa99251daf4) 7120 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a62980bf198ce9565c41d408a4df93310) 7125 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a62980bf198ce9565c41d408a4df93310)] +>> +endobj +12103 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a62b771eb77744555663093db81de52ad) 7124 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a731ad99cd27c9c9943ebae6e7aade2e2) 7118 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a8736f9ea3a807749dfe4bdbab4d4ff5a) 7123 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_aa1a218337b71411767e9d5ef7740bf02) 7117 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_abe4f64001e4651f97f688a44992caa3b) 7127 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_ad82074fee0c1ef809978e612dd882405) 7121 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_a62b771eb77744555663093db81de52ad) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_ad82074fee0c1ef809978e612dd882405)] +>> +endobj +12104 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) 6976 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a17c00992e4bc685fbea02345c8e206cb) 7206 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a289e0448db95485404474b3702e80943) 7208 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a2e1d1cb310690b115794661ffdbb68b2) 7204 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a3486dbba0f3a83529fe4f327375548cb) 7233 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a5f663f2af6204ea58ab29a5ee2bee316) 7230 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a5f663f2af6204ea58ab29a5ee2bee316)] +>> +endobj +12105 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a647d38d28697bcb1c6600520130d4cbf) 7232 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a6aee5506a39fd2a26113addf8287f31a) 7210 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a6ed4416ea6c6778dd857c95f3276a005) 7231 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a837567f440a3174151eab88afb34d019) 7209 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a91a15ffc97cfd40eea6cf7965b99e5dc) 7234 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_aa672474d138d6e1a4d7ef8c4ec616617) 7207 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_a647d38d28697bcb1c6600520130d4cbf) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_aa672474d138d6e1a4d7ef8c4ec616617)] +>> +endobj +12106 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_ad5488b697206375ef6b13d4fa33eafdf) 7229 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client) 6977 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a03bb2ce2ead9b201cb94e53ed3ce3bd3) 7297 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a05085dc638466b2660f1c694f90fbf8e) 7344 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a0aa97db996a9928cfacb4ca1f2644e8a) 7350 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a21acfc202dc0114eabdba678e03f21f1) 7292 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel_ad5488b697206375ef6b13d4fa33eafdf) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a21acfc202dc0114eabdba678e03f21f1)] +>> +endobj +12107 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a24f6e608fc1b838de8de908c6756571f) 7303 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a25f9db0c022bb0feda81d31f43053a81) 7236 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a3506656c033fb2bdc7822275aab6dac2) 7353 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4693102ef8b77518b9eed0cbbdd650e1) 7341 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4e5b2c3dc8f4e43b053bd3436dd39c5f) 7290 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4fb7f78c7820b02fb0ec3c173ff0d2d5) 7289 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a24f6e608fc1b838de8de908c6756571f) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a4fb7f78c7820b02fb0ec3c173ff0d2d5)] +>> +endobj +12108 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5088b919addd1ae88cf8ed72d68c52c2) 7288 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a518706086a60688c5dbe946e3b437491) 7304 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a59215159b6403513f06f049a7491de80) 7296 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5b8e2b595533f33e5c298fe5ced2726b) 7342 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5c03b22e8271f95ee0b46ebbd2bac651) 7348 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5d233da812511bdf2f833461d4a501b6) 7295 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5088b919addd1ae88cf8ed72d68c52c2) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5d233da812511bdf2f833461d4a501b6)] +>> +endobj +12109 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5d523809d52088df6fbd8927523d6238) 7343 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a66aa30bff5ca81b1a1811d8e36b09546) 7301 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a66e028cd73b441bbdd8d37ee0e2b1dee) 7306 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a6b1cdbd8b56655e88e678441452f65a1) 7291 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a6f6d0d0942fff96f3be1d7efbe1c00be) 7294 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71b068a3191927960e027b9f5a07b136) 7351 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a5d523809d52088df6fbd8927523d6238) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71b068a3191927960e027b9f5a07b136)] +>> +endobj +12110 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71c10e565150962413bb1abaa89af66a) 7345 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a8071d5a27bc1828fdcb19deee57deac2) 7302 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a876c9a53400fe18fc365775ca728928f) 7347 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a8f757bc4e9f4038dc388a8fee3f47150) 7349 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a96bec51384215e8622397b8fe2fc90e1) 7346 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a9ae2d62c65f72f1ebea7b22ca8ce3b91) 7300 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71c10e565150962413bb1abaa89af66a) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a9ae2d62c65f72f1ebea7b22ca8ce3b91)] +>> +endobj +12111 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aa3d4261b652969dd5f94971ca48f5a7e) 7235 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_ad48f9b88b0635c9f2363322123044fb8) 7305 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aecfdac4a2de6577291597477bcaec9c7) 7205 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aef3dc7f94f289f1dab629cbf647875db) 7307 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af3dade275735d7490a9872e965e6830f) 7299 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af4140117fa6da92e0a428c9666cfea94) 7287 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_aa3d4261b652969dd5f94971ca48f5a7e) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af4140117fa6da92e0a428c9666cfea94)] +>> +endobj +12112 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af9ac75f889489a06dbc8f6d7881367c4) 7293 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_afc1caef482cb77613bbd9ddec3d65fe9) 7298 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_afc6baf1a806a9a9ea803b14889ffb8c3) 7340 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_afe63400b38e1a49f7ce90d27e9df1ea5) 7352 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code) 6978 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a3b479b981bb71508f954d8dcf7390552) 7443 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_af9ac75f889489a06dbc8f6d7881367c4) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a3b479b981bb71508f954d8dcf7390552)] +>> +endobj +12113 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a3d73aefea41f86d82c9c4895e595250a) 7442 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a87ce4bd7e75af0c0dff70221ba197dcc) 7441 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a8aac3f985184cfbe4e228510d8f94c86) 7440 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a9746eb3bc69c51490ee9834efa47c74f) 7445 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_ab7e29d342c622f6c6831c7c20638871e) 7439 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_ad5cb96a758e791541abac48e347f7517) 7444 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_a3d73aefea41f86d82c9c4895e595250a) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_event_code_ad5cb96a758e791541abac48e347f7517)] +>> +endobj +12114 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code) 6979 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a0f990d91b96cc9540bd90bb00e1cd59a) 7467 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a32c3f60a2876738427dca3f2de3bdb30) 7465 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a5adb2a4d7ca5b4edd59bef60d9d1ccae) 7472 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a73fb9701994e0bff895effbb28361f68) 7469 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a740302e78e835ec1753d4cfa356be98f) 7466 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a740302e78e835ec1753d4cfa356be98f)] +>> +endobj +12115 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a76eac50d9c1919c0dfd65cde6d0f2464) 7470 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_abb220662c7522ea1b0943bb845b6c7dc) 7468 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_ade61a55585e9a364cdfaabc6c8b55e5a) 7471 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_af1232f522b282a7a5111802982b9ba42) 7464 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code) 6980 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a0a54ebe20f51af2268716891be3d6570) 7512 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_operation_code_a76eac50d9c1919c0dfd65cde6d0f2464) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a0a54ebe20f51af2268716891be3d6570)] +>> +endobj +12116 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a3125fb72f9cff51b552d77abd26bdcfe) 7507 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a4725b80416516202851fced3224ddf10) 7511 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a4991d2c2c138a78d8c95be54d1c805da) 7515 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a556f1d5a6cc2e8fb7dfb4f80fa39311b) 7484 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a57a10f00289e58aff71bdabf7cf4f319) 7483 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a7e8317fba9446f840f9f76af1ed77a05) 7510 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a3125fb72f9cff51b552d77abd26bdcfe) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a7e8317fba9446f840f9f76af1ed77a05)] +>> +endobj +12117 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a967db1960edbaaa9ee6de1cad924569b) 7505 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_aaaeab778bcf9ca4da5add8112086e360) 7514 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_abc7e73d686ae0713e349611c6ddd7a8e) 7513 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ac71ce98ee09da1f9b010b11e8d6f73aa) 7517 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ac8bd1610fc654ffbd7f37af327116d51) 7516 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ad3428d51c4eac42c0de3aa6d5819ecd3) 7518 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a967db1960edbaaa9ee6de1cad924569b) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ad3428d51c4eac42c0de3aa6d5819ecd3)] +>> +endobj +12118 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ad5bc5de57ba8e78b5002e4a3c7b760ac) 7508 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_add457c04174a03d5ba481dce96f4e8b9) 7506 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ae3d9fc9495efc4447da13542e1e1f7e3) 7519 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_af53fe36e56bbddcc7595ef9145c232f0) 7509 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer) 6981 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a519dfbe02f058960380c92f72117dfc8) 7551 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_ad5bc5de57ba8e78b5002e4a3c7b760ac) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a519dfbe02f058960380c92f72117dfc8)] +>> +endobj +12119 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a782952fe0a9498b789f00f83e36d525e) 7548 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a8eb05b4c21ba305d16c96abd95f809b7) 7549 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a98b8e0e86ca3713afbcbe5836c732ad1) 7552 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_aea1e4db906d1cfe6c05d5215de564a7e) 7553 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_aed91dcd5ee2d58fe552890a22ce44b8c) 7547 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status) 6982 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_peer_a782952fe0a9498b789f00f83e36d525e) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status)] +>> +endobj +12120 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a3ad23f7750af493dc34e7bb84fa6edcd) 7569 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a428da57bdeeb644c8fbeb3b1f5fb53b5) 7572 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a5d307822db6e769821d9dc86477171e2) 7394 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a6db26d8e73bd24a01a9239caab6c6112) 7574 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_ac0d131911c02002db06c39f7bd03d3b7) 7571 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_af729b56f77e02acbe8d1f079ace322a3) 7573 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_a3ad23f7750af493dc34e7bb84fa6edcd) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_af729b56f77e02acbe8d1f079ace322a3)] +>> +endobj +12121 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_af9f7b1d3f7cb4f6acb966679e7080ac2) 7570 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code) 6983 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a020efa506a911d78481761219ad1a87a) 7618 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a0f067e65b9ee1a19254cddf431cf7f73) 7619 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a112f0f8b62f7271dfc9793463f389482) 7628 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a2c770f32de9265fe53d881768167d7b4) 7622 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_user_status_af9f7b1d3f7cb4f6acb966679e7080ac2) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a2c770f32de9265fe53d881768167d7b4)] +>> +endobj +12122 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a305ae576c8bcc601f64595333623287a) 7625 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a432f4d428147b0455487dc2b28474e86) 7614 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a5ece2c1d9636a3725b3d38dffaeafad2) 7621 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a83ca01ddd4c0f0dd69c9ae9d135716dc) 7616 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a989671a923b1616f8831545f9e5baf01) 7623 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_aa6418d5e27dd1c577387df71dbd2d97c) 7617 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a305ae576c8bcc601f64595333623287a) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_aa6418d5e27dd1c577387df71dbd2d97c)] +>> +endobj +12123 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_ab1d9ee69b2b2f4112c84e6d3c2c54b6c) 7626 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_abe840b6d5d214a382cc3126010610e61) 7615 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_ae5450434e0a521ecfa9491c225e59fce) 7624 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_aefa4bbc103cc10797c8b695ec03544b0) 7620 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_af2c3cf51125257fba0d2d9f76cbb55f1) 7627 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code) 6985 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_ab1d9ee69b2b2f4112c84e6d3c2c54b6c) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code)] +>> +endobj +12124 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a188165801d2b627e28b1476353e103ad) 8359 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a244b3fc5ac2e8b3a97428b6534ca9da6) 8357 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a2b1f96b419566ad8b1bfc78caf261f76) 8362 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a2baac6007f6dfe71804735eb52225e9a) 8356 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a3e0593b8bebedc54bb00c47d6b079409) 8354 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a70f578a01789db64e2aefa055fba1732) 8358 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a188165801d2b627e28b1476353e103ad) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a70f578a01789db64e2aefa055fba1732)] +>> +endobj +12125 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a7fa2bc4b15e962459df490987acb4745) 8361 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a8024f1b6758fb3fa6bcb54581965d7c9) 8355 0 R (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a858cbc8aac0919b92ab761e92decf1da) 8360 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp) 6974 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a13c59fb861c4faa3e2709e61c775d7fc) 10733 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a3c737018be9a95fb2216e95ba9d120b8) 10739 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_parameter_code_a7fa2bc4b15e962459df490987acb4745) (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a3c737018be9a95fb2216e95ba9d120b8)] +>> +endobj +12126 0 obj +<< +/Names [(class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a69e80603355c8a49793a6a1c9e79fb3e) 10738 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a74bfa423e0b3f4e6a5ae8f00a3e3b542) 10737 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a8d1e6f08daf7c775392d68d804396ebc) 10735 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_aba80646c2125b52ec8883eeb908c6b1f) 10734 0 R (class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_abdc1a588ec8963fb5a9a7a6ac30d679b) 10736 0 R (class_extensions) 7808 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_socket_web_tcp_a69e80603355c8a49793a6a1c9e79fb3e) (class_extensions)] +>> +endobj +12127 0 obj +<< +/Names [(class_extensions_a0d7e1279d0951869d76856a5ea84e7f3) 7815 0 R (class_extensions_a1b7b71e82ac4afff238c3cf8cc5e54b0) 7831 0 R (class_extensions_a32cd3eb67b60887a800ecbc88ed7f121) 7813 0 R (class_extensions_a35fba37c30e813d78f40fbb4b88dca33) 7814 0 R (class_extensions_a59cc48f36f7bf9a0ae0f8efefff91a74) 7832 0 R (class_extensions_a646282c077a078cdaeab9184809c2e76) 7820 0 R] +/Limits [(class_extensions_a0d7e1279d0951869d76856a5ea84e7f3) (class_extensions_a646282c077a078cdaeab9184809c2e76)] +>> +endobj +12128 0 obj +<< +/Names [(class_extensions_a6b5d90a1ed678d74548f4ce759b47043) 7818 0 R (class_extensions_a733a7e102e781cf0879e96d535bbd2d8) 7833 0 R (class_extensions_a740813774fff222b8d4a4f23f2fa2326) 7817 0 R (class_extensions_a7ce33f2b493f18ef1d30ffd06a249517) 7816 0 R (class_extensions_a7d1d7b0427c24c20a65ea55d51faecd5) 7834 0 R (class_extensions_abd9afd41c4e0ce06bc3b49c04bed4523) 7812 0 R] +/Limits [(class_extensions_a6b5d90a1ed678d74548f4ce759b47043) (class_extensions_abd9afd41c4e0ce06bc3b49c04bed4523)] +>> +endobj +12129 0 obj +<< +/Names [(class_extensions_ac26ac025c1ad77aebc61385abb9a0aa0) 7811 0 R (class_extensions_ac37ceea048b52ed7df7dc2dc3ea49c04) 7819 0 R (class_extensions_ac89906aaca1f1603398873874d981417) 7830 0 R (class_friend_info) 7849 0 R (class_friend_info_a33b6ef199b025fda1898b8063f43b713) 7852 0 R (class_friend_info_a40b0b66eced3c5d88c29f6a7409d1315) 7855 0 R] +/Limits [(class_extensions_ac26ac025c1ad77aebc61385abb9a0aa0) (class_friend_info_a40b0b66eced3c5d88c29f6a7409d1315)] +>> +endobj +12130 0 obj +<< +/Names [(class_friend_info_a62a8cc42bf1e25a3f8d2fdf7adbedeb3) 7854 0 R (class_friend_info_a9126b3a854a21d428ad1af0eda981bfd) 7853 0 R (class_friend_info_abe22fa87b796bce51e9250c46464e057) 7856 0 R (class_game_object_extensions) 7868 0 R (class_game_object_extensions_a2452ee61f765d9c4fbc27bf409666392) 7870 0 R (class_game_property_key) 7871 0 R] +/Limits [(class_friend_info_a62a8cc42bf1e25a3f8d2fdf7adbedeb3) (class_game_property_key)] +>> +endobj +12131 0 obj +<< +/Names [(class_game_property_key_a24becd835a58abe1cbd1267607526f94) 7891 0 R (class_game_property_key_a79f4c70a196de29329f4c190da9b389c) 7888 0 R (class_game_property_key_a9cfd46c08dabfee0a0650e54c38dd41d) 7892 0 R (class_game_property_key_aa4161fbfcb2e11e18a9a5e08096d5ac0) 7875 0 R (class_game_property_key_aa8d61743bfc509faa8260341ca3e5cc2) 7874 0 R (class_game_property_key_ab502d2822a156527d8e8a1dcf8938848) 7876 0 R] +/Limits [(class_game_property_key_a24becd835a58abe1cbd1267607526f94) (class_game_property_key_ab502d2822a156527d8e8a1dcf8938848)] +>> +endobj +12132 0 obj +<< +/Names [(class_game_property_key_ade2fa0e08b62cc99f3a18b2baaa095c5) 7873 0 R (class_game_property_key_af08d8a2181d2b416c408403b1496ed52) 7889 0 R (class_game_property_key_afb02ab4aae7ce3f39f4cf0ee5bc9b9c0) 7890 0 R (class_help_u_r_l) 7911 0 R (class_help_u_r_l_a05ccd7cc690df9533724d2c7cc8419d8) 7913 0 R (class_operation_code) 8291 0 R] +/Limits [(class_game_property_key_ade2fa0e08b62cc99f3a18b2baaa095c5) (class_operation_code)] +>> +endobj +12133 0 obj +<< +/Names [(class_operation_code_a093642aa2579e1ad7c6aafc91e28c70c) 8325 0 R (class_operation_code_a0bb85825f6c89af48ed17ee6a7eff997) 8320 0 R (class_operation_code_a1114cce9c7f9a533469a77f0ad48b3e5) 8328 0 R (class_operation_code_a1a42bb1ca4a7e0d72418ce410bbb8b0d) 8323 0 R (class_operation_code_a22684fd1b6171ab6e21258a0a425a2d1) 8330 0 R (class_operation_code_a2cc120dfb6e75603acd7fa8c6f813885) 8318 0 R] +/Limits [(class_operation_code_a093642aa2579e1ad7c6aafc91e28c70c) (class_operation_code_a2cc120dfb6e75603acd7fa8c6f813885)] +>> +endobj +12134 0 obj +<< +/Names [(class_operation_code_a42fcaeed38b9159d966bbc8495924ac9) 8324 0 R (class_operation_code_a4d45cf8e2d6766b2cc1613508ed92304) 8332 0 R (class_operation_code_a508bcbe157617ab316b42f6e12551641) 8333 0 R (class_operation_code_a7af6e5117f55d3efc5299112e7865940) 8329 0 R (class_operation_code_aa33e652aaa457306f31741d8b4d78e80) 8326 0 R (class_operation_code_aa9c07799ccf6674d641bcf88fd65f27b) 8322 0 R] +/Limits [(class_operation_code_a42fcaeed38b9159d966bbc8495924ac9) (class_operation_code_aa9c07799ccf6674d641bcf88fd65f27b)] +>> +endobj +12135 0 obj +<< +/Names [(class_operation_code_ab70f6436c1fae5974e820c66ab291fd0) 8327 0 R (class_operation_code_ac5d8c14445b243abacb4bdbf357d62ba) 8316 0 R (class_operation_code_af07ef9cbfd9be6c65a0e778636cc7d29) 8317 0 R (class_operation_code_af0b568d437be437d31d9eb27588dc9f6) 8321 0 R (class_operation_code_af6b5f9fc1d1cb173c4d078b7bee72e11) 8315 0 R (class_operation_code_af8dfedb7aa2e0387b8a3732e97f79145) 8334 0 R] +/Limits [(class_operation_code_ab70f6436c1fae5974e820c66ab291fd0) (class_operation_code_af8dfedb7aa2e0387b8a3732e97f79145)] +>> +endobj +12136 0 obj +<< +/Names [(class_operation_code_afcf10d9c4731816a135b1e010592423c) 8319 0 R (class_operation_code_afdf083bb0c5cbd242b3a02b5af56854c) 8331 0 R (class_parameter_code) 8371 0 R (class_parameter_code_a0009ad9f8e50d67349e3295cb7420ea0) 8419 0 R (class_parameter_code_a010c8bd777442bf8c547c5ecf6874cf5) 8519 0 R (class_parameter_code_a016c3b6d2d92b725e08969cca989d4bc) 8518 0 R] +/Limits [(class_operation_code_afcf10d9c4731816a135b1e010592423c) (class_parameter_code_a016c3b6d2d92b725e08969cca989d4bc)] +>> +endobj +12137 0 obj +<< +/Names [(class_parameter_code_a02b82fff7bf512f878d491a81655cc8a) 8523 0 R (class_parameter_code_a0a4e0bd7b7dfb7cc503e305c6f70e126) 8477 0 R (class_parameter_code_a0c9894a9caad2641e8053124e3001c74) 8476 0 R (class_parameter_code_a0e764e415c813d30ccd343d6e58998dc) 8410 0 R (class_parameter_code_a0ebf68ac761870ce49218902d58d2b9b) 8475 0 R (class_parameter_code_a11f321547e2882495b0a72d0dd3253d0) 8426 0 R] +/Limits [(class_parameter_code_a02b82fff7bf512f878d491a81655cc8a) (class_parameter_code_a11f321547e2882495b0a72d0dd3253d0)] +>> +endobj +12138 0 obj +<< +/Names [(class_parameter_code_a1530bb122ef29d3e24143cf0aefe07e8) 8430 0 R (class_parameter_code_a27a0956c0cf773371a4a45cab7ac538e) 8509 0 R (class_parameter_code_a2a6f0892c24a74942ad1fd06b429e1f7) 8478 0 R (class_parameter_code_a2d0752d2a36dcc59026ee5afbc475831) 8505 0 R (class_parameter_code_a2ef96c9739f0db1265d3d2f9555c5dee) 8411 0 R (class_parameter_code_a2f03a14e3f937193ed05b44b332c72f4) 8507 0 R] +/Limits [(class_parameter_code_a1530bb122ef29d3e24143cf0aefe07e8) (class_parameter_code_a2f03a14e3f937193ed05b44b332c72f4)] +>> +endobj +12139 0 obj +<< +/Names [(class_parameter_code_a35b5bf3035e3e77e8f6b3af0e7f3cbdd) 8508 0 R (class_parameter_code_a3f9bca747a97dfebb9985a99cefc8d46) 8463 0 R (class_parameter_code_a482f50451b3deaac386d9d5993ec6d86) 8427 0 R (class_parameter_code_a48a87958496857f3248adf5dc1a4ce04) 8511 0 R (class_parameter_code_a4c7eb043b3ab8753feaf83447e1d64f3) 8466 0 R (class_parameter_code_a4ec68978f777837045882cd08b596f70) 8429 0 R] +/Limits [(class_parameter_code_a35b5bf3035e3e77e8f6b3af0e7f3cbdd) (class_parameter_code_a4ec68978f777837045882cd08b596f70)] +>> +endobj +12140 0 obj +<< +/Names [(class_parameter_code_a50d6ee26796535284d0f9a244300de28) 8461 0 R (class_parameter_code_a56c07276d621b868fbe18ce04a8b3ede) 8464 0 R (class_parameter_code_a56d42106e3806d826ee38fdf70ccdfe9) 8471 0 R (class_parameter_code_a5f9268263fa113b241f3b0af5e388fe6) 8421 0 R (class_parameter_code_a629a7615ac2fd13c2872b459bb7ea246) 8512 0 R (class_parameter_code_a655b4c0d24601789dd140608f4473c57) 8428 0 R] +/Limits [(class_parameter_code_a50d6ee26796535284d0f9a244300de28) (class_parameter_code_a655b4c0d24601789dd140608f4473c57)] +>> +endobj +12141 0 obj +<< +/Names [(class_parameter_code_a687905530b32439509cf6375402a3e09) 8470 0 R (class_parameter_code_a6dd3c089d5163862f166f84fe1739ea5) 8425 0 R (class_parameter_code_a71f83a62a57f9f2191e4bf2d3c6cd5d3) 8465 0 R (class_parameter_code_a7269ad7651361581a36c94f0eea57e6f) 8422 0 R (class_parameter_code_a75d56249641f1fbb3dee2240561aee2f) 8479 0 R (class_parameter_code_a7b9f7c20130b6c6b7cbae3b66d48292b) 8473 0 R] +/Limits [(class_parameter_code_a687905530b32439509cf6375402a3e09) (class_parameter_code_a7b9f7c20130b6c6b7cbae3b66d48292b)] +>> +endobj +12142 0 obj +<< +/Names [(class_parameter_code_a7dafd17f70c1621b05c4732cca997fa7) 8472 0 R (class_parameter_code_a800c504da29fb79933110e88f28b8e8b) 8376 0 R (class_parameter_code_a82aa021471b89acff7663a664b9a3fc9) 8462 0 R (class_parameter_code_a89266a1af9d29e429ee93fde92e295fb) 8413 0 R (class_parameter_code_a8a0f2f34b88d3da46ad79b46e2e32835) 8408 0 R (class_parameter_code_a9351f4aeb562c43eddf27290cffb5684) 8522 0 R] +/Limits [(class_parameter_code_a7dafd17f70c1621b05c4732cca997fa7) (class_parameter_code_a9351f4aeb562c43eddf27290cffb5684)] +>> +endobj +12143 0 obj +<< +/Names [(class_parameter_code_a944cc6bb015ba7083cc9819ac487a39e) 8374 0 R (class_parameter_code_a9518836815815703bcec8e838602112c) 8416 0 R (class_parameter_code_a96213fcf8761742fa24c3f4e1c0e264e) 8517 0 R (class_parameter_code_a96257bad8abedbae6f1f3bb6bcb292d7) 8420 0 R (class_parameter_code_a99d43f3bd5c63476c0861df5c3a0c851) 8513 0 R (class_parameter_code_aa15af7fc19b63e3842c1730d6c464853) 8480 0 R] +/Limits [(class_parameter_code_a944cc6bb015ba7083cc9819ac487a39e) (class_parameter_code_aa15af7fc19b63e3842c1730d6c464853)] +>> +endobj +12144 0 obj +<< +/Names [(class_parameter_code_aae1727a167cc76e53eefa0330dd3ffb1) 8469 0 R (class_parameter_code_ab160bb168c782479330c2bc83e20c7e5) 8510 0 R (class_parameter_code_ab7f1030635b7abcec92d1986a8b892f2) 8412 0 R (class_parameter_code_abbfa6241444b2357788deed7df0a9eb8) 8414 0 R (class_parameter_code_abf9a97fb9da41635cdd881baaa9312d3) 8515 0 R (class_parameter_code_ac0aa424c63a083d5dd46e45fd0cd071f) 8506 0 R] +/Limits [(class_parameter_code_aae1727a167cc76e53eefa0330dd3ffb1) (class_parameter_code_ac0aa424c63a083d5dd46e45fd0cd071f)] +>> +endobj +12145 0 obj +<< +/Names [(class_parameter_code_ac3df3792ba12483dfc9b7b1e90fe5817) 7788 0 R (class_parameter_code_ac9de2b206b5285ede493970ebe773af4) 8514 0 R (class_parameter_code_ad05db066ac86d9670539d1ec1cb9ef55) 7893 0 R (class_parameter_code_ad66570a6adf1aa47db32f6b97db3eb71) 8474 0 R (class_parameter_code_adc5f593d0a28eb9285f1f82f3ecd8c2d) 8415 0 R (class_parameter_code_addcfa8d34a8a951c0249688ba5a87388) 8468 0 R] +/Limits [(class_parameter_code_ac3df3792ba12483dfc9b7b1e90fe5817) (class_parameter_code_addcfa8d34a8a951c0249688ba5a87388)] +>> +endobj +12146 0 obj +<< +/Names [(class_parameter_code_adf15cecb04e6ace568d821177e6a8ec0) 8521 0 R (class_parameter_code_ae14214ee59dd64d41c3d5c8796f6dc30) 8467 0 R (class_parameter_code_ae3588b14921f4873c0b2de805fb0c62b) 8423 0 R (class_parameter_code_ae5c9b6ccc15e66103106afc52dfaa90b) 8520 0 R (class_parameter_code_ae7ded9f621203e1055637f052dbed9a1) 8417 0 R (class_parameter_code_aead33191ff4786c0de1241b940d8ca61) 8516 0 R] +/Limits [(class_parameter_code_adf15cecb04e6ace568d821177e6a8ec0) (class_parameter_code_aead33191ff4786c0de1241b940d8ca61)] +>> +endobj +12147 0 obj +<< +/Names [(class_parameter_code_aee141dbaedc9a7cec46a50ff249e9169) 8418 0 R (class_parameter_code_aeee59502abab94712ec48dd74e717138) 8409 0 R (class_parameter_code_af3ad8a7afbfeece08aa218613827fdbd) 8424 0 R (class_parameter_code_af4b80fb4f18f31a9cb58112385d6af8b) 8375 0 R (class_photon_1_1_mono_behaviour) 6339 0 R (class_photon_1_1_mono_behaviour_a00c97185c3a8594bf5c1c518a701706e) 8289 0 R] +/Limits [(class_parameter_code_aee141dbaedc9a7cec46a50ff249e9169) (class_photon_1_1_mono_behaviour_a00c97185c3a8594bf5c1c518a701706e)] +>> +endobj +12148 0 obj +<< +/Names [(class_photon_1_1_mono_behaviour_a27027ef7d8204896cb9381a200953892) 8290 0 R (class_photon_1_1_pun_behaviour) 6304 0 R (class_photon_1_1_pun_behaviour_a03bc6b8a9fffa6a7e7b43ff793ad2b28) 8122 0 R (class_photon_1_1_pun_behaviour_a0c64cd0591992e70393d719e07e09f6f) 8125 0 R (class_photon_1_1_pun_behaviour_a17686ad2c9bfdf6e64b8883792c81fee) 8123 0 R (class_photon_1_1_pun_behaviour_a2b7bf39a0463bc564724e22c9757917b) 8212 0 R] +/Limits [(class_photon_1_1_mono_behaviour_a27027ef7d8204896cb9381a200953892) (class_photon_1_1_pun_behaviour_a2b7bf39a0463bc564724e22c9757917b)] +>> +endobj +12149 0 obj +<< +/Names [(class_photon_1_1_pun_behaviour_a2f6b448cd6a97e4281d543196872d29a) 8189 0 R (class_photon_1_1_pun_behaviour_a443380e89534a70dfe4ce7ca16083035) 8249 0 R (class_photon_1_1_pun_behaviour_a44be8bdd38ea28a1f540d38aede43bde) 8089 0 R (class_photon_1_1_pun_behaviour_a4e9e2aebcfa279a2eec0020f0e44b57a) 8155 0 R (class_photon_1_1_pun_behaviour_a53833ef0f9be9906694fc600acc1b897) 8157 0 R (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93) 8121 0 R] +/Limits [(class_photon_1_1_pun_behaviour_a2f6b448cd6a97e4281d543196872d29a) (class_photon_1_1_pun_behaviour_a57675c88d17befc4746b7812a69b6b93)] +>> +endobj +12150 0 obj +<< +/Names [(class_photon_1_1_pun_behaviour_a67049b5cdc50467f4790aca093c34e82) 8090 0 R (class_photon_1_1_pun_behaviour_a7a1add5919b1e6af0327e7e306e81da0) 8159 0 R (class_photon_1_1_pun_behaviour_a8a96aacb06c73f7cb25fe798ce01529a) 8120 0 R (class_photon_1_1_pun_behaviour_a8ee05dd443b9e51ddf962e655ca8ab77) 8124 0 R (class_photon_1_1_pun_behaviour_a943727ed00dbd38afc4b7d16c9c3454d) 8158 0 R (class_photon_1_1_pun_behaviour_a945651c506d001121aa81e4fc8010a42) 8156 0 R] +/Limits [(class_photon_1_1_pun_behaviour_a67049b5cdc50467f4790aca093c34e82) (class_photon_1_1_pun_behaviour_a945651c506d001121aa81e4fc8010a42)] +>> +endobj +12151 0 obj +<< +/Names [(class_photon_1_1_pun_behaviour_a94f901ce1a7af7b6c49937c5c47ceae4) 8247 0 R (class_photon_1_1_pun_behaviour_a9fb00e512c59fa60c0a95e0d6e4dbe89) 8187 0 R (class_photon_1_1_pun_behaviour_aa45db114fa51d09929389bf0620f3150) 8248 0 R (class_photon_1_1_pun_behaviour_aaec2f5973228b99c6ad781d5cedadb6f) 8215 0 R (class_photon_1_1_pun_behaviour_abddb6286cecb1409cbca26088328e86d) 8250 0 R (class_photon_1_1_pun_behaviour_abf25d63a39ef13cb9a0519e6e7672a2f) 8188 0 R] +/Limits [(class_photon_1_1_pun_behaviour_a94f901ce1a7af7b6c49937c5c47ceae4) (class_photon_1_1_pun_behaviour_abf25d63a39ef13cb9a0519e6e7672a2f)] +>> +endobj +12152 0 obj +<< +/Names [(class_photon_1_1_pun_behaviour_abfe94f562c7abc261b25b0df95852a17) 8213 0 R (class_photon_1_1_pun_behaviour_ac808cb2ed21bbbe52a0d33f4d927644e) 8190 0 R (class_photon_1_1_pun_behaviour_ad77f0474fa75a37a3a39e96aa386ab09) 8065 0 R (class_photon_1_1_pun_behaviour_adcef9694244295ad493bc4ec0b4463d4) 8191 0 R (class_photon_1_1_pun_behaviour_addc4f79164cd22c37d330b5ee2e340c7) 8088 0 R (class_photon_1_1_pun_behaviour_ade038a534b66b6d9a5faad53e21e22c9) 8091 0 R] +/Limits [(class_photon_1_1_pun_behaviour_abfe94f562c7abc261b25b0df95852a17) (class_photon_1_1_pun_behaviour_ade038a534b66b6d9a5faad53e21e22c9)] +>> +endobj +12153 0 obj +<< +/Names [(class_photon_1_1_pun_behaviour_af2f8ef712d9942f861f3357bb548e937) 8214 0 R (class_photon_animator_view) 8251 0 R (class_photon_animator_view_1_1_synchronized_layer) 8604 0 R (class_photon_animator_view_1_1_synchronized_layer_a68d11cfd6780c4237bda70ee5f92a72c) 10763 0 R (class_photon_animator_view_1_1_synchronized_layer_ad1d491c302d7fbdf8f423c66561602b4) 10762 0 R (class_photon_animator_view_1_1_synchronized_parameter) 8605 0 R] +/Limits [(class_photon_1_1_pun_behaviour_af2f8ef712d9942f861f3357bb548e937) (class_photon_animator_view_1_1_synchronized_parameter)] +>> +endobj +12154 0 obj +<< +/Names [(class_photon_animator_view_1_1_synchronized_parameter_a3bca909eb8a9c74c41c40c5ade8851f3) 10766 0 R (class_photon_animator_view_1_1_synchronized_parameter_aed91d06642473f7978a3675b9e08e5de) 10767 0 R (class_photon_animator_view_1_1_synchronized_parameter_afdeabdbb8e7fa234bd2743435a4362e3) 10765 0 R (class_photon_animator_view_a03c466f84479ffeb0509324adfa27c5b) 8619 0 R (class_photon_animator_view_a1ee474865e5e736760591b1c50644413) 8622 0 R (class_photon_animator_view_a4baf9e4d43b5cd41c0a1e0514ec63829) 8623 0 R] +/Limits [(class_photon_animator_view_1_1_synchronized_parameter_a3bca909eb8a9c74c41c40c5ade8851f3) (class_photon_animator_view_a4baf9e4d43b5cd41c0a1e0514ec63829)] +>> +endobj +12155 0 obj +<< +/Names [(class_photon_animator_view_a58c3ae7da3a1217062dd6f510c69e5a8) 8617 0 R (class_photon_animator_view_a5cd222a56cf3364aea3fa1d2641383ed) 8618 0 R (class_photon_animator_view_aa061f0b6fb761c3da8635b9ce7e85c8b) 6869 0 R (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894) 8606 0 R (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894a1686a6c336b71b36d77354cea19a8b52) 8608 0 R (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894a22ae0e2b89e5e3d477f988cc36d3272b) 8607 0 R] +/Limits [(class_photon_animator_view_a58c3ae7da3a1217062dd6f510c69e5a8) (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894a22ae0e2b89e5e3d477f988cc36d3272b)] +>> +endobj +12156 0 obj +<< +/Names [(class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894ac26f15e86e3de4c398a8273272aba034) 8609 0 R (class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894af698f67f5666aff10729d8a1cb1c14d2) 8610 0 R (class_photon_animator_view_ab5c89d5d60a51fdd97b883f85d27a10f) 8621 0 R (class_photon_animator_view_aca2599e3520233dd0a92550d2fef3781) 8620 0 R (class_photon_animator_view_ad411c8f3e398f0b7b7ebcc09543f6cfe) 8615 0 R (class_photon_animator_view_adc769a9e9d902955529aa36fd7f94c77) 8616 0 R] +/Limits [(class_photon_animator_view_aa41dc91e8da385b9f10cf9bf5dc47894ac26f15e86e3de4c398a8273272aba034) (class_photon_animator_view_adc769a9e9d902955529aa36fd7f94c77)] +>> +endobj +12157 0 obj +<< +/Names [(class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) 8611 0 R (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fa4984667940802dedc139aa7a430a6553) 8613 0 R (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fa535863a82f163709557e59e2eb8139a7) 8614 0 R (class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167fab9f5c797ebbf55adccdd8539a65a0241) 8612 0 R (class_photon_lag_simulation_gui) 6883 0 R (class_photon_lag_simulation_gui_a0e20da80809bd2181828edabed39ccc9) 8662 0 R] +/Limits [(class_photon_animator_view_ae3ad07de936a811cbb923adffe1f167f) (class_photon_lag_simulation_gui_a0e20da80809bd2181828edabed39ccc9)] +>> +endobj +12158 0 obj +<< +/Names [(class_photon_lag_simulation_gui_a1d267bda81b30f6b32f77e4b5cc90649) 8661 0 R (class_photon_lag_simulation_gui_ab080d78f9ae59eeb2779b5e61be897bb) 8659 0 R (class_photon_lag_simulation_gui_abc9399cb95160e6994a1ad8661adbdc5) 8660 0 R (class_photon_lag_simulation_gui_ad6ae62fc67cdb2936b13029ec7c68d64) 8664 0 R (class_photon_lag_simulation_gui_ad790a872afa4c4c1b34401f55982203a) 8663 0 R (class_photon_network) 6241 0 R] +/Limits [(class_photon_lag_simulation_gui_a1d267bda81b30f6b32f77e4b5cc90649) (class_photon_network)] +>> +endobj +12159 0 obj +<< +/Names [(class_photon_network_a0141dc0df0d2e0a7fcda2e2101c44254) 8962 0 R (class_photon_network_a026d325f77bc2f87f2d4926ba64f21da) 8789 0 R (class_photon_network_a08119a6962c1d179a34d0388927ead3c) 8786 0 R (class_photon_network_a08435c2d064fd6a85e51e1520e5a63d8) 8780 0 R (class_photon_network_a0b99a01696f62ff29e005e6f939f8dc4) 6420 0 R (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec) 8718 0 R] +/Limits [(class_photon_network_a0141dc0df0d2e0a7fcda2e2101c44254) (class_photon_network_a0fdb79bcce45801ec81fbe56ffb939ec)] +>> +endobj +12160 0 obj +<< +/Names [(class_photon_network_a154fc601fac7f0fddd704231189457fb) 6800 0 R (class_photon_network_a1b3803f17c6d713593bca41547b8b9b3) 6392 0 R (class_photon_network_a1e23b1e0ff44046e6532c8588ac08140) 9041 0 R (class_photon_network_a1ed1ac94f91b8746d218e22146eb515e) 9012 0 R (class_photon_network_a208a46eaefe19c965eb62d18ca59ac41) 8896 0 R (class_photon_network_a232458dc1894d99134f6d978524cbb99) 8950 0 R] +/Limits [(class_photon_network_a154fc601fac7f0fddd704231189457fb) (class_photon_network_a232458dc1894d99134f6d978524cbb99)] +>> +endobj +12161 0 obj +<< +/Names [(class_photon_network_a282677f512ce2f53e4a0893d4e3844b8) 8969 0 R (class_photon_network_a2a8b1690325d73930d6bc8b99d8e736d) 8719 0 R (class_photon_network_a2dc5e6cba79f899d9952f804db35b2f3) 6395 0 R (class_photon_network_a2ea887525d418e088bf99d303673d2f3) 8949 0 R (class_photon_network_a2eefb7151b27169d11062be9996a0eab) 6390 0 R (class_photon_network_a32439a6fb4074a187d1458dcad022fcf) 6306 0 R] +/Limits [(class_photon_network_a282677f512ce2f53e4a0893d4e3844b8) (class_photon_network_a32439a6fb4074a187d1458dcad022fcf)] +>> +endobj +12162 0 obj +<< +/Names [(class_photon_network_a3315be88f62dbdc24819946fc6171e08) 9019 0 R (class_photon_network_a3af7f8d0082599e6e3a56a5b1481a505) 9017 0 R (class_photon_network_a3b52beccf64860705cc467d7abf9fc41) 8846 0 R (class_photon_network_a3b8d0c1cefdf577e1dff8aecb147b7fd) 8840 0 R (class_photon_network_a3b90d30007fbeced0293dde881d0421e) 8958 0 R (class_photon_network_a3badca00ee2bacec4eaccac76002f0ac) 8794 0 R] +/Limits [(class_photon_network_a3315be88f62dbdc24819946fc6171e08) (class_photon_network_a3badca00ee2bacec4eaccac76002f0ac)] +>> +endobj +12163 0 obj +<< +/Names [(class_photon_network_a43f616ce19891d3de81269a7821c5656) 8775 0 R (class_photon_network_a4a1cd1887cb41a0592322527a7304ed7) 6423 0 R (class_photon_network_a4c59e3c4feeaf44293eef1d8d19b98a2) 8831 0 R (class_photon_network_a4c8c84b764c759a16296a1f3ebe48c46) 8844 0 R (class_photon_network_a4f968278990dea7202b04eed1f833b6c) 9039 0 R (class_photon_network_a505f06c3eb4ca67db5dd517aab34143d) 8903 0 R] +/Limits [(class_photon_network_a43f616ce19891d3de81269a7821c5656) (class_photon_network_a505f06c3eb4ca67db5dd517aab34143d)] +>> +endobj +12164 0 obj +<< +/Names [(class_photon_network_a50fc7126ad9a866ce32951d87f13e8ed) 8787 0 R (class_photon_network_a52fdada993f0729be0912113c0ddb3f8) 6419 0 R (class_photon_network_a56b04c065a4f5d54e3f9113056b32da2) 9043 0 R (class_photon_network_a587a1fb0147ddc48a5176e48a2940985) 9048 0 R (class_photon_network_a598db34bb93cdb17a3032a96c64b0ce3) 8953 0 R (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74) 6754 0 R] +/Limits [(class_photon_network_a50fc7126ad9a866ce32951d87f13e8ed) (class_photon_network_a5ab80136622c2ae46b0e4f766e489d74)] +>> +endobj +12165 0 obj +<< +/Names [(class_photon_network_a5aca6d5aea9bb5b55967959d1ecd0ccd) 9011 0 R (class_photon_network_a5bb203a37b6db717583ea7b81fb56852) 6357 0 R (class_photon_network_a5c08f89cdf5766c1b69d5b7b8786b734) 8779 0 R (class_photon_network_a5d231578fbaadcb89dd592d2d8ddfd0a) 8951 0 R (class_photon_network_a62c512b8fe143fac07ff55e849aa48d5) 6244 0 R (class_photon_network_a631231346113712f11319749d6e1a3eb) 8790 0 R] +/Limits [(class_photon_network_a5aca6d5aea9bb5b55967959d1ecd0ccd) (class_photon_network_a631231346113712f11319749d6e1a3eb)] +>> +endobj +12166 0 obj +<< +/Names [(class_photon_network_a65cc14cdfda9c9cb8dad3b3f862097d4) 8906 0 R (class_photon_network_a67cb40d5f2dede55b03b2be1f792e93a) 9045 0 R (class_photon_network_a6b98294843798e6ebac72704a867b6da) 8898 0 R (class_photon_network_a6c6fb3cd57d7e2a13d1fc354db0c1fd7) 9014 0 R (class_photon_network_a6cbf85644c07b9ceb4b4a1accd0f4ce9) 9044 0 R (class_photon_network_a6ffa9e23d8060c9898064cda0a21710b) 8727 0 R] +/Limits [(class_photon_network_a65cc14cdfda9c9cb8dad3b3f862097d4) (class_photon_network_a6ffa9e23d8060c9898064cda0a21710b)] +>> +endobj +12167 0 obj +<< +/Names [(class_photon_network_a71b2a9299c3906b3e3d49f0ac296a87b) 8952 0 R (class_photon_network_a734d436869fa53cb8660de63e79e6252) 8907 0 R (class_photon_network_a7698c3e61503df2cb5375ffc3182fb1f) 8963 0 R (class_photon_network_a7a74751daa6e6e979cff9ba3aceb56dd) 8955 0 R (class_photon_network_a7b1f4dbdcb9e30722be54b374bba6934) 8966 0 R (class_photon_network_a7dc90dd05d697c3f8f04e50cc0e039b2) 8726 0 R] +/Limits [(class_photon_network_a71b2a9299c3906b3e3d49f0ac296a87b) (class_photon_network_a7dc90dd05d697c3f8f04e50cc0e039b2)] +>> +endobj +12168 0 obj +<< +/Names [(class_photon_network_a808fc6d1770c999fb1f5716abb45451a) 8847 0 R (class_photon_network_a81af9e901341d6b647df1f6d7f2d7583) 8957 0 R (class_photon_network_a8298744a53aff22f52299ab63fbd841b) 8897 0 R (class_photon_network_a83496ecf6be88e7ec7ea2fc193239fbe) 8837 0 R (class_photon_network_a84b7be74d130b19eeeb1d7b4e8193ad4) 8724 0 R (class_photon_network_a85b058bab4a369d0c5730cf43b462962) 8842 0 R] +/Limits [(class_photon_network_a808fc6d1770c999fb1f5716abb45451a) (class_photon_network_a85b058bab4a369d0c5730cf43b462962)] +>> +endobj +12169 0 obj +<< +/Names [(class_photon_network_a86ab96957666ef72830a35662ef3d30b) 6397 0 R (class_photon_network_a8830a7a4b92490f7882780630b1fcf99) 9042 0 R (class_photon_network_a88ef2952a1d0a468d5ba2bff48fa084c) 8839 0 R (class_photon_network_a894df24398c8cfe2d06e22ddc39576fa) 6396 0 R (class_photon_network_a89e99e64c1b6232132012bc311e7e205) 8889 0 R (class_photon_network_a8a2bd25668b204f681c7d27174735ba1) 8834 0 R] +/Limits [(class_photon_network_a86ab96957666ef72830a35662ef3d30b) (class_photon_network_a8a2bd25668b204f681c7d27174735ba1)] +>> +endobj +12170 0 obj +<< +/Names [(class_photon_network_a8ad64b1a76c7918bbe5642639afff458) 6796 0 R (class_photon_network_a8c382332dd89c20585053c3374002268) 8895 0 R (class_photon_network_a8c94dd51fe8e8986117b499161ff4461) 8782 0 R (class_photon_network_a8ce4ab4a44e705199ff795b2eb9b395b) 9015 0 R (class_photon_network_a8f8d6db18d74855e18ec43b3a221102b) 8894 0 R (class_photon_network_a901a33962274b4467919acd868016d6b) 8838 0 R] +/Limits [(class_photon_network_a8ad64b1a76c7918bbe5642639afff458) (class_photon_network_a901a33962274b4467919acd868016d6b)] +>> +endobj +12171 0 obj +<< +/Names [(class_photon_network_a902344ffd109a23f1a0606599af5eb96) 8784 0 R (class_photon_network_a90ec16d1df1a0332d0ad16493d641f56) 8716 0 R (class_photon_network_a9225b990f7b3d0fffadc23c7b3118ef2) 8968 0 R (class_photon_network_a941ac37ca7e275c93f3a1f95f0df84ae) 8791 0 R (class_photon_network_a981e7244e915f41e18cb9da5f12fc858) 8720 0 R (class_photon_network_a9cc8da229d513fce2fddbc5e2c6eaed2) 8841 0 R] +/Limits [(class_photon_network_a902344ffd109a23f1a0606599af5eb96) (class_photon_network_a9cc8da229d513fce2fddbc5e2c6eaed2)] +>> +endobj +12172 0 obj +<< +/Names [(class_photon_network_a9cf8214080471001a1a32e17eff9b402) 9018 0 R (class_photon_network_aa2a46d8ce13fedd3f4550b6164524e81) 8965 0 R (class_photon_network_aa323d9dd09d0a64352d5232f8fe23996) 8783 0 R (class_photon_network_aa3c3ed1a8a1da54e52c5b7284f69c8a4) 9020 0 R (class_photon_network_aa3e39af39baae3611730b914a8fe6f8b) 8845 0 R (class_photon_network_aa4005f5ff36461d51f9d2c2c326550ac) 8777 0 R] +/Limits [(class_photon_network_a9cf8214080471001a1a32e17eff9b402) (class_photon_network_aa4005f5ff36461d51f9d2c2c326550ac)] +>> +endobj +12173 0 obj +<< +/Names [(class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) 6752 0 R (class_photon_network_aa7e51b5e5f9f8b89f057096f47d11c5b) 9010 0 R (class_photon_network_aa9088b089a8c1b3548f8a7a792146e50) 8832 0 R (class_photon_network_aa93441ca5a719b31dddb38e4aaeccf7c) 8721 0 R (class_photon_network_aa9a112ccaaf71a296b823e9637584445) 6755 0 R (class_photon_network_aaa7a2114de2a80a0a2ded65d1c0079ba) 8899 0 R] +/Limits [(class_photon_network_aa7c0c32ec0a25f37438436f10c5bde59) (class_photon_network_aaa7a2114de2a80a0a2ded65d1c0079ba)] +>> +endobj +12174 0 obj +<< +/Names [(class_photon_network_aaaf92ee5eec22fff548ee9bb735913b6) 9046 0 R (class_photon_network_aafd2d1fa7fc0f83c8db50920cbc75a1e) 8891 0 R (class_photon_network_ab1f97129b0b7601e64645223ce1c1560) 8959 0 R (class_photon_network_ab563beb25fcb8a3b2b0ec285495ef128) 8836 0 R (class_photon_network_ab5e68c8f4799fabb200d08ff8c313c43) 9050 0 R (class_photon_network_ab7c39b4f0ec783b86b59cb2460332058) 8722 0 R] +/Limits [(class_photon_network_aaaf92ee5eec22fff548ee9bb735913b6) (class_photon_network_ab7c39b4f0ec783b86b59cb2460332058)] +>> +endobj +12175 0 obj +<< +/Names [(class_photon_network_ab979353e224caa01b6ff654e6d131fef) 8781 0 R (class_photon_network_abade51a8c3af0e9c280c2817f9ca15e5) 8843 0 R (class_photon_network_abb168e543c15731ec4de869d3a1ad8f4) 6394 0 R (class_photon_network_abb27939f0325b53c94f5ad52199b63b7) 8792 0 R (class_photon_network_abdced09cccf61ae817cb97705ffce137) 6850 0 R (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1) 6799 0 R] +/Limits [(class_photon_network_ab979353e224caa01b6ff654e6d131fef) (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1)] +>> +endobj +12176 0 obj +<< +/Names [(class_photon_network_ac6b98cecd29a9ced8ec4a6ae78908dfc) 6272 0 R (class_photon_network_ac7c6623c88f254b965aa366b1229781e) 6422 0 R (class_photon_network_ac8fda24b1f55b00f4968559a599ca88b) 8954 0 R (class_photon_network_acb9f431e95b0bfea67159921159aa944) 8893 0 R (class_photon_network_acff20b8fd3871e0b3be350e0d1c98605) 8905 0 R (class_photon_network_ad3b82aa2ac8d89db5ebf0bc5ac9add9e) 8901 0 R] +/Limits [(class_photon_network_ac6b98cecd29a9ced8ec4a6ae78908dfc) (class_photon_network_ad3b82aa2ac8d89db5ebf0bc5ac9add9e)] +>> +endobj +12177 0 obj +<< +/Names [(class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) 6243 0 R (class_photon_network_ad698087a5e4dcb58608f1df693059259) 8793 0 R (class_photon_network_ad86d4af661dd7365f6e172e106ca7cb2) 9049 0 R (class_photon_network_ad96fd99b5e9384771ee44b427edf7487) 8961 0 R (class_photon_network_ad9a866c73b3e417d55266ed548a52cb8) 8900 0 R (class_photon_network_ada44c5edfa6e93e67db635bd0764ef70) 8892 0 R] +/Limits [(class_photon_network_ad534d4da7222bd8a6d8423cbd238d7f4) (class_photon_network_ada44c5edfa6e93e67db635bd0764ef70)] +>> +endobj +12178 0 obj +<< +/Names [(class_photon_network_adbb6045e5c8e64e0076cadbcb62703b5) 8888 0 R (class_photon_network_ae0036d259f2b793b4838393837d4cf6d) 8904 0 R (class_photon_network_ae4186352869ef922cb84efbd5c1f2465) 8956 0 R (class_photon_network_ae5c32625fb17b425e105de49ea267ddf) 8835 0 R (class_photon_network_ae6fd306fd4adf0c44d64d9cfadc038aa) 8848 0 R (class_photon_network_ae995c021d1295f00afd9f87cd3bd118c) 9047 0 R] +/Limits [(class_photon_network_adbb6045e5c8e64e0076cadbcb62703b5) (class_photon_network_ae995c021d1295f00afd9f87cd3bd118c)] +>> +endobj +12179 0 obj +<< +/Names [(class_photon_network_aeb81fe77dfd0ebf7c8a63191a6a8fced) 8778 0 R (class_photon_network_aebed3f221d6a2d918cb734a15b9df8e0) 8776 0 R (class_photon_network_aeef2085375accb7d4bc88e60cbe15eb9) 6242 0 R (class_photon_network_af022551a359708341bd3b73c3c946f68) 8785 0 R (class_photon_network_af498064a6019a6c69e875bd64db40216) 6398 0 R (class_photon_network_af4ff9e4128181a1a4974c20bf899a4c4) 8717 0 R] +/Limits [(class_photon_network_aeb81fe77dfd0ebf7c8a63191a6a8fced) (class_photon_network_af4ff9e4128181a1a4974c20bf899a4c4)] +>> +endobj +12180 0 obj +<< +/Names [(class_photon_network_af721675dc5cf3c5ac4d4b67339246cdf) 9013 0 R (class_photon_network_af7728267e9576c7b2d205df53ac74fe1) 8890 0 R (class_photon_network_afba456bbc9d1525b87eb060c959af2b6) 8723 0 R (class_photon_network_afbff4452088b29acf41bf3012a8d2545) 9040 0 R (class_photon_network_afd22fd553d52fdc63e975c32ea47514f) 6824 0 R (class_photon_ping_manager) 9395 0 R] +/Limits [(class_photon_network_af721675dc5cf3c5ac4d4b67339246cdf) (class_photon_ping_manager)] +>> +endobj +12181 0 obj +<< +/Names [(class_photon_ping_manager_a0e897316745a60839e2ed3e80cefd2f2) 9404 0 R (class_photon_ping_manager_a0ece3c53b5e9db217825d5a3ba74a5f5) 9400 0 R (class_photon_ping_manager_a489f87655185eb46b0e15de0726c771c) 9401 0 R (class_photon_ping_manager_a5907c89dd76795d37d656c1b21fbe32a) 9425 0 R (class_photon_ping_manager_a81be8a928664c188bfe172c493116f88) 9424 0 R (class_photon_ping_manager_aa37a48018a49beafdb317dbdfbff6d54) 9403 0 R] +/Limits [(class_photon_ping_manager_a0e897316745a60839e2ed3e80cefd2f2) (class_photon_ping_manager_aa37a48018a49beafdb317dbdfbff6d54)] +>> +endobj +12182 0 obj +<< +/Names [(class_photon_ping_manager_ab5bc2677649632ad08c581dff24cec4a) 9402 0 R (class_photon_ping_manager_ac0c24ceeeff3345bcf1d98bbe37b4014) 9405 0 R (class_photon_player) 6393 0 R (class_photon_player_a027b1aeee40c53f98d29af4ca8e07f47) 9497 0 R (class_photon_player_a0f41b47ae95448d2e6f7a4394c54f359) 9491 0 R (class_photon_player_a191f6b25501f46fe0ca29cc74706ddb1) 9501 0 R] +/Limits [(class_photon_ping_manager_ab5bc2677649632ad08c581dff24cec4a) (class_photon_player_a191f6b25501f46fe0ca29cc74706ddb1)] +>> +endobj +12183 0 obj +<< +/Names [(class_photon_player_a2aaf48a90dc7e618da31f47c4f1a1c03) 9483 0 R (class_photon_player_a2c234cfef38c2013337182a008844398) 9430 0 R (class_photon_player_a2cc6f30dc2691bc700b0a11bdaffcffd) 9485 0 R (class_photon_player_a32462ded2866ee76839b59bd2cb3cd8c) 9493 0 R (class_photon_player_a4c7bf5d0bf28c15b67929a8a5297b96e) 9484 0 R (class_photon_player_a53a95c12899049fa00d873d634eee5ba) 9495 0 R] +/Limits [(class_photon_player_a2aaf48a90dc7e618da31f47c4f1a1c03) (class_photon_player_a53a95c12899049fa00d873d634eee5ba)] +>> +endobj +12184 0 obj +<< +/Names [(class_photon_player_a6b80a7016483f33ee19521a3bf39f20d) 9499 0 R (class_photon_player_a74e5bb916dbfdb6960b8f2f11fa6aba9) 9429 0 R (class_photon_player_a7a74ea86be2a6adf1560ccea712d0900) 9489 0 R (class_photon_player_a82ba921802edc4960d075f1deacfb19d) 9502 0 R (class_photon_player_a9cb80ad93a84e86451e6d2becfacef2b) 9496 0 R (class_photon_player_aaea56ca79d674b3e05c79f7b5c28fd7a) 9494 0 R] +/Limits [(class_photon_player_a6b80a7016483f33ee19521a3bf39f20d) (class_photon_player_aaea56ca79d674b3e05c79f7b5c28fd7a)] +>> +endobj +12185 0 obj +<< +/Names [(class_photon_player_aaef707bae718e28cd6a079e4514ce597) 9487 0 R (class_photon_player_aaf54b32878a605d3e4d47f16ad106aa3) 9370 0 R (class_photon_player_ab0bad4e5c05adfe0d524bc32430ecc20) 6851 0 R (class_photon_player_ab2da3547ad9a8f18aa25b0facfed4005) 9490 0 R (class_photon_player_ab4efd41ca7624963586a30e0d360da67) 9427 0 R (class_photon_player_ab7e0bc6125b15524e74b5ac9d7c337d7) 9369 0 R] +/Limits [(class_photon_player_aaef707bae718e28cd6a079e4514ce597) (class_photon_player_ab7e0bc6125b15524e74b5ac9d7c337d7)] +>> +endobj +12186 0 obj +<< +/Names [(class_photon_player_ac363d86e7c6ea63573e0ecfda7f7eaa7) 9248 0 R (class_photon_player_adb4677870c9c5903527ce75dc0edba2b) 9486 0 R (class_photon_player_add5b31ca48483e67dbd5cb5d4d67a8d3) 9488 0 R (class_photon_player_ade88a2875960de99e5ab98fc6db1650c) 9500 0 R (class_photon_player_ae67e332f9ad5a44834a8cf78db6a6f01) 9380 0 R (class_photon_player_aea8c8ca461e7b2ac695b49024272a4c1) 9428 0 R] +/Limits [(class_photon_player_ac363d86e7c6ea63573e0ecfda7f7eaa7) (class_photon_player_aea8c8ca461e7b2ac695b49024272a4c1)] +>> +endobj +12187 0 obj +<< +/Names [(class_photon_player_af03034498d0b8bedf022decd6a570d70) 9492 0 R (class_photon_player_af8815abb8edaafbe6bddbf328f9612fb) 6823 0 R (class_photon_player_af88693cf6b3b3fb1c8afdb5892fd525c) 9482 0 R (class_photon_player_afaf4ec87dcd684752ffb92c465f9ce87) 9498 0 R (class_photon_rigidbody2_d_view) 8252 0 R (class_photon_rigidbody2_d_view_a980ea46d1725668b1ae12f958840dc61) 6871 0 R] +/Limits [(class_photon_player_af03034498d0b8bedf022decd6a570d70) (class_photon_rigidbody2_d_view_a980ea46d1725668b1ae12f958840dc61)] +>> +endobj +12188 0 obj +<< +/Names [(class_photon_rigidbody_view) 8253 0 R (class_photon_rigidbody_view_a4a7145633e24084001a4cd0ed9f8a15c) 6872 0 R (class_photon_stats_gui) 6455 0 R (class_photon_stats_gui_a05204c8969fd4fc0546f7926e5e5da8e) 9607 0 R (class_photon_stats_gui_a222bbb9f4b1c640489101a5f3bcada8a) 9602 0 R (class_photon_stats_gui_a58101a043bbe7de9d53f14ac111646b2) 9604 0 R] +/Limits [(class_photon_rigidbody_view) (class_photon_stats_gui_a58101a043bbe7de9d53f14ac111646b2)] +>> +endobj +12189 0 obj +<< +/Names [(class_photon_stats_gui_a7e1cb11640167171f7b160089b71e5d7) 9606 0 R (class_photon_stats_gui_a8aa98b7db81d540b6e9c42f37d3a927b) 9603 0 R (class_photon_stats_gui_a9e96e77b74435c5ff2eeccf2d409685f) 9611 0 R (class_photon_stats_gui_aac6e6189d7a7723ef4fbcbb5c7a6b6e8) 9605 0 R (class_photon_stats_gui_ac7c5c8556de5ac92dd227339b2e3c36b) 9609 0 R (class_photon_stats_gui_ac8015189e49ffdb616367c7d9f9e91db) 9608 0 R] +/Limits [(class_photon_stats_gui_a7e1cb11640167171f7b160089b71e5d7) (class_photon_stats_gui_ac8015189e49ffdb616367c7d9f9e91db)] +>> +endobj +12190 0 obj +<< +/Names [(class_photon_stats_gui_ae7fb408f7fb6e9525337271d2363ae33) 9601 0 R (class_photon_stats_gui_af9e7598de2be45c63c6368727bb60ae5) 9610 0 R (class_photon_stream) 6334 0 R (class_photon_stream_a03bcbb2ade3cc109364416476083da0d) 9667 0 R (class_photon_stream_a0a74157c27454d59c9ebcd2f12480611) 9666 0 R (class_photon_stream_a0f65bddf114f21922e307a67e9a959a1) 9664 0 R] +/Limits [(class_photon_stats_gui_ae7fb408f7fb6e9525337271d2363ae33) (class_photon_stream_a0f65bddf114f21922e307a67e9a959a1)] +>> +endobj +12191 0 obj +<< +/Names [(class_photon_stream_a1bfb478104459081a25e0cf8208de9f4) 9659 0 R (class_photon_stream_a1e34f079e1ab0c8a86cb864bc6aa5443) 9656 0 R (class_photon_stream_a23ad49d3b2a2395d29f6035595c33a60) 9663 0 R (class_photon_stream_a372ce5e9fc5a92e0a5581ed2cb357724) 9661 0 R (class_photon_stream_a546034701bbab3d113219f81c0ae8080) 9658 0 R (class_photon_stream_a64fe29df11450f421046871947a54d5d) 9662 0 R] +/Limits [(class_photon_stream_a1bfb478104459081a25e0cf8208de9f4) (class_photon_stream_a64fe29df11450f421046871947a54d5d)] +>> +endobj +12192 0 obj +<< +/Names [(class_photon_stream_a67f264145ca1f4d1cb8518cbbb607797) 9670 0 R (class_photon_stream_a8192fc59b4ffe6ecc3ac70a793b36dc5) 9669 0 R (class_photon_stream_a87b96b24a15203e84e5bb3f3996609d0) 9654 0 R (class_photon_stream_a8b1a1e59820ff95d2d2dd4c376841322) 9657 0 R (class_photon_stream_a8ba68f5108d3ab8bbc69d7b88aa661da) 9668 0 R (class_photon_stream_a99e20ecd7737381042751acf8ec8fc4b) 6336 0 R] +/Limits [(class_photon_stream_a67f264145ca1f4d1cb8518cbbb607797) (class_photon_stream_a99e20ecd7737381042751acf8ec8fc4b)] +>> +endobj +12193 0 obj +<< +/Names [(class_photon_stream_aa2dcbaa4e900d5d5c5327ac840c36c35) 9655 0 R (class_photon_stream_ab3cf6c969d02214b001ddecc8dcd34ca) 9660 0 R (class_photon_stream_ae1bda0f78819d5b29d72c968b856781b) 6337 0 R (class_photon_stream_af7d4afc02408fb47b41e28b8f920be35) 9665 0 R (class_photon_stream_queue) 9690 0 R (class_photon_stream_queue_a1c2a5d3c8a990b78b07650b0e1370eeb) 9694 0 R] +/Limits [(class_photon_stream_aa2dcbaa4e900d5d5c5327ac840c36c35) (class_photon_stream_queue_a1c2a5d3c8a990b78b07650b0e1370eeb)] +>> +endobj +12194 0 obj +<< +/Names [(class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) 9693 0 R (class_photon_stream_queue_a8034450d68cdf1a16e3f33a53b0ad2dd) 9695 0 R (class_photon_stream_queue_a9e8e0b7a881aea56cb21148def4b5c5d) 9715 0 R (class_photon_stream_queue_ab9b77bbe2ddf53638dd96b63af8a533c) 9716 0 R (class_photon_stream_queue_acbae2dbbf5e5b4fd8c589fb7019adbf8) 9717 0 R (class_photon_stream_queue_ae75447cd718116990e0d0304eebc6935) 9692 0 R] +/Limits [(class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) (class_photon_stream_queue_ae75447cd718116990e0d0304eebc6935)] +>> +endobj +12195 0 obj +<< +/Names [(class_photon_transform_view) 8254 0 R (class_photon_transform_view_a5d1d6606c9c935b2326b31b292f37a7e) 6870 0 R (class_photon_transform_view_a914782b6d7ec46386636fa9fbaaa8f1f) 9739 0 R (class_photon_transform_view_position_control) 9757 0 R (class_photon_transform_view_position_control_a3f4cd754b21276bef76609b608e9e774) 9759 0 R (class_photon_transform_view_position_control_a7c378517491ed0878fa78f8834fa5c0b) 9763 0 R] +/Limits [(class_photon_transform_view) (class_photon_transform_view_position_control_a7c378517491ed0878fa78f8834fa5c0b)] +>> +endobj +12196 0 obj +<< +/Names [(class_photon_transform_view_position_control_a995fea08fe2aa2ad1c004513c5ba7d65) 9764 0 R (class_photon_transform_view_position_control_ac7cc0066925dc4ccf46f2a1ae8a7216f) 9765 0 R (class_photon_transform_view_position_control_aea906d59f0637f9a1ee8a8c6504ad217) 9762 0 R (class_photon_transform_view_position_control_af8893b17871604614de5d5f80721d0e9) 9761 0 R (class_photon_transform_view_position_model) 9760 0 R (class_photon_transform_view_position_model_a24067fa6f667e913da06fac06773e483) 9817 0 R] +/Limits [(class_photon_transform_view_position_control_a995fea08fe2aa2ad1c004513c5ba7d65) (class_photon_transform_view_position_model_a24067fa6f667e913da06fac06773e483)] +>> +endobj +12197 0 obj +<< +/Names [(class_photon_transform_view_position_model_a333c00379e52fd0327337edb6d918d5f) 9827 0 R (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063) 9786 0 R (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a412cb411cecf9196f717d6bc9c272c62) 9791 0 R (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a5ee3cb96945190e0162af2190c264380) 9790 0 R (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063a8275b27924ce04ec0cbdf85a3f3dc866) 9788 0 R (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063ab9f5c797ebbf55adccdd8539a65a0241) 9787 0 R] +/Limits [(class_photon_transform_view_position_model_a333c00379e52fd0327337edb6d918d5f) (class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063ab9f5c797ebbf55adccdd8539a65a0241)] +>> +endobj +12198 0 obj +<< +/Names [(class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063ad372923d229a8c3db765a1c1cdfcb19c) 9789 0 R (class_photon_transform_view_position_model_a3cd4b81cdcb3b099e1514ca7aba02d46) 9830 0 R (class_photon_transform_view_position_model_a41cbf435a32e015857f534d3bd9e289c) 9819 0 R (class_photon_transform_view_position_model_a51965afc54a2e2cbaafb57e050555688) 9823 0 R (class_photon_transform_view_position_model_a5d3b8ed9c1fb9c3f352cb460489a823b) 9820 0 R (class_photon_transform_view_position_model_a623f6bbf22e22073e9be25b84d98a11c) 9829 0 R] +/Limits [(class_photon_transform_view_position_model_a36efab5955c4f805aa7ce703fc363063ad372923d229a8c3db765a1c1cdfcb19c) (class_photon_transform_view_position_model_a623f6bbf22e22073e9be25b84d98a11c)] +>> +endobj +12199 0 obj +<< +/Names [(class_photon_transform_view_position_model_a6a74d5fd4dca600a17784f38b70d2aa7) 9822 0 R (class_photon_transform_view_position_model_a7b871135ff0f36dfd41c5148b36612f7) 9818 0 R (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06) 9792 0 R (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a20ce760ebf36c55f29b275b42f3d6217) 9795 0 R (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a5ee3cb96945190e0162af2190c264380) 9794 0 R (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a8275b27924ce04ec0cbdf85a3f3dc866) 9796 0 R] +/Limits [(class_photon_transform_view_position_model_a6a74d5fd4dca600a17784f38b70d2aa7) (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a8275b27924ce04ec0cbdf85a3f3dc866)] +>> +endobj +12200 0 obj +<< +/Names [(class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06ab9f5c797ebbf55adccdd8539a65a0241) 9793 0 R (class_photon_transform_view_position_model_a8e36aa06dc6644a53bd2d87844434e84) 9825 0 R (class_photon_transform_view_position_model_a98c785fa35877aae22620b6533a15cd8) 9826 0 R (class_photon_transform_view_position_model_aa0c899efb93f49d72d09f186cf0a61e0) 9828 0 R (class_photon_transform_view_position_model_adebb0a46d4de507ec529fdd3a87e192d) 9821 0 R (class_photon_transform_view_position_model_adf69a879201b7b67af4508ccf795f6ac) 9824 0 R] +/Limits [(class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06ab9f5c797ebbf55adccdd8539a65a0241) (class_photon_transform_view_position_model_adf69a879201b7b67af4508ccf795f6ac)] +>> +endobj +12201 0 obj +<< +/Names [(class_photon_transform_view_rotation_control) 9842 0 R (class_photon_transform_view_rotation_control_a01e908d07c6706c5cdfde03a03c6dd9f) 9845 0 R (class_photon_transform_view_rotation_control_a76f5079286a1db6632ed646b5f06a5db) 9846 0 R (class_photon_transform_view_rotation_control_ab52d02c6493092feed0d1c63e4da2d4b) 9847 0 R (class_photon_transform_view_rotation_control_af96141a535c6d346ea4564ab3e783b57) 9844 0 R (class_photon_transform_view_rotation_model) 9848 0 R] +/Limits [(class_photon_transform_view_rotation_control) (class_photon_transform_view_rotation_model)] +>> +endobj +12202 0 obj +<< +/Names [(class_photon_transform_view_rotation_model_a025f87682b9d5436e209106aa3e843cb) 9878 0 R (class_photon_transform_view_rotation_model_a36cdb8874f88d786106aa6def2c00c4d) 9879 0 R (class_photon_transform_view_rotation_model_a39016931d8896e4c8c4074b374d2278c) 9877 0 R (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494) 9872 0 R (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494a412cb411cecf9196f717d6bc9c272c62) 9875 0 R (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494ab9f5c797ebbf55adccdd8539a65a0241) 9873 0 R] +/Limits [(class_photon_transform_view_rotation_model_a025f87682b9d5436e209106aa3e843cb) (class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494ab9f5c797ebbf55adccdd8539a65a0241)] +>> +endobj +12203 0 obj +<< +/Names [(class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494abee31ba3ccf0149db072e62ab1b66c71) 9874 0 R (class_photon_transform_view_rotation_model_aef6a60daf9507129719aefc30dc45166) 9876 0 R (class_photon_transform_view_scale_control) 9880 0 R (class_photon_transform_view_scale_control_a4afeab195322ed62074a1bb41f091b91) 9882 0 R (class_photon_transform_view_scale_control_a4bc567bf020c6807ad2e9960a25435e2) 9886 0 R (class_photon_transform_view_scale_control_a8345675a1c1c122f426c525c5b3dc5d3) 9885 0 R] +/Limits [(class_photon_transform_view_rotation_model_a7cffd3d6b5754aea9940cb3a5c671494abee31ba3ccf0149db072e62ab1b66c71) (class_photon_transform_view_scale_control_a8345675a1c1c122f426c525c5b3dc5d3)] +>> +endobj +12204 0 obj +<< +/Names [(class_photon_transform_view_scale_control_a8b596e08ef92033d40af5c34a881bcd1) 9884 0 R (class_photon_transform_view_scale_model) 9883 0 R (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432e) 9904 0 R (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432ea412cb411cecf9196f717d6bc9c272c62) 9907 0 R (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432ea62e88848d85e21d979ff5e5efda8a268) 9906 0 R (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432eab9f5c797ebbf55adccdd8539a65a0241) 9905 0 R] +/Limits [(class_photon_transform_view_scale_control_a8b596e08ef92033d40af5c34a881bcd1) (class_photon_transform_view_scale_model_a08ebb1a595144712993238495531432eab9f5c797ebbf55adccdd8539a65a0241)] +>> +endobj +12205 0 obj +<< +/Names [(class_photon_transform_view_scale_model_a22b3360da0a4aa09e0086af1ae091da2) 9911 0 R (class_photon_transform_view_scale_model_a7fd5e6b606026fb096e79391b587a66b) 9908 0 R (class_photon_transform_view_scale_model_a9680982f5a84536b57ae3f806291ab37) 9910 0 R (class_photon_transform_view_scale_model_ac326b99330c3bcfe8df598893a2f3261) 9909 0 R (class_photon_view) 6305 0 R (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c) 9184 0 R] +/Limits [(class_photon_transform_view_scale_model_a22b3360da0a4aa09e0086af1ae091da2) (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c)] +>> +endobj +12206 0 obj +<< +/Names [(class_photon_view_a0eee05bdd9c48c263a41ccfec45b8651) 9977 0 R (class_photon_view_a24370932ff0a1f79d6dcb83a2bd7a27b) 9989 0 R (class_photon_view_a29400fef2cf398230b2c63a7d66f6d9a) 10005 0 R (class_photon_view_a2950cb34198fa050a7e65a6b2f722c68) 9984 0 R (class_photon_view_a2a681a9becf63f444139493379e2ada7) 9980 0 R (class_photon_view_a309ddedb443400696cf80da2ff579262) 9991 0 R] +/Limits [(class_photon_view_a0eee05bdd9c48c263a41ccfec45b8651) (class_photon_view_a309ddedb443400696cf80da2ff579262)] +>> +endobj +12207 0 obj +<< +/Names [(class_photon_view_a3a3650071e812aca9b9cd518638ebd7d) 9995 0 R (class_photon_view_a484df6eca8208330c00c317334dd8115) 9978 0 R (class_photon_view_a535e478c9fe2fce6af7102e32833135a) 10038 0 R (class_photon_view_a57eb2e5b6b3aea9e4ac6cc494dc19a27) 10002 0 R (class_photon_view_a634144e72774beb34d84c3ab7cac9cd4) 9997 0 R (class_photon_view_a65ea130a5d46f64984ff5361518f6050) 10036 0 R] +/Limits [(class_photon_view_a3a3650071e812aca9b9cd518638ebd7d) (class_photon_view_a65ea130a5d46f64984ff5361518f6050)] +>> +endobj +12208 0 obj +<< +/Names [(class_photon_view_a677557c203df8f79277095ce5f9da001) 9982 0 R (class_photon_view_a6bc9726af14a8c7b8bdd7793c495a6e8) 9985 0 R (class_photon_view_a72f924cef0d24da2c542e80062cc3934) 9999 0 R (class_photon_view_a823593ba0cf86454176b4f0d04a70590) 10041 0 R (class_photon_view_a84084cfaf09debaf88362629bb772907) 9990 0 R (class_photon_view_a869710e081df022bbb4fa160e7ab9e0a) 9983 0 R] +/Limits [(class_photon_view_a677557c203df8f79277095ce5f9da001) (class_photon_view_a869710e081df022bbb4fa160e7ab9e0a)] +>> +endobj +12209 0 obj +<< +/Names [(class_photon_view_aa32a59c1f2bd619673142ab75fc7c928) 10008 0 R (class_photon_view_aa4792e336ad2b338fcae475c2cca545c) 9994 0 R (class_photon_view_aa9d1d25847f25afbac6b68c99c7e286c) 10040 0 R (class_photon_view_aaa61ad448b005df342350762476e367d) 9987 0 R (class_photon_view_aae1e4dcb7cf0cf2cd460490cefdcda46) 10035 0 R (class_photon_view_ab6f075ebed73c05fa1c9ea6e81b66cca) 9986 0 R] +/Limits [(class_photon_view_aa32a59c1f2bd619673142ab75fc7c928) (class_photon_view_ab6f075ebed73c05fa1c9ea6e81b66cca)] +>> +endobj +12210 0 obj +<< +/Names [(class_photon_view_ac63b242555603f30ae5b7a099b6fae97) 10009 0 R (class_photon_view_ace8c64cae230e1fbd3356112274e4d8d) 9988 0 R (class_photon_view_ad288db13a15d581e0f7c5886f4036720) 6421 0 R (class_photon_view_ad696cb93fb9835d633b9def970650edc) 10037 0 R (class_photon_view_ad892c308b04787c06907120e64f6bc03) 9979 0 R (class_photon_view_ae0c6ba75b4b849f41a2164c0ad7dbf8f) 10007 0 R] +/Limits [(class_photon_view_ac63b242555603f30ae5b7a099b6fae97) (class_photon_view_ae0c6ba75b4b849f41a2164c0ad7dbf8f)] +>> +endobj +12211 0 obj +<< +/Names [(class_photon_view_ae98bb0b746b0827478b3997ba2302dab) 9993 0 R (class_photon_view_af1871faa617868760d00e59d443d2ad8) 9981 0 R (class_photon_view_af37a856ac051d3882de691851c7d2d08) 9992 0 R (class_photon_view_afcf78ab953a119454750b7e85242eae4) 10039 0 R (class_ping_mono_editor) 10097 0 R (class_ping_mono_editor_a2e854f702a4ced545a5b4405a511941e) 10101 0 R] +/Limits [(class_photon_view_ae98bb0b746b0827478b3997ba2302dab) (class_ping_mono_editor_a2e854f702a4ced545a5b4405a511941e)] +>> +endobj +12212 0 obj +<< +/Names [(class_ping_mono_editor_a4bcf82f6d83763d40da8a8b91a602245) 10100 0 R (class_ping_mono_editor_ae09a896c196c491b286e42b4bae1b5ff) 10099 0 R (class_pun_r_p_c) 6338 0 R (class_raise_event_options) 8833 0 R (class_raise_event_options_a0df0c168fd813e5041f1b0afc6826a75) 10361 0 R (class_raise_event_options_a2efd7020aa43343d1f07a3f8227deb6a) 10359 0 R] +/Limits [(class_ping_mono_editor_a4bcf82f6d83763d40da8a8b91a602245) (class_raise_event_options_a2efd7020aa43343d1f07a3f8227deb6a)] +>> +endobj +12213 0 obj +<< +/Names [(class_raise_event_options_a389e7e5b0df4ce93ba2731a51abc560b) 10356 0 R (class_raise_event_options_a3fff0d28599564c9d69c147ea39682d6) 10362 0 R (class_raise_event_options_a4f5d60401abe2561ab71c9ff9290c06b) 10354 0 R (class_raise_event_options_ab9fdfe47e82d2d049a347e7df4cef701) 10357 0 R (class_raise_event_options_aceba8258488a041c9b52df3bf485830c) 10355 0 R (class_raise_event_options_af1fcb68ddd5f76876c8448de8b5ecb4d) 9249 0 R] +/Limits [(class_raise_event_options_a389e7e5b0df4ce93ba2731a51abc560b) (class_raise_event_options_af1fcb68ddd5f76876c8448de8b5ecb4d)] +>> +endobj +12214 0 obj +<< +/Names [(class_region) 8960 0 R (class_region_a022bbb14effdd4c7d5a3ef78bf9b7099) 10382 0 R (class_region_a39045fbf04de42df3f1e1dbd1ec53581) 10389 0 R (class_region_a44c13a3119bebc2afd0295ac2ef6adb4) 10386 0 R (class_region_a5dc3538ba137c2e09e72a79e6ee5a786) 10388 0 R (class_region_a62d700ce2a92d8a642acece600005ed0) 10387 0 R] +/Limits [(class_region) (class_region_a62d700ce2a92d8a642acece600005ed0)] +>> +endobj +12215 0 obj +<< +/Names [(class_region_a8ffb04f77e0274519d29b6987c50aea0) 10384 0 R (class_region_ab5ea75ba87f49f1bf46b1a257b6f4d9e) 10385 0 R (class_region_aea278b99bcb5e2c122e7d8267c39c051) 10383 0 R (class_room) 6274 0 R (class_room_a0f3fc9b00f2563209d7be0109cd9f98c) 10447 0 R (class_room_a353aed88c44abe4d35d945aef6922910) 10422 0 R] +/Limits [(class_region_a8ffb04f77e0274519d29b6987c50aea0) (class_room_a353aed88c44abe4d35d945aef6922910)] +>> +endobj +12216 0 obj +<< +/Names [(class_room_a3908cd1b2109aae3b91027156607ccac) 10419 0 R (class_room_a3d3329a383d9cc0e4dcf10527ed42845) 10448 0 R (class_room_a4451a1fa7f2f807af3b5e5ac8e65cbfe) 10444 0 R (class_room_a591b6c92b6ffff1c326f10dafdb7fc93) 10421 0 R (class_room_a6a994721651fbffbbec32be44c705642) 10423 0 R (class_room_a6f07e076b19abab3c30d2d7ce484538e) 10417 0 R] +/Limits [(class_room_a3908cd1b2109aae3b91027156607ccac) (class_room_a6f07e076b19abab3c30d2d7ce484538e)] +>> +endobj +12217 0 obj +<< +/Names [(class_room_a86a1e0952d484cc7a679e141463f43c1) 9166 0 R (class_room_a8792cdddd5a4b8933bea7adab8438edf) 9165 0 R (class_room_a9e7c93f447ab113f8b6f8fed1502b997) 10443 0 R (class_room_a9f4957e84aefcd801a35a63f44ce42f3) 10446 0 R (class_room_a9f8ac164f4f24be4140221b72792250a) 6302 0 R (class_room_aa9d85e54b2ff1b151de3670e87549966) 6798 0 R] +/Limits [(class_room_a86a1e0952d484cc7a679e141463f43c1) (class_room_aa9d85e54b2ff1b151de3670e87549966)] +>> +endobj +12218 0 obj +<< +/Names [(class_room_ac193e5eddc588b1642b4de892d71082f) 10416 0 R (class_room_acd75df0fb26bd81f3345ced70740e832) 10418 0 R (class_room_ad78784268e9c07e7d345f95bd58f7bd3) 10415 0 R (class_room_ad9eb0946b646b789772238b429d6266c) 10445 0 R (class_room_ae88d660a721682a04e860c977ee13de2) 10449 0 R (class_room_af3c714b645bb569f4b7f060a985dbf1a) 10414 0 R] +/Limits [(class_room_ac193e5eddc588b1642b4de892d71082f) (class_room_af3c714b645bb569f4b7f060a985dbf1a)] +>> +endobj +12219 0 obj +<< +/Names [(class_room_af507d1c93c87733c1a64cf00104e7501) 10420 0 R (class_room_info) 6273 0 R (class_room_info_a016c74172ba8d6be63ed46526e0eebd4) 10500 0 R (class_room_info_a1e862ae572d36aba8d35f57241450082) 10533 0 R (class_room_info_a211655578d31b9fed0817cad42e8f0b5) 10532 0 R (class_room_info_a25abb4134a29834298f1c5abcfb85456) 10534 0 R] +/Limits [(class_room_af507d1c93c87733c1a64cf00104e7501) (class_room_info_a25abb4134a29834298f1c5abcfb85456)] +>> +endobj +12220 0 obj +<< +/Names [(class_room_info_a46f07a9998e906a0adb4f45bb94f1994) 10503 0 R (class_room_info_a4a091adee00339d328654b93821ba49e) 10508 0 R (class_room_info_a4ad3e14e919adab20770874e5b2a8e5d) 10502 0 R (class_room_info_a617c94cffce6c0adec48aa5302c2d92f) 10514 0 R (class_room_info_a6ee1a8dc240cfc8f983192806e751f14) 10505 0 R (class_room_info_a77189ececa62ba47ff70359fd2db9af5) 10531 0 R] +/Limits [(class_room_info_a46f07a9998e906a0adb4f45bb94f1994) (class_room_info_a77189ececa62ba47ff70359fd2db9af5)] +>> +endobj +12221 0 obj +<< +/Names [(class_room_info_a7ae1c65429e1be34fdefd1b477fcd200) 9209 0 R (class_room_info_a870deed85986f1ca62f97ee3f50114ec) 10535 0 R (class_room_info_a928b103a3e88d2c090152440aa6fa874) 6797 0 R (class_room_info_a9b0a35ab87c5fbe181e5ad4d87ea169d) 10511 0 R (class_room_info_a9fe8d4b4891f2d6e57dcd774048f2545) 10506 0 R (class_room_info_aa738f42768356252e8a72c060dc4b49c) 10530 0 R] +/Limits [(class_room_info_a7ae1c65429e1be34fdefd1b477fcd200) (class_room_info_aa738f42768356252e8a72c060dc4b49c)] +>> +endobj +12222 0 obj +<< +/Names [(class_room_info_ace51e48417e36c6793b6530aa37cc10b) 10513 0 R (class_room_info_ad299fe650504477562a3cdf0609aa0eb) 10501 0 R (class_room_info_ad4cd6791bdb87d9af9b2bf37bee89c90) 10507 0 R (class_room_info_addfd04015dca91382c6505cf0e7171f0) 10536 0 R (class_room_info_adfbbe6beb22c1fb69dc2040c39162729) 10512 0 R (class_room_info_ae307da359dd23a36390aa8d0c15eed1c) 10499 0 R] +/Limits [(class_room_info_ace51e48417e36c6793b6530aa37cc10b) (class_room_info_ae307da359dd23a36390aa8d0c15eed1c)] +>> +endobj +12223 0 obj +<< +/Names [(class_room_info_af0811895b3b40f2b64d243d5fd8fd362) 10509 0 R (class_room_info_af849403d0f422b62daaeb134b5e3ce54) 10510 0 R (class_room_info_afa1e25ad6bf953012d67b7a7a2f35642) 10504 0 R (class_room_options) 6276 0 R (class_room_options_a0322774781bc0f5a76e8ea607af453ee) 10601 0 R (class_room_options_a0bc17f8465ed615ce0126674af329a1f) 10598 0 R] +/Limits [(class_room_info_af0811895b3b40f2b64d243d5fd8fd362) (class_room_options_a0bc17f8465ed615ce0126674af329a1f)] +>> +endobj +12224 0 obj +<< +/Names [(class_room_options_a2d2471ba446949054e81362057d0d8ad) 9259 0 R (class_room_options_a30d0b25a8b85c9232a8a9140bc7def4b) 10597 0 R (class_room_options_a4ada64fca4050804b30c76a308a7a489) 10585 0 R (class_room_options_a5e0b37ab163b5a359d129f9820d8c733) 10587 0 R (class_room_options_a62549ec6e071414957029b07705dc630) 10558 0 R (class_room_options_a694060e8b6a69e4e7091d8e37c2a203b) 10588 0 R] +/Limits [(class_room_options_a2d2471ba446949054e81362057d0d8ad) (class_room_options_a694060e8b6a69e4e7091d8e37c2a203b)] +>> +endobj +12225 0 obj +<< +/Names [(class_room_options_a750b1c08061aa357ae1d1e189cf8b66c) 10594 0 R (class_room_options_a76399e7b84d762bd0315bf89aa058caf) 7091 0 R (class_room_options_a7f8b6c449cea4f53046e0b4578ab5718) 10586 0 R (class_room_options_a8c4bca19c674840296f924ec701b9ee1) 10599 0 R (class_room_options_a8ca0d69c14df2296fcafa9701426dbd7) 10591 0 R (class_room_options_aa2957343333aa85f1cb585c5dc986e09) 10593 0 R] +/Limits [(class_room_options_a750b1c08061aa357ae1d1e189cf8b66c) (class_room_options_aa2957343333aa85f1cb585c5dc986e09)] +>> +endobj +12226 0 obj +<< +/Names [(class_room_options_aa6e8ee62ea58621a6ac3dc33deb319ba) 10596 0 R (class_room_options_aae5bbcfe0897cf56694be07642d980be) 10602 0 R (class_room_options_ac0d554f095700262fabd29cd28e4c7e8) 10589 0 R (class_room_options_adcfa176960d9ab8c0e3667d7c6810192) 10595 0 R (class_room_options_aed4944177ded9cd58c6c7f0f2bd95b4c) 10600 0 R (class_room_options_aed6c5f5fd7c8f31010c242b967246c72) 10590 0 R] +/Limits [(class_room_options_aa6e8ee62ea58621a6ac3dc33deb319ba) (class_room_options_aed6c5f5fd7c8f31010c242b967246c72)] +>> +endobj +12227 0 obj +<< +/Names [(class_room_options_af4a6c36c95aa2a009377552769eafe4b) 10592 0 R (class_scene_manager_helper) 10644 0 R (class_scene_manager_helper_a177df3595c98493f06aeec0aca449743) 10647 0 R (class_scene_manager_helper_ab6409a5985d706aa80a8c1add2f88cad) 10646 0 R (class_server_settings) 8902 0 R (class_server_settings_a0bc41aab7289ce45195f260077b91e48) 10713 0 R] +/Limits [(class_room_options_af4a6c36c95aa2a009377552769eafe4b) (class_server_settings_a0bc41aab7289ce45195f260077b91e48)] +>> +endobj +12228 0 obj +<< +/Names [(class_server_settings_a16c0927185e85b1c45492481b49e1721) 10702 0 R (class_server_settings_a2fafc5c45a737f8090fef92f080bfd50) 10703 0 R (class_server_settings_a3b8285422f8ec14b98457c0935304b6d) 10700 0 R (class_server_settings_a3e7eed57634b89eabedaf6c852b7dc4b) 10698 0 R (class_server_settings_a3fd2ceafc9192779c59a646884ba9810) 10659 0 R (class_server_settings_a5512de202f9fc04eaa51c9a82a7abb87) 10663 0 R] +/Limits [(class_server_settings_a16c0927185e85b1c45492481b49e1721) (class_server_settings_a5512de202f9fc04eaa51c9a82a7abb87)] +>> +endobj +12229 0 obj +<< +/Names [(class_server_settings_a5caaad8da076804ce522b9b5da31d846) 10709 0 R (class_server_settings_a604fa40c04419dd5972f6d6c0710ac44) 10708 0 R (class_server_settings_a61d571180623076b8a12b9d2ca550411) 10705 0 R (class_server_settings_a659ffac7841ea8293727c41080cc26ec) 10664 0 R (class_server_settings_a683ee8add05e046c395ecbcd2c077052) 10696 0 R (class_server_settings_a7f72524c0d04bb8dee7d6eea35465a0b) 10714 0 R] +/Limits [(class_server_settings_a5caaad8da076804ce522b9b5da31d846) (class_server_settings_a7f72524c0d04bb8dee7d6eea35465a0b)] +>> +endobj +12230 0 obj +<< +/Names [(class_server_settings_a8a1c45242135b589ecc819e132c59655) 10662 0 R (class_server_settings_a98c6a355e14f4a2b76a1255162401aea) 10710 0 R (class_server_settings_aadefac90411116a558839e318ca90de0) 10697 0 R (class_server_settings_ab1470a61ee090390923d757d036b7c2d) 10706 0 R (class_server_settings_ab20cfb9bd2fd6526bb96d76c5ef5fcdc) 10707 0 R (class_server_settings_abe34064564018fc67afae2142c244cba) 10712 0 R] +/Limits [(class_server_settings_a8a1c45242135b589ecc819e132c59655) (class_server_settings_abe34064564018fc67afae2142c244cba)] +>> +endobj +12231 0 obj +<< +/Names [(class_server_settings_abfb17f6528c617b0b7dff59f739de7ec) 10711 0 R (class_server_settings_ac70398ae8a3414ab1429069965cfcd32) 10652 0 R (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a08d79b550be04c0b3b76fc64a58efde0) 10656 0 R (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a30679503fd5d3a59a6c5c5228d0077de) 10655 0 R (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a57561f889c64fb3f0a85f31a7fb1d941) 10657 0 R (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a90530e0e762e9297f4d32ed392eabe8e) 10654 0 R] +/Limits [(class_server_settings_abfb17f6528c617b0b7dff59f739de7ec) (class_server_settings_ac70398ae8a3414ab1429069965cfcd32a90530e0e762e9297f4d32ed392eabe8e)] +>> +endobj +12232 0 obj +<< +/Names [(class_server_settings_ac70398ae8a3414ab1429069965cfcd32afaf396cbd83927b72a84d2616fac76ff) 10653 0 R (class_server_settings_ac93d5ddacf54f0efb974bb3c57537275) 10704 0 R (class_server_settings_ae09a675e680b68d1ed6117ae990e0140) 10699 0 R (class_server_settings_ae0eef79dfdcf1d7d7577094dadc4ca4b) 10661 0 R (class_server_settings_ae9dc8779d32a07848cb6e9063ae215d6) 10660 0 R (class_server_settings_aeb0c2bda5dd14905c6d82c5166971117) 10658 0 R] +/Limits [(class_server_settings_ac70398ae8a3414ab1429069965cfcd32afaf396cbd83927b72a84d2616fac76ff) (class_server_settings_aeb0c2bda5dd14905c6d82c5166971117)] +>> +endobj +12233 0 obj +<< +/Names [(class_typed_lobby) 6245 0 R (class_typed_lobby_a127f509c2991db15c8d1801ec9fe8b35) 6278 0 R (class_typed_lobby_a3cc306cd96153d9e71b905ca7367da77) 10772 0 R (class_typed_lobby_a6f007dbaead56a950745524463ce5219) 10777 0 R (class_typed_lobby_a73ad6b86a44c2b93d32748ea667c5427) 10790 0 R (class_typed_lobby_a7ba53ade2e4b461836a442872bdb5f71) 10775 0 R] +/Limits [(class_typed_lobby) (class_typed_lobby_a7ba53ade2e4b461836a442872bdb5f71)] +>> +endobj +12234 0 obj +<< +/Names [(class_typed_lobby_aa384f44e95a51cd7b7fd5cfc3354fde3) 10773 0 R (class_typed_lobby_acd1dfdf3ed901ee8ebe75587fcd0c60b) 10776 0 R (class_typed_lobby_info) 9016 0 R (class_typed_lobby_info_a5b7b6fb52a3b9813e8b2af49459c6475) 10794 0 R (class_typed_lobby_info_a948789896eb6815a2628681f338d754b) 10795 0 R (class_typed_lobby_info_afc589242ac6c9946eb6b5cea6fcf9d81) 10793 0 R] +/Limits [(class_typed_lobby_aa384f44e95a51cd7b7fd5cfc3354fde3) (class_typed_lobby_info_afc589242ac6c9946eb6b5cea6fcf9d81)] +>> +endobj +12235 0 obj +<< +/Names [(class_unity_engine_1_1_scene_management_1_1_scene_manager) 7071 0 R (class_unity_engine_1_1_scene_management_1_1_scene_manager_a44f218a648b456714c451e119db53b2b) 10619 0 R (class_unity_engine_1_1_scene_management_1_1_scene_manager_a87166a3e05d57edf58bc6e71d0cf75d5) 10620 0 R (class_web_rpc_response) 6848 0 R (class_web_rpc_response_a26d3e8a8ae6afce9d309b4c8a7f6105e) 10813 0 R (class_web_rpc_response_a328292c9db1a4c5559b00b9e6b7d1b69) 10816 0 R] +/Limits [(class_unity_engine_1_1_scene_management_1_1_scene_manager) (class_web_rpc_response_a328292c9db1a4c5559b00b9e6b7d1b69)] +>> +endobj +12236 0 obj +<< +/Names [(class_web_rpc_response_a7c718bc7f77fa026307ac93f99c81c92) 10817 0 R (class_web_rpc_response_ab1431df146dda7dfd8c5771bf592504d) 10814 0 R (class_web_rpc_response_ac0f2c0f4cf1ad20705f4bb1cff84461d) 10815 0 R (class_web_rpc_response_af5d1ea1f048ed2527f025c8c19d9b133) 10812 0 R (general) 6198 0 R (general_8md) 10828 0 R] +/Limits [(class_web_rpc_response_a7c718bc7f77fa026307ac93f99c81c92) (general_8md)] +>> +endobj +12237 0 obj +<< +/Names [(general_instantiateManual) 6354 0 R (general_masterServerAndLobby) 6239 0 R (general_photonInGeneral) 6215 0 R (general_rpcManual) 6331 0 R (group__optional_gui) 6881 0 R (group__public_api) 6470 0 R] +/Limits [(general_instantiateManual) (group__public_api)] +>> +endobj +12238 0 obj +<< +/Names [(group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) 6678 0 R (group__public_api_ga8d4a6786d6193f0e6245c44e4a7bb4a0) 6643 0 R (group__public_api_gab84b274b6aa3b3a3d7810361da16170f) 6637 0 R (group__public_api_gad61b1461cf60ad9e8d86923d111d5cc9) 6665 0 R (group__public_api_gaf0468f6a0c8ab8caec09678e6dc6f3d5) 6633 0 R (group__public_api_gaf30bbea51cc8c4b1ddc239d1c5c1468f) 6531 0 R] +/Limits [(group__public_api_ga78c69bbb6f79d1e4fb23d3f761eaf4aa) (group__public_api_gaf30bbea51cc8c4b1ddc239d1c5c1468f)] +>> +endobj +12239 0 obj +<< +/Names [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a10b0501000c144cb2a7424bd45e1bcde) 6658 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a2adb83359e79fb5cfc94ab00dcf2184b) 6650 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a5310d1fb96be7d3ddd41079a9249c2b3) 6651 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a628d81b73c9e217e7388d07c448d98bf) 6648 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a6bfd906f466d549d660a2e7356ac58dd) 6656 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7b2f31b90fe1c2cc33a52233c1925df3) 6646 0 R] +/Limits [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a10b0501000c144cb2a7424bd45e1bcde) (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7b2f31b90fe1c2cc33a52233c1925df3)] +>> +endobj +12240 0 obj +<< +/Names [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7d50c09f1ad7d098e0a847bcdcab7efb) 6653 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a88a122d877a08d17b85e005b97321320) 6657 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a8f20319172b2aa6813ba3359f8790a39) 6645 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa3db59f96790ca93f6c8ac703735f401) 6663 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa927b3e1f83aa1b3c6feff945ca18f77) 6647 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa9c7b1d7219fa9d3de551ba5bc639eb6) 6654 0 R] +/Limits [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0a7d50c09f1ad7d098e0a847bcdcab7efb) (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aa9c7b1d7219fa9d3de551ba5bc639eb6)] +>> +endobj +12241 0 obj +<< +/Names [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aaf3c26fc49c920a4779844921baeeef8) 6660 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ab468dfbd5b304bf96c74152856bd09a7) 6649 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac2b8e7a526f5bdbd0ca4e42a1fc87fdf) 6655 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ac495884e9133962e72063062d1382466) 6662 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0ae047588dabb5a0b1e059604b80289791) 6661 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aedb214653d9f3cecd840463790ac2894) 6664 0 R] +/Limits [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aaf3c26fc49c920a4779844921baeeef8) (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aedb214653d9f3cecd840463790ac2894)] +>> +endobj +12242 0 obj +<< +/Names [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aef70e46fd3bbc21e3e1f0b6815e750c0) 6659 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0af6807db4ae3a5c82b99bced82a0ca92b) 6652 0 R (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0af704f57ea420275ad51bf55b7dec2c96) 6644 0 R (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa07d978b16f68f868668a6384df9bc11b) 6641 0 R (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa2dd089935363426140d8d54fee80464c) 6642 0 R (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa52ef9633d88a7480b3a938ff9eaa2a25) 6638 0 R] +/Limits [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aef70e46fd3bbc21e3e1f0b6815e750c0) (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa52ef9633d88a7480b3a938ff9eaa2a25)] +>> +endobj +12243 0 obj +<< +/Names [(group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa7eb09c07159c5b57395510a1c3755705) 6640 0 R (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fab1c94ca2fbc3e78fc30069c8d0f01680) 6356 0 R (group__public_api_ggab84b274b6aa3b3a3d7810361da16170fad0209f4a40060d6e7c37d29979d8f444) 6639 0 R (group__public_api_ggab84b274b6aa3b3a3d7810361da16170faf1983fc6b424304e28f91977e06f5881) 6391 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a281086f3f83f5f38b4b9a4572b60a368) 6674 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a354c849d41c85993a8a28975e0d1c996) 6668 0 R] +/Limits [(group__public_api_ggab84b274b6aa3b3a3d7810361da16170fa7eb09c07159c5b57395510a1c3755705) (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a354c849d41c85993a8a28975e0d1c996)] +>> +endobj +12244 0 obj +<< +/Names [(group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a443ec8de9a697e190f4b24ab3ab36a9d) 6666 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a522f961eb7a2b35f0ef4b99b4ad3bb0a) 6672 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a65537dc549af3f90695ff7cf0002b17b) 6677 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a927b48448e5111f5bac2a7d59833f051) 6676 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a9b962f813e1575d4d311a9ab3e60afd4) 6675 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9aa8534012cb63e62c0b3a2335206117cc) 6673 0 R] +/Limits [(group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9a443ec8de9a697e190f4b24ab3ab36a9d) (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9aa8534012cb63e62c0b3a2335206117cc)] +>> +endobj +12245 0 obj +<< +/Names [(group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab0d4998a26f5b5742ad38c4af8817e32) 6670 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab67551dad56fc73fd4a580e810dc5f7f) 6671 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9abbec862190460d01acb3557a0e9a13f5) 6669 0 R (group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ae28f71975b160263c7e6438b4b4429ef) 6667 0 R (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5a5391f9a882a54c787b206138ed6d28b0) 6635 0 R (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5abbd47109890259c0127154db1af26c75) 6636 0 R] +/Limits [(group__public_api_ggad61b1461cf60ad9e8d86923d111d5cc9ab0d4998a26f5b5742ad38c4af8817e32) (group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5abbd47109890259c0127154db1af26c75)] +>> +endobj +12246 0 obj +<< +/Names [(group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5ae0a1284706116eec7a83a489235a9ef8) 6634 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa03351bfa4fb9325a5b0486862d4be3be) 6626 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa1d2567b2c2f8ec1799a293b0359b4046) 6622 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa21a7525daa0541322ae20d247416d523) 6631 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2959bccbe2dabb6a8d2024ea241f6f2f) 6537 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2) 6610 0 R] +/Limits [(group__public_api_ggaf0468f6a0c8ab8caec09678e6dc6f3d5ae0a1284706116eec7a83a489235a9ef8) (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa2af1a9ab5a169e8800132c0625d3c6b2)] +>> +endobj +12247 0 obj +<< +/Names [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa39b1e276b8dab1e7620a643b7e01d71c) 6618 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3ad62b9539e5cf97eacf06e2268dea5a) 6536 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa3f4efa6b23780a66a9462d8634cca4c8) 6616 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa52ec8131295503060a07c28fc337fc41) 6632 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa62d34f824fc4c61b693dd35ff3e7e79b) 6611 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941) 6624 0 R] +/Limits [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa39b1e276b8dab1e7620a643b7e01d71c) (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941)] +>> +endobj +12248 0 obj +<< +/Names [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) 6612 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa7546497495fd3c2f785966943e8d0568) 6614 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa75519954740466351e71d794425f6b12) 6615 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa864e7f0d7510922caf9c107b8dd771a3) 6333 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa883ba3af22ed6fc336cde8cb71624d30) 6620 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa8d87c972aaa1041a4f3778d2d7fab03c) 6627 0 R] +/Limits [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa8d87c972aaa1041a4f3778d2d7fab03c)] +>> +endobj +12249 0 obj +<< +/Names [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) 6613 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa9583b114e6efdfd8068051d562391dc0) 6532 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa8bb589bf7df8d2be1f0b4b586ba8001) 6621 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faa98a8b15d4aa12e02e5ccbc98172eecc) 6628 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab1a1f76626b99f398def802effe4908a) 6630 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab39600c160a074fb0b76467956dadec9) 6625 0 R] +/Limits [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa90c9be8eb52ae376a236bfd0a28d7918) (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab39600c160a074fb0b76467956dadec9)] +>> +endobj +12250 0 obj +<< +/Names [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab6273c525ff9cd304d2a8b0adb61a5ea) 6535 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fac859a296d058a67508e48b2a0363e71c) 6629 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faccfd8b0940a4981818cc4147e29de834) 6617 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fad07f29ca1e2135927cf0966873408125) 6619 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fadf130e855b7c27f0f10f66db4a7e83c4) 6534 0 R (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faf0e999adc414b29857944d5e5fabfe2e) 6533 0 R] +/Limits [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fab6273c525ff9cd304d2a8b0adb61a5ea) (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468faf0e999adc414b29857944d5e5fabfe2e)] +>> +endobj +12251 0 obj +<< +/Names [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fafbc17ce96afe80127d732de2d4be0378) 6623 0 R (index) 6192 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener) 6984 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a40b8c46d27d74b519f0fa34abd6fb81a) 7938 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a4dae08c2527025369671d13d8d67853e) 7939 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a601455f328ead10ff4b8be9a30698170) 7916 0 R] +/Limits [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fafbc17ce96afe80127d732de2d4be0378) (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a601455f328ead10ff4b8be9a30698170)] +>> +endobj +12252 0 obj +<< +/Names [(interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a84ca1d0eee402e737803930a6ee6ec73) 7937 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a9e1b1dd69f646b62d2958f9c49db2630) 7412 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_aa2165bd3e01be72b48d2cd1f7b7a94e9) 7940 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_aafb9a56eee22abe2c728d643629e8c28) 7935 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_ae4c3e779b7761f6a254231b9775fabcf) 7421 0 R (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_af843b2308e71621bedf3d8ee060eb1cc) 7936 0 R] +/Limits [(interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_a84ca1d0eee402e737803930a6ee6ec73) (interface_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_i_chat_client_listener_af843b2308e71621bedf3d8ee060eb1cc)] +>> +endobj +12253 0 obj +<< +/Names [(interface_i_pun_callbacks) 6530 0 R (interface_i_pun_callbacks_a02364f5144b6305bbffc886d530b7bd2) 8061 0 R (interface_i_pun_callbacks_a113daf6c35e118aff8daa5537d8c1c6c) 8009 0 R (interface_i_pun_callbacks_a12268b49cbab2203f8b664c7bef4655a) 8012 0 R (interface_i_pun_callbacks_a14eede4f84e088008e59fe63efb8775d) 8016 0 R (interface_i_pun_callbacks_a28ef052b776a594b305b08d7e80b6df3) 8015 0 R] +/Limits [(interface_i_pun_callbacks) (interface_i_pun_callbacks_a28ef052b776a594b305b08d7e80b6df3)] +>> +endobj +12254 0 obj +<< +/Names [(interface_i_pun_callbacks_a3a210383eb25f1c6f509aaa23c792f6f) 8055 0 R (interface_i_pun_callbacks_a445d24c62e4e3d8bbc2cc0d25853d43c) 8054 0 R (interface_i_pun_callbacks_a49f4cfb7c0e2c51ec71b8f52c7413b31) 8014 0 R (interface_i_pun_callbacks_a523ce991e9a0dcde1b57b13e4e3db38c) 8006 0 R (interface_i_pun_callbacks_a5a8916735c974a747d63d107c340ffef) 8063 0 R (interface_i_pun_callbacks_a5d06d8035078d422f08b0c72c97ab136) 8008 0 R] +/Limits [(interface_i_pun_callbacks_a3a210383eb25f1c6f509aaa23c792f6f) (interface_i_pun_callbacks_a5d06d8035078d422f08b0c72c97ab136)] +>> +endobj +12255 0 obj +<< +/Names [(interface_i_pun_callbacks_a5dd5d351e76698a0b6665064f6282baa) 8057 0 R (interface_i_pun_callbacks_a6922987e083f414d05464403e3b94bce) 8062 0 R (interface_i_pun_callbacks_a74de405ce9dff20613c31ce891090f49) 8011 0 R (interface_i_pun_callbacks_a98e3be45fd9367ec8695aeeadcf8ee18) 8064 0 R (interface_i_pun_callbacks_a9b55ef4a99252e1a9a111a3f88b61e1d) 8058 0 R (interface_i_pun_callbacks_aa200001beb114a07eac4b9442e2b793e) 8017 0 R] +/Limits [(interface_i_pun_callbacks_a5dd5d351e76698a0b6665064f6282baa) (interface_i_pun_callbacks_aa200001beb114a07eac4b9442e2b793e)] +>> +endobj +12256 0 obj +<< +/Names [(interface_i_pun_callbacks_aa6d84e9c68f93825fb3bf453d6f5ca1b) 8056 0 R (interface_i_pun_callbacks_aa9014980a1dc2d9befc6129668c890a2) 8001 0 R (interface_i_pun_callbacks_aae3221aa2d3b999574fc55a6aaee2877) 8060 0 R (interface_i_pun_callbacks_abee2c86784a9a700b9f5b4073bd00be7) 8005 0 R (interface_i_pun_callbacks_ac0d022a7c6abd23f0039efec687eb0dc) 8018 0 R (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d) 8013 0 R] +/Limits [(interface_i_pun_callbacks_aa6d84e9c68f93825fb3bf453d6f5ca1b) (interface_i_pun_callbacks_ac345f1ed2f24bcc73593988f1ac44f7d)] +>> +endobj +12257 0 obj +<< +/Names [(interface_i_pun_callbacks_ac6d7fe9f1dfe9aec1562c262a90f7d5b) 8004 0 R (interface_i_pun_callbacks_ad3e808558f778aec6b12e950d9632506) 8010 0 R (interface_i_pun_callbacks_ad56f84b6647d2e61d273db297deb08b1) 8007 0 R (interface_i_pun_callbacks_aee4c7c26520ae45019b605b054fa1ac0) 8003 0 R (interface_i_pun_callbacks_af7c05722b8d15402bdb1a4e08850d989) 8059 0 R (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e) 8002 0 R] +/Limits [(interface_i_pun_callbacks_ac6d7fe9f1dfe9aec1562c262a90f7d5b) (interface_i_pun_callbacks_affec2831a07b42447ac47919104c608e)] +>> +endobj +12258 0 obj +<< +/Names [(interface_i_pun_observable) 6529 0 R (interface_i_pun_prefab_pool) 8266 0 R (interface_i_pun_prefab_pool_a7e4be9281d4a5d2474134e54ef766aa0) 8268 0 R (interface_i_pun_prefab_pool_a7faad9f73d3ef1574d3bf512f5d870ea) 8269 0 R (main_8md) 10829 0 R (md__c_1__dev_photon-sdk-dotnet__unity_test-xb1__assets___doc_optional_gui) 6437 0 R] +/Limits [(interface_i_pun_observable) (md__c_1__dev_photon-sdk-dotnet__unity_test-xb1__assets___doc_optional_gui)] +>> +endobj +12259 0 obj +<< +/Names [(namespace_exit_games) 6897 0 R (namespace_exit_games_1_1_client) 6899 0 R (namespace_exit_games_1_1_client_1_1_g_u_i) 6901 0 R (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65) 6904 0 R (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65a70ab99161d5df5bb7e0edb7407f65483) 6907 0 R (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65aa296104f0c61a9cf39f4824d05315e12) 6908 0 R] +/Limits [(namespace_exit_games) (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65aa296104f0c61a9cf39f4824d05315e12)] +>> +endobj +12260 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab37d9c6b396307dda685c3c65c20e359) 6905 0 R (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab7095f057db3fefa7325ad93a04e14fd) 6906 0 R (namespace_exit_games_1_1_client_1_1_photon) 6849 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat) 6968 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19) 7025 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a10b0501000c144cb2a7424bd45e1bcde) 7044 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab37d9c6b396307dda685c3c65c20e359) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a10b0501000c144cb2a7424bd45e1bcde)] +>> +endobj +12261 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a47d270be4d53cc3a1bc56b9eb1c36595) 7041 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a8678b4480f40853432f680fccf4dab40) 7040 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa3db59f96790ca93f6c8ac703735f401) 7039 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aa927b3e1f83aa1b3c6feff945ca18f77) 7038 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ab9ef7abda3055a11dd964fd93a07dc40) 7042 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ac495884e9133962e72063062d1382466) 7036 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19a47d270be4d53cc3a1bc56b9eb1c36595) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ac495884e9133962e72063062d1382466)] +>> +endobj +12262 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ad61e8ad0770b4d06dc1716dfce52751e) 7043 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ae047588dabb5a0b1e059604b80289791) 7035 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aedb214653d9f3cecd840463790ac2894) 7037 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19aef70e46fd3bbc21e3e1f0b6815e750c0) 7045 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19af704f57ea420275ad51bf55b7dec2c96) 7026 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8b) 6986 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ad7d7f22d8741237f41e4b60779cdfa19ad61e8ad0770b4d06dc1716dfce52751e) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8b)] +>> +endobj +12263 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba0777deff381bd76ec1ab2dc434860022) 6990 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba443ec8de9a697e190f4b24ab3ab36a9d) 6988 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba522f961eb7a2b35f0ef4b99b4ad3bb0a) 6994 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba6adf97f83acf6453d4a6a4b1070f3754) 6987 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba85a7970b25fcbdfd2f82f78609298e56) 6996 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8baa8534012cb63e62c0b3a2335206117cc) 6995 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8ba0777deff381bd76ec1ab2dc434860022) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8baa8534012cb63e62c0b3a2335206117cc)] +>> +endobj +12264 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab0d4998a26f5b5742ad38c4af8817e32) 6992 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab67551dad56fc73fd4a580e810dc5f7f) 6993 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bac18fb72fa24e41efb70cd214f7681dfc) 6997 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bad376a854099d47f8a5279893e854ec27) 6991 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bae28f71975b160263c7e6438b4b4429ef) 6989 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1c) 7027 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_ae3a2988c8cb1fea31bb2d9eeafc0ed8bab0d4998a26f5b5742ad38c4af8817e32) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1c)] +>> +endobj +12265 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca183709ebe3a1d675014d32b94ad7ed94) 7033 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca3f6fb6f058deeea1407bacefec5265a2) 7032 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca4db4563826bad0eb2f60ee6e42d0ea4b) 7029 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca6adf97f83acf6453d4a6a4b1070f3754) 7034 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca90589c47f06eb971d548591f23c285af) 7028 0 R (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1caa8a06837aec81e16c9a07221848aef6f) 7031 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1ca183709ebe3a1d675014d32b94ad7ed94) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1caa8a06837aec81e16c9a07221848aef6f)] +>> +endobj +12266 0 obj +<< +/Names [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1cad85544fce402c7a2a96a48078edaf203) 7030 0 R (namespace_photon) 6197 0 R (namespace_photon_ac2f4b49a218ef814d00e31cd5f32bf4e) 7059 0 R (namespace_unity_engine) 7060 0 R (namespace_unity_engine_1_1_scene_management) 7062 0 R (optional_gui_8md) 10830 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1cad85544fce402c7a2a96a48078edaf203) (optional_gui_8md)] +>> +endobj +12267 0 obj +<< +/Names [(page.1) 6191 0 R (page.10) 6411 0 R (page.100) 8546 0 R (page.101) 8551 0 R (page.102) 8560 0 R (page.103) 8598 0 R] +/Limits [(page.1) (page.103)] +>> +endobj +12268 0 obj +<< +/Names [(page.104) 8627 0 R (page.105) 8641 0 R (page.106) 8655 0 R (page.107) 8678 0 R (page.108) 8713 0 R (page.109) 8774 0 R] +/Limits [(page.104) (page.109)] +>> +endobj +12269 0 obj +<< +/Names [(page.11) 6427 0 R (page.110) 8830 0 R (page.111) 8884 0 R (page.112) 8947 0 R (page.113) 9008 0 R (page.114) 9038 0 R] +/Limits [(page.11) (page.114)] +>> +endobj +12270 0 obj +<< +/Names [(page.115) 9074 0 R (page.116) 9100 0 R (page.117) 9107 0 R (page.118) 9121 0 R (page.119) 9131 0 R (page.12) 6432 0 R] +/Limits [(page.115) (page.12)] +>> +endobj +12271 0 obj +<< +/Names [(page.120) 9141 0 R (page.121) 9152 0 R (page.122) 9164 0 R (page.123) 9181 0 R (page.124) 9190 0 R (page.125) 9198 0 R] +/Limits [(page.120) (page.125)] +>> +endobj +12272 0 obj +<< +/Names [(page.126) 9208 0 R (page.127) 9223 0 R (page.128) 9236 0 R (page.129) 9244 0 R (page.13) 6436 0 R (page.130) 9258 0 R] +/Limits [(page.126) (page.130)] +>> +endobj +12273 0 obj +<< +/Names [(page.131) 9270 0 R (page.132) 9275 0 R (page.133) 9281 0 R (page.134) 9292 0 R (page.135) 9301 0 R (page.136) 9309 0 R] +/Limits [(page.131) (page.136)] +>> +endobj +12274 0 obj +<< +/Names [(page.137) 9322 0 R (page.138) 9332 0 R (page.139) 9341 0 R (page.14) 6441 0 R (page.140) 9351 0 R (page.141) 9366 0 R] +/Limits [(page.137) (page.141)] +>> +endobj +12275 0 obj +<< +/Names [(page.142) 9379 0 R (page.143) 9394 0 R (page.144) 9422 0 R (page.145) 9478 0 R (page.146) 9508 0 R (page.147) 9519 0 R] +/Limits [(page.142) (page.147)] +>> +endobj +12276 0 obj +<< +/Names [(page.148) 9527 0 R (page.149) 9550 0 R (page.15) 6446 0 R (page.150) 9576 0 R (page.151) 9598 0 R (page.152) 9619 0 R] +/Limits [(page.148) (page.152)] +>> +endobj +12277 0 obj +<< +/Names [(page.153) 9650 0 R (page.154) 9675 0 R (page.155) 9689 0 R (page.156) 9714 0 R (page.157) 9735 0 R (page.158) 9756 0 R] +/Limits [(page.153) (page.158)] +>> +endobj +12278 0 obj +<< +/Names [(page.159) 9781 0 R (page.16) 6459 0 R (page.160) 9815 0 R (page.161) 9841 0 R (page.162) 9868 0 R (page.163) 9900 0 R] +/Limits [(page.159) (page.163)] +>> +endobj +12279 0 obj +<< +/Names [(page.164) 9971 0 R (page.165) 10031 0 R (page.166) 10056 0 R (page.167) 10070 0 R (page.168) 10082 0 R (page.169) 10095 0 R] +/Limits [(page.164) (page.169)] +>> +endobj +12280 0 obj +<< +/Names [(page.17) 6467 0 R (page.170) 10150 0 R (page.171) 10186 0 R (page.172) 10211 0 R (page.173) 10239 0 R (page.174) 10269 0 R] +/Limits [(page.17) (page.174)] +>> +endobj +12281 0 obj +<< +/Names [(page.175) 10291 0 R (page.176) 10313 0 R (page.177) 10332 0 R (page.178) 10351 0 R (page.179) 10378 0 R (page.18) 6474 0 R] +/Limits [(page.175) (page.18)] +>> +endobj +12282 0 obj +<< +/Names [(page.180) 10411 0 R (page.181) 10441 0 R (page.182) 10460 0 R (page.183) 10466 0 R (page.184) 10495 0 R (page.185) 10529 0 R] +/Limits [(page.180) (page.185)] +>> +endobj +12283 0 obj +<< +/Names [(page.186) 10545 0 R (page.187) 10556 0 R (page.188) 10583 0 R (page.189) 10606 0 R (page.19) 6523 0 R (page.190) 10617 0 R] +/Limits [(page.186) (page.190)] +>> +endobj +12284 0 obj +<< +/Names [(page.191) 10643 0 R (page.192) 10693 0 R (page.193) 10718 0 R (page.194) 10731 0 R (page.195) 10760 0 R (page.196) 10788 0 R] +/Limits [(page.191) (page.196)] +>> +endobj +12285 0 obj +<< +/Names [(page.197) 10808 0 R (page.198) 10821 0 R (page.199) 10827 0 R (page.2) 6202 0 R (page.20) 6593 0 R (page.200) 10917 0 R] +/Limits [(page.197) (page.200)] +>> +endobj +12286 0 obj +<< +/Names [(page.201) 10967 0 R (page.202) 10978 0 R (page.203) 11017 0 R (page.204) 11075 0 R (page.205) 11129 0 R (page.206) 11134 0 R] +/Limits [(page.201) (page.206)] +>> +endobj +12287 0 obj +<< +/Names [(page.207) 11182 0 R (page.208) 11224 0 R (page.209) 11241 0 R (page.21) 6685 0 R (page.210) 11265 0 R (page.211) 11307 0 R] +/Limits [(page.207) (page.211)] +>> +endobj +12288 0 obj +<< +/Names [(page.212) 11337 0 R (page.213) 11355 0 R (page.214) 11379 0 R (page.215) 11402 0 R (page.216) 11428 0 R (page.217) 11465 0 R] +/Limits [(page.212) (page.217)] +>> +endobj +12289 0 obj +<< +/Names [(page.218) 11522 0 R (page.219) 11542 0 R (page.22) 6701 0 R (page.220) 11616 0 R (page.221) 11708 0 R (page.222) 11795 0 R] +/Limits [(page.218) (page.222)] +>> +endobj +12290 0 obj +<< +/Names [(page.223) 11868 0 R (page.224) 11975 0 R (page.225) 12020 0 R (page.23) 6744 0 R (page.24) 6790 0 R (page.25) 6822 0 R] +/Limits [(page.223) (page.25)] +>> +endobj +12291 0 obj +<< +/Names [(page.26) 6846 0 R (page.27) 6865 0 R (page.28) 6880 0 R (page.29) 6896 0 R (page.3) 6214 0 R (page.30) 6965 0 R] +/Limits [(page.26) (page.30)] +>> +endobj +12292 0 obj +<< +/Names [(page.31) 7021 0 R (page.32) 7056 0 R (page.33) 7068 0 R (page.34) 7075 0 R (page.35) 7085 0 R (page.36) 7113 0 R] +/Limits [(page.31) (page.36)] +>> +endobj +12293 0 obj +<< +/Names [(page.37) 7131 0 R (page.38) 7138 0 R (page.39) 7160 0 R (page.4) 6236 0 R (page.40) 7183 0 R (page.41) 7202 0 R] +/Limits [(page.37) (page.41)] +>> +endobj +12294 0 obj +<< +/Names [(page.42) 7225 0 R (page.43) 7245 0 R (page.44) 7284 0 R (page.45) 7337 0 R (page.46) 7369 0 R (page.47) 7385 0 R] +/Limits [(page.42) (page.47)] +>> +endobj +12295 0 obj +<< +/Names [(page.48) 7393 0 R (page.49) 7405 0 R (page.5) 6267 0 R (page.50) 7411 0 R (page.51) 7419 0 R (page.52) 7437 0 R] +/Limits [(page.48) (page.52)] +>> +endobj +12296 0 obj +<< +/Names [(page.53) 7462 0 R (page.54) 7481 0 R (page.55) 7504 0 R (page.56) 7523 0 R (page.57) 7543 0 R (page.58) 7567 0 R] +/Limits [(page.53) (page.58)] +>> +endobj +12297 0 obj +<< +/Names [(page.59) 7581 0 R (page.6) 6296 0 R (page.60) 7612 0 R (page.61) 7640 0 R (page.62) 7653 0 R (page.63) 7687 0 R] +/Limits [(page.59) (page.63)] +>> +endobj +12298 0 obj +<< +/Names [(page.64) 7719 0 R (page.65) 7733 0 R (page.66) 7741 0 R (page.67) 7763 0 R (page.68) 7787 0 R (page.69) 7807 0 R] +/Limits [(page.64) (page.69)] +>> +endobj +12299 0 obj +<< +/Names [(page.7) 6327 0 R (page.70) 7828 0 R (page.71) 7839 0 R (page.72) 7848 0 R (page.73) 7867 0 R (page.74) 7887 0 R] +/Limits [(page.7) (page.74)] +>> +endobj +12300 0 obj +<< +/Names [(page.75) 7908 0 R (page.76) 7934 0 R (page.77) 7944 0 R (page.78) 7948 0 R (page.79) 7996 0 R (page.8) 6351 0 R] +/Limits [(page.75) (page.8)] +>> +endobj +12301 0 obj +<< +/Names [(page.80) 8049 0 R (page.81) 8084 0 R (page.82) 8117 0 R (page.83) 8154 0 R (page.84) 8163 0 R (page.85) 8186 0 R] +/Limits [(page.80) (page.85)] +>> +endobj +12302 0 obj +<< +/Names [(page.86) 8211 0 R (page.87) 8243 0 R (page.88) 8265 0 R (page.89) 8287 0 R (page.9) 6383 0 R (page.90) 8313 0 R] +/Limits [(page.86) (page.90)] +>> +endobj +12303 0 obj +<< +/Names [(page.91) 8338 0 R (page.92) 8352 0 R (page.93) 8370 0 R (page.94) 8407 0 R (page.95) 8459 0 R (page.96) 8504 0 R] +/Limits [(page.91) (page.96)] +>> +endobj +12304 0 obj +<< +/Names [(page.97) 8529 0 R (page.98) 8535 0 R (page.99) 8540 0 R (photon_stats_gui_8md) 10831 0 R (photon_stats_gui_group) 6447 0 R (public_api_8md) 10832 0 R] +/Limits [(page.97) (public_api_8md)] +>> +endobj +12305 0 obj +<< +/Names [(public_api_group) 6468 0 R (section*.10) 6269 0 R (section*.100) 8680 0 R (section*.101) 8681 0 R (section*.102) 8714 0 R (section*.103) 8715 0 R] +/Limits [(public_api_group) (section*.103)] +>> +endobj +12306 0 obj +<< +/Names [(section*.104) 8885 0 R (section*.105) 8886 0 R (section*.106) 8948 0 R (section*.107) 9396 0 R (section*.108) 9397 0 R (section*.109) 9398 0 R] +/Limits [(section*.104) (section*.109)] +>> +endobj +12307 0 obj +<< +/Names [(section*.11) 6270 0 R (section*.110) 9399 0 R (section*.111) 9423 0 R (section*.112) 9426 0 R (section*.113) 9479 0 R (section*.114) 9480 0 R] +/Limits [(section*.11) (section*.114)] +>> +endobj +12308 0 obj +<< +/Names [(section*.115) 9481 0 R (section*.116) 9552 0 R (section*.117) 9577 0 R (section*.118) 9599 0 R (section*.119) 9600 0 R (section*.12) 6271 0 R] +/Limits [(section*.115) (section*.12)] +>> +endobj +12309 0 obj +<< +/Names [(section*.120) 9651 0 R (section*.121) 9652 0 R (section*.122) 9691 0 R (section*.123) 9736 0 R (section*.124) 9758 0 R (section*.125) 9782 0 R] +/Limits [(section*.120) (section*.125)] +>> +endobj +12310 0 obj +<< +/Names [(section*.126) 9816 0 R (section*.127) 9843 0 R (section*.128) 9869 0 R (section*.129) 9871 0 R (section*.13) 6297 0 R (section*.130) 9881 0 R] +/Limits [(section*.126) (section*.130)] +>> +endobj +12311 0 obj +<< +/Names [(section*.131) 9901 0 R (section*.132) 9903 0 R (section*.133) 9972 0 R (section*.134) 9975 0 R (section*.135) 9976 0 R (section*.136) 10032 0 R] +/Limits [(section*.131) (section*.136)] +>> +endobj +12312 0 obj +<< +/Names [(section*.137) 10098 0 R (section*.138) 10151 0 R (section*.139) 10189 0 R (section*.14) 6298 0 R (section*.140) 10352 0 R (section*.141) 10353 0 R] +/Limits [(section*.137) (section*.141)] +>> +endobj +12313 0 obj +<< +/Names [(section*.142) 10379 0 R (section*.143) 10380 0 R (section*.144) 10381 0 R (section*.145) 10412 0 R (section*.146) 10413 0 R (section*.147) 10442 0 R] +/Limits [(section*.142) (section*.147)] +>> +endobj +12314 0 obj +<< +/Names [(section*.148) 10496 0 R (section*.149) 10497 0 R (section*.15) 6299 0 R (section*.150) 10498 0 R (section*.151) 10557 0 R (section*.152) 10584 0 R] +/Limits [(section*.148) (section*.152)] +>> +endobj +12315 0 obj +<< +/Names [(section*.153) 10618 0 R (section*.154) 10645 0 R (section*.155) 10648 0 R (section*.156) 10650 0 R (section*.157) 10651 0 R (section*.158) 10694 0 R] +/Limits [(section*.153) (section*.158)] +>> +endobj +12316 0 obj +<< +/Names [(section*.159) 10695 0 R (section*.16) 6301 0 R (section*.160) 10732 0 R (section*.161) 10761 0 R (section*.162) 10764 0 R (section*.163) 10768 0 R] +/Limits [(section*.159) (section*.163)] +>> +endobj +12317 0 obj +<< +/Names [(section*.164) 10769 0 R (section*.165) 10770 0 R (section*.166) 10789 0 R (section*.167) 10791 0 R (section*.168) 10792 0 R (section*.169) 10809 0 R] +/Limits [(section*.164) (section*.169)] +>> +endobj +12318 0 obj +<< +/Names [(section*.17) 6328 0 R (section*.170) 10810 0 R (section*.171) 10811 0 R (section*.172) 10833 0 R (section*.173) 10918 0 R (section*.174) 10919 0 R] +/Limits [(section*.17) (section*.174)] +>> +endobj +12319 0 obj +<< +/Names [(section*.175) 10980 0 R (section*.176) 10981 0 R (section*.177) 10984 0 R (section*.178) 11018 0 R (section*.179) 11019 0 R (section*.18) 6329 0 R] +/Limits [(section*.175) (section*.18)] +>> +endobj +12320 0 obj +<< +/Names [(section*.180) 11020 0 R (section*.181) 11024 0 R (section*.182) 11076 0 R (section*.183) 11183 0 R (section*.184) 11184 0 R (section*.185) 11185 0 R] +/Limits [(section*.180) (section*.185)] +>> +endobj +12321 0 obj +<< +/Names [(section*.186) 11226 0 R (section*.187) 11227 0 R (section*.188) 11242 0 R (section*.189) 11246 0 R (section*.19) 6330 0 R (section*.190) 11247 0 R] +/Limits [(section*.186) (section*.190)] +>> +endobj +12322 0 obj +<< +/Names [(section*.191) 11252 0 R (section*.192) 11267 0 R (section*.193) 11268 0 R (section*.194) 11272 0 R (section*.195) 11273 0 R (section*.196) 11276 0 R] +/Limits [(section*.191) (section*.196)] +>> +endobj +12323 0 obj +<< +/Names [(section*.197) 11309 0 R (section*.198) 11311 0 R (section*.199) 11312 0 R (section*.2) 6193 0 R (section*.20) 6352 0 R (section*.200) 11339 0 R] +/Limits [(section*.197) (section*.200)] +>> +endobj +12324 0 obj +<< +/Names [(section*.201) 11340 0 R (section*.202) 11356 0 R (section*.203) 11359 0 R (section*.204) 11361 0 R (section*.205) 11363 0 R (section*.206) 11380 0 R] +/Limits [(section*.201) (section*.206)] +>> +endobj +12325 0 obj +<< +/Names [(section*.207) 11381 0 R (section*.208) 11382 0 R (section*.209) 11386 0 R (section*.21) 6353 0 R (section*.210) 11388 0 R (section*.211) 11403 0 R] +/Limits [(section*.207) (section*.211)] +>> +endobj +12326 0 obj +<< +/Names [(section*.212) 11405 0 R (section*.213) 11407 0 R (section*.214) 11409 0 R (section*.215) 11411 0 R (section*.216) 11429 0 R (section*.217) 11431 0 R] +/Limits [(section*.212) (section*.217)] +>> +endobj +12327 0 obj +<< +/Names [(section*.218) 11433 0 R (section*.219) 11435 0 R (section*.22) 6355 0 R (section*.220) 11436 0 R (section*.221) 11438 0 R (section*.222) 11439 0 R] +/Limits [(section*.218) (section*.222)] +>> +endobj +12328 0 obj +<< +/Names [(section*.223) 11466 0 R (section*.224) 11467 0 R (section*.225) 11475 0 R (section*.226) 11476 0 R (section*.227) 11478 0 R (section*.228) 11479 0 R] +/Limits [(section*.223) (section*.228)] +>> +endobj +12329 0 obj +<< +/Names [(section*.229) 11523 0 R (section*.23) 6384 0 R (section*.230) 11524 0 R (section*.231) 11526 0 R (section*.232) 11527 0 R (section*.233) 11528 0 R] +/Limits [(section*.229) (section*.233)] +>> +endobj +12330 0 obj +<< +/Names [(section*.234) 11532 0 R (section*.235) 11543 0 R (section*.236) 11551 0 R (section*.237) 11552 0 R (section*.238) 11554 0 R (section*.239) 11555 0 R] +/Limits [(section*.234) (section*.239)] +>> +endobj +12331 0 obj +<< +/Names [(section*.24) 6385 0 R (section*.240) 4818 0 R (section*.25) 6413 0 R (section*.26) 6414 0 R (section*.27) 6415 0 R (section*.28) 6416 0 R] +/Limits [(section*.24) (section*.28)] +>> +endobj +12332 0 obj +<< +/Names [(section*.29) 6417 0 R (section*.3) 6195 0 R (section*.30) 6418 0 R (section*.31) 6428 0 R (section*.32) 6448 0 R (section*.33) 6449 0 R] +/Limits [(section*.29) (section*.33)] +>> +endobj +12333 0 obj +<< +/Names [(section*.34) 6450 0 R (section*.35) 6451 0 R (section*.36) 6452 0 R (section*.37) 6453 0 R (section*.38) 6460 0 R (section*.39) 6524 0 R] +/Limits [(section*.34) (section*.39)] +>> +endobj +12334 0 obj +<< +/Names [(section*.4) 6196 0 R (section*.40) 6527 0 R (section*.41) 6608 0 R (section*.42) 6882 0 R (section*.43) 6898 0 R (section*.44) 6900 0 R] +/Limits [(section*.4) (section*.44)] +>> +endobj +12335 0 obj +<< +/Names [(section*.45) 6902 0 R (section*.46) 6903 0 R (section*.47) 6966 0 R (section*.48) 6967 0 R (section*.49) 6969 0 R (section*.5) 6216 0 R] +/Limits [(section*.45) (section*.5)] +>> +endobj +12336 0 obj +<< +/Names [(section*.50) 6970 0 R (section*.51) 7057 0 R (section*.52) 7058 0 R (section*.53) 7061 0 R (section*.54) 7069 0 R (section*.55) 7087 0 R] +/Limits [(section*.50) (section*.55)] +>> +endobj +12337 0 obj +<< +/Names [(section*.56) 7114 0 R (section*.57) 7115 0 R (section*.58) 7162 0 R (section*.59) 7163 0 R (section*.6) 6217 0 R (section*.60) 7203 0 R] +/Limits [(section*.56) (section*.60)] +>> +endobj +12338 0 obj +<< +/Names [(section*.61) 7226 0 R (section*.62) 7227 0 R (section*.63) 7285 0 R (section*.64) 7286 0 R (section*.65) 7338 0 R (section*.66) 7438 0 R] +/Limits [(section*.61) (section*.66)] +>> +endobj +12339 0 obj +<< +/Names [(section*.67) 7463 0 R (section*.68) 7482 0 R (section*.69) 7544 0 R (section*.7) 6237 0 R (section*.70) 7545 0 R (section*.71) 7546 0 R] +/Limits [(section*.67) (section*.71)] +>> +endobj +12340 0 obj +<< +/Names [(section*.72) 7568 0 R (section*.73) 7583 0 R (section*.74) 7613 0 R (section*.75) 7654 0 R (section*.76) 7765 0 R (section*.77) 7809 0 R] +/Limits [(section*.72) (section*.77)] +>> +endobj +12341 0 obj +<< +/Names [(section*.78) 7829 0 R (section*.79) 7850 0 R (section*.8) 6238 0 R (section*.80) 7851 0 R (section*.81) 7869 0 R (section*.82) 7872 0 R] +/Limits [(section*.78) (section*.82)] +>> +endobj +12342 0 obj +<< +/Names [(section*.83) 7909 0 R (section*.84) 7912 0 R (section*.85) 7914 0 R (section*.86) 7997 0 R (section*.87) 8244 0 R (section*.88) 8267 0 R] +/Limits [(section*.83) (section*.88)] +>> +endobj +12343 0 obj +<< +/Names [(section*.89) 8288 0 R (section*.9) 6268 0 R (section*.90) 8314 0 R (section*.91) 8353 0 R (section*.92) 8372 0 R (section*.93) 8599 0 R] +/Limits [(section*.89) (section*.93)] +>> +endobj +12344 0 obj +<< +/Names [(section*.94) 8600 0 R (section*.95) 8602 0 R (section*.96) 8656 0 R (section*.97) 8657 0 R (section*.98) 8658 0 R (section*.99) 8679 0 R] +/Limits [(section*.94) (section*.99)] +>> +endobj +12345 0 obj +<< +/Names [(section.2.1) 10 0 R (section.6.1) 42 0 R (section.6.2) 82 0 R (section.7.1) 94 0 R (section.7.2) 98 0 R (section.7.3) 102 0 R] +/Limits [(section.2.1) (section.7.3)] +>> +endobj +12346 0 obj +<< +/Names [(section.7.4) 114 0 R (section.7.5) 118 0 R (section.7.6) 138 0 R (section.7.7) 150 0 R (section.7.8) 154 0 R (section.8.1) 162 0 R] +/Limits [(section.7.4) (section.8.1)] +>> +endobj +12347 0 obj +<< +/Names [(section.8.10) 778 0 R (section.8.11) 818 0 R (section.8.12) 838 0 R (section.8.13) 910 0 R (section.8.14) 1038 0 R (section.8.15) 1106 0 R] +/Limits [(section.8.10) (section.8.15)] +>> +endobj +12348 0 obj +<< +/Names [(section.8.16) 1182 0 R (section.8.17) 1218 0 R (section.8.18) 1234 0 R (section.8.19) 1282 0 R (section.8.2) 186 0 R (section.8.20) 1294 0 R] +/Limits [(section.8.16) (section.8.20)] +>> +endobj +12349 0 obj +<< +/Names [(section.8.21) 1310 0 R (section.8.22) 1358 0 R (section.8.23) 1486 0 R (section.8.24) 1494 0 R (section.8.25) 1514 0 R (section.8.26) 1534 0 R] +/Limits [(section.8.21) (section.8.26)] +>> +endobj +12350 0 obj +<< +/Names [(section.8.27) 1626 0 R (section.8.28) 1670 0 R (section.8.29) 1950 0 R (section.8.3) 250 0 R (section.8.30) 2014 0 R (section.8.31) 2058 0 R] +/Limits [(section.8.27) (section.8.31)] +>> +endobj +12351 0 obj +<< +/Names [(section.8.32) 2102 0 R (section.8.33) 2646 0 R (section.8.34) 2694 0 R (section.8.35) 2842 0 R (section.8.36) 2858 0 R (section.8.37) 2874 0 R] +/Limits [(section.8.32) (section.8.37)] +>> +endobj +12352 0 obj +<< +/Names [(section.8.38) 2934 0 R (section.8.39) 3030 0 R (section.8.4) 314 0 R (section.8.40) 3074 0 R (section.8.41) 3094 0 R (section.8.42) 3130 0 R] +/Limits [(section.8.38) (section.8.42)] +>> +endobj +12353 0 obj +<< +/Names [(section.8.43) 3206 0 R (section.8.44) 3234 0 R (section.8.45) 3266 0 R (section.8.46) 3294 0 R (section.8.47) 3326 0 R (section.8.48) 3486 0 R] +/Limits [(section.8.43) (section.8.48)] +>> +endobj +12354 0 obj +<< +/Names [(section.8.49) 3510 0 R (section.8.5) 386 0 R (section.8.50) 3638 0 R (section.8.51) 3646 0 R (section.8.52) 3690 0 R (section.8.53) 3738 0 R] +/Limits [(section.8.49) (section.8.53)] +>> +endobj +12355 0 obj +<< +/Names [(section.8.54) 3838 0 R (section.8.55) 3958 0 R (section.8.56) 4058 0 R (section.8.57) 4078 0 R (section.8.58) 4094 0 R (section.8.59) 4222 0 R] +/Limits [(section.8.54) (section.8.59)] +>> +endobj +12356 0 obj +<< +/Names [(section.8.6) 562 0 R (section.8.60) 4266 0 R (section.8.61) 4282 0 R (section.8.62) 4302 0 R (section.8.63) 4354 0 R (section.8.64) 4378 0 R] +/Limits [(section.8.6) (section.8.64)] +>> +endobj +12357 0 obj +<< +/Names [(section.8.7) 602 0 R (section.8.8) 650 0 R (section.8.9) 730 0 R (section.9.1) 4426 0 R (section.9.10) 4502 0 R (section.9.11) 4506 0 R] +/Limits [(section.8.7) (section.9.11)] +>> +endobj +12358 0 obj +<< +/Names [(section.9.12) 4546 0 R (section.9.13) 4570 0 R (section.9.14) 4590 0 R (section.9.15) 4610 0 R (section.9.16) 4618 0 R (section.9.17) 4634 0 R] +/Limits [(section.9.12) (section.9.17)] +>> +endobj +12359 0 obj +<< +/Names [(section.9.18) 4646 0 R (section.9.19) 4654 0 R (section.9.2) 4430 0 R (section.9.20) 4658 0 R (section.9.21) 4682 0 R (section.9.22) 4698 0 R] +/Limits [(section.9.18) (section.9.22)] +>> +endobj +12360 0 obj +<< +/Names [(section.9.23) 4702 0 R (section.9.24) 4706 0 R (section.9.25) 4714 0 R (section.9.26) 4722 0 R (section.9.27) 4734 0 R (section.9.28) 4738 0 R] +/Limits [(section.9.23) (section.9.28)] +>> +endobj +12361 0 obj +<< +/Names [(section.9.29) 4742 0 R (section.9.3) 4434 0 R (section.9.30) 4746 0 R (section.9.31) 4750 0 R (section.9.32) 4754 0 R (section.9.33) 4758 0 R] +/Limits [(section.9.29) (section.9.33)] +>> +endobj +12362 0 obj +<< +/Names [(section.9.34) 4762 0 R (section.9.35) 4766 0 R (section.9.36) 4770 0 R (section.9.37) 4774 0 R (section.9.38) 4778 0 R (section.9.39) 4782 0 R] +/Limits [(section.9.34) (section.9.39)] +>> +endobj +12363 0 obj +<< +/Names [(section.9.4) 4438 0 R (section.9.40) 4786 0 R (section.9.41) 4790 0 R (section.9.42) 4794 0 R (section.9.43) 4798 0 R (section.9.44) 4802 0 R] +/Limits [(section.9.4) (section.9.44)] +>> +endobj +12364 0 obj +<< +/Names [(section.9.45) 4806 0 R (section.9.46) 4810 0 R (section.9.47) 4814 0 R (section.9.5) 4442 0 R (section.9.6) 4446 0 R (section.9.7) 4454 0 R] +/Limits [(section.9.45) (section.9.7)] +>> +endobj +12365 0 obj +<< +/Names [(section.9.8) 4482 0 R (section.9.9) 4498 0 R (struct_photon_message_info) 6335 0 R (struct_photon_message_info_a8497209fff12bb41b79d010905e1cb39) 8682 0 R (struct_photon_message_info_a8a9879f9d95f99f4d066aba32d5853ca) 8683 0 R (struct_photon_message_info_a99d31effc25e87b9fc7129adba5fa188) 8685 0 R] +/Limits [(section.9.8) (struct_photon_message_info_a99d31effc25e87b9fc7129adba5fa188)] +>> +endobj +12366 0 obj +<< +/Names [(struct_photon_message_info_ac170e8d3714ad1f3f3c848feea660ac5) 8686 0 R (struct_photon_message_info_adf3bb70090d012d863d915f564e7018f) 8684 0 R (subsection.2.1.1) 14 0 R (subsection.2.1.2) 18 0 R (subsection.2.1.3) 22 0 R (subsection.6.1.1) 46 0 R] +/Limits [(struct_photon_message_info_ac170e8d3714ad1f3f3c848feea660ac5) (subsection.6.1.1)] +>> +endobj +12367 0 obj +<< +/Names [(subsection.6.1.2) 50 0 R (subsection.6.1.3) 74 0 R (subsection.6.2.1) 86 0 R (subsection.7.3.1) 106 0 R (subsection.7.5.1) 122 0 R (subsection.7.6.1) 142 0 R] +/Limits [(subsection.6.1.2) (subsection.7.6.1)] +>> +endobj +12368 0 obj +<< +/Names [(subsection.8.1.1) 166 0 R (subsection.8.1.2) 170 0 R (subsection.8.10.1) 782 0 R (subsection.8.10.2) 786 0 R (subsection.8.11.1) 822 0 R (subsection.8.12.1) 842 0 R] +/Limits [(subsection.8.1.1) (subsection.8.12.1)] +>> +endobj +12369 0 obj +<< +/Names [(subsection.8.12.2) 846 0 R (subsection.8.13.1) 914 0 R (subsection.8.13.2) 918 0 R (subsection.8.14.1) 1042 0 R (subsection.8.14.2) 1046 0 R (subsection.8.15.1) 1110 0 R] +/Limits [(subsection.8.12.2) (subsection.8.15.1)] +>> +endobj +12370 0 obj +<< +/Names [(subsection.8.15.2) 1114 0 R (subsection.8.15.3) 1174 0 R (subsection.8.16.1) 1186 0 R (subsection.8.16.2) 1190 0 R (subsection.8.16.3) 1198 0 R (subsection.8.17.1) 1222 0 R] +/Limits [(subsection.8.15.2) (subsection.8.17.1)] +>> +endobj +12371 0 obj +<< +/Names [(subsection.8.17.2) 1226 0 R (subsection.8.18.1) 1238 0 R (subsection.8.18.2) 1242 0 R (subsection.8.19.1) 1286 0 R (subsection.8.2.1) 190 0 R (subsection.8.2.2) 194 0 R] +/Limits [(subsection.8.17.2) (subsection.8.2.2)] +>> +endobj +12372 0 obj +<< +/Names [(subsection.8.2.3) 206 0 R (subsection.8.2.4) 226 0 R (subsection.8.20.1) 1298 0 R (subsection.8.20.2) 1302 0 R (subsection.8.21.1) 1314 0 R (subsection.8.21.2) 1318 0 R] +/Limits [(subsection.8.2.3) (subsection.8.21.2)] +>> +endobj +12373 0 obj +<< +/Names [(subsection.8.22.1) 1362 0 R (subsection.8.22.2) 1366 0 R (subsection.8.23.1) 1490 0 R (subsection.8.24.1) 1498 0 R (subsection.8.24.2) 1502 0 R (subsection.8.25.1) 1518 0 R] +/Limits [(subsection.8.22.1) (subsection.8.25.1)] +>> +endobj +12374 0 obj +<< +/Names [(subsection.8.25.2) 1522 0 R (subsection.8.26.1) 1538 0 R (subsection.8.26.2) 1542 0 R (subsection.8.27.1) 1630 0 R (subsection.8.28.1) 1674 0 R (subsection.8.28.2) 1678 0 R] +/Limits [(subsection.8.25.2) (subsection.8.28.2)] +>> +endobj +12375 0 obj +<< +/Names [(subsection.8.29.1) 1954 0 R (subsection.8.29.2) 1958 0 R (subsection.8.29.3) 1970 0 R (subsection.8.3.1) 254 0 R (subsection.8.3.2) 258 0 R (subsection.8.3.3) 270 0 R] +/Limits [(subsection.8.29.1) (subsection.8.3.3)] +>> +endobj +12376 0 obj +<< +/Names [(subsection.8.3.4) 290 0 R (subsection.8.30.1) 2018 0 R (subsection.8.30.2) 2022 0 R (subsection.8.30.3) 2034 0 R (subsection.8.30.4) 2050 0 R (subsection.8.31.1) 2062 0 R] +/Limits [(subsection.8.3.4) (subsection.8.31.1)] +>> +endobj +12377 0 obj +<< +/Names [(subsection.8.31.2) 2066 0 R (subsection.8.31.3) 2074 0 R (subsection.8.31.4) 2082 0 R (subsection.8.31.5) 2094 0 R (subsection.8.32.1) 2106 0 R (subsection.8.32.2) 2110 0 R] +/Limits [(subsection.8.31.2) (subsection.8.32.2)] +>> +endobj +12378 0 obj +<< +/Names [(subsection.8.32.3) 2386 0 R (subsection.8.32.4) 2458 0 R (subsection.8.33.1) 2650 0 R (subsection.8.33.2) 2662 0 R (subsection.8.33.3) 2682 0 R (subsection.8.34.1) 2698 0 R] +/Limits [(subsection.8.32.3) (subsection.8.34.1)] +>> +endobj +12379 0 obj +<< +/Names [(subsection.8.34.2) 2702 0 R (subsection.8.34.3) 2710 0 R (subsection.8.34.4) 2770 0 R (subsection.8.34.5) 2782 0 R (subsection.8.35.1) 2846 0 R (subsection.8.35.2) 2850 0 R] +/Limits [(subsection.8.34.2) (subsection.8.35.2)] +>> +endobj +12380 0 obj +<< +/Names [(subsection.8.36.1) 2862 0 R (subsection.8.36.2) 2866 0 R (subsection.8.37.1) 2878 0 R (subsection.8.37.2) 2882 0 R (subsection.8.37.3) 2902 0 R (subsection.8.38.1) 2938 0 R] +/Limits [(subsection.8.36.1) (subsection.8.38.1)] +>> +endobj +12381 0 obj +<< +/Names [(subsection.8.38.2) 2942 0 R (subsection.8.38.3) 2950 0 R (subsection.8.38.4) 3014 0 R (subsection.8.39.1) 3034 0 R (subsection.8.39.2) 3038 0 R (subsection.8.39.3) 3046 0 R] +/Limits [(subsection.8.38.2) (subsection.8.39.3)] +>> +endobj +12382 0 obj +<< +/Names [(subsection.8.4.1) 318 0 R (subsection.8.4.2) 322 0 R (subsection.8.4.3) 330 0 R (subsection.8.4.4) 354 0 R (subsection.8.4.5) 374 0 R (subsection.8.40.1) 3078 0 R] +/Limits [(subsection.8.4.1) (subsection.8.40.1)] +>> +endobj +12383 0 obj +<< +/Names [(subsection.8.40.2) 3082 0 R (subsection.8.41.1) 3098 0 R (subsection.8.41.2) 3106 0 R (subsection.8.42.1) 3134 0 R (subsection.8.42.2) 3146 0 R (subsection.8.43.1) 3210 0 R] +/Limits [(subsection.8.40.2) (subsection.8.43.1)] +>> +endobj +12384 0 obj +<< +/Names [(subsection.8.43.2) 3218 0 R (subsection.8.44.1) 3238 0 R (subsection.8.44.2) 3246 0 R (subsection.8.45.1) 3270 0 R (subsection.8.45.2) 3278 0 R (subsection.8.46.1) 3298 0 R] +/Limits [(subsection.8.43.2) (subsection.8.46.1)] +>> +endobj +12385 0 obj +<< +/Names [(subsection.8.46.2) 3306 0 R (subsection.8.47.1) 3330 0 R (subsection.8.47.2) 3334 0 R (subsection.8.47.3) 3398 0 R (subsection.8.47.4) 3446 0 R (subsection.8.48.1) 3490 0 R] +/Limits [(subsection.8.46.2) (subsection.8.48.1)] +>> +endobj +12386 0 obj +<< +/Names [(subsection.8.48.2) 3494 0 R (subsection.8.49.1) 3514 0 R (subsection.8.49.2) 3518 0 R (subsection.8.5.1) 390 0 R (subsection.8.5.2) 394 0 R (subsection.8.5.3) 402 0 R] +/Limits [(subsection.8.48.2) (subsection.8.5.3)] +>> +endobj +12387 0 obj +<< +/Names [(subsection.8.5.4) 482 0 R (subsection.8.5.5) 502 0 R (subsection.8.50.1) 3642 0 R (subsection.8.51.1) 3650 0 R (subsection.8.51.2) 3654 0 R (subsection.8.52.1) 3694 0 R] +/Limits [(subsection.8.5.4) (subsection.8.52.1)] +>> +endobj +12388 0 obj +<< +/Names [(subsection.8.52.2) 3706 0 R (subsection.8.52.3) 3718 0 R (subsection.8.53.1) 3742 0 R (subsection.8.53.2) 3746 0 R (subsection.8.53.3) 3770 0 R (subsection.8.54.1) 3842 0 R] +/Limits [(subsection.8.52.2) (subsection.8.54.1)] +>> +endobj +12389 0 obj +<< +/Names [(subsection.8.54.2) 3846 0 R (subsection.8.54.3) 3866 0 R (subsection.8.54.4) 3894 0 R (subsection.8.55.1) 3962 0 R (subsection.8.55.2) 3966 0 R (subsection.8.55.3) 3994 0 R] +/Limits [(subsection.8.54.2) (subsection.8.55.3)] +>> +endobj +12390 0 obj +<< +/Names [(subsection.8.56.1) 4062 0 R (subsection.8.56.2) 4066 0 R (subsection.8.57.1) 4082 0 R (subsection.8.58.1) 4098 0 R (subsection.8.58.2) 4102 0 R (subsection.8.58.3) 4110 0 R] +/Limits [(subsection.8.56.1) (subsection.8.58.3)] +>> +endobj +12391 0 obj +<< +/Names [(subsection.8.58.4) 4142 0 R (subsection.8.58.5) 4214 0 R (subsection.8.59.1) 4226 0 R (subsection.8.59.2) 4230 0 R (subsection.8.59.3) 4238 0 R (subsection.8.6.1) 566 0 R] +/Limits [(subsection.8.58.4) (subsection.8.6.1)] +>> +endobj +12392 0 obj +<< +/Names [(subsection.8.6.2) 570 0 R (subsection.8.60.1) 4270 0 R (subsection.8.61.1) 4286 0 R (subsection.8.62.1) 4306 0 R (subsection.8.62.2) 4310 0 R (subsection.8.62.3) 4322 0 R] +/Limits [(subsection.8.6.2) (subsection.8.62.3)] +>> +endobj +12393 0 obj +<< +/Names [(subsection.8.62.4) 4330 0 R (subsection.8.62.5) 4346 0 R (subsection.8.63.1) 4358 0 R (subsection.8.63.2) 4366 0 R (subsection.8.64.1) 4382 0 R (subsection.8.64.2) 4386 0 R] +/Limits [(subsection.8.62.4) (subsection.8.64.2)] +>> +endobj +12394 0 obj +<< +/Names [(subsection.8.64.3) 4394 0 R (subsection.8.64.4) 4402 0 R (subsection.8.7.1) 606 0 R (subsection.8.7.2) 610 0 R (subsection.8.8.1) 654 0 R (subsection.8.8.2) 658 0 R] +/Limits [(subsection.8.64.3) (subsection.8.8.2)] +>> +endobj +12395 0 obj +<< +/Names [(subsection.8.9.1) 734 0 R (subsection.8.9.2) 738 0 R (subsection.8.9.3) 746 0 R (subsection.8.9.4) 758 0 R (subsection.8.9.5) 770 0 R (subsection.9.11.1) 4510 0 R] +/Limits [(subsection.8.9.1) (subsection.9.11.1)] +>> +endobj +12396 0 obj +<< +/Names [(subsection.9.12.1) 4550 0 R (subsection.9.12.2) 4562 0 R (subsection.9.13.1) 4574 0 R (subsection.9.13.2) 4578 0 R (subsection.9.14.1) 4594 0 R (subsection.9.15.1) 4614 0 R] +/Limits [(subsection.9.12.1) (subsection.9.15.1)] +>> +endobj +12397 0 obj +<< +/Names [(subsection.9.16.1) 4622 0 R (subsection.9.17.1) 4638 0 R (subsection.9.18.1) 4650 0 R (subsection.9.20.1) 4662 0 R (subsection.9.21.1) 4686 0 R (subsection.9.24.1) 4710 0 R] +/Limits [(subsection.9.16.1) (subsection.9.24.1)] +>> +endobj +12398 0 obj +<< +/Names [(subsection.9.25.1) 4718 0 R (subsection.9.26.1) 4726 0 R (subsection.9.6.1) 4450 0 R (subsection.9.7.1) 4458 0 R (subsection.9.7.2) 4462 0 R (subsection.9.8.1) 4486 0 R] +/Limits [(subsection.9.25.1) (subsection.9.8.1)] +>> +endobj +12399 0 obj +<< +/Names [(subsubsection.6.1.2.1) 54 0 R (subsubsection.6.1.2.2) 58 0 R (subsubsection.6.1.2.3) 62 0 R (subsubsection.6.1.2.4) 66 0 R (subsubsection.6.1.2.5) 70 0 R (subsubsection.6.1.3.1) 78 0 R] +/Limits [(subsubsection.6.1.2.1) (subsubsection.6.1.3.1)] +>> +endobj +12400 0 obj +<< +/Names [(subsubsection.7.3.1.1) 110 0 R (subsubsection.7.5.1.1) 126 0 R (subsubsection.7.5.1.2) 130 0 R (subsubsection.7.5.1.3) 134 0 R (subsubsection.7.6.1.1) 146 0 R (subsubsection.8.1.2.1) 174 0 R] +/Limits [(subsubsection.7.3.1.1) (subsubsection.8.1.2.1)] +>> +endobj +12401 0 obj +<< +/Names [(subsubsection.8.1.2.2) 178 0 R (subsubsection.8.1.2.3) 182 0 R (subsubsection.8.10.2.1) 790 0 R (subsubsection.8.10.2.2) 794 0 R (subsubsection.8.10.2.3) 798 0 R (subsubsection.8.10.2.4) 802 0 R] +/Limits [(subsubsection.8.1.2.2) (subsubsection.8.10.2.4)] +>> +endobj +12402 0 obj +<< +/Names [(subsubsection.8.10.2.5) 806 0 R (subsubsection.8.10.2.6) 810 0 R (subsubsection.8.10.2.7) 814 0 R (subsubsection.8.11.1.1) 826 0 R (subsubsection.8.11.1.2) 830 0 R (subsubsection.8.11.1.3) 834 0 R] +/Limits [(subsubsection.8.10.2.5) (subsubsection.8.11.1.3)] +>> +endobj +12403 0 obj +<< +/Names [(subsubsection.8.12.2.1) 850 0 R (subsubsection.8.12.2.10) 886 0 R (subsubsection.8.12.2.11) 890 0 R (subsubsection.8.12.2.12) 894 0 R (subsubsection.8.12.2.13) 898 0 R (subsubsection.8.12.2.14) 902 0 R] +/Limits [(subsubsection.8.12.2.1) (subsubsection.8.12.2.14)] +>> +endobj +12404 0 obj +<< +/Names [(subsubsection.8.12.2.15) 906 0 R (subsubsection.8.12.2.2) 854 0 R (subsubsection.8.12.2.3) 858 0 R (subsubsection.8.12.2.4) 862 0 R (subsubsection.8.12.2.5) 866 0 R (subsubsection.8.12.2.6) 870 0 R] +/Limits [(subsubsection.8.12.2.15) (subsubsection.8.12.2.6)] +>> +endobj +12405 0 obj +<< +/Names [(subsubsection.8.12.2.7) 874 0 R (subsubsection.8.12.2.8) 878 0 R (subsubsection.8.12.2.9) 882 0 R (subsubsection.8.13.2.1) 922 0 R (subsubsection.8.13.2.10) 958 0 R (subsubsection.8.13.2.11) 962 0 R] +/Limits [(subsubsection.8.12.2.7) (subsubsection.8.13.2.11)] +>> +endobj +12406 0 obj +<< +/Names [(subsubsection.8.13.2.12) 966 0 R (subsubsection.8.13.2.13) 970 0 R (subsubsection.8.13.2.14) 974 0 R (subsubsection.8.13.2.15) 978 0 R (subsubsection.8.13.2.16) 982 0 R (subsubsection.8.13.2.17) 986 0 R] +/Limits [(subsubsection.8.13.2.12) (subsubsection.8.13.2.17)] +>> +endobj +12407 0 obj +<< +/Names [(subsubsection.8.13.2.18) 990 0 R (subsubsection.8.13.2.19) 994 0 R (subsubsection.8.13.2.2) 926 0 R (subsubsection.8.13.2.20) 998 0 R (subsubsection.8.13.2.21) 1002 0 R (subsubsection.8.13.2.22) 1006 0 R] +/Limits [(subsubsection.8.13.2.18) (subsubsection.8.13.2.22)] +>> +endobj +12408 0 obj +<< +/Names [(subsubsection.8.13.2.23) 1010 0 R (subsubsection.8.13.2.24) 1014 0 R (subsubsection.8.13.2.25) 1018 0 R (subsubsection.8.13.2.26) 1022 0 R (subsubsection.8.13.2.27) 1026 0 R (subsubsection.8.13.2.28) 1030 0 R] +/Limits [(subsubsection.8.13.2.23) (subsubsection.8.13.2.28)] +>> +endobj +12409 0 obj +<< +/Names [(subsubsection.8.13.2.29) 1034 0 R (subsubsection.8.13.2.3) 930 0 R (subsubsection.8.13.2.4) 934 0 R (subsubsection.8.13.2.5) 938 0 R (subsubsection.8.13.2.6) 942 0 R (subsubsection.8.13.2.7) 946 0 R] +/Limits [(subsubsection.8.13.2.29) (subsubsection.8.13.2.7)] +>> +endobj +12410 0 obj +<< +/Names [(subsubsection.8.13.2.8) 950 0 R (subsubsection.8.13.2.9) 954 0 R (subsubsection.8.14.2.1) 1050 0 R (subsubsection.8.14.2.10) 1086 0 R (subsubsection.8.14.2.11) 1090 0 R (subsubsection.8.14.2.12) 1094 0 R] +/Limits [(subsubsection.8.13.2.8) (subsubsection.8.14.2.12)] +>> +endobj +12411 0 obj +<< +/Names [(subsubsection.8.14.2.13) 1098 0 R (subsubsection.8.14.2.14) 1102 0 R (subsubsection.8.14.2.2) 1054 0 R (subsubsection.8.14.2.3) 1058 0 R (subsubsection.8.14.2.4) 1062 0 R (subsubsection.8.14.2.5) 1066 0 R] +/Limits [(subsubsection.8.14.2.13) (subsubsection.8.14.2.5)] +>> +endobj +12412 0 obj +<< +/Names [(subsubsection.8.14.2.6) 1070 0 R (subsubsection.8.14.2.7) 1074 0 R (subsubsection.8.14.2.8) 1078 0 R (subsubsection.8.14.2.9) 1082 0 R (subsubsection.8.15.2.1) 1118 0 R (subsubsection.8.15.2.10) 1154 0 R] +/Limits [(subsubsection.8.14.2.6) (subsubsection.8.15.2.10)] +>> +endobj +12413 0 obj +<< +/Names [(subsubsection.8.15.2.11) 1158 0 R (subsubsection.8.15.2.12) 1162 0 R (subsubsection.8.15.2.13) 1166 0 R (subsubsection.8.15.2.14) 1170 0 R (subsubsection.8.15.2.2) 1122 0 R (subsubsection.8.15.2.3) 1126 0 R] +/Limits [(subsubsection.8.15.2.11) (subsubsection.8.15.2.3)] +>> +endobj +12414 0 obj +<< +/Names [(subsubsection.8.15.2.4) 1130 0 R (subsubsection.8.15.2.5) 1134 0 R (subsubsection.8.15.2.6) 1138 0 R (subsubsection.8.15.2.7) 1142 0 R (subsubsection.8.15.2.8) 1146 0 R (subsubsection.8.15.2.9) 1150 0 R] +/Limits [(subsubsection.8.15.2.4) (subsubsection.8.15.2.9)] +>> +endobj +12415 0 obj +<< +/Names [(subsubsection.8.15.3.1) 1178 0 R (subsubsection.8.16.2.1) 1194 0 R (subsubsection.8.16.3.1) 1202 0 R (subsubsection.8.16.3.2) 1206 0 R (subsubsection.8.16.3.3) 1210 0 R (subsubsection.8.16.3.4) 1214 0 R] +/Limits [(subsubsection.8.15.3.1) (subsubsection.8.16.3.4)] +>> +endobj +12416 0 obj +<< +/Names [(subsubsection.8.17.2.1) 1230 0 R (subsubsection.8.18.2.1) 1246 0 R (subsubsection.8.18.2.2) 1250 0 R (subsubsection.8.18.2.3) 1254 0 R (subsubsection.8.18.2.4) 1258 0 R (subsubsection.8.18.2.5) 1262 0 R] +/Limits [(subsubsection.8.17.2.1) (subsubsection.8.18.2.5)] +>> +endobj +12417 0 obj +<< +/Names [(subsubsection.8.18.2.6) 1266 0 R (subsubsection.8.18.2.7) 1270 0 R (subsubsection.8.18.2.8) 1274 0 R (subsubsection.8.18.2.9) 1278 0 R (subsubsection.8.19.1.1) 1290 0 R (subsubsection.8.2.2.1) 198 0 R] +/Limits [(subsubsection.8.18.2.6) (subsubsection.8.2.2.1)] +>> +endobj +12418 0 obj +<< +/Names [(subsubsection.8.2.2.2) 202 0 R (subsubsection.8.2.3.1) 210 0 R (subsubsection.8.2.3.2) 214 0 R (subsubsection.8.2.3.3) 218 0 R (subsubsection.8.2.3.4) 222 0 R (subsubsection.8.2.4.1) 230 0 R] +/Limits [(subsubsection.8.2.2.2) (subsubsection.8.2.4.1)] +>> +endobj +12419 0 obj +<< +/Names [(subsubsection.8.2.4.2) 234 0 R (subsubsection.8.2.4.3) 238 0 R (subsubsection.8.2.4.4) 242 0 R (subsubsection.8.2.4.5) 246 0 R (subsubsection.8.20.2.1) 1306 0 R (subsubsection.8.21.2.1) 1322 0 R] +/Limits [(subsubsection.8.2.4.2) (subsubsection.8.21.2.1)] +>> +endobj +12420 0 obj +<< +/Names [(subsubsection.8.21.2.2) 1326 0 R (subsubsection.8.21.2.3) 1330 0 R (subsubsection.8.21.2.4) 1334 0 R (subsubsection.8.21.2.5) 1338 0 R (subsubsection.8.21.2.6) 1342 0 R (subsubsection.8.21.2.7) 1346 0 R] +/Limits [(subsubsection.8.21.2.2) (subsubsection.8.21.2.7)] +>> +endobj +12421 0 obj +<< +/Names [(subsubsection.8.21.2.8) 1350 0 R (subsubsection.8.21.2.9) 1354 0 R (subsubsection.8.22.2.1) 1370 0 R (subsubsection.8.22.2.10) 1406 0 R (subsubsection.8.22.2.11) 1410 0 R (subsubsection.8.22.2.12) 1414 0 R] +/Limits [(subsubsection.8.21.2.8) (subsubsection.8.22.2.12)] +>> +endobj +12422 0 obj +<< +/Names [(subsubsection.8.22.2.13) 1418 0 R (subsubsection.8.22.2.14) 1422 0 R (subsubsection.8.22.2.15) 1426 0 R (subsubsection.8.22.2.16) 1430 0 R (subsubsection.8.22.2.17) 1434 0 R (subsubsection.8.22.2.18) 1438 0 R] +/Limits [(subsubsection.8.22.2.13) (subsubsection.8.22.2.18)] +>> +endobj +12423 0 obj +<< +/Names [(subsubsection.8.22.2.19) 1442 0 R (subsubsection.8.22.2.2) 1374 0 R (subsubsection.8.22.2.20) 1446 0 R (subsubsection.8.22.2.21) 1450 0 R (subsubsection.8.22.2.22) 1454 0 R (subsubsection.8.22.2.23) 1458 0 R] +/Limits [(subsubsection.8.22.2.19) (subsubsection.8.22.2.23)] +>> +endobj +12424 0 obj +<< +/Names [(subsubsection.8.22.2.24) 1462 0 R (subsubsection.8.22.2.25) 1466 0 R (subsubsection.8.22.2.26) 1470 0 R (subsubsection.8.22.2.27) 1474 0 R (subsubsection.8.22.2.28) 1478 0 R (subsubsection.8.22.2.29) 1482 0 R] +/Limits [(subsubsection.8.22.2.24) (subsubsection.8.22.2.29)] +>> +endobj +12425 0 obj +<< +/Names [(subsubsection.8.22.2.3) 1378 0 R (subsubsection.8.22.2.4) 1382 0 R (subsubsection.8.22.2.5) 1386 0 R (subsubsection.8.22.2.6) 1390 0 R (subsubsection.8.22.2.7) 1394 0 R (subsubsection.8.22.2.8) 1398 0 R] +/Limits [(subsubsection.8.22.2.3) (subsubsection.8.22.2.8)] +>> +endobj +12426 0 obj +<< +/Names [(subsubsection.8.22.2.9) 1402 0 R (subsubsection.8.24.2.1) 1506 0 R (subsubsection.8.24.2.2) 1510 0 R (subsubsection.8.25.2.1) 1526 0 R (subsubsection.8.25.2.2) 1530 0 R (subsubsection.8.26.2.1) 1546 0 R] +/Limits [(subsubsection.8.22.2.9) (subsubsection.8.26.2.1)] +>> +endobj +12427 0 obj +<< +/Names [(subsubsection.8.26.2.10) 1582 0 R (subsubsection.8.26.2.11) 1586 0 R (subsubsection.8.26.2.12) 1590 0 R (subsubsection.8.26.2.13) 1594 0 R (subsubsection.8.26.2.14) 1598 0 R (subsubsection.8.26.2.15) 1602 0 R] +/Limits [(subsubsection.8.26.2.10) (subsubsection.8.26.2.15)] +>> +endobj +12428 0 obj +<< +/Names [(subsubsection.8.26.2.16) 1606 0 R (subsubsection.8.26.2.17) 1610 0 R (subsubsection.8.26.2.18) 1614 0 R (subsubsection.8.26.2.19) 1618 0 R (subsubsection.8.26.2.2) 1550 0 R (subsubsection.8.26.2.20) 1622 0 R] +/Limits [(subsubsection.8.26.2.16) (subsubsection.8.26.2.20)] +>> +endobj +12429 0 obj +<< +/Names [(subsubsection.8.26.2.3) 1554 0 R (subsubsection.8.26.2.4) 1558 0 R (subsubsection.8.26.2.5) 1562 0 R (subsubsection.8.26.2.6) 1566 0 R (subsubsection.8.26.2.7) 1570 0 R (subsubsection.8.26.2.8) 1574 0 R] +/Limits [(subsubsection.8.26.2.3) (subsubsection.8.26.2.8)] +>> +endobj +12430 0 obj +<< +/Names [(subsubsection.8.26.2.9) 1578 0 R (subsubsection.8.27.1.1) 1634 0 R (subsubsection.8.27.1.2) 1638 0 R (subsubsection.8.27.1.3) 1642 0 R (subsubsection.8.27.1.4) 1646 0 R (subsubsection.8.27.1.5) 1650 0 R] +/Limits [(subsubsection.8.26.2.9) (subsubsection.8.27.1.5)] +>> +endobj +12431 0 obj +<< +/Names [(subsubsection.8.27.1.6) 1654 0 R (subsubsection.8.27.1.7) 1658 0 R (subsubsection.8.27.1.8) 1662 0 R (subsubsection.8.27.1.9) 1666 0 R (subsubsection.8.28.2.1) 1682 0 R (subsubsection.8.28.2.10) 1718 0 R] +/Limits [(subsubsection.8.27.1.6) (subsubsection.8.28.2.10)] +>> +endobj +12432 0 obj +<< +/Names [(subsubsection.8.28.2.11) 1722 0 R (subsubsection.8.28.2.12) 1726 0 R (subsubsection.8.28.2.13) 1730 0 R (subsubsection.8.28.2.14) 1734 0 R (subsubsection.8.28.2.15) 1738 0 R (subsubsection.8.28.2.16) 1742 0 R] +/Limits [(subsubsection.8.28.2.11) (subsubsection.8.28.2.16)] +>> +endobj +12433 0 obj +<< +/Names [(subsubsection.8.28.2.17) 1746 0 R (subsubsection.8.28.2.18) 1750 0 R (subsubsection.8.28.2.19) 1754 0 R (subsubsection.8.28.2.2) 1686 0 R (subsubsection.8.28.2.20) 1758 0 R (subsubsection.8.28.2.21) 1762 0 R] +/Limits [(subsubsection.8.28.2.17) (subsubsection.8.28.2.21)] +>> +endobj +12434 0 obj +<< +/Names [(subsubsection.8.28.2.22) 1766 0 R (subsubsection.8.28.2.23) 1770 0 R (subsubsection.8.28.2.24) 1774 0 R (subsubsection.8.28.2.25) 1778 0 R (subsubsection.8.28.2.26) 1782 0 R (subsubsection.8.28.2.27) 1786 0 R] +/Limits [(subsubsection.8.28.2.22) (subsubsection.8.28.2.27)] +>> +endobj +12435 0 obj +<< +/Names [(subsubsection.8.28.2.28) 1790 0 R (subsubsection.8.28.2.29) 1794 0 R (subsubsection.8.28.2.3) 1690 0 R (subsubsection.8.28.2.30) 1798 0 R (subsubsection.8.28.2.31) 1802 0 R (subsubsection.8.28.2.32) 1806 0 R] +/Limits [(subsubsection.8.28.2.28) (subsubsection.8.28.2.32)] +>> +endobj +12436 0 obj +<< +/Names [(subsubsection.8.28.2.33) 1810 0 R (subsubsection.8.28.2.34) 1814 0 R (subsubsection.8.28.2.35) 1818 0 R (subsubsection.8.28.2.36) 1822 0 R (subsubsection.8.28.2.37) 1826 0 R (subsubsection.8.28.2.38) 1830 0 R] +/Limits [(subsubsection.8.28.2.33) (subsubsection.8.28.2.38)] +>> +endobj +12437 0 obj +<< +/Names [(subsubsection.8.28.2.39) 1834 0 R (subsubsection.8.28.2.4) 1694 0 R (subsubsection.8.28.2.40) 1838 0 R (subsubsection.8.28.2.41) 1842 0 R (subsubsection.8.28.2.42) 1846 0 R (subsubsection.8.28.2.43) 1850 0 R] +/Limits [(subsubsection.8.28.2.39) (subsubsection.8.28.2.43)] +>> +endobj +12438 0 obj +<< +/Names [(subsubsection.8.28.2.44) 1854 0 R (subsubsection.8.28.2.45) 1858 0 R (subsubsection.8.28.2.46) 1862 0 R (subsubsection.8.28.2.47) 1866 0 R (subsubsection.8.28.2.48) 1870 0 R (subsubsection.8.28.2.49) 1874 0 R] +/Limits [(subsubsection.8.28.2.44) (subsubsection.8.28.2.49)] +>> +endobj +12439 0 obj +<< +/Names [(subsubsection.8.28.2.5) 1698 0 R (subsubsection.8.28.2.50) 1878 0 R (subsubsection.8.28.2.51) 1882 0 R (subsubsection.8.28.2.52) 1886 0 R (subsubsection.8.28.2.53) 1890 0 R (subsubsection.8.28.2.54) 1894 0 R] +/Limits [(subsubsection.8.28.2.5) (subsubsection.8.28.2.54)] +>> +endobj +12440 0 obj +<< +/Names [(subsubsection.8.28.2.55) 1898 0 R (subsubsection.8.28.2.56) 1902 0 R (subsubsection.8.28.2.57) 1906 0 R (subsubsection.8.28.2.58) 1910 0 R (subsubsection.8.28.2.59) 1914 0 R (subsubsection.8.28.2.6) 1702 0 R] +/Limits [(subsubsection.8.28.2.55) (subsubsection.8.28.2.6)] +>> +endobj +12441 0 obj +<< +/Names [(subsubsection.8.28.2.60) 1918 0 R (subsubsection.8.28.2.61) 1922 0 R (subsubsection.8.28.2.62) 1926 0 R (subsubsection.8.28.2.63) 1930 0 R (subsubsection.8.28.2.64) 1934 0 R (subsubsection.8.28.2.65) 1938 0 R] +/Limits [(subsubsection.8.28.2.60) (subsubsection.8.28.2.65)] +>> +endobj +12442 0 obj +<< +/Names [(subsubsection.8.28.2.66) 1942 0 R (subsubsection.8.28.2.67) 1946 0 R (subsubsection.8.28.2.7) 1706 0 R (subsubsection.8.28.2.8) 1710 0 R (subsubsection.8.28.2.9) 1714 0 R (subsubsection.8.29.2.1) 1962 0 R] +/Limits [(subsubsection.8.28.2.66) (subsubsection.8.29.2.1)] +>> +endobj +12443 0 obj +<< +/Names [(subsubsection.8.29.2.2) 1966 0 R (subsubsection.8.29.3.1) 1974 0 R (subsubsection.8.29.3.10) 2010 0 R (subsubsection.8.29.3.2) 1978 0 R (subsubsection.8.29.3.3) 1982 0 R (subsubsection.8.29.3.4) 1986 0 R] +/Limits [(subsubsection.8.29.2.2) (subsubsection.8.29.3.4)] +>> +endobj +12444 0 obj +<< +/Names [(subsubsection.8.29.3.5) 1990 0 R (subsubsection.8.29.3.6) 1994 0 R (subsubsection.8.29.3.7) 1998 0 R (subsubsection.8.29.3.8) 2002 0 R (subsubsection.8.29.3.9) 2006 0 R (subsubsection.8.3.2.1) 262 0 R] +/Limits [(subsubsection.8.29.3.5) (subsubsection.8.3.2.1)] +>> +endobj +12445 0 obj +<< +/Names [(subsubsection.8.3.2.2) 266 0 R (subsubsection.8.3.3.1) 274 0 R (subsubsection.8.3.3.2) 278 0 R (subsubsection.8.3.3.3) 282 0 R (subsubsection.8.3.3.4) 286 0 R (subsubsection.8.3.4.1) 294 0 R] +/Limits [(subsubsection.8.3.2.2) (subsubsection.8.3.4.1)] +>> +endobj +12446 0 obj +<< +/Names [(subsubsection.8.3.4.2) 298 0 R (subsubsection.8.3.4.3) 302 0 R (subsubsection.8.3.4.4) 306 0 R (subsubsection.8.3.4.5) 310 0 R (subsubsection.8.30.2.1) 2026 0 R (subsubsection.8.30.2.2) 2030 0 R] +/Limits [(subsubsection.8.3.4.2) (subsubsection.8.30.2.2)] +>> +endobj +12447 0 obj +<< +/Names [(subsubsection.8.30.3.1) 2038 0 R (subsubsection.8.30.3.2) 2042 0 R (subsubsection.8.30.3.3) 2046 0 R (subsubsection.8.30.4.1) 2054 0 R (subsubsection.8.31.2.1) 2070 0 R (subsubsection.8.31.3.1) 2078 0 R] +/Limits [(subsubsection.8.30.3.1) (subsubsection.8.31.3.1)] +>> +endobj +12448 0 obj +<< +/Names [(subsubsection.8.31.4.1) 2086 0 R (subsubsection.8.31.4.2) 2090 0 R (subsubsection.8.31.5.1) 2098 0 R (subsubsection.8.32.2.1) 2114 0 R (subsubsection.8.32.2.10) 2150 0 R (subsubsection.8.32.2.11) 2154 0 R] +/Limits [(subsubsection.8.31.4.1) (subsubsection.8.32.2.11)] +>> +endobj +12449 0 obj +<< +/Names [(subsubsection.8.32.2.12) 2158 0 R (subsubsection.8.32.2.13) 2162 0 R (subsubsection.8.32.2.14) 2166 0 R (subsubsection.8.32.2.15) 2170 0 R (subsubsection.8.32.2.16) 2174 0 R (subsubsection.8.32.2.17) 2178 0 R] +/Limits [(subsubsection.8.32.2.12) (subsubsection.8.32.2.17)] +>> +endobj +12450 0 obj +<< +/Names [(subsubsection.8.32.2.18) 2182 0 R (subsubsection.8.32.2.19) 2186 0 R (subsubsection.8.32.2.2) 2118 0 R (subsubsection.8.32.2.20) 2190 0 R (subsubsection.8.32.2.21) 2194 0 R (subsubsection.8.32.2.22) 2198 0 R] +/Limits [(subsubsection.8.32.2.18) (subsubsection.8.32.2.22)] +>> +endobj +12451 0 obj +<< +/Names [(subsubsection.8.32.2.23) 2202 0 R (subsubsection.8.32.2.24) 2206 0 R (subsubsection.8.32.2.25) 2210 0 R (subsubsection.8.32.2.26) 2214 0 R (subsubsection.8.32.2.27) 2218 0 R (subsubsection.8.32.2.28) 2222 0 R] +/Limits [(subsubsection.8.32.2.23) (subsubsection.8.32.2.28)] +>> +endobj +12452 0 obj +<< +/Names [(subsubsection.8.32.2.29) 2226 0 R (subsubsection.8.32.2.3) 2122 0 R (subsubsection.8.32.2.30) 2230 0 R (subsubsection.8.32.2.31) 2234 0 R (subsubsection.8.32.2.32) 2238 0 R (subsubsection.8.32.2.33) 2242 0 R] +/Limits [(subsubsection.8.32.2.29) (subsubsection.8.32.2.33)] +>> +endobj +12453 0 obj +<< +/Names [(subsubsection.8.32.2.34) 2246 0 R (subsubsection.8.32.2.35) 2250 0 R (subsubsection.8.32.2.36) 2254 0 R (subsubsection.8.32.2.37) 2258 0 R (subsubsection.8.32.2.38) 2262 0 R (subsubsection.8.32.2.39) 2266 0 R] +/Limits [(subsubsection.8.32.2.34) (subsubsection.8.32.2.39)] +>> +endobj +12454 0 obj +<< +/Names [(subsubsection.8.32.2.4) 2126 0 R (subsubsection.8.32.2.40) 2270 0 R (subsubsection.8.32.2.41) 2274 0 R (subsubsection.8.32.2.42) 2278 0 R (subsubsection.8.32.2.43) 2282 0 R (subsubsection.8.32.2.44) 2286 0 R] +/Limits [(subsubsection.8.32.2.4) (subsubsection.8.32.2.44)] +>> +endobj +12455 0 obj +<< +/Names [(subsubsection.8.32.2.45) 2290 0 R (subsubsection.8.32.2.46) 2294 0 R (subsubsection.8.32.2.47) 2298 0 R (subsubsection.8.32.2.48) 2302 0 R (subsubsection.8.32.2.49) 2306 0 R (subsubsection.8.32.2.5) 2130 0 R] +/Limits [(subsubsection.8.32.2.45) (subsubsection.8.32.2.5)] +>> +endobj +12456 0 obj +<< +/Names [(subsubsection.8.32.2.50) 2310 0 R (subsubsection.8.32.2.51) 2314 0 R (subsubsection.8.32.2.52) 2318 0 R (subsubsection.8.32.2.53) 2322 0 R (subsubsection.8.32.2.54) 2326 0 R (subsubsection.8.32.2.55) 2330 0 R] +/Limits [(subsubsection.8.32.2.50) (subsubsection.8.32.2.55)] +>> +endobj +12457 0 obj +<< +/Names [(subsubsection.8.32.2.56) 2334 0 R (subsubsection.8.32.2.57) 2338 0 R (subsubsection.8.32.2.58) 2342 0 R (subsubsection.8.32.2.59) 2346 0 R (subsubsection.8.32.2.6) 2134 0 R (subsubsection.8.32.2.60) 2350 0 R] +/Limits [(subsubsection.8.32.2.56) (subsubsection.8.32.2.60)] +>> +endobj +12458 0 obj +<< +/Names [(subsubsection.8.32.2.61) 2354 0 R (subsubsection.8.32.2.62) 2358 0 R (subsubsection.8.32.2.63) 2362 0 R (subsubsection.8.32.2.64) 2366 0 R (subsubsection.8.32.2.65) 2370 0 R (subsubsection.8.32.2.66) 2374 0 R] +/Limits [(subsubsection.8.32.2.61) (subsubsection.8.32.2.66)] +>> +endobj +12459 0 obj +<< +/Names [(subsubsection.8.32.2.67) 2378 0 R (subsubsection.8.32.2.68) 2382 0 R (subsubsection.8.32.2.7) 2138 0 R (subsubsection.8.32.2.8) 2142 0 R (subsubsection.8.32.2.9) 2146 0 R (subsubsection.8.32.3.1) 2390 0 R] +/Limits [(subsubsection.8.32.2.67) (subsubsection.8.32.3.1)] +>> +endobj +12460 0 obj +<< +/Names [(subsubsection.8.32.3.10) 2426 0 R (subsubsection.8.32.3.11) 2430 0 R (subsubsection.8.32.3.12) 2434 0 R (subsubsection.8.32.3.13) 2438 0 R (subsubsection.8.32.3.14) 2442 0 R (subsubsection.8.32.3.15) 2446 0 R] +/Limits [(subsubsection.8.32.3.10) (subsubsection.8.32.3.15)] +>> +endobj +12461 0 obj +<< +/Names [(subsubsection.8.32.3.16) 2450 0 R (subsubsection.8.32.3.17) 2454 0 R (subsubsection.8.32.3.2) 2394 0 R (subsubsection.8.32.3.3) 2398 0 R (subsubsection.8.32.3.4) 2402 0 R (subsubsection.8.32.3.5) 2406 0 R] +/Limits [(subsubsection.8.32.3.16) (subsubsection.8.32.3.5)] +>> +endobj +12462 0 obj +<< +/Names [(subsubsection.8.32.3.6) 2410 0 R (subsubsection.8.32.3.7) 2414 0 R (subsubsection.8.32.3.8) 2418 0 R (subsubsection.8.32.3.9) 2422 0 R (subsubsection.8.32.4.1) 2462 0 R (subsubsection.8.32.4.10) 2498 0 R] +/Limits [(subsubsection.8.32.3.6) (subsubsection.8.32.4.10)] +>> +endobj +12463 0 obj +<< +/Names [(subsubsection.8.32.4.11) 2502 0 R (subsubsection.8.32.4.12) 2506 0 R (subsubsection.8.32.4.13) 2510 0 R (subsubsection.8.32.4.14) 2514 0 R (subsubsection.8.32.4.15) 2518 0 R (subsubsection.8.32.4.16) 2522 0 R] +/Limits [(subsubsection.8.32.4.11) (subsubsection.8.32.4.16)] +>> +endobj +12464 0 obj +<< +/Names [(subsubsection.8.32.4.17) 2526 0 R (subsubsection.8.32.4.18) 2530 0 R (subsubsection.8.32.4.19) 2534 0 R (subsubsection.8.32.4.2) 2466 0 R (subsubsection.8.32.4.20) 2538 0 R (subsubsection.8.32.4.21) 2542 0 R] +/Limits [(subsubsection.8.32.4.17) (subsubsection.8.32.4.21)] +>> +endobj +12465 0 obj +<< +/Names [(subsubsection.8.32.4.22) 2546 0 R (subsubsection.8.32.4.23) 2550 0 R (subsubsection.8.32.4.24) 2554 0 R (subsubsection.8.32.4.25) 2558 0 R (subsubsection.8.32.4.26) 2562 0 R (subsubsection.8.32.4.27) 2566 0 R] +/Limits [(subsubsection.8.32.4.22) (subsubsection.8.32.4.27)] +>> +endobj +12466 0 obj +<< +/Names [(subsubsection.8.32.4.28) 2570 0 R (subsubsection.8.32.4.29) 2574 0 R (subsubsection.8.32.4.3) 2470 0 R (subsubsection.8.32.4.30) 2578 0 R (subsubsection.8.32.4.31) 2582 0 R (subsubsection.8.32.4.32) 2586 0 R] +/Limits [(subsubsection.8.32.4.28) (subsubsection.8.32.4.32)] +>> +endobj +12467 0 obj +<< +/Names [(subsubsection.8.32.4.33) 2590 0 R (subsubsection.8.32.4.34) 2594 0 R (subsubsection.8.32.4.35) 2598 0 R (subsubsection.8.32.4.36) 2602 0 R (subsubsection.8.32.4.37) 2606 0 R (subsubsection.8.32.4.38) 2610 0 R] +/Limits [(subsubsection.8.32.4.33) (subsubsection.8.32.4.38)] +>> +endobj +12468 0 obj +<< +/Names [(subsubsection.8.32.4.39) 2614 0 R (subsubsection.8.32.4.4) 2474 0 R (subsubsection.8.32.4.40) 2618 0 R (subsubsection.8.32.4.41) 2622 0 R (subsubsection.8.32.4.42) 2626 0 R (subsubsection.8.32.4.43) 2630 0 R] +/Limits [(subsubsection.8.32.4.39) (subsubsection.8.32.4.43)] +>> +endobj +12469 0 obj +<< +/Names [(subsubsection.8.32.4.44) 2634 0 R (subsubsection.8.32.4.45) 2638 0 R (subsubsection.8.32.4.46) 2642 0 R (subsubsection.8.32.4.5) 2478 0 R (subsubsection.8.32.4.6) 2482 0 R (subsubsection.8.32.4.7) 2486 0 R] +/Limits [(subsubsection.8.32.4.44) (subsubsection.8.32.4.7)] +>> +endobj +12470 0 obj +<< +/Names [(subsubsection.8.32.4.8) 2490 0 R (subsubsection.8.32.4.9) 2494 0 R (subsubsection.8.33.1.1) 2654 0 R (subsubsection.8.33.1.2) 2658 0 R (subsubsection.8.33.2.1) 2666 0 R (subsubsection.8.33.2.2) 2670 0 R] +/Limits [(subsubsection.8.32.4.8) (subsubsection.8.33.2.2)] +>> +endobj +12471 0 obj +<< +/Names [(subsubsection.8.33.2.3) 2674 0 R (subsubsection.8.33.2.4) 2678 0 R (subsubsection.8.33.3.1) 2686 0 R (subsubsection.8.33.3.2) 2690 0 R (subsubsection.8.34.2.1) 2706 0 R (subsubsection.8.34.3.1) 2714 0 R] +/Limits [(subsubsection.8.33.2.3) (subsubsection.8.34.3.1)] +>> +endobj +12472 0 obj +<< +/Names [(subsubsection.8.34.3.10) 2750 0 R (subsubsection.8.34.3.11) 2754 0 R (subsubsection.8.34.3.12) 2758 0 R (subsubsection.8.34.3.13) 2762 0 R (subsubsection.8.34.3.14) 2766 0 R (subsubsection.8.34.3.2) 2718 0 R] +/Limits [(subsubsection.8.34.3.10) (subsubsection.8.34.3.2)] +>> +endobj +12473 0 obj +<< +/Names [(subsubsection.8.34.3.3) 2722 0 R (subsubsection.8.34.3.4) 2726 0 R (subsubsection.8.34.3.5) 2730 0 R (subsubsection.8.34.3.6) 2734 0 R (subsubsection.8.34.3.7) 2738 0 R (subsubsection.8.34.3.8) 2742 0 R] +/Limits [(subsubsection.8.34.3.3) (subsubsection.8.34.3.8)] +>> +endobj +12474 0 obj +<< +/Names [(subsubsection.8.34.3.9) 2746 0 R (subsubsection.8.34.4.1) 2774 0 R (subsubsection.8.34.4.2) 2778 0 R (subsubsection.8.34.5.1) 2786 0 R (subsubsection.8.34.5.10) 2822 0 R (subsubsection.8.34.5.11) 2826 0 R] +/Limits [(subsubsection.8.34.3.9) (subsubsection.8.34.5.11)] +>> +endobj +12475 0 obj +<< +/Names [(subsubsection.8.34.5.12) 2830 0 R (subsubsection.8.34.5.13) 2834 0 R (subsubsection.8.34.5.14) 2838 0 R (subsubsection.8.34.5.2) 2790 0 R (subsubsection.8.34.5.3) 2794 0 R (subsubsection.8.34.5.4) 2798 0 R] +/Limits [(subsubsection.8.34.5.12) (subsubsection.8.34.5.4)] +>> +endobj +12476 0 obj +<< +/Names [(subsubsection.8.34.5.5) 2802 0 R (subsubsection.8.34.5.6) 2806 0 R (subsubsection.8.34.5.7) 2810 0 R (subsubsection.8.34.5.8) 2814 0 R (subsubsection.8.34.5.9) 2818 0 R (subsubsection.8.35.2.1) 2854 0 R] +/Limits [(subsubsection.8.34.5.5) (subsubsection.8.35.2.1)] +>> +endobj +12477 0 obj +<< +/Names [(subsubsection.8.36.2.1) 2870 0 R (subsubsection.8.37.2.1) 2886 0 R (subsubsection.8.37.2.2) 2890 0 R (subsubsection.8.37.2.3) 2894 0 R (subsubsection.8.37.2.4) 2898 0 R (subsubsection.8.37.3.1) 2906 0 R] +/Limits [(subsubsection.8.36.2.1) (subsubsection.8.37.3.1)] +>> +endobj +12478 0 obj +<< +/Names [(subsubsection.8.37.3.2) 2910 0 R (subsubsection.8.37.3.3) 2914 0 R (subsubsection.8.37.3.4) 2918 0 R (subsubsection.8.37.3.5) 2922 0 R (subsubsection.8.37.3.6) 2926 0 R (subsubsection.8.37.3.7) 2930 0 R] +/Limits [(subsubsection.8.37.3.2) (subsubsection.8.37.3.7)] +>> +endobj +12479 0 obj +<< +/Names [(subsubsection.8.38.2.1) 2946 0 R (subsubsection.8.38.3.1) 2954 0 R (subsubsection.8.38.3.10) 2990 0 R (subsubsection.8.38.3.11) 2994 0 R (subsubsection.8.38.3.12) 2998 0 R (subsubsection.8.38.3.13) 3002 0 R] +/Limits [(subsubsection.8.38.2.1) (subsubsection.8.38.3.13)] +>> +endobj +12480 0 obj +<< +/Names [(subsubsection.8.38.3.14) 3006 0 R (subsubsection.8.38.3.15) 3010 0 R (subsubsection.8.38.3.2) 2958 0 R (subsubsection.8.38.3.3) 2962 0 R (subsubsection.8.38.3.4) 2966 0 R (subsubsection.8.38.3.5) 2970 0 R] +/Limits [(subsubsection.8.38.3.14) (subsubsection.8.38.3.5)] +>> +endobj +12481 0 obj +<< +/Names [(subsubsection.8.38.3.6) 2974 0 R (subsubsection.8.38.3.7) 2978 0 R (subsubsection.8.38.3.8) 2982 0 R (subsubsection.8.38.3.9) 2986 0 R (subsubsection.8.38.4.1) 3018 0 R (subsubsection.8.38.4.2) 3022 0 R] +/Limits [(subsubsection.8.38.3.6) (subsubsection.8.38.4.2)] +>> +endobj +12482 0 obj +<< +/Names [(subsubsection.8.38.4.3) 3026 0 R (subsubsection.8.39.2.1) 3042 0 R (subsubsection.8.39.3.1) 3050 0 R (subsubsection.8.39.3.2) 3054 0 R (subsubsection.8.39.3.3) 3058 0 R (subsubsection.8.39.3.4) 3062 0 R] +/Limits [(subsubsection.8.38.4.3) (subsubsection.8.39.3.4)] +>> +endobj +12483 0 obj +<< +/Names [(subsubsection.8.39.3.5) 3066 0 R (subsubsection.8.39.3.6) 3070 0 R (subsubsection.8.4.2.1) 326 0 R (subsubsection.8.4.3.1) 334 0 R (subsubsection.8.4.3.2) 338 0 R (subsubsection.8.4.3.3) 342 0 R] +/Limits [(subsubsection.8.39.3.5) (subsubsection.8.4.3.3)] +>> +endobj +12484 0 obj +<< +/Names [(subsubsection.8.4.3.4) 346 0 R (subsubsection.8.4.3.5) 350 0 R (subsubsection.8.4.4.1) 358 0 R (subsubsection.8.4.4.2) 362 0 R (subsubsection.8.4.4.3) 366 0 R (subsubsection.8.4.4.4) 370 0 R] +/Limits [(subsubsection.8.4.3.4) (subsubsection.8.4.4.4)] +>> +endobj +12485 0 obj +<< +/Names [(subsubsection.8.4.5.1) 378 0 R (subsubsection.8.4.5.2) 382 0 R (subsubsection.8.40.2.1) 3086 0 R (subsubsection.8.40.2.2) 3090 0 R (subsubsection.8.41.1.1) 3102 0 R (subsubsection.8.41.2.1) 3110 0 R] +/Limits [(subsubsection.8.4.5.1) (subsubsection.8.41.2.1)] +>> +endobj +12486 0 obj +<< +/Names [(subsubsection.8.41.2.2) 3114 0 R (subsubsection.8.41.2.3) 3118 0 R (subsubsection.8.41.2.4) 3122 0 R (subsubsection.8.41.2.5) 3126 0 R (subsubsection.8.42.1.1) 3138 0 R (subsubsection.8.42.1.2) 3142 0 R] +/Limits [(subsubsection.8.41.2.2) (subsubsection.8.42.1.2)] +>> +endobj +12487 0 obj +<< +/Names [(subsubsection.8.42.2.1) 3150 0 R (subsubsection.8.42.2.10) 3186 0 R (subsubsection.8.42.2.11) 3190 0 R (subsubsection.8.42.2.12) 3194 0 R (subsubsection.8.42.2.13) 3198 0 R (subsubsection.8.42.2.14) 3202 0 R] +/Limits [(subsubsection.8.42.2.1) (subsubsection.8.42.2.14)] +>> +endobj +12488 0 obj +<< +/Names [(subsubsection.8.42.2.2) 3154 0 R (subsubsection.8.42.2.3) 3158 0 R (subsubsection.8.42.2.4) 3162 0 R (subsubsection.8.42.2.5) 3166 0 R (subsubsection.8.42.2.6) 3170 0 R (subsubsection.8.42.2.7) 3174 0 R] +/Limits [(subsubsection.8.42.2.2) (subsubsection.8.42.2.7)] +>> +endobj +12489 0 obj +<< +/Names [(subsubsection.8.42.2.8) 3178 0 R (subsubsection.8.42.2.9) 3182 0 R (subsubsection.8.43.1.1) 3214 0 R (subsubsection.8.43.2.1) 3222 0 R (subsubsection.8.43.2.2) 3226 0 R (subsubsection.8.43.2.3) 3230 0 R] +/Limits [(subsubsection.8.42.2.8) (subsubsection.8.43.2.3)] +>> +endobj +12490 0 obj +<< +/Names [(subsubsection.8.44.1.1) 3242 0 R (subsubsection.8.44.2.1) 3250 0 R (subsubsection.8.44.2.2) 3254 0 R (subsubsection.8.44.2.3) 3258 0 R (subsubsection.8.44.2.4) 3262 0 R (subsubsection.8.45.1.1) 3274 0 R] +/Limits [(subsubsection.8.44.1.1) (subsubsection.8.45.1.1)] +>> +endobj +12491 0 obj +<< +/Names [(subsubsection.8.45.2.1) 3282 0 R (subsubsection.8.45.2.2) 3286 0 R (subsubsection.8.45.2.3) 3290 0 R (subsubsection.8.46.1.1) 3302 0 R (subsubsection.8.46.2.1) 3310 0 R (subsubsection.8.46.2.2) 3314 0 R] +/Limits [(subsubsection.8.45.2.1) (subsubsection.8.46.2.2)] +>> +endobj +12492 0 obj +<< +/Names [(subsubsection.8.46.2.3) 3318 0 R (subsubsection.8.46.2.4) 3322 0 R (subsubsection.8.47.2.1) 3338 0 R (subsubsection.8.47.2.10) 3374 0 R (subsubsection.8.47.2.11) 3378 0 R (subsubsection.8.47.2.12) 3382 0 R] +/Limits [(subsubsection.8.46.2.3) (subsubsection.8.47.2.12)] +>> +endobj +12493 0 obj +<< +/Names [(subsubsection.8.47.2.13) 3386 0 R (subsubsection.8.47.2.14) 3390 0 R (subsubsection.8.47.2.15) 3394 0 R (subsubsection.8.47.2.2) 3342 0 R (subsubsection.8.47.2.3) 3346 0 R (subsubsection.8.47.2.4) 3350 0 R] +/Limits [(subsubsection.8.47.2.13) (subsubsection.8.47.2.4)] +>> +endobj +12494 0 obj +<< +/Names [(subsubsection.8.47.2.5) 3354 0 R (subsubsection.8.47.2.6) 3358 0 R (subsubsection.8.47.2.7) 3362 0 R (subsubsection.8.47.2.8) 3366 0 R (subsubsection.8.47.2.9) 3370 0 R (subsubsection.8.47.3.1) 3402 0 R] +/Limits [(subsubsection.8.47.2.5) (subsubsection.8.47.3.1)] +>> +endobj +12495 0 obj +<< +/Names [(subsubsection.8.47.3.10) 3438 0 R (subsubsection.8.47.3.11) 3442 0 R (subsubsection.8.47.3.2) 3406 0 R (subsubsection.8.47.3.3) 3410 0 R (subsubsection.8.47.3.4) 3414 0 R (subsubsection.8.47.3.5) 3418 0 R] +/Limits [(subsubsection.8.47.3.10) (subsubsection.8.47.3.5)] +>> +endobj +12496 0 obj +<< +/Names [(subsubsection.8.47.3.6) 3422 0 R (subsubsection.8.47.3.7) 3426 0 R (subsubsection.8.47.3.8) 3430 0 R (subsubsection.8.47.3.9) 3434 0 R (subsubsection.8.47.4.1) 3450 0 R (subsubsection.8.47.4.2) 3454 0 R] +/Limits [(subsubsection.8.47.3.6) (subsubsection.8.47.4.2)] +>> +endobj +12497 0 obj +<< +/Names [(subsubsection.8.47.4.3) 3458 0 R (subsubsection.8.47.4.4) 3462 0 R (subsubsection.8.47.4.5) 3466 0 R (subsubsection.8.47.4.6) 3470 0 R (subsubsection.8.47.4.7) 3474 0 R (subsubsection.8.47.4.8) 3478 0 R] +/Limits [(subsubsection.8.47.4.3) (subsubsection.8.47.4.8)] +>> +endobj +12498 0 obj +<< +/Names [(subsubsection.8.47.4.9) 3482 0 R (subsubsection.8.48.2.1) 3498 0 R (subsubsection.8.48.2.2) 3502 0 R (subsubsection.8.48.2.3) 3506 0 R (subsubsection.8.49.2.1) 3522 0 R (subsubsection.8.49.2.10) 3558 0 R] +/Limits [(subsubsection.8.47.4.9) (subsubsection.8.49.2.10)] +>> +endobj +12499 0 obj +<< +/Names [(subsubsection.8.49.2.11) 3562 0 R (subsubsection.8.49.2.12) 3566 0 R (subsubsection.8.49.2.13) 3570 0 R (subsubsection.8.49.2.14) 3574 0 R (subsubsection.8.49.2.15) 3578 0 R (subsubsection.8.49.2.16) 3582 0 R] +/Limits [(subsubsection.8.49.2.11) (subsubsection.8.49.2.16)] +>> +endobj +12500 0 obj +<< +/Names [(subsubsection.8.49.2.17) 3586 0 R (subsubsection.8.49.2.18) 3590 0 R (subsubsection.8.49.2.19) 3594 0 R (subsubsection.8.49.2.2) 3526 0 R (subsubsection.8.49.2.20) 3598 0 R (subsubsection.8.49.2.21) 3602 0 R] +/Limits [(subsubsection.8.49.2.17) (subsubsection.8.49.2.21)] +>> +endobj +12501 0 obj +<< +/Names [(subsubsection.8.49.2.22) 3606 0 R (subsubsection.8.49.2.23) 3610 0 R (subsubsection.8.49.2.24) 3614 0 R (subsubsection.8.49.2.25) 3618 0 R (subsubsection.8.49.2.26) 3622 0 R (subsubsection.8.49.2.27) 3626 0 R] +/Limits [(subsubsection.8.49.2.22) (subsubsection.8.49.2.27)] +>> +endobj +12502 0 obj +<< +/Names [(subsubsection.8.49.2.28) 3630 0 R (subsubsection.8.49.2.29) 3634 0 R (subsubsection.8.49.2.3) 3530 0 R (subsubsection.8.49.2.4) 3534 0 R (subsubsection.8.49.2.5) 3538 0 R (subsubsection.8.49.2.6) 3542 0 R] +/Limits [(subsubsection.8.49.2.28) (subsubsection.8.49.2.6)] +>> +endobj +12503 0 obj +<< +/Names [(subsubsection.8.49.2.7) 3546 0 R (subsubsection.8.49.2.8) 3550 0 R (subsubsection.8.49.2.9) 3554 0 R (subsubsection.8.5.2.1) 398 0 R (subsubsection.8.5.3.1) 406 0 R (subsubsection.8.5.3.10) 442 0 R] +/Limits [(subsubsection.8.49.2.7) (subsubsection.8.5.3.10)] +>> +endobj +12504 0 obj +<< +/Names [(subsubsection.8.5.3.11) 446 0 R (subsubsection.8.5.3.12) 450 0 R (subsubsection.8.5.3.13) 454 0 R (subsubsection.8.5.3.14) 458 0 R (subsubsection.8.5.3.15) 462 0 R (subsubsection.8.5.3.16) 466 0 R] +/Limits [(subsubsection.8.5.3.11) (subsubsection.8.5.3.16)] +>> +endobj +12505 0 obj +<< +/Names [(subsubsection.8.5.3.17) 470 0 R (subsubsection.8.5.3.18) 474 0 R (subsubsection.8.5.3.19) 478 0 R (subsubsection.8.5.3.2) 410 0 R (subsubsection.8.5.3.3) 414 0 R (subsubsection.8.5.3.4) 418 0 R] +/Limits [(subsubsection.8.5.3.17) (subsubsection.8.5.3.4)] +>> +endobj +12506 0 obj +<< +/Names [(subsubsection.8.5.3.5) 422 0 R (subsubsection.8.5.3.6) 426 0 R (subsubsection.8.5.3.7) 430 0 R (subsubsection.8.5.3.8) 434 0 R (subsubsection.8.5.3.9) 438 0 R (subsubsection.8.5.4.1) 486 0 R] +/Limits [(subsubsection.8.5.3.5) (subsubsection.8.5.4.1)] +>> +endobj +12507 0 obj +<< +/Names [(subsubsection.8.5.4.2) 490 0 R (subsubsection.8.5.4.3) 494 0 R (subsubsection.8.5.4.4) 498 0 R (subsubsection.8.5.5.1) 506 0 R (subsubsection.8.5.5.10) 542 0 R (subsubsection.8.5.5.11) 546 0 R] +/Limits [(subsubsection.8.5.4.2) (subsubsection.8.5.5.11)] +>> +endobj +12508 0 obj +<< +/Names [(subsubsection.8.5.5.12) 550 0 R (subsubsection.8.5.5.13) 554 0 R (subsubsection.8.5.5.14) 558 0 R (subsubsection.8.5.5.2) 510 0 R (subsubsection.8.5.5.3) 514 0 R (subsubsection.8.5.5.4) 518 0 R] +/Limits [(subsubsection.8.5.5.12) (subsubsection.8.5.5.4)] +>> +endobj +12509 0 obj +<< +/Names [(subsubsection.8.5.5.5) 522 0 R (subsubsection.8.5.5.6) 526 0 R (subsubsection.8.5.5.7) 530 0 R (subsubsection.8.5.5.8) 534 0 R (subsubsection.8.5.5.9) 538 0 R (subsubsection.8.51.2.1) 3658 0 R] +/Limits [(subsubsection.8.5.5.5) (subsubsection.8.51.2.1)] +>> +endobj +12510 0 obj +<< +/Names [(subsubsection.8.51.2.2) 3662 0 R (subsubsection.8.51.2.3) 3666 0 R (subsubsection.8.51.2.4) 3670 0 R (subsubsection.8.51.2.5) 3674 0 R (subsubsection.8.51.2.6) 3678 0 R (subsubsection.8.51.2.7) 3682 0 R] +/Limits [(subsubsection.8.51.2.2) (subsubsection.8.51.2.7)] +>> +endobj +12511 0 obj +<< +/Names [(subsubsection.8.51.2.8) 3686 0 R (subsubsection.8.52.1.1) 3698 0 R (subsubsection.8.52.1.2) 3702 0 R (subsubsection.8.52.2.1) 3710 0 R (subsubsection.8.52.2.2) 3714 0 R (subsubsection.8.52.3.1) 3722 0 R] +/Limits [(subsubsection.8.51.2.8) (subsubsection.8.52.3.1)] +>> +endobj +12512 0 obj +<< +/Names [(subsubsection.8.52.3.2) 3726 0 R (subsubsection.8.52.3.3) 3730 0 R (subsubsection.8.52.3.4) 3734 0 R (subsubsection.8.53.2.1) 3750 0 R (subsubsection.8.53.2.2) 3754 0 R (subsubsection.8.53.2.3) 3758 0 R] +/Limits [(subsubsection.8.52.3.2) (subsubsection.8.53.2.3)] +>> +endobj +12513 0 obj +<< +/Names [(subsubsection.8.53.2.4) 3762 0 R (subsubsection.8.53.2.5) 3766 0 R (subsubsection.8.53.3.1) 3774 0 R (subsubsection.8.53.3.10) 3810 0 R (subsubsection.8.53.3.11) 3814 0 R (subsubsection.8.53.3.12) 3818 0 R] +/Limits [(subsubsection.8.53.2.4) (subsubsection.8.53.3.12)] +>> +endobj +12514 0 obj +<< +/Names [(subsubsection.8.53.3.13) 3822 0 R (subsubsection.8.53.3.14) 3826 0 R (subsubsection.8.53.3.15) 3830 0 R (subsubsection.8.53.3.16) 3834 0 R (subsubsection.8.53.3.2) 3778 0 R (subsubsection.8.53.3.3) 3782 0 R] +/Limits [(subsubsection.8.53.3.13) (subsubsection.8.53.3.3)] +>> +endobj +12515 0 obj +<< +/Names [(subsubsection.8.53.3.4) 3786 0 R (subsubsection.8.53.3.5) 3790 0 R (subsubsection.8.53.3.6) 3794 0 R (subsubsection.8.53.3.7) 3798 0 R (subsubsection.8.53.3.8) 3802 0 R (subsubsection.8.53.3.9) 3806 0 R] +/Limits [(subsubsection.8.53.3.4) (subsubsection.8.53.3.9)] +>> +endobj +12516 0 obj +<< +/Names [(subsubsection.8.54.2.1) 3850 0 R (subsubsection.8.54.2.2) 3854 0 R (subsubsection.8.54.2.3) 3858 0 R (subsubsection.8.54.2.4) 3862 0 R (subsubsection.8.54.3.1) 3870 0 R (subsubsection.8.54.3.2) 3874 0 R] +/Limits [(subsubsection.8.54.2.1) (subsubsection.8.54.3.2)] +>> +endobj +12517 0 obj +<< +/Names [(subsubsection.8.54.3.3) 3878 0 R (subsubsection.8.54.3.4) 3882 0 R (subsubsection.8.54.3.5) 3886 0 R (subsubsection.8.54.3.6) 3890 0 R (subsubsection.8.54.4.1) 3898 0 R (subsubsection.8.54.4.10) 3934 0 R] +/Limits [(subsubsection.8.54.3.3) (subsubsection.8.54.4.10)] +>> +endobj +12518 0 obj +<< +/Names [(subsubsection.8.54.4.11) 3938 0 R (subsubsection.8.54.4.12) 3942 0 R (subsubsection.8.54.4.13) 3946 0 R (subsubsection.8.54.4.14) 3950 0 R (subsubsection.8.54.4.15) 3954 0 R (subsubsection.8.54.4.2) 3902 0 R] +/Limits [(subsubsection.8.54.4.11) (subsubsection.8.54.4.2)] +>> +endobj +12519 0 obj +<< +/Names [(subsubsection.8.54.4.3) 3906 0 R (subsubsection.8.54.4.4) 3910 0 R (subsubsection.8.54.4.5) 3914 0 R (subsubsection.8.54.4.6) 3918 0 R (subsubsection.8.54.4.7) 3922 0 R (subsubsection.8.54.4.8) 3926 0 R] +/Limits [(subsubsection.8.54.4.3) (subsubsection.8.54.4.8)] +>> +endobj +12520 0 obj +<< +/Names [(subsubsection.8.54.4.9) 3930 0 R (subsubsection.8.55.2.1) 3970 0 R (subsubsection.8.55.2.2) 3974 0 R (subsubsection.8.55.2.3) 3978 0 R (subsubsection.8.55.2.4) 3982 0 R (subsubsection.8.55.2.5) 3986 0 R] +/Limits [(subsubsection.8.54.4.9) (subsubsection.8.55.2.5)] +>> +endobj +12521 0 obj +<< +/Names [(subsubsection.8.55.2.6) 3990 0 R (subsubsection.8.55.3.1) 3998 0 R (subsubsection.8.55.3.10) 4034 0 R (subsubsection.8.55.3.11) 4038 0 R (subsubsection.8.55.3.12) 4042 0 R (subsubsection.8.55.3.13) 4046 0 R] +/Limits [(subsubsection.8.55.2.6) (subsubsection.8.55.3.13)] +>> +endobj +12522 0 obj +<< +/Names [(subsubsection.8.55.3.14) 4050 0 R (subsubsection.8.55.3.15) 4054 0 R (subsubsection.8.55.3.2) 4002 0 R (subsubsection.8.55.3.3) 4006 0 R (subsubsection.8.55.3.4) 4010 0 R (subsubsection.8.55.3.5) 4014 0 R] +/Limits [(subsubsection.8.55.3.14) (subsubsection.8.55.3.5)] +>> +endobj +12523 0 obj +<< +/Names [(subsubsection.8.55.3.6) 4018 0 R (subsubsection.8.55.3.7) 4022 0 R (subsubsection.8.55.3.8) 4026 0 R (subsubsection.8.55.3.9) 4030 0 R (subsubsection.8.56.2.1) 4070 0 R (subsubsection.8.56.2.2) 4074 0 R] +/Limits [(subsubsection.8.55.3.6) (subsubsection.8.56.2.2)] +>> +endobj +12524 0 obj +<< +/Names [(subsubsection.8.57.1.1) 4086 0 R (subsubsection.8.57.1.2) 4090 0 R (subsubsection.8.58.2.1) 4106 0 R (subsubsection.8.58.3.1) 4114 0 R (subsubsection.8.58.3.2) 4118 0 R (subsubsection.8.58.3.3) 4122 0 R] +/Limits [(subsubsection.8.57.1.1) (subsubsection.8.58.3.3)] +>> +endobj +12525 0 obj +<< +/Names [(subsubsection.8.58.3.4) 4126 0 R (subsubsection.8.58.3.5) 4130 0 R (subsubsection.8.58.3.6) 4134 0 R (subsubsection.8.58.3.7) 4138 0 R (subsubsection.8.58.4.1) 4146 0 R (subsubsection.8.58.4.10) 4182 0 R] +/Limits [(subsubsection.8.58.3.4) (subsubsection.8.58.4.10)] +>> +endobj +12526 0 obj +<< +/Names [(subsubsection.8.58.4.11) 4186 0 R (subsubsection.8.58.4.12) 4190 0 R (subsubsection.8.58.4.13) 4194 0 R (subsubsection.8.58.4.14) 4198 0 R (subsubsection.8.58.4.15) 4202 0 R (subsubsection.8.58.4.16) 4206 0 R] +/Limits [(subsubsection.8.58.4.11) (subsubsection.8.58.4.16)] +>> +endobj +12527 0 obj +<< +/Names [(subsubsection.8.58.4.17) 4210 0 R (subsubsection.8.58.4.2) 4150 0 R (subsubsection.8.58.4.3) 4154 0 R (subsubsection.8.58.4.4) 4158 0 R (subsubsection.8.58.4.5) 4162 0 R (subsubsection.8.58.4.6) 4166 0 R] +/Limits [(subsubsection.8.58.4.17) (subsubsection.8.58.4.6)] +>> +endobj +12528 0 obj +<< +/Names [(subsubsection.8.58.4.7) 4170 0 R (subsubsection.8.58.4.8) 4174 0 R (subsubsection.8.58.4.9) 4178 0 R (subsubsection.8.58.5.1) 4218 0 R (subsubsection.8.59.2.1) 4234 0 R (subsubsection.8.59.3.1) 4242 0 R] +/Limits [(subsubsection.8.58.4.7) (subsubsection.8.59.3.1)] +>> +endobj +12529 0 obj +<< +/Names [(subsubsection.8.59.3.2) 4246 0 R (subsubsection.8.59.3.3) 4250 0 R (subsubsection.8.59.3.4) 4254 0 R (subsubsection.8.59.3.5) 4258 0 R (subsubsection.8.59.3.6) 4262 0 R (subsubsection.8.6.2.1) 574 0 R] +/Limits [(subsubsection.8.59.3.2) (subsubsection.8.6.2.1)] +>> +endobj +12530 0 obj +<< +/Names [(subsubsection.8.6.2.2) 578 0 R (subsubsection.8.6.2.3) 582 0 R (subsubsection.8.6.2.4) 586 0 R (subsubsection.8.6.2.5) 590 0 R (subsubsection.8.6.2.6) 594 0 R (subsubsection.8.6.2.7) 598 0 R] +/Limits [(subsubsection.8.6.2.2) (subsubsection.8.6.2.7)] +>> +endobj +12531 0 obj +<< +/Names [(subsubsection.8.60.1.1) 4274 0 R (subsubsection.8.60.1.2) 4278 0 R (subsubsection.8.61.1.1) 4290 0 R (subsubsection.8.61.1.2) 4294 0 R (subsubsection.8.61.1.3) 4298 0 R (subsubsection.8.62.2.1) 4314 0 R] +/Limits [(subsubsection.8.60.1.1) (subsubsection.8.62.2.1)] +>> +endobj +12532 0 obj +<< +/Names [(subsubsection.8.62.2.2) 4318 0 R (subsubsection.8.62.3.1) 4326 0 R (subsubsection.8.62.4.1) 4334 0 R (subsubsection.8.62.4.2) 4338 0 R (subsubsection.8.62.4.3) 4342 0 R (subsubsection.8.62.5.1) 4350 0 R] +/Limits [(subsubsection.8.62.2.2) (subsubsection.8.62.5.1)] +>> +endobj +12533 0 obj +<< +/Names [(subsubsection.8.63.1.1) 4362 0 R (subsubsection.8.63.2.1) 4370 0 R (subsubsection.8.63.2.2) 4374 0 R (subsubsection.8.64.2.1) 4390 0 R (subsubsection.8.64.3.1) 4398 0 R (subsubsection.8.64.4.1) 4406 0 R] +/Limits [(subsubsection.8.63.1.1) (subsubsection.8.64.4.1)] +>> +endobj +12534 0 obj +<< +/Names [(subsubsection.8.64.4.2) 4410 0 R (subsubsection.8.64.4.3) 4414 0 R (subsubsection.8.64.4.4) 4418 0 R (subsubsection.8.7.2.1) 614 0 R (subsubsection.8.7.2.2) 618 0 R (subsubsection.8.7.2.3) 622 0 R] +/Limits [(subsubsection.8.64.4.2) (subsubsection.8.7.2.3)] +>> +endobj +12535 0 obj +<< +/Names [(subsubsection.8.7.2.4) 626 0 R (subsubsection.8.7.2.5) 630 0 R (subsubsection.8.7.2.6) 634 0 R (subsubsection.8.7.2.7) 638 0 R (subsubsection.8.7.2.8) 642 0 R (subsubsection.8.7.2.9) 646 0 R] +/Limits [(subsubsection.8.7.2.4) (subsubsection.8.7.2.9)] +>> +endobj +12536 0 obj +<< +/Names [(subsubsection.8.8.2.1) 662 0 R (subsubsection.8.8.2.10) 698 0 R (subsubsection.8.8.2.11) 702 0 R (subsubsection.8.8.2.12) 706 0 R (subsubsection.8.8.2.13) 710 0 R (subsubsection.8.8.2.14) 714 0 R] +/Limits [(subsubsection.8.8.2.1) (subsubsection.8.8.2.14)] +>> +endobj +12537 0 obj +<< +/Names [(subsubsection.8.8.2.15) 718 0 R (subsubsection.8.8.2.16) 722 0 R (subsubsection.8.8.2.17) 726 0 R (subsubsection.8.8.2.2) 666 0 R (subsubsection.8.8.2.3) 670 0 R (subsubsection.8.8.2.4) 674 0 R] +/Limits [(subsubsection.8.8.2.15) (subsubsection.8.8.2.4)] +>> +endobj +12538 0 obj +<< +/Names [(subsubsection.8.8.2.5) 678 0 R (subsubsection.8.8.2.6) 682 0 R (subsubsection.8.8.2.7) 686 0 R (subsubsection.8.8.2.8) 690 0 R (subsubsection.8.8.2.9) 694 0 R (subsubsection.8.9.2.1) 742 0 R] +/Limits [(subsubsection.8.8.2.5) (subsubsection.8.9.2.1)] +>> +endobj +12539 0 obj +<< +/Names [(subsubsection.8.9.3.1) 750 0 R (subsubsection.8.9.3.2) 754 0 R (subsubsection.8.9.4.1) 762 0 R (subsubsection.8.9.4.2) 766 0 R (subsubsection.8.9.5.1) 774 0 R (subsubsection.9.11.1.1) 4514 0 R] +/Limits [(subsubsection.8.9.3.1) (subsubsection.9.11.1.1)] +>> +endobj +12540 0 obj +<< +/Names [(subsubsection.9.11.1.2) 4518 0 R (subsubsection.9.11.1.3) 4522 0 R (subsubsection.9.11.1.4) 4526 0 R (subsubsection.9.11.1.5) 4530 0 R (subsubsection.9.11.1.6) 4534 0 R (subsubsection.9.11.1.7) 4538 0 R] +/Limits [(subsubsection.9.11.1.2) (subsubsection.9.11.1.7)] +>> +endobj +12541 0 obj +<< +/Names [(subsubsection.9.11.1.8) 4542 0 R (subsubsection.9.12.1.1) 4554 0 R (subsubsection.9.12.1.2) 4558 0 R (subsubsection.9.12.2.1) 4566 0 R (subsubsection.9.13.2.1) 4582 0 R (subsubsection.9.13.2.2) 4586 0 R] +/Limits [(subsubsection.9.11.1.8) (subsubsection.9.13.2.2)] +>> +endobj +12542 0 obj +<< +/Names [(subsubsection.9.14.1.1) 4598 0 R (subsubsection.9.14.1.2) 4602 0 R (subsubsection.9.14.1.3) 4606 0 R (subsubsection.9.16.1.1) 4626 0 R (subsubsection.9.16.1.2) 4630 0 R (subsubsection.9.17.1.1) 4642 0 R] +/Limits [(subsubsection.9.14.1.1) (subsubsection.9.17.1.1)] +>> +endobj +12543 0 obj +<< +/Names [(subsubsection.9.20.1.1) 4666 0 R (subsubsection.9.20.1.2) 4670 0 R (subsubsection.9.20.1.3) 4674 0 R (subsubsection.9.20.1.4) 4678 0 R (subsubsection.9.21.1.1) 4690 0 R (subsubsection.9.21.1.2) 4694 0 R] +/Limits [(subsubsection.9.20.1.1) (subsubsection.9.21.1.2)] +>> +endobj +12544 0 obj +<< +/Names [(subsubsection.9.26.1.1) 4730 0 R (subsubsection.9.7.2.1) 4466 0 R (subsubsection.9.7.2.2) 4470 0 R (subsubsection.9.7.2.3) 4474 0 R (subsubsection.9.7.2.4) 4478 0 R (subsubsection.9.8.1.1) 4490 0 R] +/Limits [(subsubsection.9.26.1.1) (subsubsection.9.8.1.1)] +>> +endobj +12545 0 obj +<< +/Names [(subsubsection.9.8.1.2) 4494 0 R] +/Limits [(subsubsection.9.8.1.2) (subsubsection.9.8.1.2)] +>> +endobj +12546 0 obj +<< +/Kids [12062 0 R 12063 0 R 12064 0 R 12065 0 R 12066 0 R 12067 0 R] +/Limits [(Doc-Start) (_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a13b5bfe96f3e2fe411c9f66f4a582adf)] +>> +endobj +12547 0 obj +<< +/Kids [12068 0 R 12069 0 R 12070 0 R 12071 0 R 12072 0 R 12073 0 R] +/Limits [(_enums_8cs_aff1692196dd6f4a13b64044f3b1456d1a2cc2c74685f65f453bf6a6df1fc560df) (_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9aa63ce0e3e810c781a410d3addc56db7f)] +>> +endobj +12548 0 obj +<< +/Kids [12074 0 R 12075 0 R 12076 0 R 12077 0 R 12078 0 R 12079 0 R] +/Limits [(_loadbalancing_peer_8cs_abd3983d6b6f953da6a8da5402ff9f8c9adc2168ee308fc14616dfd264d45cfd15) (_networking_peer_8cs_afa613ef589c02dbd94acc273b62cdcfd)] +>> +endobj +12549 0 obj +<< +/Kids [12080 0 R 12081 0 R 12082 0 R 12083 0 R 12084 0 R 12085 0 R] +/Limits [(_photon_animator_view_8cs) (_photon_view_8cs_a30dff10dfe67eb47ed952eac57dd6dc3ab1c94ca2fbc3e78fc30069c8d0f01680)] +>> +endobj +12550 0 obj +<< +/Kids [12086 0 R 12087 0 R 12088 0 R 12089 0 R 12090 0 R 12091 0 R] +/Limits [(_photon_view_8cs_adca9c5e682d5417add581b004cd5b990) (class_authentication_values_a25eb4617207f2cb2f97ecbf91091ed96)] +>> +endobj +12551 0 obj +<< +/Kids [12092 0 R 12093 0 R 12094 0 R 12095 0 R 12096 0 R 12097 0 R] +/Limits [(class_authentication_values_a3fd84b1b6fca86c6838d6c2fff8926e0) (class_error_code_abaf9c6de084558d58e8387e278837a00)] +>> +endobj +12552 0 obj +<< +/Kids [12098 0 R 12099 0 R 12100 0 R 12101 0 R 12102 0 R 12103 0 R] +/Limits [(class_error_code_ac3ca1983dd44173e855b61f87961fbd9) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_authentication_values_ad82074fee0c1ef809978e612dd882405)] +>> +endobj +12553 0 obj +<< +/Kids [12104 0 R 12105 0 R 12106 0 R 12107 0 R 12108 0 R 12109 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_channel) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71b068a3191927960e027b9f5a07b136)] +>> +endobj +12554 0 obj +<< +/Kids [12110 0 R 12111 0 R 12112 0 R 12113 0 R 12114 0 R 12115 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_client_a71c10e565150962413bb1abaa89af66a) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a0a54ebe20f51af2268716891be3d6570)] +>> +endobj +12555 0 obj +<< +/Kids [12116 0 R 12117 0 R 12118 0 R 12119 0 R 12120 0 R 12121 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_chat_parameter_code_a3125fb72f9cff51b552d77abd26bdcfe) (class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a2c770f32de9265fe53d881768167d7b4)] +>> +endobj +12556 0 obj +<< +/Kids [12122 0 R 12123 0 R 12124 0 R 12125 0 R 12126 0 R 12127 0 R] +/Limits [(class_exit_games_1_1_client_1_1_photon_1_1_chat_1_1_error_code_a305ae576c8bcc601f64595333623287a) (class_extensions_a646282c077a078cdaeab9184809c2e76)] +>> +endobj +12557 0 obj +<< +/Kids [12128 0 R 12129 0 R 12130 0 R 12131 0 R 12132 0 R 12133 0 R] +/Limits [(class_extensions_a6b5d90a1ed678d74548f4ce759b47043) (class_operation_code_a2cc120dfb6e75603acd7fa8c6f813885)] +>> +endobj +12558 0 obj +<< +/Kids [12134 0 R 12135 0 R 12136 0 R 12137 0 R 12138 0 R 12139 0 R] +/Limits [(class_operation_code_a42fcaeed38b9159d966bbc8495924ac9) (class_parameter_code_a4ec68978f777837045882cd08b596f70)] +>> +endobj +12559 0 obj +<< +/Kids [12140 0 R 12141 0 R 12142 0 R 12143 0 R 12144 0 R 12145 0 R] +/Limits [(class_parameter_code_a50d6ee26796535284d0f9a244300de28) (class_parameter_code_addcfa8d34a8a951c0249688ba5a87388)] +>> +endobj +12560 0 obj +<< +/Kids [12146 0 R 12147 0 R 12148 0 R 12149 0 R 12150 0 R 12151 0 R] +/Limits [(class_parameter_code_adf15cecb04e6ace568d821177e6a8ec0) (class_photon_1_1_pun_behaviour_abf25d63a39ef13cb9a0519e6e7672a2f)] +>> +endobj +12561 0 obj +<< +/Kids [12152 0 R 12153 0 R 12154 0 R 12155 0 R 12156 0 R 12157 0 R] +/Limits [(class_photon_1_1_pun_behaviour_abfe94f562c7abc261b25b0df95852a17) (class_photon_lag_simulation_gui_a0e20da80809bd2181828edabed39ccc9)] +>> +endobj +12562 0 obj +<< +/Kids [12158 0 R 12159 0 R 12160 0 R 12161 0 R 12162 0 R 12163 0 R] +/Limits [(class_photon_lag_simulation_gui_a1d267bda81b30f6b32f77e4b5cc90649) (class_photon_network_a505f06c3eb4ca67db5dd517aab34143d)] +>> +endobj +12563 0 obj +<< +/Kids [12164 0 R 12165 0 R 12166 0 R 12167 0 R 12168 0 R 12169 0 R] +/Limits [(class_photon_network_a50fc7126ad9a866ce32951d87f13e8ed) (class_photon_network_a8a2bd25668b204f681c7d27174735ba1)] +>> +endobj +12564 0 obj +<< +/Kids [12170 0 R 12171 0 R 12172 0 R 12173 0 R 12174 0 R 12175 0 R] +/Limits [(class_photon_network_a8ad64b1a76c7918bbe5642639afff458) (class_photon_network_ac23d14ad150a87d51f4ffaa286db29e1)] +>> +endobj +12565 0 obj +<< +/Kids [12176 0 R 12177 0 R 12178 0 R 12179 0 R 12180 0 R 12181 0 R] +/Limits [(class_photon_network_ac6b98cecd29a9ced8ec4a6ae78908dfc) (class_photon_ping_manager_aa37a48018a49beafdb317dbdfbff6d54)] +>> +endobj +12566 0 obj +<< +/Kids [12182 0 R 12183 0 R 12184 0 R 12185 0 R 12186 0 R 12187 0 R] +/Limits [(class_photon_ping_manager_ab5bc2677649632ad08c581dff24cec4a) (class_photon_rigidbody2_d_view_a980ea46d1725668b1ae12f958840dc61)] +>> +endobj +12567 0 obj +<< +/Kids [12188 0 R 12189 0 R 12190 0 R 12191 0 R 12192 0 R 12193 0 R] +/Limits [(class_photon_rigidbody_view) (class_photon_stream_queue_a1c2a5d3c8a990b78b07650b0e1370eeb)] +>> +endobj +12568 0 obj +<< +/Kids [12194 0 R 12195 0 R 12196 0 R 12197 0 R 12198 0 R 12199 0 R] +/Limits [(class_photon_stream_queue_a40bc2e04c1641f36da8cb36423fd13c3) (class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06a8275b27924ce04ec0cbdf85a3f3dc866)] +>> +endobj +12569 0 obj +<< +/Kids [12200 0 R 12201 0 R 12202 0 R 12203 0 R 12204 0 R 12205 0 R] +/Limits [(class_photon_transform_view_position_model_a81cc14379a959c4fc0e6b144360adb06ab9f5c797ebbf55adccdd8539a65a0241) (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c)] +>> +endobj +12570 0 obj +<< +/Kids [12206 0 R 12207 0 R 12208 0 R 12209 0 R 12210 0 R 12211 0 R] +/Limits [(class_photon_view_a0eee05bdd9c48c263a41ccfec45b8651) (class_ping_mono_editor_a2e854f702a4ced545a5b4405a511941e)] +>> +endobj +12571 0 obj +<< +/Kids [12212 0 R 12213 0 R 12214 0 R 12215 0 R 12216 0 R 12217 0 R] +/Limits [(class_ping_mono_editor_a4bcf82f6d83763d40da8a8b91a602245) (class_room_aa9d85e54b2ff1b151de3670e87549966)] +>> +endobj +12572 0 obj +<< +/Kids [12218 0 R 12219 0 R 12220 0 R 12221 0 R 12222 0 R 12223 0 R] +/Limits [(class_room_ac193e5eddc588b1642b4de892d71082f) (class_room_options_a0bc17f8465ed615ce0126674af329a1f)] +>> +endobj +12573 0 obj +<< +/Kids [12224 0 R 12225 0 R 12226 0 R 12227 0 R 12228 0 R 12229 0 R] +/Limits [(class_room_options_a2d2471ba446949054e81362057d0d8ad) (class_server_settings_a7f72524c0d04bb8dee7d6eea35465a0b)] +>> +endobj +12574 0 obj +<< +/Kids [12230 0 R 12231 0 R 12232 0 R 12233 0 R 12234 0 R 12235 0 R] +/Limits [(class_server_settings_a8a1c45242135b589ecc819e132c59655) (class_web_rpc_response_a328292c9db1a4c5559b00b9e6b7d1b69)] +>> +endobj +12575 0 obj +<< +/Kids [12236 0 R 12237 0 R 12238 0 R 12239 0 R 12240 0 R 12241 0 R] +/Limits [(class_web_rpc_response_a7c718bc7f77fa026307ac93f99c81c92) (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aedb214653d9f3cecd840463790ac2894)] +>> +endobj +12576 0 obj +<< +/Kids [12242 0 R 12243 0 R 12244 0 R 12245 0 R 12246 0 R 12247 0 R] +/Limits [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aef70e46fd3bbc21e3e1f0b6815e750c0) (group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941)] +>> +endobj +12577 0 obj +<< +/Kids [12248 0 R 12249 0 R 12250 0 R 12251 0 R 12252 0 R 12253 0 R] +/Limits [(group__public_api_ggaf30bbea51cc8c4b1ddc239d1c5c1468fa6fae9412143c8e2158841c492b22d698) (interface_i_pun_callbacks_a28ef052b776a594b305b08d7e80b6df3)] +>> +endobj +12578 0 obj +<< +/Kids [12254 0 R 12255 0 R 12256 0 R 12257 0 R 12258 0 R 12259 0 R] +/Limits [(interface_i_pun_callbacks_a3a210383eb25f1c6f509aaa23c792f6f) (namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65aa296104f0c61a9cf39f4824d05315e12)] +>> +endobj +12579 0 obj +<< +/Kids [12260 0 R 12261 0 R 12262 0 R 12263 0 R 12264 0 R 12265 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_g_u_i_a818c6c37f51ee72cef59e460e7295d65ab37d9c6b396307dda685c3c65c20e359) (namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1caa8a06837aec81e16c9a07221848aef6f)] +>> +endobj +12580 0 obj +<< +/Kids [12266 0 R 12267 0 R 12268 0 R 12269 0 R 12270 0 R 12271 0 R] +/Limits [(namespace_exit_games_1_1_client_1_1_photon_1_1_chat_aef14e10728bdf2b99b2a7e6fd4ac4a1cad85544fce402c7a2a96a48078edaf203) (page.125)] +>> +endobj +12581 0 obj +<< +/Kids [12272 0 R 12273 0 R 12274 0 R 12275 0 R 12276 0 R 12277 0 R] +/Limits [(page.126) (page.158)] +>> +endobj +12582 0 obj +<< +/Kids [12278 0 R 12279 0 R 12280 0 R 12281 0 R 12282 0 R 12283 0 R] +/Limits [(page.159) (page.190)] +>> +endobj +12583 0 obj +<< +/Kids [12284 0 R 12285 0 R 12286 0 R 12287 0 R 12288 0 R 12289 0 R] +/Limits [(page.191) (page.222)] +>> +endobj +12584 0 obj +<< +/Kids [12290 0 R 12291 0 R 12292 0 R 12293 0 R 12294 0 R 12295 0 R] +/Limits [(page.223) (page.52)] +>> +endobj +12585 0 obj +<< +/Kids [12296 0 R 12297 0 R 12298 0 R 12299 0 R 12300 0 R 12301 0 R] +/Limits [(page.53) (page.85)] +>> +endobj +12586 0 obj +<< +/Kids [12302 0 R 12303 0 R 12304 0 R 12305 0 R 12306 0 R 12307 0 R] +/Limits [(page.86) (section*.114)] +>> +endobj +12587 0 obj +<< +/Kids [12308 0 R 12309 0 R 12310 0 R 12311 0 R 12312 0 R 12313 0 R] +/Limits [(section*.115) (section*.147)] +>> +endobj +12588 0 obj +<< +/Kids [12314 0 R 12315 0 R 12316 0 R 12317 0 R 12318 0 R 12319 0 R] +/Limits [(section*.148) (section*.18)] +>> +endobj +12589 0 obj +<< +/Kids [12320 0 R 12321 0 R 12322 0 R 12323 0 R 12324 0 R 12325 0 R] +/Limits [(section*.180) (section*.211)] +>> +endobj +12590 0 obj +<< +/Kids [12326 0 R 12327 0 R 12328 0 R 12329 0 R 12330 0 R 12331 0 R] +/Limits [(section*.212) (section*.28)] +>> +endobj +12591 0 obj +<< +/Kids [12332 0 R 12333 0 R 12334 0 R 12335 0 R 12336 0 R 12337 0 R] +/Limits [(section*.29) (section*.60)] +>> +endobj +12592 0 obj +<< +/Kids [12338 0 R 12339 0 R 12340 0 R 12341 0 R 12342 0 R 12343 0 R] +/Limits [(section*.61) (section*.93)] +>> +endobj +12593 0 obj +<< +/Kids [12344 0 R 12345 0 R 12346 0 R 12347 0 R 12348 0 R 12349 0 R] +/Limits [(section*.94) (section.8.26)] +>> +endobj +12594 0 obj +<< +/Kids [12350 0 R 12351 0 R 12352 0 R 12353 0 R 12354 0 R 12355 0 R] +/Limits [(section.8.27) (section.8.59)] +>> +endobj +12595 0 obj +<< +/Kids [12356 0 R 12357 0 R 12358 0 R 12359 0 R 12360 0 R 12361 0 R] +/Limits [(section.8.6) (section.9.33)] +>> +endobj +12596 0 obj +<< +/Kids [12362 0 R 12363 0 R 12364 0 R 12365 0 R 12366 0 R 12367 0 R] +/Limits [(section.9.34) (subsection.7.6.1)] +>> +endobj +12597 0 obj +<< +/Kids [12368 0 R 12369 0 R 12370 0 R 12371 0 R 12372 0 R 12373 0 R] +/Limits [(subsection.8.1.1) (subsection.8.25.1)] +>> +endobj +12598 0 obj +<< +/Kids [12374 0 R 12375 0 R 12376 0 R 12377 0 R 12378 0 R 12379 0 R] +/Limits [(subsection.8.25.2) (subsection.8.35.2)] +>> +endobj +12599 0 obj +<< +/Kids [12380 0 R 12381 0 R 12382 0 R 12383 0 R 12384 0 R 12385 0 R] +/Limits [(subsection.8.36.1) (subsection.8.48.1)] +>> +endobj +12600 0 obj +<< +/Kids [12386 0 R 12387 0 R 12388 0 R 12389 0 R 12390 0 R 12391 0 R] +/Limits [(subsection.8.48.2) (subsection.8.6.1)] +>> +endobj +12601 0 obj +<< +/Kids [12392 0 R 12393 0 R 12394 0 R 12395 0 R 12396 0 R 12397 0 R] +/Limits [(subsection.8.6.2) (subsection.9.24.1)] +>> +endobj +12602 0 obj +<< +/Kids [12398 0 R 12399 0 R 12400 0 R 12401 0 R 12402 0 R 12403 0 R] +/Limits [(subsection.9.25.1) (subsubsection.8.12.2.14)] +>> +endobj +12603 0 obj +<< +/Kids [12404 0 R 12405 0 R 12406 0 R 12407 0 R 12408 0 R 12409 0 R] +/Limits [(subsubsection.8.12.2.15) (subsubsection.8.13.2.7)] +>> +endobj +12604 0 obj +<< +/Kids [12410 0 R 12411 0 R 12412 0 R 12413 0 R 12414 0 R 12415 0 R] +/Limits [(subsubsection.8.13.2.8) (subsubsection.8.16.3.4)] +>> +endobj +12605 0 obj +<< +/Kids [12416 0 R 12417 0 R 12418 0 R 12419 0 R 12420 0 R 12421 0 R] +/Limits [(subsubsection.8.17.2.1) (subsubsection.8.22.2.12)] +>> +endobj +12606 0 obj +<< +/Kids [12422 0 R 12423 0 R 12424 0 R 12425 0 R 12426 0 R 12427 0 R] +/Limits [(subsubsection.8.22.2.13) (subsubsection.8.26.2.15)] +>> +endobj +12607 0 obj +<< +/Kids [12428 0 R 12429 0 R 12430 0 R 12431 0 R 12432 0 R 12433 0 R] +/Limits [(subsubsection.8.26.2.16) (subsubsection.8.28.2.21)] +>> +endobj +12608 0 obj +<< +/Kids [12434 0 R 12435 0 R 12436 0 R 12437 0 R 12438 0 R 12439 0 R] +/Limits [(subsubsection.8.28.2.22) (subsubsection.8.28.2.54)] +>> +endobj +12609 0 obj +<< +/Kids [12440 0 R 12441 0 R 12442 0 R 12443 0 R 12444 0 R 12445 0 R] +/Limits [(subsubsection.8.28.2.55) (subsubsection.8.3.4.1)] +>> +endobj +12610 0 obj +<< +/Kids [12446 0 R 12447 0 R 12448 0 R 12449 0 R 12450 0 R 12451 0 R] +/Limits [(subsubsection.8.3.4.2) (subsubsection.8.32.2.28)] +>> +endobj +12611 0 obj +<< +/Kids [12452 0 R 12453 0 R 12454 0 R 12455 0 R 12456 0 R 12457 0 R] +/Limits [(subsubsection.8.32.2.29) (subsubsection.8.32.2.60)] +>> +endobj +12612 0 obj +<< +/Kids [12458 0 R 12459 0 R 12460 0 R 12461 0 R 12462 0 R 12463 0 R] +/Limits [(subsubsection.8.32.2.61) (subsubsection.8.32.4.16)] +>> +endobj +12613 0 obj +<< +/Kids [12464 0 R 12465 0 R 12466 0 R 12467 0 R 12468 0 R 12469 0 R] +/Limits [(subsubsection.8.32.4.17) (subsubsection.8.32.4.7)] +>> +endobj +12614 0 obj +<< +/Kids [12470 0 R 12471 0 R 12472 0 R 12473 0 R 12474 0 R 12475 0 R] +/Limits [(subsubsection.8.32.4.8) (subsubsection.8.34.5.4)] +>> +endobj +12615 0 obj +<< +/Kids [12476 0 R 12477 0 R 12478 0 R 12479 0 R 12480 0 R 12481 0 R] +/Limits [(subsubsection.8.34.5.5) (subsubsection.8.38.4.2)] +>> +endobj +12616 0 obj +<< +/Kids [12482 0 R 12483 0 R 12484 0 R 12485 0 R 12486 0 R 12487 0 R] +/Limits [(subsubsection.8.38.4.3) (subsubsection.8.42.2.14)] +>> +endobj +12617 0 obj +<< +/Kids [12488 0 R 12489 0 R 12490 0 R 12491 0 R 12492 0 R 12493 0 R] +/Limits [(subsubsection.8.42.2.2) (subsubsection.8.47.2.4)] +>> +endobj +12618 0 obj +<< +/Kids [12494 0 R 12495 0 R 12496 0 R 12497 0 R 12498 0 R 12499 0 R] +/Limits [(subsubsection.8.47.2.5) (subsubsection.8.49.2.16)] +>> +endobj +12619 0 obj +<< +/Kids [12500 0 R 12501 0 R 12502 0 R 12503 0 R 12504 0 R 12505 0 R] +/Limits [(subsubsection.8.49.2.17) (subsubsection.8.5.3.4)] +>> +endobj +12620 0 obj +<< +/Kids [12506 0 R 12507 0 R 12508 0 R 12509 0 R 12510 0 R 12511 0 R] +/Limits [(subsubsection.8.5.3.5) (subsubsection.8.52.3.1)] +>> +endobj +12621 0 obj +<< +/Kids [12512 0 R 12513 0 R 12514 0 R 12515 0 R 12516 0 R 12517 0 R] +/Limits [(subsubsection.8.52.3.2) (subsubsection.8.54.4.10)] +>> +endobj +12622 0 obj +<< +/Kids [12518 0 R 12519 0 R 12520 0 R 12521 0 R 12522 0 R 12523 0 R] +/Limits [(subsubsection.8.54.4.11) (subsubsection.8.56.2.2)] +>> +endobj +12623 0 obj +<< +/Kids [12524 0 R 12525 0 R 12526 0 R 12527 0 R 12528 0 R 12529 0 R] +/Limits [(subsubsection.8.57.1.1) (subsubsection.8.6.2.1)] +>> +endobj +12624 0 obj +<< +/Kids [12530 0 R 12531 0 R 12532 0 R 12533 0 R 12534 0 R 12535 0 R] +/Limits [(subsubsection.8.6.2.2) (subsubsection.8.7.2.9)] +>> +endobj +12625 0 obj +<< +/Kids [12536 0 R 12537 0 R 12538 0 R 12539 0 R 12540 0 R 12541 0 R] +/Limits [(subsubsection.8.8.2.1) (subsubsection.9.13.2.2)] +>> +endobj +12626 0 obj +<< +/Kids [12542 0 R 12543 0 R 12544 0 R 12545 0 R] +/Limits [(subsubsection.9.14.1.1) (subsubsection.9.8.1.2)] +>> +endobj +12627 0 obj +<< +/Kids [12546 0 R 12547 0 R 12548 0 R 12549 0 R 12550 0 R 12551 0 R] +/Limits [(Doc-Start) (class_error_code_abaf9c6de084558d58e8387e278837a00)] +>> +endobj +12628 0 obj +<< +/Kids [12552 0 R 12553 0 R 12554 0 R 12555 0 R 12556 0 R 12557 0 R] +/Limits [(class_error_code_ac3ca1983dd44173e855b61f87961fbd9) (class_operation_code_a2cc120dfb6e75603acd7fa8c6f813885)] +>> +endobj +12629 0 obj +<< +/Kids [12558 0 R 12559 0 R 12560 0 R 12561 0 R 12562 0 R 12563 0 R] +/Limits [(class_operation_code_a42fcaeed38b9159d966bbc8495924ac9) (class_photon_network_a8a2bd25668b204f681c7d27174735ba1)] +>> +endobj +12630 0 obj +<< +/Kids [12564 0 R 12565 0 R 12566 0 R 12567 0 R 12568 0 R 12569 0 R] +/Limits [(class_photon_network_a8ad64b1a76c7918bbe5642639afff458) (class_photon_view_a0d1e63579ed533e6394ca7f12b313c7c)] +>> +endobj +12631 0 obj +<< +/Kids [12570 0 R 12571 0 R 12572 0 R 12573 0 R 12574 0 R 12575 0 R] +/Limits [(class_photon_view_a0eee05bdd9c48c263a41ccfec45b8651) (group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aedb214653d9f3cecd840463790ac2894)] +>> +endobj +12632 0 obj +<< +/Kids [12576 0 R 12577 0 R 12578 0 R 12579 0 R 12580 0 R 12581 0 R] +/Limits [(group__public_api_gga8d4a6786d6193f0e6245c44e4a7bb4a0aef70e46fd3bbc21e3e1f0b6815e750c0) (page.158)] +>> +endobj +12633 0 obj +<< +/Kids [12582 0 R 12583 0 R 12584 0 R 12585 0 R 12586 0 R 12587 0 R] +/Limits [(page.159) (section*.147)] +>> +endobj +12634 0 obj +<< +/Kids [12588 0 R 12589 0 R 12590 0 R 12591 0 R 12592 0 R 12593 0 R] +/Limits [(section*.148) (section.8.26)] +>> +endobj +12635 0 obj +<< +/Kids [12594 0 R 12595 0 R 12596 0 R 12597 0 R 12598 0 R 12599 0 R] +/Limits [(section.8.27) (subsection.8.48.1)] +>> +endobj +12636 0 obj +<< +/Kids [12600 0 R 12601 0 R 12602 0 R 12603 0 R 12604 0 R 12605 0 R] +/Limits [(subsection.8.48.2) (subsubsection.8.22.2.12)] +>> +endobj +12637 0 obj +<< +/Kids [12606 0 R 12607 0 R 12608 0 R 12609 0 R 12610 0 R 12611 0 R] +/Limits [(subsubsection.8.22.2.13) (subsubsection.8.32.2.60)] +>> +endobj +12638 0 obj +<< +/Kids [12612 0 R 12613 0 R 12614 0 R 12615 0 R 12616 0 R 12617 0 R] +/Limits [(subsubsection.8.32.2.61) (subsubsection.8.47.2.4)] +>> +endobj +12639 0 obj +<< +/Kids [12618 0 R 12619 0 R 12620 0 R 12621 0 R 12622 0 R 12623 0 R] +/Limits [(subsubsection.8.47.2.5) (subsubsection.8.6.2.1)] +>> +endobj +12640 0 obj +<< +/Kids [12624 0 R 12625 0 R 12626 0 R] +/Limits [(subsubsection.8.6.2.2) (subsubsection.9.8.1.2)] +>> +endobj +12641 0 obj +<< +/Kids [12627 0 R 12628 0 R 12629 0 R 12630 0 R 12631 0 R 12632 0 R] +/Limits [(Doc-Start) (page.158)] +>> +endobj +12642 0 obj +<< +/Kids [12633 0 R 12634 0 R 12635 0 R 12636 0 R 12637 0 R 12638 0 R] +/Limits [(page.159) (subsubsection.8.47.2.4)] +>> +endobj +12643 0 obj +<< +/Kids [12639 0 R 12640 0 R] +/Limits [(subsubsection.8.47.2.5) (subsubsection.9.8.1.2)] +>> +endobj +12644 0 obj +<< +/Kids [12641 0 R 12642 0 R 12643 0 R] +/Limits [(Doc-Start) (subsubsection.9.8.1.2)] +>> +endobj +12645 0 obj +<< +/Dests 12644 0 R +>> +endobj +12646 0 obj +<< +/Type /Catalog +/Pages 12060 0 R +/Outlines 12061 0 R +/Names 12645 0 R +/PageMode/UseOutlines/PageLabels<>34<>]>> +/OpenAction 4821 0 R +>> +endobj +12647 0 obj +<< +/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.18)/Keywords() +/CreationDate (D:20170829111959+02'00') +/ModDate (D:20170829111959+02'00') +/Trapped /False +/PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.6300 (1.40.18)) +>> +endobj +xref +0 12648 +0000000000 65535 f +0000000015 00000 n +0000553212 00000 n +0002168315 00000 n +0000000060 00000 n +0000000147 00000 n +0000557388 00000 n +0002168192 00000 n +0000000192 00000 n +0000000339 00000 n +0000557574 00000 n +0002168096 00000 n +0000000386 00000 n +0000000466 00000 n +0000564513 00000 n +0002168022 00000 n +0000000519 00000 n +0000000703 00000 n +0000584064 00000 n +0002167935 00000 n +0000000756 00000 n +0000000932 00000 n +0000589382 00000 n +0002167861 00000 n +0000000985 00000 n +0000001206 00000 n +0000606909 00000 n +0002167772 00000 n +0000001252 00000 n +0000001408 00000 n +0000609771 00000 n +0002167682 00000 n +0000001454 00000 n +0000001610 00000 n +0000613060 00000 n +0002167592 00000 n +0000001656 00000 n +0000001787 00000 n +0000620297 00000 n +0002167465 00000 n +0000001833 00000 n +0000001976 00000 n +0000620420 00000 n +0002167354 00000 n +0000002024 00000 n +0000002127 00000 n +0000647716 00000 n +0002167280 00000 n +0000002180 00000 n +0000002343 00000 n +0000647777 00000 n +0002167156 00000 n +0000002396 00000 n +0000002612 00000 n +0000647900 00000 n +0002167082 00000 n +0000002670 00000 n +0000002795 00000 n +0000649345 00000 n +0002166995 00000 n +0000002853 00000 n +0000002998 00000 n +0000655094 00000 n +0002166908 00000 n +0000003056 00000 n +0000003196 00000 n +0000655407 00000 n +0002166821 00000 n +0000003254 00000 n +0000003439 00000 n +0000696544 00000 n +0002166747 00000 n +0000003497 00000 n +0000003632 00000 n +0000701359 00000 n +0002166636 00000 n +0000003685 00000 n +0000003858 00000 n +0000701483 00000 n +0002166575 00000 n +0000003916 00000 n +0000004091 00000 n +0000703527 00000 n +0002166464 00000 n +0000004139 00000 n +0000004300 00000 n +0000703651 00000 n +0002166403 00000 n +0000004353 00000 n +0000004516 00000 n +0000706714 00000 n +0002166274 00000 n +0000004562 00000 n +0000004720 00000 n +0000706838 00000 n +0002166200 00000 n +0000004768 00000 n +0000004906 00000 n +0000707025 00000 n +0002166111 00000 n +0000004954 00000 n +0000005128 00000 n +0000707212 00000 n +0002165981 00000 n +0000005177 00000 n +0000005371 00000 n +0000707400 00000 n +0002165877 00000 n +0000005425 00000 n +0000005642 00000 n +0000707525 00000 n +0002165812 00000 n +0000005701 00000 n +0000005817 00000 n +0000720781 00000 n +0002165720 00000 n +0000005866 00000 n +0000006075 00000 n +0000721032 00000 n +0002165589 00000 n +0000006124 00000 n +0000006358 00000 n +0000731781 00000 n +0002165485 00000 n +0000006412 00000 n +0000006629 00000 n +0000731906 00000 n +0002165406 00000 n +0000006688 00000 n +0000006854 00000 n +0000732722 00000 n +0002165313 00000 n +0000006913 00000 n +0000007029 00000 n +0000737413 00000 n +0002165234 00000 n +0000007088 00000 n +0000007279 00000 n +0000737977 00000 n +0002165103 00000 n +0000007328 00000 n +0000007452 00000 n +0000738165 00000 n +0002164999 00000 n +0000007506 00000 n +0000007675 00000 n +0000738290 00000 n +0002164934 00000 n +0000007734 00000 n +0000007850 00000 n +0000738415 00000 n +0002164842 00000 n +0000007899 00000 n +0000008048 00000 n +0000739921 00000 n +0002164764 00000 n +0000008097 00000 n +0000008326 00000 n +0000743068 00000 n +0002164628 00000 n +0000008373 00000 n +0000008512 00000 n +0000743192 00000 n +0002164510 00000 n +0000008561 00000 n +0000008773 00000 n +0000743316 00000 n +0002164431 00000 n +0000008827 00000 n +0000008991 00000 n +0000743378 00000 n +0002164313 00000 n +0000009045 00000 n +0000009237 00000 n +0000743503 00000 n +0002164234 00000 n +0000009296 00000 n +0000009417 00000 n +0000743629 00000 n +0002164141 00000 n +0000009476 00000 n +0000009597 00000 n +0000743752 00000 n +0002164062 00000 n +0000009656 00000 n +0000009757 00000 n +0000751109 00000 n +0002163930 00000 n +0000009806 00000 n +0000010188 00000 n +0000751297 00000 n +0002163851 00000 n +0000010242 00000 n +0000010406 00000 n +0000751359 00000 n +0002163719 00000 n +0000010460 00000 n +0000010723 00000 n +0000751484 00000 n +0002163640 00000 n +0000010782 00000 n +0000010953 00000 n +0000752524 00000 n +0002163561 00000 n +0000011012 00000 n +0000011183 00000 n +0000755361 00000 n +0002163429 00000 n +0000011237 00000 n +0000011449 00000 n +0000755486 00000 n +0002163350 00000 n +0000011508 00000 n +0000011659 00000 n +0000755611 00000 n +0002163257 00000 n +0000011718 00000 n +0000011864 00000 n +0000755736 00000 n +0002163164 00000 n +0000011923 00000 n +0000012069 00000 n +0000755861 00000 n +0002163085 00000 n +0000012128 00000 n +0000012239 00000 n +0000755923 00000 n +0002162967 00000 n +0000012293 00000 n +0000012467 00000 n +0000756048 00000 n +0002162888 00000 n +0000012526 00000 n +0000012682 00000 n +0000756174 00000 n +0002162795 00000 n +0000012741 00000 n +0000012872 00000 n +0000756299 00000 n +0002162702 00000 n +0000012931 00000 n +0000013042 00000 n +0000762348 00000 n +0002162609 00000 n +0000013101 00000 n +0000013197 00000 n +0000762473 00000 n +0002162530 00000 n +0000013256 00000 n +0000013357 00000 n +0000762598 00000 n +0002162398 00000 n +0000013406 00000 n +0000013643 00000 n +0000762785 00000 n +0002162319 00000 n +0000013697 00000 n +0000013861 00000 n +0000766460 00000 n +0002162187 00000 n +0000013915 00000 n +0000014178 00000 n +0000766585 00000 n +0002162108 00000 n +0000014237 00000 n +0000014408 00000 n +0000766710 00000 n +0002162029 00000 n +0000014467 00000 n +0000014638 00000 n +0000766772 00000 n +0002161897 00000 n +0000014692 00000 n +0000014904 00000 n +0000766897 00000 n +0002161818 00000 n +0000014963 00000 n +0000015114 00000 n +0000767022 00000 n +0002161725 00000 n +0000015173 00000 n +0000015319 00000 n +0000767147 00000 n +0002161632 00000 n +0000015378 00000 n +0000015524 00000 n +0000767272 00000 n +0002161553 00000 n +0000015583 00000 n +0000015694 00000 n +0000767333 00000 n +0002161435 00000 n +0000015748 00000 n +0000015922 00000 n +0000772475 00000 n +0002161356 00000 n +0000015981 00000 n +0000016137 00000 n +0000772601 00000 n +0002161263 00000 n +0000016196 00000 n +0000016327 00000 n +0000772726 00000 n +0002161170 00000 n +0000016386 00000 n +0000016497 00000 n +0000772851 00000 n +0002161077 00000 n +0000016556 00000 n +0000016652 00000 n +0000772976 00000 n +0002160998 00000 n +0000016711 00000 n +0000016812 00000 n +0000773101 00000 n +0002160866 00000 n +0000016861 00000 n +0000017198 00000 n +0000778869 00000 n +0002160787 00000 n +0000017252 00000 n +0000017416 00000 n +0000778931 00000 n +0002160655 00000 n +0000017470 00000 n +0000017733 00000 n +0000779056 00000 n +0002160590 00000 n +0000017792 00000 n +0000017918 00000 n +0000779118 00000 n +0002160458 00000 n +0000017972 00000 n +0000018184 00000 n +0000779243 00000 n +0002160379 00000 n +0000018243 00000 n +0000018329 00000 n +0000779368 00000 n +0002160286 00000 n +0000018388 00000 n +0000018474 00000 n +0000779493 00000 n +0002160193 00000 n +0000018533 00000 n +0000018669 00000 n +0000781876 00000 n +0002160100 00000 n +0000018728 00000 n +0000018879 00000 n +0000782001 00000 n +0002160021 00000 n +0000018938 00000 n +0000019089 00000 n +0000782063 00000 n +0002159889 00000 n +0000019143 00000 n +0000019335 00000 n +0000782188 00000 n +0002159810 00000 n +0000019394 00000 n +0000019525 00000 n +0000782313 00000 n +0002159717 00000 n +0000019584 00000 n +0000019695 00000 n +0000782438 00000 n +0002159624 00000 n +0000019754 00000 n +0000019845 00000 n +0000782563 00000 n +0002159545 00000 n +0000019904 00000 n +0000020010 00000 n +0000782625 00000 n +0002159427 00000 n +0000020064 00000 n +0000020238 00000 n +0000782750 00000 n +0002159348 00000 n +0000020297 00000 n +0000020413 00000 n +0000782875 00000 n +0002159269 00000 n +0000020472 00000 n +0000020603 00000 n +0000782996 00000 n +0002159137 00000 n +0000020652 00000 n +0000020984 00000 n +0000803519 00000 n +0002159058 00000 n +0000021038 00000 n +0000021202 00000 n +0000808822 00000 n +0002158926 00000 n +0000021256 00000 n +0000021519 00000 n +0000808947 00000 n +0002158861 00000 n +0000021578 00000 n +0000021699 00000 n +0000809009 00000 n +0002158728 00000 n +0000021753 00000 n +0000021965 00000 n +0000809134 00000 n +0002158649 00000 n +0000022024 00000 n +0000022145 00000 n +0000809259 00000 n +0002158556 00000 n +0000022204 00000 n +0000022355 00000 n +0000809384 00000 n +0002158463 00000 n +0000022414 00000 n +0000022520 00000 n +0000809508 00000 n +0002158370 00000 n +0000022579 00000 n +0000022700 00000 n +0000809633 00000 n +0002158277 00000 n +0000022759 00000 n +0000022965 00000 n +0000814808 00000 n +0002158184 00000 n +0000023024 00000 n +0000023165 00000 n +0000814933 00000 n +0002158091 00000 n +0000023224 00000 n +0000023360 00000 n +0000818571 00000 n +0002157998 00000 n +0000023419 00000 n +0000023550 00000 n +0000818696 00000 n +0002157905 00000 n +0000023609 00000 n +0000023770 00000 n +0000818821 00000 n +0002157812 00000 n +0000023830 00000 n +0000023996 00000 n +0000818946 00000 n +0002157719 00000 n +0000024056 00000 n +0000024167 00000 n +0000819071 00000 n +0002157626 00000 n +0000024227 00000 n +0000024378 00000 n +0000823158 00000 n +0002157533 00000 n +0000024438 00000 n +0000024589 00000 n +0000823282 00000 n +0002157440 00000 n +0000024649 00000 n +0000024775 00000 n +0000823403 00000 n +0002157347 00000 n +0000024835 00000 n +0000024956 00000 n +0000823528 00000 n +0002157254 00000 n +0000025016 00000 n +0000025137 00000 n +0000826502 00000 n +0002157161 00000 n +0000025197 00000 n +0000025338 00000 n +0000826626 00000 n +0002157068 00000 n +0000025398 00000 n +0000025539 00000 n +0000826751 00000 n +0002156989 00000 n +0000025599 00000 n +0000025730 00000 n +0000829702 00000 n +0002156857 00000 n +0000025784 00000 n +0000025976 00000 n +0000829827 00000 n +0002156778 00000 n +0000026035 00000 n +0000026146 00000 n +0000829952 00000 n +0002156685 00000 n +0000026205 00000 n +0000026336 00000 n +0000830077 00000 n +0002156592 00000 n +0000026395 00000 n +0000026541 00000 n +0000830202 00000 n +0002156513 00000 n +0000026600 00000 n +0000026741 00000 n +0000830264 00000 n +0002156394 00000 n +0000026795 00000 n +0000026969 00000 n +0000830389 00000 n +0002156315 00000 n +0000027028 00000 n +0000027124 00000 n +0000830514 00000 n +0002156222 00000 n +0000027183 00000 n +0000027304 00000 n +0000830639 00000 n +0002156129 00000 n +0000027363 00000 n +0000027484 00000 n +0000830764 00000 n +0002156036 00000 n +0000027543 00000 n +0000027649 00000 n +0000830889 00000 n +0002155943 00000 n +0000027708 00000 n +0000027829 00000 n +0000831014 00000 n +0002155850 00000 n +0000027888 00000 n +0000027999 00000 n +0000831140 00000 n +0002155757 00000 n +0000028058 00000 n +0000028214 00000 n +0000831265 00000 n +0002155664 00000 n +0000028273 00000 n +0000028419 00000 n +0000831390 00000 n +0002155571 00000 n +0000028478 00000 n +0000028634 00000 n +0000836441 00000 n +0002155478 00000 n +0000028694 00000 n +0000028900 00000 n +0000836567 00000 n +0002155385 00000 n +0000028960 00000 n +0000029061 00000 n +0000836692 00000 n +0002155292 00000 n +0000029121 00000 n +0000029282 00000 n +0000836817 00000 n +0002155199 00000 n +0000029342 00000 n +0000029563 00000 n +0000836943 00000 n +0002155120 00000 n +0000029623 00000 n +0000029729 00000 n +0000837068 00000 n +0002154988 00000 n +0000029778 00000 n +0000030125 00000 n +0000842323 00000 n +0002154909 00000 n +0000030179 00000 n +0000030343 00000 n +0000842385 00000 n +0002154791 00000 n +0000030397 00000 n +0000030589 00000 n +0000842510 00000 n +0002154712 00000 n +0000030648 00000 n +0000030779 00000 n +0000842635 00000 n +0002154619 00000 n +0000030838 00000 n +0000030964 00000 n +0000842760 00000 n +0002154526 00000 n +0000031023 00000 n +0000031164 00000 n +0000842885 00000 n +0002154433 00000 n +0000031223 00000 n +0000031354 00000 n +0000843010 00000 n +0002154340 00000 n +0000031413 00000 n +0000031529 00000 n +0000843135 00000 n +0002154247 00000 n +0000031588 00000 n +0000031714 00000 n +0000843260 00000 n +0002154168 00000 n +0000031773 00000 n +0000031869 00000 n +0000843385 00000 n +0002154036 00000 n +0000031918 00000 n +0000032285 00000 n +0000843510 00000 n +0002153957 00000 n +0000032339 00000 n +0000032503 00000 n +0000846055 00000 n +0002153839 00000 n +0000032557 00000 n +0000032749 00000 n +0000846180 00000 n +0002153760 00000 n +0000032808 00000 n +0000032929 00000 n +0000846305 00000 n +0002153667 00000 n +0000032988 00000 n +0000033119 00000 n +0000846430 00000 n +0002153574 00000 n +0000033178 00000 n +0000033319 00000 n +0000846555 00000 n +0002153481 00000 n +0000033378 00000 n +0000033484 00000 n +0000846680 00000 n +0002153388 00000 n +0000033543 00000 n +0000033679 00000 n +0000846805 00000 n +0002153295 00000 n +0000033738 00000 n +0000033864 00000 n +0000846930 00000 n +0002153202 00000 n +0000033923 00000 n +0000034039 00000 n +0000847053 00000 n +0002153109 00000 n +0000034098 00000 n +0000034224 00000 n +0000847178 00000 n +0002153030 00000 n +0000034283 00000 n +0000034414 00000 n +0000847303 00000 n +0002152898 00000 n +0000034463 00000 n +0000034830 00000 n +0000853506 00000 n +0002152819 00000 n +0000034884 00000 n +0000035048 00000 n +0000853568 00000 n +0002152700 00000 n +0000035102 00000 n +0000035294 00000 n +0000853693 00000 n +0002152621 00000 n +0000035353 00000 n +0000035459 00000 n +0000853818 00000 n +0002152528 00000 n +0000035518 00000 n +0000035629 00000 n +0000853943 00000 n +0002152435 00000 n +0000035688 00000 n +0000035839 00000 n +0000855473 00000 n +0002152342 00000 n +0000035898 00000 n +0000036004 00000 n +0000855598 00000 n +0002152249 00000 n +0000036063 00000 n +0000036199 00000 n +0000855723 00000 n +0002152156 00000 n +0000036258 00000 n +0000036364 00000 n +0000855848 00000 n +0002152063 00000 n +0000036423 00000 n +0000036534 00000 n +0000855973 00000 n +0002151970 00000 n +0000036593 00000 n +0000036689 00000 n +0000856098 00000 n +0002151877 00000 n +0000036748 00000 n +0000036849 00000 n +0000856223 00000 n +0002151784 00000 n +0000036909 00000 n +0000037015 00000 n +0000856349 00000 n +0002151691 00000 n +0000037075 00000 n +0000037181 00000 n +0000856474 00000 n +0002151598 00000 n +0000037241 00000 n +0000037352 00000 n +0000856599 00000 n +0002151505 00000 n +0000037412 00000 n +0000037543 00000 n +0000856724 00000 n +0002151412 00000 n +0000037603 00000 n +0000037709 00000 n +0000856849 00000 n +0002151319 00000 n +0000037769 00000 n +0000037925 00000 n +0000862637 00000 n +0002151226 00000 n +0000037985 00000 n +0000038091 00000 n +0000862763 00000 n +0002151147 00000 n +0000038151 00000 n +0000038267 00000 n +0000862888 00000 n +0002151015 00000 n +0000038316 00000 n +0000038638 00000 n +0000863138 00000 n +0002150936 00000 n +0000038692 00000 n +0000038856 00000 n +0000863200 00000 n +0002150804 00000 n +0000038910 00000 n +0000039173 00000 n +0000863325 00000 n +0002150739 00000 n +0000039232 00000 n +0000039343 00000 n +0000863387 00000 n +0002150607 00000 n +0000039397 00000 n +0000039609 00000 n +0000863511 00000 n +0002150528 00000 n +0000039668 00000 n +0000039859 00000 n +0000863635 00000 n +0002150449 00000 n +0000039918 00000 n +0000040024 00000 n +0000863696 00000 n +0002150317 00000 n +0000040078 00000 n +0000040270 00000 n +0000868295 00000 n +0002150238 00000 n +0000040329 00000 n +0000040470 00000 n +0000868420 00000 n +0002150159 00000 n +0000040529 00000 n +0000040670 00000 n +0000868482 00000 n +0002150041 00000 n +0000040724 00000 n +0000040898 00000 n +0000868606 00000 n +0002149976 00000 n +0000040957 00000 n +0000041113 00000 n +0000868729 00000 n +0002149844 00000 n +0000041163 00000 n +0000041520 00000 n +0000868854 00000 n +0002149765 00000 n +0000041575 00000 n +0000041744 00000 n +0000871013 00000 n +0002149647 00000 n +0000041799 00000 n +0000041996 00000 n +0000871138 00000 n +0002149568 00000 n +0000042056 00000 n +0000042152 00000 n +0000871263 00000 n +0002149475 00000 n +0000042212 00000 n +0000042303 00000 n +0000871387 00000 n +0002149382 00000 n +0000042363 00000 n +0000042484 00000 n +0000871512 00000 n +0002149289 00000 n +0000042544 00000 n +0000042635 00000 n +0000871636 00000 n +0002149196 00000 n +0000042695 00000 n +0000042806 00000 n +0000871761 00000 n +0002149103 00000 n +0000042866 00000 n +0000042972 00000 n +0000871886 00000 n +0002149024 00000 n +0000043032 00000 n +0000043143 00000 n +0000872011 00000 n +0002148892 00000 n +0000043193 00000 n +0000043455 00000 n +0000872136 00000 n +0002148788 00000 n +0000043510 00000 n +0000043707 00000 n +0000872261 00000 n +0002148709 00000 n +0000043767 00000 n +0000043863 00000 n +0000872386 00000 n +0002148616 00000 n +0000043923 00000 n +0000044034 00000 n +0000880170 00000 n +0002148537 00000 n +0000044094 00000 n +0000044205 00000 n +0000880295 00000 n +0002148405 00000 n +0000044255 00000 n +0000044587 00000 n +0000880420 00000 n +0002148326 00000 n +0000044642 00000 n +0000044811 00000 n +0000884260 00000 n +0002148207 00000 n +0000044866 00000 n +0000045063 00000 n +0000884385 00000 n +0002148128 00000 n +0000045123 00000 n +0000045329 00000 n +0000884510 00000 n +0002148035 00000 n +0000045389 00000 n +0000045515 00000 n +0000884634 00000 n +0002147942 00000 n +0000045575 00000 n +0000045731 00000 n +0000884759 00000 n +0002147849 00000 n +0000045791 00000 n +0000045907 00000 n +0000884884 00000 n +0002147756 00000 n +0000045967 00000 n +0000046138 00000 n +0000885009 00000 n +0002147663 00000 n +0000046198 00000 n +0000046369 00000 n +0000885134 00000 n +0002147570 00000 n +0000046429 00000 n +0000046610 00000 n +0000885259 00000 n +0002147477 00000 n +0000046670 00000 n +0000046846 00000 n +0000885384 00000 n +0002147384 00000 n +0000046906 00000 n +0000047047 00000 n +0000889626 00000 n +0002147291 00000 n +0000047108 00000 n +0000047254 00000 n +0000889752 00000 n +0002147198 00000 n +0000047315 00000 n +0000047486 00000 n +0000889877 00000 n +0002147105 00000 n +0000047547 00000 n +0000047638 00000 n +0000890000 00000 n +0002147012 00000 n +0000047699 00000 n +0000047945 00000 n +0000890124 00000 n +0002146919 00000 n +0000048006 00000 n +0000048137 00000 n +0000890249 00000 n +0002146840 00000 n +0000048198 00000 n +0000048334 00000 n +0000890374 00000 n +0002146707 00000 n +0000048384 00000 n +0000048571 00000 n +0000901520 00000 n +0002146628 00000 n +0000048626 00000 n +0000048795 00000 n +0000901582 00000 n +0002146508 00000 n +0000048850 00000 n +0000049047 00000 n +0000901707 00000 n +0002146429 00000 n +0000049107 00000 n +0000049253 00000 n +0000901832 00000 n +0002146336 00000 n +0000049313 00000 n +0000049524 00000 n +0000901957 00000 n +0002146243 00000 n +0000049584 00000 n +0000049790 00000 n +0000902082 00000 n +0002146150 00000 n +0000049850 00000 n +0000050036 00000 n +0000902207 00000 n +0002146057 00000 n +0000050096 00000 n +0000050222 00000 n +0000902332 00000 n +0002145964 00000 n +0000050282 00000 n +0000050438 00000 n +0000902456 00000 n +0002145871 00000 n +0000050498 00000 n +0000050614 00000 n +0000902581 00000 n +0002145778 00000 n +0000050674 00000 n +0000050845 00000 n +0000906495 00000 n +0002145685 00000 n +0000050905 00000 n +0000051061 00000 n +0000906620 00000 n +0002145592 00000 n +0000051122 00000 n +0000051298 00000 n +0000906745 00000 n +0002145499 00000 n +0000051359 00000 n +0000051545 00000 n +0000906870 00000 n +0002145406 00000 n +0000051606 00000 n +0000051822 00000 n +0000906995 00000 n +0002145313 00000 n +0000051883 00000 n +0000052044 00000 n +0000907119 00000 n +0002145220 00000 n +0000052105 00000 n +0000052286 00000 n +0000907243 00000 n +0002145127 00000 n +0000052347 00000 n +0000052493 00000 n +0000907369 00000 n +0002145034 00000 n +0000052554 00000 n +0000052770 00000 n +0000907494 00000 n +0002144941 00000 n +0000052831 00000 n +0000053057 00000 n +0000910738 00000 n +0002144848 00000 n +0000053118 00000 n +0000053344 00000 n +0000910862 00000 n +0002144755 00000 n +0000053405 00000 n +0000053621 00000 n +0000910987 00000 n +0002144660 00000 n +0000053682 00000 n +0000053914 00000 n +0000911111 00000 n +0002144563 00000 n +0000053976 00000 n +0000054123 00000 n +0000911237 00000 n +0002144465 00000 n +0000054185 00000 n +0000054357 00000 n +0000911363 00000 n +0002144367 00000 n +0000054419 00000 n +0000054511 00000 n +0000911489 00000 n +0002144269 00000 n +0000054573 00000 n +0000054820 00000 n +0000911615 00000 n +0002144171 00000 n +0000054882 00000 n +0000055034 00000 n +0000911741 00000 n +0002144073 00000 n +0000055096 00000 n +0000055273 00000 n +0000917423 00000 n +0002143975 00000 n +0000055335 00000 n +0000055467 00000 n +0000917549 00000 n +0002143877 00000 n +0000055529 00000 n +0000055656 00000 n +0000917675 00000 n +0002143794 00000 n +0000055718 00000 n +0000055855 00000 n +0000917801 00000 n +0002143656 00000 n +0000055906 00000 n +0000056094 00000 n +0000920818 00000 n +0002143572 00000 n +0000056150 00000 n +0000056320 00000 n +0000920881 00000 n +0002143446 00000 n +0000056376 00000 n +0000056574 00000 n +0000921007 00000 n +0002143362 00000 n +0000056635 00000 n +0000056752 00000 n +0000921133 00000 n +0002143263 00000 n +0000056813 00000 n +0000056935 00000 n +0000921258 00000 n +0002143164 00000 n +0000056996 00000 n +0000057138 00000 n +0000921384 00000 n +0002143065 00000 n +0000057199 00000 n +0000057361 00000 n +0000921510 00000 n +0002142966 00000 n +0000057422 00000 n +0000057544 00000 n +0000921636 00000 n +0002142867 00000 n +0000057605 00000 n +0000057722 00000 n +0000921762 00000 n +0002142768 00000 n +0000057783 00000 n +0000057930 00000 n +0000921888 00000 n +0002142669 00000 n +0000057991 00000 n +0000058088 00000 n +0000926462 00000 n +0002142570 00000 n +0000058149 00000 n +0000058251 00000 n +0000926588 00000 n +0002142471 00000 n +0000058313 00000 n +0000058445 00000 n +0000926714 00000 n +0002142372 00000 n +0000058507 00000 n +0000058614 00000 n +0000926840 00000 n +0002142273 00000 n +0000058676 00000 n +0000058843 00000 n +0000926966 00000 n +0002142174 00000 n +0000058905 00000 n +0000059037 00000 n +0000927091 00000 n +0002142090 00000 n +0000059099 00000 n +0000059246 00000 n +0000927217 00000 n +0002141951 00000 n +0000059297 00000 n +0000059490 00000 n +0000931091 00000 n +0002141867 00000 n +0000059546 00000 n +0000059716 00000 n +0000931154 00000 n +0002141726 00000 n +0000059772 00000 n +0000059990 00000 n +0000931280 00000 n +0002141642 00000 n +0000060051 00000 n +0000060188 00000 n +0000931406 00000 n +0002141543 00000 n +0000060249 00000 n +0000060386 00000 n +0000931532 00000 n +0002141444 00000 n +0000060447 00000 n +0000060584 00000 n +0000931658 00000 n +0002141345 00000 n +0000060645 00000 n +0000060782 00000 n +0000931784 00000 n +0002141246 00000 n +0000060843 00000 n +0000060960 00000 n +0000934449 00000 n +0002141147 00000 n +0000061021 00000 n +0000061193 00000 n +0000934575 00000 n +0002141048 00000 n +0000061254 00000 n +0000061396 00000 n +0000934701 00000 n +0002140949 00000 n +0000061457 00000 n +0000061654 00000 n +0000934827 00000 n +0002140850 00000 n +0000061715 00000 n +0000061817 00000 n +0000934953 00000 n +0002140751 00000 n +0000061879 00000 n +0000062036 00000 n +0000935079 00000 n +0002140652 00000 n +0000062098 00000 n +0000062295 00000 n +0000935205 00000 n +0002140553 00000 n +0000062357 00000 n +0000062524 00000 n +0000938239 00000 n +0002140454 00000 n +0000062586 00000 n +0000062728 00000 n +0000938365 00000 n +0002140370 00000 n +0000062790 00000 n +0000062932 00000 n +0000938428 00000 n +0002140245 00000 n +0000062988 00000 n +0000063186 00000 n +0000938554 00000 n +0002140176 00000 n +0000063247 00000 n +0000063419 00000 n +0000938680 00000 n +0002140037 00000 n +0000063470 00000 n +0000063663 00000 n +0000938869 00000 n +0002139953 00000 n +0000063719 00000 n +0000063889 00000 n +0000942054 00000 n +0002139813 00000 n +0000063945 00000 n +0000064163 00000 n +0000942180 00000 n +0002139744 00000 n +0000064224 00000 n +0000064341 00000 n +0000942243 00000 n +0002139619 00000 n +0000064397 00000 n +0000064577 00000 n +0000942368 00000 n +0002139535 00000 n +0000064638 00000 n +0000064755 00000 n +0000942493 00000 n +0002139436 00000 n +0000064816 00000 n +0000064933 00000 n +0000942619 00000 n +0002139337 00000 n +0000064994 00000 n +0000065091 00000 n +0000942745 00000 n +0002139253 00000 n +0000065152 00000 n +0000065249 00000 n +0000942871 00000 n +0002139114 00000 n +0000065300 00000 n +0000065543 00000 n +0000942997 00000 n +0002139030 00000 n +0000065599 00000 n +0000065769 00000 n +0000943060 00000 n +0002138905 00000 n +0000065825 00000 n +0000066043 00000 n +0000943186 00000 n +0002138836 00000 n +0000066104 00000 n +0000066226 00000 n +0000943312 00000 n +0002138697 00000 n +0000066277 00000 n +0000066495 00000 n +0000947148 00000 n +0002138613 00000 n +0000066551 00000 n +0000066721 00000 n +0000947211 00000 n +0002138488 00000 n +0000066777 00000 n +0000066975 00000 n +0000947337 00000 n +0002138404 00000 n +0000067036 00000 n +0000067208 00000 n +0000947463 00000 n +0002138305 00000 n +0000067269 00000 n +0000067411 00000 n +0000947589 00000 n +0002138206 00000 n +0000067472 00000 n +0000067579 00000 n +0000947714 00000 n +0002138107 00000 n +0000067640 00000 n +0000067762 00000 n +0000947840 00000 n +0002138008 00000 n +0000067823 00000 n +0000067970 00000 n +0000947967 00000 n +0002137909 00000 n +0000068031 00000 n +0000068158 00000 n +0000948093 00000 n +0002137810 00000 n +0000068219 00000 n +0000068351 00000 n +0000952761 00000 n +0002137711 00000 n +0000068412 00000 n +0000068579 00000 n +0000952887 00000 n +0002137627 00000 n +0000068640 00000 n +0000068752 00000 n +0000953013 00000 n +0002137488 00000 n +0000068803 00000 n +0000069126 00000 n +0000953139 00000 n +0002137378 00000 n +0000069182 00000 n +0000069400 00000 n +0000953265 00000 n +0002137309 00000 n +0000069461 00000 n +0000069558 00000 n +0000953391 00000 n +0002137170 00000 n +0000069609 00000 n +0000069787 00000 n +0000953517 00000 n +0002137086 00000 n +0000069843 00000 n +0000070013 00000 n +0000953580 00000 n +0002136961 00000 n +0000070069 00000 n +0000070338 00000 n +0000953706 00000 n +0002136892 00000 n +0000070399 00000 n +0000070511 00000 n +0000953831 00000 n +0002136753 00000 n +0000070562 00000 n +0000070965 00000 n +0000959696 00000 n +0002136669 00000 n +0000071021 00000 n +0000071191 00000 n +0000959759 00000 n +0002136544 00000 n +0000071247 00000 n +0000071465 00000 n +0000959885 00000 n +0002136460 00000 n +0000071526 00000 n +0000071658 00000 n +0000960011 00000 n +0002136361 00000 n +0000071719 00000 n +0000071881 00000 n +0000960136 00000 n +0002136262 00000 n +0000071942 00000 n +0000072074 00000 n +0000960263 00000 n +0002136163 00000 n +0000072135 00000 n +0000072282 00000 n +0000963309 00000 n +0002136064 00000 n +0000072343 00000 n +0000072485 00000 n +0000963435 00000 n +0002135965 00000 n +0000072546 00000 n +0000072703 00000 n +0000963561 00000 n +0002135866 00000 n +0000072764 00000 n +0000072911 00000 n +0000963685 00000 n +0002135767 00000 n +0000072972 00000 n +0000073109 00000 n +0000963811 00000 n +0002135683 00000 n +0000073170 00000 n +0000073317 00000 n +0000976285 00000 n +0002135544 00000 n +0000073368 00000 n +0000073596 00000 n +0000985665 00000 n +0002135460 00000 n +0000073652 00000 n +0000073822 00000 n +0000985728 00000 n +0002135334 00000 n +0000073878 00000 n +0000074096 00000 n +0000985854 00000 n +0002135250 00000 n +0000074157 00000 n +0000074329 00000 n +0000992982 00000 n +0002135151 00000 n +0000074390 00000 n +0000074562 00000 n +0000993108 00000 n +0002135052 00000 n +0000074623 00000 n +0000074780 00000 n +0000993234 00000 n +0002134953 00000 n +0000074841 00000 n +0000074983 00000 n +0000993360 00000 n +0002134854 00000 n +0000075044 00000 n +0000075261 00000 n +0000993486 00000 n +0002134755 00000 n +0000075322 00000 n +0000075549 00000 n +0001001201 00000 n +0002134656 00000 n +0000075610 00000 n +0000075807 00000 n +0001001327 00000 n +0002134557 00000 n +0000075868 00000 n +0000076070 00000 n +0001001453 00000 n +0002134458 00000 n +0000076131 00000 n +0000076273 00000 n +0001001579 00000 n +0002134359 00000 n +0000076335 00000 n +0000076477 00000 n +0001001705 00000 n +0002134260 00000 n +0000076539 00000 n +0000076676 00000 n +0001008530 00000 n +0002134161 00000 n +0000076738 00000 n +0000076870 00000 n +0001008655 00000 n +0002134062 00000 n +0000076932 00000 n +0000077129 00000 n +0001008781 00000 n +0002133963 00000 n +0000077191 00000 n +0000077383 00000 n +0001008907 00000 n +0002133864 00000 n +0000077445 00000 n +0000077617 00000 n +0001009033 00000 n +0002133765 00000 n +0000077679 00000 n +0000077866 00000 n +0001009159 00000 n +0002133666 00000 n +0000077928 00000 n +0000078130 00000 n +0001016866 00000 n +0002133567 00000 n +0000078192 00000 n +0000078449 00000 n +0001016992 00000 n +0002133468 00000 n +0000078511 00000 n +0000078688 00000 n +0001017118 00000 n +0002133369 00000 n +0000078750 00000 n +0000078942 00000 n +0001017243 00000 n +0002133270 00000 n +0000079004 00000 n +0000079196 00000 n +0001017369 00000 n +0002133171 00000 n +0000079258 00000 n +0000079485 00000 n +0001023039 00000 n +0002133072 00000 n +0000079547 00000 n +0000079744 00000 n +0001023165 00000 n +0002132973 00000 n +0000079806 00000 n +0000080018 00000 n +0001023291 00000 n +0002132874 00000 n +0000080080 00000 n +0000080317 00000 n +0001023417 00000 n +0002132775 00000 n +0000080379 00000 n +0000080581 00000 n +0001030848 00000 n +0002132676 00000 n +0000080643 00000 n +0000080845 00000 n +0001030974 00000 n +0002132577 00000 n +0000080907 00000 n +0000081084 00000 n +0001031100 00000 n +0002132493 00000 n +0000081146 00000 n +0000081308 00000 n +0001031226 00000 n +0002132354 00000 n +0000081359 00000 n +0000081592 00000 n +0001035266 00000 n +0002132285 00000 n +0000081648 00000 n +0000081818 00000 n +0001035393 00000 n +0002132146 00000 n +0000081869 00000 n +0000082102 00000 n +0001035519 00000 n +0002132062 00000 n +0000082158 00000 n +0000082328 00000 n +0001035582 00000 n +0002131937 00000 n +0000082384 00000 n +0000082602 00000 n +0001035708 00000 n +0002131853 00000 n +0000082663 00000 n +0000082775 00000 n +0001035830 00000 n +0002131769 00000 n +0000082836 00000 n +0000082968 00000 n +0001040246 00000 n +0002131630 00000 n +0000083019 00000 n +0000083262 00000 n +0001040372 00000 n +0002131546 00000 n +0000083318 00000 n +0000083488 00000 n +0001040435 00000 n +0002131421 00000 n +0000083544 00000 n +0000083724 00000 n +0001040561 00000 n +0002131337 00000 n +0000083785 00000 n +0000083917 00000 n +0001040687 00000 n +0002131253 00000 n +0000083978 00000 n +0000084105 00000 n +0001040814 00000 n +0002131114 00000 n +0000084156 00000 n +0000084364 00000 n +0001047041 00000 n +0002131030 00000 n +0000084420 00000 n +0000084590 00000 n +0001047104 00000 n +0002130904 00000 n +0000084646 00000 n +0000084844 00000 n +0001047230 00000 n +0002130820 00000 n +0000084905 00000 n +0000085042 00000 n +0001048809 00000 n +0002130721 00000 n +0000085103 00000 n +0000085260 00000 n +0001048935 00000 n +0002130622 00000 n +0000085321 00000 n +0000085458 00000 n +0001049061 00000 n +0002130523 00000 n +0000085519 00000 n +0000085646 00000 n +0001049187 00000 n +0002130424 00000 n +0000085707 00000 n +0000085909 00000 n +0001049313 00000 n +0002130325 00000 n +0000085970 00000 n +0000086102 00000 n +0001049439 00000 n +0002130226 00000 n +0000086163 00000 n +0000086295 00000 n +0001049564 00000 n +0002130127 00000 n +0000086356 00000 n +0000086498 00000 n +0001049690 00000 n +0002130028 00000 n +0000086559 00000 n +0000086701 00000 n +0001049816 00000 n +0002129929 00000 n +0000086763 00000 n +0000086895 00000 n +0001049942 00000 n +0002129830 00000 n +0000086957 00000 n +0000087059 00000 n +0001050068 00000 n +0002129731 00000 n +0000087121 00000 n +0000087243 00000 n +0001050194 00000 n +0002129632 00000 n +0000087305 00000 n +0000087432 00000 n +0001050320 00000 n +0002129533 00000 n +0000087494 00000 n +0000087646 00000 n +0001054727 00000 n +0002129434 00000 n +0000087708 00000 n +0000087815 00000 n +0001054853 00000 n +0002129335 00000 n +0000087877 00000 n +0000088009 00000 n +0001054979 00000 n +0002129236 00000 n +0000088071 00000 n +0000088203 00000 n +0001055105 00000 n +0002129137 00000 n +0000088265 00000 n +0000088417 00000 n +0001055231 00000 n +0002129038 00000 n +0000088479 00000 n +0000088626 00000 n +0001055356 00000 n +0002128954 00000 n +0000088688 00000 n +0000088800 00000 n +0001055482 00000 n +0002128815 00000 n +0000088851 00000 n +0000089204 00000 n +0001058337 00000 n +0002128705 00000 n +0000089260 00000 n +0000089458 00000 n +0001058463 00000 n +0002128621 00000 n +0000089519 00000 n +0000089631 00000 n +0001058589 00000 n +0002128522 00000 n +0000089692 00000 n +0000089834 00000 n +0001058715 00000 n +0002128423 00000 n +0000089895 00000 n +0000090022 00000 n +0001058841 00000 n +0002128324 00000 n +0000090083 00000 n +0000090280 00000 n +0001058967 00000 n +0002128225 00000 n +0000090341 00000 n +0000090548 00000 n +0001059093 00000 n +0002128126 00000 n +0000090609 00000 n +0000090806 00000 n +0001059219 00000 n +0002128027 00000 n +0000090867 00000 n +0000090974 00000 n +0001059345 00000 n +0002127928 00000 n +0000091035 00000 n +0000091142 00000 n +0001059469 00000 n +0002127844 00000 n +0000091203 00000 n +0000091310 00000 n +0001059595 00000 n +0002127705 00000 n +0000091361 00000 n +0000091569 00000 n +0001082011 00000 n +0002127621 00000 n +0000091625 00000 n +0000091795 00000 n +0001083965 00000 n +0002127495 00000 n +0000091851 00000 n +0000092049 00000 n +0001084091 00000 n +0002127411 00000 n +0000092110 00000 n +0000092232 00000 n +0001084217 00000 n +0002127312 00000 n +0000092293 00000 n +0000092405 00000 n +0001084343 00000 n +0002127213 00000 n +0000092466 00000 n +0000092558 00000 n +0001084469 00000 n +0002127114 00000 n +0000092619 00000 n +0000092731 00000 n +0001084594 00000 n +0002127015 00000 n +0000092792 00000 n +0000092934 00000 n +0001084720 00000 n +0002126916 00000 n +0000092995 00000 n +0000093122 00000 n +0001084845 00000 n +0002126817 00000 n +0000093183 00000 n +0000093340 00000 n +0001084971 00000 n +0002126718 00000 n +0000093401 00000 n +0000093563 00000 n +0001085096 00000 n +0002126619 00000 n +0000093624 00000 n +0000093766 00000 n +0001085222 00000 n +0002126520 00000 n +0000093828 00000 n +0000093955 00000 n +0001085348 00000 n +0002126421 00000 n +0000094017 00000 n +0000094124 00000 n +0001085474 00000 n +0002126322 00000 n +0000094186 00000 n +0000094343 00000 n +0001087842 00000 n +0002126223 00000 n +0000094405 00000 n +0000094562 00000 n +0001087968 00000 n +0002126124 00000 n +0000094624 00000 n +0000094801 00000 n +0001088093 00000 n +0002126025 00000 n +0000094863 00000 n +0000095065 00000 n +0001088219 00000 n +0002125926 00000 n +0000095127 00000 n +0000095339 00000 n +0001088345 00000 n +0002125827 00000 n +0000095401 00000 n +0000095603 00000 n +0001088471 00000 n +0002125728 00000 n +0000095665 00000 n +0000095767 00000 n +0001088597 00000 n +0002125629 00000 n +0000095829 00000 n +0000096001 00000 n +0001088721 00000 n +0002125530 00000 n +0000096063 00000 n +0000096215 00000 n +0001088847 00000 n +0002125431 00000 n +0000096277 00000 n +0000096379 00000 n +0001088973 00000 n +0002125332 00000 n +0000096441 00000 n +0000096583 00000 n +0001089098 00000 n +0002125233 00000 n +0000096645 00000 n +0000096797 00000 n +0001091036 00000 n +0002125134 00000 n +0000096859 00000 n +0000097011 00000 n +0001091162 00000 n +0002125035 00000 n +0000097073 00000 n +0000097215 00000 n +0001091288 00000 n +0002124936 00000 n +0000097277 00000 n +0000097439 00000 n +0001091414 00000 n +0002124837 00000 n +0000097501 00000 n +0000097653 00000 n +0001091540 00000 n +0002124738 00000 n +0000097715 00000 n +0000097907 00000 n +0001091666 00000 n +0002124639 00000 n +0000097969 00000 n +0000098196 00000 n +0001091792 00000 n +0002124540 00000 n +0000098258 00000 n +0000098485 00000 n +0001091918 00000 n +0002124441 00000 n +0000098547 00000 n +0000098674 00000 n +0001092044 00000 n +0002124342 00000 n +0000098736 00000 n +0000098858 00000 n +0001092170 00000 n +0002124243 00000 n +0000098920 00000 n +0000099072 00000 n +0001092296 00000 n +0002124144 00000 n +0000099134 00000 n +0000099241 00000 n +0001092422 00000 n +0002124045 00000 n +0000099303 00000 n +0000099405 00000 n +0001094927 00000 n +0002123946 00000 n +0000099467 00000 n +0000099609 00000 n +0001095052 00000 n +0002123847 00000 n +0000099671 00000 n +0000099803 00000 n +0001095177 00000 n +0002123748 00000 n +0000099865 00000 n +0000099987 00000 n +0001095304 00000 n +0002123649 00000 n +0000100049 00000 n +0000100176 00000 n +0001095429 00000 n +0002123550 00000 n +0000100238 00000 n +0000100370 00000 n +0001095554 00000 n +0002123451 00000 n +0000100432 00000 n +0000100559 00000 n +0001095680 00000 n +0002123352 00000 n +0000100621 00000 n +0000100773 00000 n +0001095807 00000 n +0002123253 00000 n +0000100835 00000 n +0000100992 00000 n +0001095932 00000 n +0002123154 00000 n +0000101054 00000 n +0000101211 00000 n +0001096058 00000 n +0002123055 00000 n +0000101273 00000 n +0000101395 00000 n +0001098505 00000 n +0002122956 00000 n +0000101457 00000 n +0000101584 00000 n +0001098631 00000 n +0002122857 00000 n +0000101646 00000 n +0000101808 00000 n +0001098756 00000 n +0002122758 00000 n +0000101870 00000 n +0000101997 00000 n +0001098878 00000 n +0002122659 00000 n +0000102059 00000 n +0000102191 00000 n +0001099003 00000 n +0002122560 00000 n +0000102253 00000 n +0000102370 00000 n +0001099130 00000 n +0002122461 00000 n +0000102432 00000 n +0000102579 00000 n +0001099256 00000 n +0002122362 00000 n +0000102641 00000 n +0000102763 00000 n +0001099382 00000 n +0002122263 00000 n +0000102825 00000 n +0000102957 00000 n +0001099508 00000 n +0002122164 00000 n +0000103019 00000 n +0000103166 00000 n +0001099634 00000 n +0002122065 00000 n +0000103228 00000 n +0000103375 00000 n +0001099759 00000 n +0002121966 00000 n +0000103437 00000 n +0000103549 00000 n +0001102261 00000 n +0002121867 00000 n +0000103611 00000 n +0000103723 00000 n +0001102387 00000 n +0002121768 00000 n +0000103785 00000 n +0000103907 00000 n +0001102512 00000 n +0002121669 00000 n +0000103969 00000 n +0000104126 00000 n +0001102638 00000 n +0002121570 00000 n +0000104188 00000 n +0000104300 00000 n +0001102763 00000 n +0002121471 00000 n +0000104362 00000 n +0000104534 00000 n +0001102889 00000 n +0002121372 00000 n +0000104596 00000 n +0000104743 00000 n +0001103014 00000 n +0002121273 00000 n +0000104805 00000 n +0000104922 00000 n +0001103140 00000 n +0002121174 00000 n +0000104984 00000 n +0000105096 00000 n +0001103265 00000 n +0002121075 00000 n +0000105158 00000 n +0000105320 00000 n +0001103391 00000 n +0002120976 00000 n +0000105382 00000 n +0000105544 00000 n +0001103517 00000 n +0002120892 00000 n +0000105606 00000 n +0000105783 00000 n +0001113693 00000 n +0002120753 00000 n +0000105834 00000 n +0000106067 00000 n +0001113945 00000 n +0002120669 00000 n +0000106123 00000 n +0000106293 00000 n +0001115727 00000 n +0002120529 00000 n +0000106349 00000 n +0000106582 00000 n +0001115853 00000 n +0002120445 00000 n +0000106643 00000 n +0000106785 00000 n +0001116231 00000 n +0002120361 00000 n +0000106846 00000 n +0000106998 00000 n +0001116483 00000 n +0002120235 00000 n +0000107054 00000 n +0000107272 00000 n +0001116609 00000 n +0002120151 00000 n +0000107333 00000 n +0000107515 00000 n +0001116735 00000 n +0002120052 00000 n +0000107576 00000 n +0000107798 00000 n +0001116861 00000 n +0002119953 00000 n +0000107859 00000 n +0000108101 00000 n +0001116986 00000 n +0002119854 00000 n +0000108162 00000 n +0000108354 00000 n +0001121358 00000 n +0002119755 00000 n +0000108415 00000 n +0000108627 00000 n +0001121484 00000 n +0002119656 00000 n +0000108688 00000 n +0000108870 00000 n +0001121609 00000 n +0002119557 00000 n +0000108931 00000 n +0000109133 00000 n +0001121735 00000 n +0002119458 00000 n +0000109194 00000 n +0000109376 00000 n +0001125871 00000 n +0002119359 00000 n +0000109437 00000 n +0000109614 00000 n +0001125997 00000 n +0002119275 00000 n +0000109676 00000 n +0000109878 00000 n +0001126123 00000 n +0002119136 00000 n +0000109929 00000 n +0000110182 00000 n +0001130292 00000 n +0002119052 00000 n +0000110238 00000 n +0000110408 00000 n +0001130355 00000 n +0002118912 00000 n +0000110464 00000 n +0000110682 00000 n +0001130481 00000 n +0002118828 00000 n +0000110743 00000 n +0000110845 00000 n +0001130607 00000 n +0002118744 00000 n +0000110906 00000 n +0000111008 00000 n +0001130670 00000 n +0002118604 00000 n +0000111064 00000 n +0000111262 00000 n +0001130796 00000 n +0002118520 00000 n +0000111323 00000 n +0000111435 00000 n +0001130922 00000 n +0002118421 00000 n +0000111496 00000 n +0000111613 00000 n +0001131048 00000 n +0002118337 00000 n +0000111674 00000 n +0000111801 00000 n +0001131111 00000 n +0002118212 00000 n +0000111857 00000 n +0000112037 00000 n +0001131237 00000 n +0002118143 00000 n +0000112098 00000 n +0000112195 00000 n +0001131363 00000 n +0002118004 00000 n +0000112246 00000 n +0000112479 00000 n +0001138134 00000 n +0002117920 00000 n +0000112535 00000 n +0000112705 00000 n +0001138197 00000 n +0002117780 00000 n +0000112761 00000 n +0000113030 00000 n +0001138323 00000 n +0002117711 00000 n +0000113091 00000 n +0000113253 00000 n +0001138386 00000 n +0002117571 00000 n +0000113309 00000 n +0000113527 00000 n +0001138512 00000 n +0002117502 00000 n +0000113588 00000 n +0000113705 00000 n +0001138575 00000 n +0002117362 00000 n +0000113761 00000 n +0000113959 00000 n +0001138701 00000 n +0002117278 00000 n +0000114020 00000 n +0000114147 00000 n +0001138827 00000 n +0002117194 00000 n +0000114208 00000 n +0000114315 00000 n +0001138890 00000 n +0002117069 00000 n +0000114371 00000 n +0000114551 00000 n +0001139016 00000 n +0002117000 00000 n +0000114612 00000 n +0000114734 00000 n +0001139142 00000 n +0002116861 00000 n +0000114785 00000 n +0000114993 00000 n +0001194875 00000 n +0002116777 00000 n +0000115049 00000 n +0000115219 00000 n +0001194938 00000 n +0002116636 00000 n +0000115275 00000 n +0000115493 00000 n +0001195064 00000 n +0002116552 00000 n +0000115554 00000 n +0000115726 00000 n +0001195190 00000 n +0002116453 00000 n +0000115787 00000 n +0000115934 00000 n +0001195316 00000 n +0002116354 00000 n +0000115995 00000 n +0000116207 00000 n +0001202085 00000 n +0002116255 00000 n +0000116268 00000 n +0000116420 00000 n +0001202211 00000 n +0002116156 00000 n +0000116481 00000 n +0000116678 00000 n +0001202337 00000 n +0002116057 00000 n +0000116739 00000 n +0000116891 00000 n +0001209896 00000 n +0002115958 00000 n +0000116952 00000 n +0000117104 00000 n +0001210022 00000 n +0002115859 00000 n +0000117165 00000 n +0000117342 00000 n +0001210148 00000 n +0002115760 00000 n +0000117403 00000 n +0000117530 00000 n +0001213694 00000 n +0002115661 00000 n +0000117592 00000 n +0000117724 00000 n +0001213819 00000 n +0002115562 00000 n +0000117786 00000 n +0000117918 00000 n +0001218880 00000 n +0002115463 00000 n +0000117980 00000 n +0000118097 00000 n +0001222190 00000 n +0002115364 00000 n +0000118159 00000 n +0000118276 00000 n +0001222316 00000 n +0002115265 00000 n +0000118338 00000 n +0000118470 00000 n +0001222442 00000 n +0002115166 00000 n +0000118532 00000 n +0000118714 00000 n +0001226420 00000 n +0002115067 00000 n +0000118776 00000 n +0000118958 00000 n +0001226546 00000 n +0002114968 00000 n +0000119020 00000 n +0000119152 00000 n +0001226673 00000 n +0002114869 00000 n +0000119214 00000 n +0000119361 00000 n +0001226798 00000 n +0002114770 00000 n +0000119423 00000 n +0000119605 00000 n +0001231688 00000 n +0002114671 00000 n +0000119667 00000 n +0000119804 00000 n +0001231814 00000 n +0002114572 00000 n +0000119866 00000 n +0000120088 00000 n +0001231940 00000 n +0002114473 00000 n +0000120150 00000 n +0000120317 00000 n +0001235798 00000 n +0002114374 00000 n +0000120379 00000 n +0000120496 00000 n +0001235924 00000 n +0002114275 00000 n +0000120558 00000 n +0000120695 00000 n +0001236050 00000 n +0002114176 00000 n +0000120757 00000 n +0000120929 00000 n +0001236176 00000 n +0002114077 00000 n +0000120991 00000 n +0000121128 00000 n +0001236302 00000 n +0002113978 00000 n +0000121190 00000 n +0000121327 00000 n +0001241886 00000 n +0002113879 00000 n +0000121389 00000 n +0000121581 00000 n +0001242012 00000 n +0002113780 00000 n +0000121643 00000 n +0000121770 00000 n +0001242139 00000 n +0002113681 00000 n +0000121832 00000 n +0000121959 00000 n +0001246155 00000 n +0002113582 00000 n +0000122021 00000 n +0000122183 00000 n +0001246281 00000 n +0002113483 00000 n +0000122245 00000 n +0000122407 00000 n +0001249710 00000 n +0002113384 00000 n +0000122469 00000 n +0000122621 00000 n +0001249836 00000 n +0002113285 00000 n +0000122683 00000 n +0000122835 00000 n +0001249961 00000 n +0002113186 00000 n +0000122897 00000 n +0000123049 00000 n +0001255005 00000 n +0002113087 00000 n +0000123111 00000 n +0000123233 00000 n +0001260454 00000 n +0002112988 00000 n +0000123295 00000 n +0000123417 00000 n +0001260580 00000 n +0002112889 00000 n +0000123479 00000 n +0000123611 00000 n +0001260707 00000 n +0002112790 00000 n +0000123673 00000 n +0000123800 00000 n +0001260834 00000 n +0002112691 00000 n +0000123862 00000 n +0000123989 00000 n +0001265487 00000 n +0002112592 00000 n +0000124051 00000 n +0000124178 00000 n +0001265613 00000 n +0002112493 00000 n +0000124240 00000 n +0000124432 00000 n +0001265739 00000 n +0002112394 00000 n +0000124494 00000 n +0000124701 00000 n +0001265865 00000 n +0002112295 00000 n +0000124763 00000 n +0000124960 00000 n +0001265991 00000 n +0002112196 00000 n +0000125022 00000 n +0000125154 00000 n +0001270514 00000 n +0002112097 00000 n +0000125216 00000 n +0000125343 00000 n +0001270641 00000 n +0002111998 00000 n +0000125405 00000 n +0000125577 00000 n +0001270767 00000 n +0002111899 00000 n +0000125639 00000 n +0000125841 00000 n +0001270893 00000 n +0002111800 00000 n +0000125903 00000 n +0000126035 00000 n +0001275255 00000 n +0002111701 00000 n +0000126097 00000 n +0000126319 00000 n +0001275381 00000 n +0002111602 00000 n +0000126381 00000 n +0000126513 00000 n +0001275507 00000 n +0002111503 00000 n +0000126575 00000 n +0000126707 00000 n +0001279684 00000 n +0002111404 00000 n +0000126769 00000 n +0000126936 00000 n +0001279810 00000 n +0002111305 00000 n +0000126998 00000 n +0000127180 00000 n +0001279937 00000 n +0002111206 00000 n +0000127242 00000 n +0000127409 00000 n +0001280063 00000 n +0002111107 00000 n +0000127471 00000 n +0000127638 00000 n +0001283570 00000 n +0002111008 00000 n +0000127700 00000 n +0000127852 00000 n +0001283695 00000 n +0002110909 00000 n +0000127914 00000 n +0000128071 00000 n +0001286889 00000 n +0002110810 00000 n +0000128133 00000 n +0000128340 00000 n +0001287015 00000 n +0002110711 00000 n +0000128402 00000 n +0000128579 00000 n +0001287141 00000 n +0002110612 00000 n +0000128641 00000 n +0000128818 00000 n +0001287267 00000 n +0002110513 00000 n +0000128880 00000 n +0000129047 00000 n +0001287393 00000 n +0002110414 00000 n +0000129109 00000 n +0000129276 00000 n +0001287519 00000 n +0002110315 00000 n +0000129338 00000 n +0000129505 00000 n +0001287644 00000 n +0002110216 00000 n +0000129567 00000 n +0000129734 00000 n +0001287770 00000 n +0002110117 00000 n +0000129796 00000 n +0000129958 00000 n +0001292004 00000 n +0002110018 00000 n +0000130020 00000 n +0000130182 00000 n +0001292130 00000 n +0002109934 00000 n +0000130244 00000 n +0000130356 00000 n +0001292193 00000 n +0002109793 00000 n +0000130412 00000 n +0000130610 00000 n +0001292317 00000 n +0002109709 00000 n +0000130671 00000 n +0000130833 00000 n +0001296261 00000 n +0002109610 00000 n +0000130894 00000 n +0000131076 00000 n +0001296387 00000 n +0002109511 00000 n +0000131137 00000 n +0000131254 00000 n +0001296513 00000 n +0002109412 00000 n +0000131315 00000 n +0000131458 00000 n +0001296639 00000 n +0002109313 00000 n +0000131519 00000 n +0000131666 00000 n +0001296764 00000 n +0002109214 00000 n +0000131727 00000 n +0000131859 00000 n +0001296891 00000 n +0002109115 00000 n +0000131920 00000 n +0000132097 00000 n +0001300541 00000 n +0002109016 00000 n +0000132158 00000 n +0000132395 00000 n +0001300667 00000 n +0002108917 00000 n +0000132456 00000 n +0000132718 00000 n +0001300793 00000 n +0002108818 00000 n +0000132780 00000 n +0000133027 00000 n +0001300920 00000 n +0002108719 00000 n +0000133089 00000 n +0000133226 00000 n +0001301047 00000 n +0002108620 00000 n +0000133288 00000 n +0000133480 00000 n +0001301174 00000 n +0002108521 00000 n +0000133542 00000 n +0000133749 00000 n +0001301301 00000 n +0002108422 00000 n +0000133811 00000 n +0000133993 00000 n +0001301427 00000 n +0002108323 00000 n +0000134055 00000 n +0000134207 00000 n +0001306037 00000 n +0002108224 00000 n +0000134269 00000 n +0000134471 00000 n +0001306164 00000 n +0002108140 00000 n +0000134533 00000 n +0000134665 00000 n +0001306227 00000 n +0002108014 00000 n +0000134721 00000 n +0000134901 00000 n +0001306353 00000 n +0002107930 00000 n +0000134962 00000 n +0000135089 00000 n +0001306480 00000 n +0002107831 00000 n +0000135150 00000 n +0000135347 00000 n +0001306607 00000 n +0002107732 00000 n +0000135408 00000 n +0000135550 00000 n +0001306732 00000 n +0002107633 00000 n +0000135611 00000 n +0000135798 00000 n +0001310874 00000 n +0002107534 00000 n +0000135859 00000 n +0000135991 00000 n +0001311000 00000 n +0002107435 00000 n +0000136052 00000 n +0000136174 00000 n +0001311125 00000 n +0002107336 00000 n +0000136235 00000 n +0000136397 00000 n +0001311249 00000 n +0002107237 00000 n +0000136458 00000 n +0000136585 00000 n +0001311375 00000 n +0002107138 00000 n +0000136646 00000 n +0000136798 00000 n +0001311501 00000 n +0002107039 00000 n +0000136860 00000 n +0000137057 00000 n +0001311628 00000 n +0002106940 00000 n +0000137119 00000 n +0000137271 00000 n +0001311753 00000 n +0002106841 00000 n +0000137333 00000 n +0000137520 00000 n +0001311879 00000 n +0002106742 00000 n +0000137582 00000 n +0000137774 00000 n +0001315596 00000 n +0002106643 00000 n +0000137836 00000 n +0000137978 00000 n +0001315723 00000 n +0002106544 00000 n +0000138040 00000 n +0000138197 00000 n +0001315849 00000 n +0002106445 00000 n +0000138259 00000 n +0000138446 00000 n +0001315975 00000 n +0002106346 00000 n +0000138508 00000 n +0000138625 00000 n +0001316102 00000 n +0002106247 00000 n +0000138687 00000 n +0000138839 00000 n +0001316228 00000 n +0002106148 00000 n +0000138901 00000 n +0000139038 00000 n +0001316355 00000 n +0002106049 00000 n +0000139100 00000 n +0000139212 00000 n +0001316481 00000 n +0002105950 00000 n +0000139274 00000 n +0000139411 00000 n +0001320844 00000 n +0002105851 00000 n +0000139473 00000 n +0000139625 00000 n +0001320970 00000 n +0002105752 00000 n +0000139687 00000 n +0000139874 00000 n +0001321095 00000 n +0002105653 00000 n +0000139936 00000 n +0000140133 00000 n +0001321221 00000 n +0002105554 00000 n +0000140195 00000 n +0000140302 00000 n +0001321348 00000 n +0002105455 00000 n +0000140364 00000 n +0000140521 00000 n +0001321475 00000 n +0002105356 00000 n +0000140583 00000 n +0000140725 00000 n +0001326139 00000 n +0002105257 00000 n +0000140787 00000 n +0000140999 00000 n +0001326266 00000 n +0002105158 00000 n +0000141061 00000 n +0000141263 00000 n +0001326393 00000 n +0002105059 00000 n +0000141325 00000 n +0000141462 00000 n +0001326518 00000 n +0002104960 00000 n +0000141524 00000 n +0000141666 00000 n +0001326645 00000 n +0002104861 00000 n +0000141728 00000 n +0000141910 00000 n +0001326771 00000 n +0002104762 00000 n +0000141972 00000 n +0000142084 00000 n +0001326897 00000 n +0002104663 00000 n +0000142146 00000 n +0000142278 00000 n +0001327024 00000 n +0002104564 00000 n +0000142340 00000 n +0000142472 00000 n +0001331175 00000 n +0002104465 00000 n +0000142534 00000 n +0000142666 00000 n +0001331302 00000 n +0002104366 00000 n +0000142728 00000 n +0000142870 00000 n +0001331428 00000 n +0002104267 00000 n +0000142932 00000 n +0000143124 00000 n +0001331555 00000 n +0002104168 00000 n +0000143186 00000 n +0000143288 00000 n +0001331681 00000 n +0002104069 00000 n +0000143350 00000 n +0000143472 00000 n +0001331808 00000 n +0002103970 00000 n +0000143534 00000 n +0000143711 00000 n +0001331935 00000 n +0002103871 00000 n +0000143773 00000 n +0000143885 00000 n +0001336164 00000 n +0002103772 00000 n +0000143947 00000 n +0000144094 00000 n +0001336290 00000 n +0002103673 00000 n +0000144156 00000 n +0000144313 00000 n +0001336417 00000 n +0002103574 00000 n +0000144375 00000 n +0000144477 00000 n +0001336544 00000 n +0002103490 00000 n +0000144539 00000 n +0000144736 00000 n +0001336670 00000 n +0002103351 00000 n +0000144787 00000 n +0000145015 00000 n +0001341054 00000 n +0002103226 00000 n +0000145071 00000 n +0000145289 00000 n +0001341180 00000 n +0002103142 00000 n +0000145350 00000 n +0000145477 00000 n +0001341307 00000 n +0002103058 00000 n +0000145538 00000 n +0000145670 00000 n +0001341370 00000 n +0002102918 00000 n +0000145726 00000 n +0000145924 00000 n +0001341496 00000 n +0002102834 00000 n +0000145985 00000 n +0000146102 00000 n +0001341622 00000 n +0002102735 00000 n +0000146163 00000 n +0000146340 00000 n +0001341748 00000 n +0002102636 00000 n +0000146401 00000 n +0000146583 00000 n +0001341874 00000 n +0002102552 00000 n +0000146644 00000 n +0000146766 00000 n +0001341937 00000 n +0002102427 00000 n +0000146822 00000 n +0000147002 00000 n +0001342063 00000 n +0002102343 00000 n +0000147063 00000 n +0000147190 00000 n +0001342189 00000 n +0002102259 00000 n +0000147251 00000 n +0000147348 00000 n +0001342315 00000 n +0002102120 00000 n +0000147399 00000 n +0000147602 00000 n +0001357149 00000 n +0002102036 00000 n +0000147658 00000 n +0000147828 00000 n +0001357212 00000 n +0002101896 00000 n +0000147884 00000 n +0000148153 00000 n +0001357338 00000 n +0002101827 00000 n +0000148214 00000 n +0000148351 00000 n +0001357401 00000 n +0002101686 00000 n +0000148407 00000 n +0000148625 00000 n +0001357526 00000 n +0002101602 00000 n +0000148686 00000 n +0000148808 00000 n +0001357651 00000 n +0002101503 00000 n +0000148869 00000 n +0000148991 00000 n +0001357777 00000 n +0002101404 00000 n +0000149052 00000 n +0000149159 00000 n +0001357903 00000 n +0002101305 00000 n +0000149220 00000 n +0000149327 00000 n +0001358029 00000 n +0002101206 00000 n +0000149388 00000 n +0000149495 00000 n +0001358155 00000 n +0002101107 00000 n +0000149556 00000 n +0000149653 00000 n +0001358280 00000 n +0002101008 00000 n +0000149714 00000 n +0000149806 00000 n +0001358406 00000 n +0002100909 00000 n +0000149867 00000 n +0000149999 00000 n +0001358530 00000 n +0002100810 00000 n +0000150060 00000 n +0000150172 00000 n +0001358653 00000 n +0002100711 00000 n +0000150234 00000 n +0000150366 00000 n +0001358777 00000 n +0002100612 00000 n +0000150428 00000 n +0000150560 00000 n +0001363453 00000 n +0002100513 00000 n +0000150622 00000 n +0000150799 00000 n +0001363579 00000 n +0002100414 00000 n +0000150861 00000 n +0000150983 00000 n +0001363705 00000 n +0002100330 00000 n +0000151045 00000 n +0000151187 00000 n +0001363767 00000 n +0002100190 00000 n +0000151243 00000 n +0000151441 00000 n +0001363891 00000 n +0002100106 00000 n +0000151502 00000 n +0000151614 00000 n +0001366617 00000 n +0002100022 00000 n +0000151675 00000 n +0000151797 00000 n +0001366680 00000 n +0002099896 00000 n +0000151853 00000 n +0000152033 00000 n +0001366806 00000 n +0002099812 00000 n +0000152094 00000 n +0000152236 00000 n +0001366933 00000 n +0002099713 00000 n +0000152297 00000 n +0000152439 00000 n +0001367058 00000 n +0002099614 00000 n +0000152500 00000 n +0000152657 00000 n +0001367185 00000 n +0002099515 00000 n +0000152718 00000 n +0000152875 00000 n +0001367311 00000 n +0002099416 00000 n +0000152936 00000 n +0000153023 00000 n +0001367437 00000 n +0002099317 00000 n +0000153084 00000 n +0000153211 00000 n +0001367562 00000 n +0002099218 00000 n +0000153272 00000 n +0000153399 00000 n +0001367688 00000 n +0002099119 00000 n +0000153460 00000 n +0000153572 00000 n +0001367814 00000 n +0002099020 00000 n +0000153633 00000 n +0000153780 00000 n +0001367941 00000 n +0002098921 00000 n +0000153842 00000 n +0000153994 00000 n +0001368066 00000 n +0002098822 00000 n +0000154056 00000 n +0000154158 00000 n +0001368190 00000 n +0002098723 00000 n +0000154220 00000 n +0000154342 00000 n +0001374864 00000 n +0002098624 00000 n +0000154404 00000 n +0000154516 00000 n +0001374991 00000 n +0002098540 00000 n +0000154578 00000 n +0000154690 00000 n +0001375116 00000 n +0002098401 00000 n +0000154741 00000 n +0000154989 00000 n +0001375242 00000 n +0002098317 00000 n +0000155045 00000 n +0000155215 00000 n +0001375305 00000 n +0002098192 00000 n +0000155271 00000 n +0000155489 00000 n +0001375431 00000 n +0002098123 00000 n +0000155550 00000 n +0000155732 00000 n +0001381949 00000 n +0002097984 00000 n +0000155783 00000 n +0000156021 00000 n +0001382075 00000 n +0002097900 00000 n +0000156077 00000 n +0000156247 00000 n +0001382137 00000 n +0002097775 00000 n +0000156303 00000 n +0000156521 00000 n +0001382263 00000 n +0002097706 00000 n +0000156582 00000 n +0000156764 00000 n +0001387917 00000 n +0002097567 00000 n +0000156815 00000 n +0000157028 00000 n +0001388106 00000 n +0002097483 00000 n +0000157084 00000 n +0000157254 00000 n +0001390311 00000 n +0002097343 00000 n +0000157310 00000 n +0000157528 00000 n +0001390437 00000 n +0002097259 00000 n +0000157589 00000 n +0000157691 00000 n +0001390563 00000 n +0002097160 00000 n +0000157752 00000 n +0000157854 00000 n +0001390689 00000 n +0002097061 00000 n +0000157915 00000 n +0000158082 00000 n +0001390815 00000 n +0002096977 00000 n +0000158143 00000 n +0000158250 00000 n +0001390878 00000 n +0002096852 00000 n +0000158306 00000 n +0000158504 00000 n +0001391004 00000 n +0002096768 00000 n +0000158565 00000 n +0000158687 00000 n +0001391130 00000 n +0002096669 00000 n +0000158748 00000 n +0000158915 00000 n +0001391255 00000 n +0002096570 00000 n +0000158976 00000 n +0000159088 00000 n +0001391380 00000 n +0002096471 00000 n +0000159149 00000 n +0000159271 00000 n +0001391506 00000 n +0002096372 00000 n +0000159332 00000 n +0000159474 00000 n +0001391632 00000 n +0002096273 00000 n +0000159535 00000 n +0000159682 00000 n +0001391758 00000 n +0002096189 00000 n +0000159743 00000 n +0000159860 00000 n +0001391884 00000 n +0002096050 00000 n +0000159911 00000 n +0000160114 00000 n +0001398657 00000 n +0002095966 00000 n +0000160170 00000 n +0000160340 00000 n +0001401701 00000 n +0002095826 00000 n +0000160396 00000 n +0000160665 00000 n +0001401827 00000 n +0002095757 00000 n +0000160726 00000 n +0000160863 00000 n +0001401890 00000 n +0002095616 00000 n +0000160919 00000 n +0000161137 00000 n +0001402015 00000 n +0002095532 00000 n +0000161198 00000 n +0000161315 00000 n +0001402141 00000 n +0002095433 00000 n +0000161376 00000 n +0000161508 00000 n +0001402267 00000 n +0002095334 00000 n +0000161569 00000 n +0000161686 00000 n +0001402393 00000 n +0002095235 00000 n +0000161747 00000 n +0000161869 00000 n +0001402519 00000 n +0002095136 00000 n +0000161930 00000 n +0000162052 00000 n +0001402645 00000 n +0002095037 00000 n +0000162113 00000 n +0000162235 00000 n +0001402771 00000 n +0002094938 00000 n +0000162296 00000 n +0000162418 00000 n +0001402897 00000 n +0002094839 00000 n +0000162479 00000 n +0000162601 00000 n +0001403023 00000 n +0002094740 00000 n +0000162662 00000 n +0000162784 00000 n +0001406612 00000 n +0002094641 00000 n +0000162846 00000 n +0000162973 00000 n +0001406738 00000 n +0002094542 00000 n +0000163035 00000 n +0000163162 00000 n +0001406864 00000 n +0002094443 00000 n +0000163224 00000 n +0000163351 00000 n +0001406990 00000 n +0002094344 00000 n +0000163413 00000 n +0000163540 00000 n +0001407116 00000 n +0002094245 00000 n +0000163602 00000 n +0000163749 00000 n +0001407242 00000 n +0002094161 00000 n +0000163811 00000 n +0000163928 00000 n +0001407305 00000 n +0002094036 00000 n +0000163984 00000 n +0000164164 00000 n +0001407431 00000 n +0002093952 00000 n +0000164225 00000 n +0000164327 00000 n +0001407557 00000 n +0002093853 00000 n +0000164388 00000 n +0000164510 00000 n +0001407683 00000 n +0002093769 00000 n +0000164571 00000 n +0000164693 00000 n +0001407807 00000 n +0002093630 00000 n +0000164744 00000 n +0000164972 00000 n +0001413245 00000 n +0002093546 00000 n +0000165028 00000 n +0000165198 00000 n +0001413308 00000 n +0002093406 00000 n +0000165254 00000 n +0000165523 00000 n +0001413434 00000 n +0002093337 00000 n +0000165584 00000 n +0000165746 00000 n +0001413497 00000 n +0002093212 00000 n +0000165802 00000 n +0000166020 00000 n +0001413622 00000 n +0002093128 00000 n +0000166081 00000 n +0000166213 00000 n +0001413747 00000 n +0002093029 00000 n +0000166274 00000 n +0000166431 00000 n +0001413873 00000 n +0002092930 00000 n +0000166492 00000 n +0000166624 00000 n +0001419159 00000 n +0002092831 00000 n +0000166685 00000 n +0000166787 00000 n +0001419285 00000 n +0002092732 00000 n +0000166848 00000 n +0000166965 00000 n +0001419410 00000 n +0002092648 00000 n +0000167026 00000 n +0000167148 00000 n +0001419536 00000 n +0002092509 00000 n +0000167199 00000 n +0000167437 00000 n +0001419662 00000 n +0002092425 00000 n +0000167493 00000 n +0000167663 00000 n +0001419725 00000 n +0002092300 00000 n +0000167719 00000 n +0000167937 00000 n +0001419851 00000 n +0002092216 00000 n +0000167998 00000 n +0000168180 00000 n +0001426272 00000 n +0002092132 00000 n +0000168241 00000 n +0000168423 00000 n +0001426397 00000 n +0002091993 00000 n +0000168474 00000 n +0000168787 00000 n +0001426523 00000 n +0002091868 00000 n +0000168843 00000 n +0000169112 00000 n +0001426649 00000 n +0002091799 00000 n +0000169173 00000 n +0000169420 00000 n +0001426712 00000 n +0002091674 00000 n +0000169476 00000 n +0000169694 00000 n +0001432448 00000 n +0002091590 00000 n +0000169755 00000 n +0000169977 00000 n +0001432574 00000 n +0002091491 00000 n +0000170038 00000 n +0000170205 00000 n +0001432700 00000 n +0002091392 00000 n +0000170266 00000 n +0000170448 00000 n +0001432826 00000 n +0002091293 00000 n +0000170509 00000 n +0000170691 00000 n +0001432952 00000 n +0002091209 00000 n +0000170752 00000 n +0000170899 00000 n +0001433078 00000 n +0002091070 00000 n +0000170950 00000 n +0000171253 00000 n +0001438540 00000 n +0002090945 00000 n +0000171309 00000 n +0000171542 00000 n +0001438666 00000 n +0002090861 00000 n +0000171603 00000 n +0000171770 00000 n +0001439044 00000 n +0002090777 00000 n +0000171831 00000 n +0000171998 00000 n +0001439421 00000 n +0002090651 00000 n +0000172054 00000 n +0000172252 00000 n +0001439547 00000 n +0002090567 00000 n +0000172313 00000 n +0000172460 00000 n +0001439673 00000 n +0002090468 00000 n +0000172521 00000 n +0000172763 00000 n +0001439799 00000 n +0002090369 00000 n +0000172824 00000 n +0000173071 00000 n +0001439925 00000 n +0002090270 00000 n +0000173132 00000 n +0000173294 00000 n +0001440051 00000 n +0002090171 00000 n +0000173355 00000 n +0000173512 00000 n +0001440176 00000 n +0002090072 00000 n +0000173573 00000 n +0000173750 00000 n +0001440300 00000 n +0002089973 00000 n +0000173811 00000 n +0000174058 00000 n +0001443702 00000 n +0002089874 00000 n +0000174119 00000 n +0000174366 00000 n +0001443828 00000 n +0002089775 00000 n +0000174427 00000 n +0000174639 00000 n +0001443954 00000 n +0002089676 00000 n +0000174701 00000 n +0000174868 00000 n +0001444080 00000 n +0002089577 00000 n +0000174930 00000 n +0000175117 00000 n +0001444205 00000 n +0002089478 00000 n +0000175179 00000 n +0000175351 00000 n +0001444331 00000 n +0002089379 00000 n +0000175413 00000 n +0000175570 00000 n +0001444457 00000 n +0002089295 00000 n +0000175632 00000 n +0000175859 00000 n +0001444583 00000 n +0002089156 00000 n +0000175910 00000 n +0000176223 00000 n +0001444709 00000 n +0002089031 00000 n +0000176279 00000 n +0000176548 00000 n +0001444835 00000 n +0002088962 00000 n +0000176609 00000 n +0000176856 00000 n +0001444898 00000 n +0002088837 00000 n +0000176912 00000 n +0000177130 00000 n +0001445022 00000 n +0002088753 00000 n +0000177191 00000 n +0000177358 00000 n +0001445146 00000 n +0002088654 00000 n +0000177419 00000 n +0000177551 00000 n +0001445270 00000 n +0002088570 00000 n +0000177612 00000 n +0000177794 00000 n +0001451197 00000 n +0002088431 00000 n +0000177845 00000 n +0000178148 00000 n +0001451385 00000 n +0002088306 00000 n +0000178204 00000 n +0000178437 00000 n +0001451511 00000 n +0002088237 00000 n +0000178498 00000 n +0000178665 00000 n +0001451763 00000 n +0002088112 00000 n +0000178721 00000 n +0000178919 00000 n +0001451888 00000 n +0002088028 00000 n +0000178980 00000 n +0000179157 00000 n +0001452013 00000 n +0002087929 00000 n +0000179218 00000 n +0000179380 00000 n +0001452139 00000 n +0002087830 00000 n +0000179441 00000 n +0000179663 00000 n +0001452265 00000 n +0002087746 00000 n +0000179724 00000 n +0000179891 00000 n +0001452391 00000 n +0002087607 00000 n +0000179942 00000 n +0000180240 00000 n +0001452517 00000 n +0002087482 00000 n +0000180296 00000 n +0000180565 00000 n +0001452643 00000 n +0002087413 00000 n +0000180626 00000 n +0000180858 00000 n +0001452706 00000 n +0002087288 00000 n +0000180914 00000 n +0000181132 00000 n +0001457277 00000 n +0002087204 00000 n +0000181193 00000 n +0000181345 00000 n +0001457403 00000 n +0002087105 00000 n +0000181406 00000 n +0000181523 00000 n +0001457529 00000 n +0002087021 00000 n +0000181584 00000 n +0000181766 00000 n +0001457655 00000 n +0002086882 00000 n +0000181817 00000 n +0000182105 00000 n +0001457844 00000 n +0002086757 00000 n +0000182161 00000 n +0000182394 00000 n +0001457969 00000 n +0002086688 00000 n +0000182455 00000 n +0000182622 00000 n +0001458220 00000 n +0002086563 00000 n +0000182678 00000 n +0000182876 00000 n +0001458346 00000 n +0002086479 00000 n +0000182937 00000 n +0000183114 00000 n +0001458472 00000 n +0002086380 00000 n +0000183175 00000 n +0000183387 00000 n +0001458598 00000 n +0002086281 00000 n +0000183448 00000 n +0000183610 00000 n +0001458724 00000 n +0002086197 00000 n +0000183671 00000 n +0000183838 00000 n +0001458850 00000 n +0002086058 00000 n +0000183889 00000 n +0000184082 00000 n +0001478966 00000 n +0002085974 00000 n +0000184138 00000 n +0000184308 00000 n +0001479030 00000 n +0002085833 00000 n +0000184364 00000 n +0000184582 00000 n +0001479158 00000 n +0002085749 00000 n +0000184643 00000 n +0000184795 00000 n +0001479286 00000 n +0002085650 00000 n +0000184856 00000 n +0000184953 00000 n +0001479414 00000 n +0002085551 00000 n +0000185014 00000 n +0000185106 00000 n +0001479542 00000 n +0002085452 00000 n +0000185167 00000 n +0000185259 00000 n +0001479670 00000 n +0002085353 00000 n +0000185320 00000 n +0000185507 00000 n +0001479798 00000 n +0002085254 00000 n +0000185568 00000 n +0000185785 00000 n +0001484905 00000 n +0002085155 00000 n +0000185846 00000 n +0000186003 00000 n +0001485034 00000 n +0002085056 00000 n +0000186064 00000 n +0000186156 00000 n +0001485162 00000 n +0002084957 00000 n +0000186217 00000 n +0000186309 00000 n +0001485290 00000 n +0002084858 00000 n +0000186371 00000 n +0000186498 00000 n +0001489580 00000 n +0002084759 00000 n +0000186560 00000 n +0000186687 00000 n +0001489709 00000 n +0002084660 00000 n +0000186749 00000 n +0000186896 00000 n +0001489836 00000 n +0002084561 00000 n +0000186958 00000 n +0000187080 00000 n +0001489963 00000 n +0002084462 00000 n +0000187142 00000 n +0000187309 00000 n +0001490092 00000 n +0002084378 00000 n +0000187371 00000 n +0000187538 00000 n +0001490156 00000 n +0002084237 00000 n +0000187594 00000 n +0000187792 00000 n +0001490285 00000 n +0002084153 00000 n +0000187853 00000 n +0000188005 00000 n +0001490413 00000 n +0002084054 00000 n +0000188066 00000 n +0000188168 00000 n +0001490540 00000 n +0002083955 00000 n +0000188229 00000 n +0000188381 00000 n +0001494454 00000 n +0002083856 00000 n +0000188442 00000 n +0000188609 00000 n +0001494583 00000 n +0002083757 00000 n +0000188670 00000 n +0000188877 00000 n +0001494711 00000 n +0002083658 00000 n +0000188938 00000 n +0000189145 00000 n +0001494839 00000 n +0002083559 00000 n +0000189206 00000 n +0000189318 00000 n +0001494968 00000 n +0002083460 00000 n +0000189379 00000 n +0000189541 00000 n +0001495097 00000 n +0002083361 00000 n +0000189602 00000 n +0000189789 00000 n +0001495226 00000 n +0002083262 00000 n +0000189851 00000 n +0000189993 00000 n +0001495353 00000 n +0002083178 00000 n +0000190055 00000 n +0000190212 00000 n +0001495416 00000 n +0002083053 00000 n +0000190268 00000 n +0000190448 00000 n +0001495545 00000 n +0002082969 00000 n +0000190509 00000 n +0000190656 00000 n +0001495673 00000 n +0002082870 00000 n +0000190717 00000 n +0000190879 00000 n +0001495802 00000 n +0002082771 00000 n +0000190940 00000 n +0000191047 00000 n +0001495932 00000 n +0002082672 00000 n +0000191108 00000 n +0000191250 00000 n +0001496061 00000 n +0002082573 00000 n +0000191311 00000 n +0000191443 00000 n +0001500387 00000 n +0002082474 00000 n +0000191504 00000 n +0000191606 00000 n +0001500517 00000 n +0002082375 00000 n +0000191667 00000 n +0000191804 00000 n +0001500646 00000 n +0002082276 00000 n +0000191865 00000 n +0000191972 00000 n +0001500774 00000 n +0002082192 00000 n +0000192033 00000 n +0000192140 00000 n +0001500904 00000 n +0002082053 00000 n +0000192191 00000 n +0000192404 00000 n +0001501033 00000 n +0002081969 00000 n +0000192460 00000 n +0000192630 00000 n +0001501097 00000 n +0002081844 00000 n +0000192686 00000 n +0000192904 00000 n +0001501226 00000 n +0002081760 00000 n +0000192965 00000 n +0000193077 00000 n +0001501355 00000 n +0002081661 00000 n +0000193138 00000 n +0000193235 00000 n +0001501484 00000 n +0002081577 00000 n +0000193296 00000 n +0000193418 00000 n +0001513531 00000 n +0002081438 00000 n +0000193469 00000 n +0000193707 00000 n +0001523410 00000 n +0002081354 00000 n +0000193763 00000 n +0000193933 00000 n +0001523474 00000 n +0002081228 00000 n +0000193989 00000 n +0000194207 00000 n +0001523602 00000 n +0002081144 00000 n +0000194268 00000 n +0000194440 00000 n +0001530741 00000 n +0002081045 00000 n +0000194501 00000 n +0000194673 00000 n +0001530869 00000 n +0002080946 00000 n +0000194734 00000 n +0000194891 00000 n +0001530997 00000 n +0002080847 00000 n +0000194952 00000 n +0000195094 00000 n +0001531125 00000 n +0002080748 00000 n +0000195155 00000 n +0000195372 00000 n +0001531252 00000 n +0002080649 00000 n +0000195433 00000 n +0000195660 00000 n +0001539048 00000 n +0002080550 00000 n +0000195721 00000 n +0000195918 00000 n +0001539176 00000 n +0002080451 00000 n +0000195979 00000 n +0000196181 00000 n +0001539303 00000 n +0002080352 00000 n +0000196242 00000 n +0000196384 00000 n +0001539431 00000 n +0002080253 00000 n +0000196446 00000 n +0000196588 00000 n +0001539559 00000 n +0002080154 00000 n +0000196650 00000 n +0000196787 00000 n +0001546193 00000 n +0002080055 00000 n +0000196849 00000 n +0000196981 00000 n +0001546321 00000 n +0002079956 00000 n +0000197043 00000 n +0000197240 00000 n +0001546449 00000 n +0002079857 00000 n +0000197302 00000 n +0000197494 00000 n +0001546577 00000 n +0002079758 00000 n +0000197556 00000 n +0000197728 00000 n +0001546705 00000 n +0002079659 00000 n +0000197790 00000 n +0000197977 00000 n +0001546832 00000 n +0002079560 00000 n +0000198039 00000 n +0000198241 00000 n +0001553522 00000 n +0002079461 00000 n +0000198303 00000 n +0000198560 00000 n +0001553650 00000 n +0002079362 00000 n +0000198622 00000 n +0000198799 00000 n +0001553778 00000 n +0002079263 00000 n +0000198861 00000 n +0000199053 00000 n +0001553906 00000 n +0002079164 00000 n +0000199115 00000 n +0000199307 00000 n +0001559849 00000 n +0002079065 00000 n +0000199369 00000 n +0000199596 00000 n +0001559977 00000 n +0002078966 00000 n +0000199658 00000 n +0000199855 00000 n +0001560104 00000 n +0002078867 00000 n +0000199917 00000 n +0000200129 00000 n +0001560232 00000 n +0002078768 00000 n +0000200191 00000 n +0000200428 00000 n +0001560360 00000 n +0002078669 00000 n +0000200490 00000 n +0000200692 00000 n +0001566847 00000 n +0002078570 00000 n +0000200754 00000 n +0000200956 00000 n +0001566975 00000 n +0002078471 00000 n +0000201018 00000 n +0000201195 00000 n +0001567103 00000 n +0002078387 00000 n +0000201257 00000 n +0000201419 00000 n +0001567231 00000 n +0002078248 00000 n +0000201470 00000 n +0000201643 00000 n +0001567295 00000 n +0002078179 00000 n +0000201699 00000 n +0000201869 00000 n +0001572343 00000 n +0002078040 00000 n +0000201920 00000 n +0000202148 00000 n +0001572537 00000 n +0002077956 00000 n +0000202204 00000 n +0000202374 00000 n +0001572601 00000 n +0002077831 00000 n +0000202430 00000 n +0000202628 00000 n +0001572730 00000 n +0002077747 00000 n +0000202689 00000 n +0000202831 00000 n +0001572859 00000 n +0002077648 00000 n +0000202892 00000 n +0000203004 00000 n +0001572988 00000 n +0002077549 00000 n +0000203065 00000 n +0000203177 00000 n +0001573117 00000 n +0002077450 00000 n +0000203238 00000 n +0000203395 00000 n +0001577758 00000 n +0002077351 00000 n +0000203456 00000 n +0000203598 00000 n +0001577887 00000 n +0002077252 00000 n +0000203659 00000 n +0000203781 00000 n +0001578016 00000 n +0002077153 00000 n +0000203842 00000 n +0000203994 00000 n +0001578145 00000 n +0002077069 00000 n +0000204055 00000 n +0000204192 00000 n +0001578273 00000 n +0002076930 00000 n +0000204243 00000 n +0000204416 00000 n +0001578532 00000 n +0002076805 00000 n +0000204472 00000 n +0000204741 00000 n +0001578661 00000 n +0002076721 00000 n +0000204802 00000 n +0000204909 00000 n +0001578790 00000 n +0002076637 00000 n +0000204970 00000 n +0000205077 00000 n +0001578854 00000 n +0002076497 00000 n +0000205133 00000 n +0000205351 00000 n +0001578983 00000 n +0002076413 00000 n +0000205412 00000 n +0000205514 00000 n +0001579111 00000 n +0002076329 00000 n +0000205575 00000 n +0000205692 00000 n +0001579174 00000 n +0002076204 00000 n +0000205748 00000 n +0000205946 00000 n +0001585316 00000 n +0002076120 00000 n +0000206007 00000 n +0000206119 00000 n +0001585445 00000 n +0002076021 00000 n +0000206180 00000 n +0000206277 00000 n +0001585573 00000 n +0002075922 00000 n +0000206338 00000 n +0000206470 00000 n +0001585701 00000 n +0002075838 00000 n +0000206531 00000 n +0000206628 00000 n +0001585829 00000 n +0002075699 00000 n +0000206679 00000 n +0000206842 00000 n +0001591891 00000 n +0002075615 00000 n +0000206898 00000 n +0000207068 00000 n +0001591955 00000 n +0002075475 00000 n +0000207124 00000 n +0000207342 00000 n +0001592083 00000 n +0002075391 00000 n +0000207403 00000 n +0000207570 00000 n +0001592211 00000 n +0002075292 00000 n +0000207631 00000 n +0000207803 00000 n +0001596061 00000 n +0002075193 00000 n +0000207864 00000 n +0000208071 00000 n +0001596190 00000 n +0002075094 00000 n +0000208132 00000 n +0000208249 00000 n +0001596319 00000 n +0002075010 00000 n +0000208310 00000 n +0000208447 00000 n +0001596383 00000 n +0002074884 00000 n +0000208503 00000 n +0000208683 00000 n +0001596512 00000 n +0002074800 00000 n +0000208744 00000 n +0000208876 00000 n +0001599418 00000 n +0002074701 00000 n +0000208937 00000 n +0000209069 00000 n +0001599546 00000 n +0002074602 00000 n +0000209130 00000 n +0000209272 00000 n +0001599674 00000 n +0002074503 00000 n +0000209333 00000 n +0000209475 00000 n +0001599803 00000 n +0002074404 00000 n +0000209536 00000 n +0000209643 00000 n +0001599932 00000 n +0002074305 00000 n +0000209704 00000 n +0000209826 00000 n +0001600061 00000 n +0002074206 00000 n +0000209887 00000 n +0000210014 00000 n +0001600190 00000 n +0002074107 00000 n +0000210075 00000 n +0000210202 00000 n +0001600319 00000 n +0002074008 00000 n +0000210263 00000 n +0000210360 00000 n +0001600448 00000 n +0002073909 00000 n +0000210422 00000 n +0000210524 00000 n +0001600574 00000 n +0002073810 00000 n +0000210586 00000 n +0000210688 00000 n +0001600701 00000 n +0002073711 00000 n +0000210750 00000 n +0000210887 00000 n +0001600829 00000 n +0002073612 00000 n +0000210949 00000 n +0000211086 00000 n +0001600958 00000 n +0002073513 00000 n +0000211148 00000 n +0000211345 00000 n +0001601087 00000 n +0002073414 00000 n +0000211407 00000 n +0000211604 00000 n +0001601214 00000 n +0002073330 00000 n +0000211666 00000 n +0000211783 00000 n +0001601340 00000 n +0002073191 00000 n +0000211834 00000 n +0000212017 00000 n +0001612879 00000 n +0002073107 00000 n +0000212073 00000 n +0000212243 00000 n +0001612943 00000 n +0002072967 00000 n +0000212299 00000 n +0000212517 00000 n +0001613072 00000 n +0002072883 00000 n +0000212578 00000 n +0000212685 00000 n +0001613201 00000 n +0002072784 00000 n +0000212746 00000 n +0000212878 00000 n +0001613330 00000 n +0002072685 00000 n +0000212939 00000 n +0000213056 00000 n +0001613459 00000 n +0002072601 00000 n +0000213117 00000 n +0000213254 00000 n +0001616041 00000 n +0002072461 00000 n +0000213310 00000 n +0000213508 00000 n +0001616170 00000 n +0002072377 00000 n +0000213569 00000 n +0000213726 00000 n +0001616299 00000 n +0002072278 00000 n +0000213787 00000 n +0000213954 00000 n +0001616428 00000 n +0002072179 00000 n +0000214015 00000 n +0000214167 00000 n +0001616557 00000 n +0002072080 00000 n +0000214228 00000 n +0000214350 00000 n +0001616686 00000 n +0002071981 00000 n +0000214411 00000 n +0000214533 00000 n +0001616815 00000 n +0002071897 00000 n +0000214594 00000 n +0000214731 00000 n +0001616878 00000 n +0002071771 00000 n +0000214787 00000 n +0000214967 00000 n +0001617007 00000 n +0002071687 00000 n +0000215028 00000 n +0000215185 00000 n +0001617136 00000 n +0002071588 00000 n +0000215246 00000 n +0000215403 00000 n +0001617265 00000 n +0002071489 00000 n +0000215464 00000 n +0000215636 00000 n +0001617394 00000 n +0002071390 00000 n +0000215697 00000 n +0000215869 00000 n +0001617523 00000 n +0002071291 00000 n +0000215930 00000 n +0000216037 00000 n +0001621164 00000 n +0002071192 00000 n +0000216098 00000 n +0000216220 00000 n +0001621294 00000 n +0002071093 00000 n +0000216281 00000 n +0000216408 00000 n +0001621424 00000 n +0002070994 00000 n +0000216469 00000 n +0000216596 00000 n +0001621551 00000 n +0002070895 00000 n +0000216657 00000 n +0000216754 00000 n +0001621679 00000 n +0002070796 00000 n +0000216816 00000 n +0000216918 00000 n +0001621808 00000 n +0002070697 00000 n +0000216980 00000 n +0000217082 00000 n +0001621937 00000 n +0002070598 00000 n +0000217144 00000 n +0000217281 00000 n +0001622066 00000 n +0002070499 00000 n +0000217343 00000 n +0000217480 00000 n +0001622194 00000 n +0002070400 00000 n +0000217542 00000 n +0000217699 00000 n +0001622322 00000 n +0002070316 00000 n +0000217761 00000 n +0000217878 00000 n +0001622450 00000 n +0002070177 00000 n +0000217929 00000 n +0000218127 00000 n +0001629490 00000 n +0002070093 00000 n +0000218183 00000 n +0000218353 00000 n +0001629554 00000 n +0002069953 00000 n +0000218409 00000 n +0000218607 00000 n +0001629682 00000 n +0002069869 00000 n +0000218668 00000 n +0000218845 00000 n +0001632435 00000 n +0002069770 00000 n +0000218906 00000 n +0000219123 00000 n +0001632565 00000 n +0002069671 00000 n +0000219184 00000 n +0000219321 00000 n +0001632694 00000 n +0002069572 00000 n +0000219382 00000 n +0000219509 00000 n +0001632822 00000 n +0002069473 00000 n +0000219570 00000 n +0000219692 00000 n +0001632951 00000 n +0002069389 00000 n +0000219753 00000 n +0000219865 00000 n +0001633015 00000 n +0002069263 00000 n +0000219921 00000 n +0000220101 00000 n +0001633144 00000 n +0002069179 00000 n +0000220162 00000 n +0000220334 00000 n +0001633274 00000 n +0002069080 00000 n +0000220395 00000 n +0000220567 00000 n +0001633403 00000 n +0002068981 00000 n +0000220628 00000 n +0000220805 00000 n +0001633531 00000 n +0002068882 00000 n +0000220866 00000 n +0000221083 00000 n +0001633659 00000 n +0002068783 00000 n +0000221144 00000 n +0000221321 00000 n +0001637557 00000 n +0002068684 00000 n +0000221382 00000 n +0000221489 00000 n +0001637687 00000 n +0002068585 00000 n +0000221550 00000 n +0000221657 00000 n +0001637816 00000 n +0002068486 00000 n +0000221718 00000 n +0000221840 00000 n +0001637946 00000 n +0002068387 00000 n +0000221901 00000 n +0000222023 00000 n +0001638075 00000 n +0002068288 00000 n +0000222085 00000 n +0000222217 00000 n +0001638203 00000 n +0002068189 00000 n +0000222279 00000 n +0000222396 00000 n +0001638330 00000 n +0002068090 00000 n +0000222458 00000 n +0000222605 00000 n +0001638460 00000 n +0002067991 00000 n +0000222667 00000 n +0000222814 00000 n +0001638588 00000 n +0002067892 00000 n +0000222876 00000 n +0000223048 00000 n +0001638718 00000 n +0002067808 00000 n +0000223110 00000 n +0000223282 00000 n +0001638845 00000 n +0002067669 00000 n +0000223333 00000 n +0000223676 00000 n +0001645076 00000 n +0002067585 00000 n +0000223732 00000 n +0000223902 00000 n +0001645140 00000 n +0002067460 00000 n +0000223958 00000 n +0000224176 00000 n +0001645269 00000 n +0002067376 00000 n +0000224237 00000 n +0000224359 00000 n +0001645398 00000 n +0002067292 00000 n +0000224420 00000 n +0000224542 00000 n +0001645527 00000 n +0002067153 00000 n +0000224593 00000 n +0000224826 00000 n +0001645656 00000 n +0002067043 00000 n +0000224882 00000 n +0000225062 00000 n +0001645785 00000 n +0002066959 00000 n +0000225123 00000 n +0000225305 00000 n +0001645914 00000 n +0002066875 00000 n +0000225366 00000 n +0000225518 00000 n +0001646042 00000 n +0002066736 00000 n +0000225569 00000 n +0000225782 00000 n +0001653903 00000 n +0002066652 00000 n +0000225838 00000 n +0000226008 00000 n +0001653966 00000 n +0002066512 00000 n +0000226064 00000 n +0000226297 00000 n +0001654095 00000 n +0002066443 00000 n +0000226358 00000 n +0000226500 00000 n +0001654481 00000 n +0002066303 00000 n +0000226556 00000 n +0000226774 00000 n +0001654610 00000 n +0002066219 00000 n +0000226835 00000 n +0000226947 00000 n +0001656652 00000 n +0002066120 00000 n +0000227008 00000 n +0000227245 00000 n +0001656781 00000 n +0002066021 00000 n +0000227306 00000 n +0000227423 00000 n +0001656910 00000 n +0002065922 00000 n +0000227484 00000 n +0000227601 00000 n +0001657039 00000 n +0002065823 00000 n +0000227662 00000 n +0000227779 00000 n +0001657168 00000 n +0002065724 00000 n +0000227840 00000 n +0000228007 00000 n +0001657297 00000 n +0002065640 00000 n +0000228068 00000 n +0000228200 00000 n +0001657361 00000 n +0002065499 00000 n +0000228256 00000 n +0000228454 00000 n +0001657489 00000 n +0002065415 00000 n +0000228515 00000 n +0000228617 00000 n +0001657618 00000 n +0002065316 00000 n +0000228678 00000 n +0000228800 00000 n +0001657747 00000 n +0002065217 00000 n +0000228861 00000 n +0000229043 00000 n +0001657876 00000 n +0002065118 00000 n +0000229104 00000 n +0000229251 00000 n +0001658005 00000 n +0002065019 00000 n +0000229312 00000 n +0000229494 00000 n +0001658134 00000 n +0002064920 00000 n +0000229555 00000 n +0000229672 00000 n +0001658263 00000 n +0002064821 00000 n +0000229733 00000 n +0000229855 00000 n +0001658392 00000 n +0002064722 00000 n +0000229916 00000 n +0000230063 00000 n +0001658521 00000 n +0002064623 00000 n +0000230124 00000 n +0000230276 00000 n +0001658650 00000 n +0002064524 00000 n +0000230338 00000 n +0000230460 00000 n +0001658779 00000 n +0002064425 00000 n +0000230522 00000 n +0000230654 00000 n +0001658907 00000 n +0002064326 00000 n +0000230716 00000 n +0000230833 00000 n +0001659035 00000 n +0002064227 00000 n +0000230895 00000 n +0000231052 00000 n +0001659164 00000 n +0002064128 00000 n +0000231114 00000 n +0000231261 00000 n +0001659293 00000 n +0002064029 00000 n +0000231323 00000 n +0000231455 00000 n +0001659422 00000 n +0002063930 00000 n +0000231517 00000 n +0000231649 00000 n +0001659550 00000 n +0002063846 00000 n +0000231711 00000 n +0000231868 00000 n +0001659613 00000 n +0002063721 00000 n +0000231924 00000 n +0000232104 00000 n +0001663364 00000 n +0002063652 00000 n +0000232165 00000 n +0000232377 00000 n +0001663492 00000 n +0002063513 00000 n +0000232428 00000 n +0000232751 00000 n +0001663620 00000 n +0002063429 00000 n +0000232807 00000 n +0000232977 00000 n +0001663684 00000 n +0002063289 00000 n +0000233033 00000 n +0000233302 00000 n +0001663812 00000 n +0002063220 00000 n +0000233363 00000 n +0000233500 00000 n +0001663876 00000 n +0002063095 00000 n +0000233556 00000 n +0000233774 00000 n +0001664005 00000 n +0002063011 00000 n +0000233835 00000 n +0000233947 00000 n +0001664134 00000 n +0002062912 00000 n +0000234008 00000 n +0000234135 00000 n +0001664263 00000 n +0002062813 00000 n +0000234196 00000 n +0000234308 00000 n +0001664392 00000 n +0002062714 00000 n +0000234369 00000 n +0000234481 00000 n +0001664521 00000 n +0002062615 00000 n +0000234542 00000 n +0000234674 00000 n +0001664648 00000 n +0002062531 00000 n +0000234735 00000 n +0000234832 00000 n +0001670500 00000 n +0002062392 00000 n +0000234883 00000 n +0000235206 00000 n +0001670629 00000 n +0002062282 00000 n +0000235262 00000 n +0000235460 00000 n +0001670758 00000 n +0002062198 00000 n +0000235521 00000 n +0000235648 00000 n +0001670887 00000 n +0002062114 00000 n +0000235709 00000 n +0000235861 00000 n +0001671015 00000 n +0002061975 00000 n +0000235912 00000 n +0000236255 00000 n +0001671143 00000 n +0002061865 00000 n +0000236311 00000 n +0000236509 00000 n +0001671272 00000 n +0002061781 00000 n +0000236570 00000 n +0000236667 00000 n +0001671401 00000 n +0002061682 00000 n +0000236728 00000 n +0000236880 00000 n +0001671530 00000 n +0002061598 00000 n +0000236941 00000 n +0000237038 00000 n +0001671658 00000 n +0002061459 00000 n +0000237089 00000 n +0000237282 00000 n +0001675208 00000 n +0002061375 00000 n +0000237338 00000 n +0000237508 00000 n +0001675272 00000 n +0002061235 00000 n +0000237564 00000 n +0000237833 00000 n +0001675400 00000 n +0002061151 00000 n +0000237894 00000 n +0000238021 00000 n +0001675528 00000 n +0002061067 00000 n +0000238082 00000 n +0000238209 00000 n +0001675592 00000 n +0002060927 00000 n +0000238265 00000 n +0000238483 00000 n +0001675721 00000 n +0002060858 00000 n +0000238544 00000 n +0000238661 00000 n +0001675785 00000 n +0002060718 00000 n +0000238717 00000 n +0000238915 00000 n +0001675913 00000 n +0002060634 00000 n +0000238976 00000 n +0000239088 00000 n +0001676042 00000 n +0002060535 00000 n +0000239149 00000 n +0000239246 00000 n +0001676171 00000 n +0002060451 00000 n +0000239307 00000 n +0000239404 00000 n +0001676235 00000 n +0002060326 00000 n +0000239460 00000 n +0000239640 00000 n +0001676364 00000 n +0002060257 00000 n +0000239701 00000 n +0000239823 00000 n +0001676492 00000 n +0002060118 00000 n +0000239874 00000 n +0000240087 00000 n +0001680408 00000 n +0002059993 00000 n +0000240143 00000 n +0000240361 00000 n +0001680537 00000 n +0002059924 00000 n +0000240422 00000 n +0000240539 00000 n +0001680601 00000 n +0002059799 00000 n +0000240595 00000 n +0000240793 00000 n +0001680730 00000 n +0002059715 00000 n +0000240854 00000 n +0000240986 00000 n +0001680859 00000 n +0002059631 00000 n +0000241047 00000 n +0000241169 00000 n +0001680987 00000 n +0002059507 00000 n +0000241220 00000 n +0000241433 00000 n +0001681181 00000 n +0002059423 00000 n +0000241489 00000 n +0000241659 00000 n +0001681245 00000 n +0002059283 00000 n +0000241715 00000 n +0000241984 00000 n +0001681374 00000 n +0002059214 00000 n +0000242045 00000 n +0000242192 00000 n +0001682868 00000 n +0002059074 00000 n +0000242248 00000 n +0000242466 00000 n +0001682997 00000 n +0002059005 00000 n +0000242527 00000 n +0000242664 00000 n +0001683061 00000 n +0002058880 00000 n +0000242720 00000 n +0000242900 00000 n +0001683189 00000 n +0002058796 00000 n +0000242961 00000 n +0000243098 00000 n +0001683317 00000 n +0002058697 00000 n +0000243159 00000 n +0000243256 00000 n +0001683446 00000 n +0002058598 00000 n +0000243317 00000 n +0000243444 00000 n +0001683574 00000 n +0002058514 00000 n +0000243505 00000 n +0000243632 00000 n +0001685160 00000 n +0002058373 00000 n +0000243680 00000 n +0000243815 00000 n +0001685288 00000 n +0002058289 00000 n +0000243865 00000 n +0000244311 00000 n +0001685416 00000 n +0002058190 00000 n +0000244361 00000 n +0000244792 00000 n +0001685545 00000 n +0002058091 00000 n +0000244842 00000 n +0000245308 00000 n +0001685674 00000 n +0002057992 00000 n +0000245358 00000 n +0000245839 00000 n +0001685803 00000 n +0002057893 00000 n +0000245889 00000 n +0000246345 00000 n +0001685931 00000 n +0002057753 00000 n +0000246395 00000 n +0000247069 00000 n +0001686059 00000 n +0002057684 00000 n +0000247124 00000 n +0000247289 00000 n +0001686188 00000 n +0002057544 00000 n +0000247339 00000 n +0000247983 00000 n +0001712762 00000 n +0002057460 00000 n +0000248038 00000 n +0000248203 00000 n +0001712826 00000 n +0002057335 00000 n +0000248258 00000 n +0000248476 00000 n +0001712953 00000 n +0002057251 00000 n +0000248536 00000 n +0000248683 00000 n +0001713797 00000 n +0002057152 00000 n +0000248743 00000 n +0000248890 00000 n +0001714570 00000 n +0002057053 00000 n +0000248950 00000 n +0000249097 00000 n +0001718025 00000 n +0002056969 00000 n +0000249157 00000 n +0000249299 00000 n +0001718284 00000 n +0002056829 00000 n +0000249349 00000 n +0000250018 00000 n +0001718478 00000 n +0002056719 00000 n +0000250073 00000 n +0000250243 00000 n +0001718606 00000 n +0002056635 00000 n +0000250303 00000 n +0000250420 00000 n +0001718735 00000 n +0002056551 00000 n +0000250480 00000 n +0000250627 00000 n +0001718864 00000 n +0002056452 00000 n +0000250677 00000 n +0000251346 00000 n +0001726345 00000 n +0002056353 00000 n +0000251397 00000 n +0000252066 00000 n +0001726668 00000 n +0002056213 00000 n +0000252117 00000 n +0000252826 00000 n +0001742885 00000 n +0002056103 00000 n +0000252882 00000 n +0000253105 00000 n +0001743014 00000 n +0002056019 00000 n +0000253166 00000 n +0000253313 00000 n +0001746684 00000 n +0002055920 00000 n +0000253374 00000 n +0000253571 00000 n +0001747266 00000 n +0002055821 00000 n +0000253632 00000 n +0000253769 00000 n +0001748174 00000 n +0002055722 00000 n +0000253830 00000 n +0000253947 00000 n +0001751613 00000 n +0002055623 00000 n +0000254008 00000 n +0000254130 00000 n +0001751936 00000 n +0002055524 00000 n +0000254191 00000 n +0000254343 00000 n +0001752260 00000 n +0002055425 00000 n +0000254404 00000 n +0000254561 00000 n +0001752648 00000 n +0002055341 00000 n +0000254622 00000 n +0000254764 00000 n +0001767373 00000 n +0002055201 00000 n +0000254815 00000 n +0000255509 00000 n +0001767630 00000 n +0002055076 00000 n +0000255565 00000 n +0000255740 00000 n +0001767759 00000 n +0002054992 00000 n +0000255801 00000 n +0000255923 00000 n +0001767888 00000 n +0002054908 00000 n +0000255984 00000 n +0000256136 00000 n +0001767952 00000 n +0002054783 00000 n +0000256192 00000 n +0000256415 00000 n +0001768078 00000 n +0002054714 00000 n +0000256476 00000 n +0000256633 00000 n +0001774708 00000 n +0002054574 00000 n +0000256684 00000 n +0000257373 00000 n +0001778692 00000 n +0002054490 00000 n +0000257429 00000 n +0000257599 00000 n +0001778756 00000 n +0002054365 00000 n +0000257655 00000 n +0000257830 00000 n +0001778884 00000 n +0002054281 00000 n +0000257891 00000 n +0000258013 00000 n +0001779012 00000 n +0002054197 00000 n +0000258074 00000 n +0000258226 00000 n +0001779141 00000 n +0002054057 00000 n +0000258277 00000 n +0000258966 00000 n +0001779335 00000 n +0002053947 00000 n +0000259022 00000 n +0000259197 00000 n +0001779464 00000 n +0002053863 00000 n +0000259258 00000 n +0000259360 00000 n +0001779593 00000 n +0002053764 00000 n +0000259421 00000 n +0000259543 00000 n +0001779722 00000 n +0002053680 00000 n +0000259604 00000 n +0000259756 00000 n +0001779851 00000 n +0002053540 00000 n +0000259807 00000 n +0000260541 00000 n +0001783408 00000 n +0002053471 00000 n +0000260597 00000 n +0000260767 00000 n +0001783536 00000 n +0002053331 00000 n +0000260818 00000 n +0000261507 00000 n +0001783730 00000 n +0002053221 00000 n +0000261563 00000 n +0000261738 00000 n +0001783859 00000 n +0002053137 00000 n +0000261799 00000 n +0000261901 00000 n +0001783988 00000 n +0002053053 00000 n +0000261962 00000 n +0000262084 00000 n +0001784117 00000 n +0002052913 00000 n +0000262135 00000 n +0000262819 00000 n +0001784311 00000 n +0002052803 00000 n +0000262875 00000 n +0000263050 00000 n +0001784439 00000 n +0002052734 00000 n +0000263111 00000 n +0000263233 00000 n +0001784567 00000 n +0002052594 00000 n +0000263284 00000 n +0000263978 00000 n +0001792883 00000 n +0002052525 00000 n +0000264034 00000 n +0000264204 00000 n +0001793012 00000 n +0002052426 00000 n +0000264255 00000 n +0000264964 00000 n +0001793205 00000 n +0002052286 00000 n +0000265015 00000 n +0000265689 00000 n +0001793399 00000 n +0002052176 00000 n +0000265745 00000 n +0000265968 00000 n +0001793527 00000 n +0002052092 00000 n +0000266029 00000 n +0000266206 00000 n +0001793849 00000 n +0002051993 00000 n +0000266267 00000 n +0000266444 00000 n +0001797746 00000 n +0002051894 00000 n +0000266505 00000 n +0000266657 00000 n +0001798069 00000 n +0002051810 00000 n +0000266718 00000 n +0000266890 00000 n +0001798458 00000 n +0002051670 00000 n +0000266941 00000 n +0000267645 00000 n +0001798652 00000 n +0002051560 00000 n +0000267701 00000 n +0000267876 00000 n +0001798781 00000 n +0002051476 00000 n +0000267937 00000 n +0000268039 00000 n +0001798908 00000 n +0002051392 00000 n +0000268100 00000 n +0000268252 00000 n +0001799034 00000 n +0002051293 00000 n +0000268303 00000 n +0000268947 00000 n +0001802829 00000 n +0002051194 00000 n +0000268998 00000 n +0000269662 00000 n +0001803023 00000 n +0002051054 00000 n +0000269713 00000 n +0000270352 00000 n +0001803152 00000 n +0002050985 00000 n +0000270408 00000 n +0000270578 00000 n +0001803281 00000 n +0002050845 00000 n +0000270629 00000 n +0000271323 00000 n +0001803410 00000 n +0002050776 00000 n +0000271379 00000 n +0000271549 00000 n +0001807509 00000 n +0002050636 00000 n +0000271600 00000 n +0000272284 00000 n +0001807768 00000 n +0002050526 00000 n +0000272340 00000 n +0000272515 00000 n +0001807896 00000 n +0002050457 00000 n +0000272576 00000 n +0000272728 00000 n +0001808024 00000 n +0002050358 00000 n +0000272779 00000 n +0000273528 00000 n +0001808153 00000 n +0002050259 00000 n +0000273579 00000 n +0000274323 00000 n +0001808347 00000 n +0002050160 00000 n +0000274374 00000 n +0000275133 00000 n +0001811967 00000 n +0002050061 00000 n +0000275184 00000 n +0000275933 00000 n +0001812161 00000 n +0002049962 00000 n +0000275984 00000 n +0000276733 00000 n +0001812355 00000 n +0002049863 00000 n +0000276784 00000 n +0000277608 00000 n +0001812549 00000 n +0002049764 00000 n +0000277659 00000 n +0000278473 00000 n +0001812742 00000 n +0002049665 00000 n +0000278524 00000 n +0000279348 00000 n +0001812936 00000 n +0002049566 00000 n +0000279399 00000 n +0000280213 00000 n +0001816964 00000 n +0002049467 00000 n +0000280264 00000 n +0000281073 00000 n +0001817157 00000 n +0002049368 00000 n +0000281124 00000 n +0000281923 00000 n +0001817351 00000 n +0002049269 00000 n +0000281974 00000 n +0000282487 00000 n +0001817610 00000 n +0002049170 00000 n +0000282538 00000 n +0000283046 00000 n +0001826275 00000 n +0002049071 00000 n +0000283097 00000 n +0000283650 00000 n +0001826533 00000 n +0002048972 00000 n +0000283701 00000 n +0000284224 00000 n +0001826791 00000 n +0002048873 00000 n +0000284275 00000 n +0000284818 00000 n +0001835346 00000 n +0002048774 00000 n +0000284869 00000 n +0000285412 00000 n +0001835602 00000 n +0002048675 00000 n +0000285463 00000 n +0000285961 00000 n +0001835926 00000 n +0002048576 00000 n +0000286012 00000 n +0000286515 00000 n +0001844254 00000 n +0002048477 00000 n +0000286566 00000 n +0000287094 00000 n +0001844513 00000 n +0002048393 00000 n +0000287145 00000 n +0000287698 00000 n +0001854933 00000 n +0002048308 00000 n +0000287749 00000 n +0000287803 00000 n +0000288159 00000 n +0000288345 00000 n +0000287855 00000 n +0000288282 00000 n +0002040996 00000 n +0002041354 00000 n +0000288643 00000 n +0000288520 00000 n +0000288419 00000 n +0000290093 00000 n +0000290244 00000 n +0000290395 00000 n +0000290548 00000 n +0000290708 00000 n +0000290868 00000 n +0000291027 00000 n +0000291177 00000 n +0000291328 00000 n +0000291478 00000 n +0000291629 00000 n +0000291782 00000 n +0000291942 00000 n +0000292102 00000 n +0000292267 00000 n +0000292429 00000 n +0000292594 00000 n +0000292759 00000 n +0000292924 00000 n +0000293083 00000 n +0000293248 00000 n +0000293401 00000 n +0000293561 00000 n +0000293712 00000 n +0000293865 00000 n +0000294018 00000 n +0000294171 00000 n +0000294329 00000 n +0000296441 00000 n +0000294554 00000 n +0000289706 00000 n +0000288685 00000 n +0000294491 00000 n +0002040449 00000 n +0002040272 00000 n +0000296592 00000 n +0000296744 00000 n +0000296904 00000 n +0000297069 00000 n +0000297234 00000 n +0000297399 00000 n +0000297552 00000 n +0000297711 00000 n +0000297876 00000 n +0000298028 00000 n +0000298181 00000 n +0000298332 00000 n +0000298485 00000 n +0000298645 00000 n +0000298805 00000 n +0000298969 00000 n +0000299134 00000 n +0000299299 00000 n +0000299452 00000 n +0000299612 00000 n +0000299772 00000 n +0000299937 00000 n +0000300102 00000 n +0000300262 00000 n +0000300426 00000 n +0000300591 00000 n +0000300756 00000 n +0000300921 00000 n +0000301081 00000 n +0000301246 00000 n +0000301411 00000 n +0000301576 00000 n +0000301741 00000 n +0000301906 00000 n +0000302059 00000 n +0000302219 00000 n +0000302379 00000 n +0000302542 00000 n +0000304513 00000 n +0000302705 00000 n +0000295955 00000 n +0000294656 00000 n +0000304673 00000 n +0000304838 00000 n +0000305003 00000 n +0000305167 00000 n +0000305332 00000 n +0000305492 00000 n +0000305657 00000 n +0000305818 00000 n +0000305983 00000 n +0000306147 00000 n +0000306312 00000 n +0000306464 00000 n +0000306623 00000 n +0000306783 00000 n +0000306947 00000 n +0000307107 00000 n +0000307272 00000 n +0000307437 00000 n +0000307598 00000 n +0000307763 00000 n +0000307926 00000 n +0000308086 00000 n +0000308251 00000 n +0000308415 00000 n +0000308579 00000 n +0000308744 00000 n +0000308904 00000 n +0000309069 00000 n +0000309234 00000 n +0000309386 00000 n +0000309546 00000 n +0000309706 00000 n +0000309871 00000 n +0000310030 00000 n +0000310195 00000 n +0000310360 00000 n +0000310525 00000 n +0000310690 00000 n +0000310852 00000 n +0000312937 00000 n +0000311015 00000 n +0000304018 00000 n +0000302793 00000 n +0000313102 00000 n +0000313266 00000 n +0000313431 00000 n +0000313596 00000 n +0000313762 00000 n +0000313927 00000 n +0000314092 00000 n +0000314258 00000 n +0000314424 00000 n +0000314590 00000 n +0000314756 00000 n +0000314922 00000 n +0000315088 00000 n +0000315248 00000 n +0000315413 00000 n +0000315577 00000 n +0000315742 00000 n +0000315906 00000 n +0000316066 00000 n +0000316231 00000 n +0000316393 00000 n +0000316558 00000 n +0000316722 00000 n +0000316887 00000 n +0000317052 00000 n +0000317217 00000 n +0000317382 00000 n +0000317547 00000 n +0000317713 00000 n +0000317878 00000 n +0000318044 00000 n +0000318209 00000 n +0000318375 00000 n +0000318527 00000 n +0000318687 00000 n +0000318846 00000 n +0000319011 00000 n +0000319176 00000 n +0000319338 00000 n +0000321289 00000 n +0000319501 00000 n +0000312442 00000 n +0000311103 00000 n +0000321454 00000 n +0000321619 00000 n +0000321784 00000 n +0000321934 00000 n +0000322094 00000 n +0000322254 00000 n +0000322419 00000 n +0000322580 00000 n +0000322745 00000 n +0000322909 00000 n +0000323074 00000 n +0000323238 00000 n +0000323403 00000 n +0000323568 00000 n +0000323732 00000 n +0000323885 00000 n +0000324045 00000 n +0000324205 00000 n +0000324368 00000 n +0000324533 00000 n +0000324698 00000 n +0000324863 00000 n +0000325028 00000 n +0000325193 00000 n +0000325356 00000 n +0000325521 00000 n +0000325685 00000 n +0000325851 00000 n +0000326017 00000 n +0000326182 00000 n +0000326348 00000 n +0000326513 00000 n +0000326679 00000 n +0000326844 00000 n +0000327010 00000 n +0000327163 00000 n +0000327323 00000 n +0000327483 00000 n +0000327646 00000 n +0000329718 00000 n +0000327804 00000 n +0000320794 00000 n +0000319589 00000 n +0002041480 00000 n +0000329883 00000 n +0000330048 00000 n +0000330208 00000 n +0000330372 00000 n +0000330537 00000 n +0000330697 00000 n +0000330862 00000 n +0000331012 00000 n +0000331173 00000 n +0000331333 00000 n +0000331499 00000 n +0000331665 00000 n +0000331831 00000 n +0000331996 00000 n +0000332161 00000 n +0000332327 00000 n +0000332493 00000 n +0000332647 00000 n +0000332808 00000 n +0000332974 00000 n +0000333140 00000 n +0000333306 00000 n +0000333459 00000 n +0000333620 00000 n +0000333780 00000 n +0000333946 00000 n +0000334112 00000 n +0000334278 00000 n +0000334443 00000 n +0000334608 00000 n +0000334773 00000 n +0000334939 00000 n +0000335104 00000 n +0000335270 00000 n +0000335437 00000 n +0000335603 00000 n +0000335769 00000 n +0000335936 00000 n +0000336101 00000 n +0000338169 00000 n +0000336266 00000 n +0000329223 00000 n +0000327892 00000 n +0000338323 00000 n +0000338483 00000 n +0000338644 00000 n +0000338810 00000 n +0000338975 00000 n +0000339141 00000 n +0000339307 00000 n +0000339469 00000 n +0000339635 00000 n +0000339800 00000 n +0000339966 00000 n +0000340132 00000 n +0000340298 00000 n +0000340465 00000 n +0000340632 00000 n +0000340798 00000 n +0000340964 00000 n +0000341131 00000 n +0000341298 00000 n +0000341465 00000 n +0000341629 00000 n +0000341795 00000 n +0000341962 00000 n +0000342129 00000 n +0000342295 00000 n +0000342461 00000 n +0000342628 00000 n +0000342795 00000 n +0000342962 00000 n +0000343128 00000 n +0000343295 00000 n +0000343462 00000 n +0000343616 00000 n +0000343777 00000 n +0000343938 00000 n +0000344104 00000 n +0000344270 00000 n +0000344436 00000 n +0000344600 00000 n +0000346576 00000 n +0000344763 00000 n +0000337674 00000 n +0000336354 00000 n +0000346742 00000 n +0000346907 00000 n +0000347073 00000 n +0000347239 00000 n +0000347405 00000 n +0000347572 00000 n +0000347739 00000 n +0000347906 00000 n +0000348073 00000 n +0000348227 00000 n +0000348388 00000 n +0000348549 00000 n +0000348714 00000 n +0000348880 00000 n +0000349046 00000 n +0000349212 00000 n +0000349378 00000 n +0000349544 00000 n +0000349708 00000 n +0000349874 00000 n +0000350038 00000 n +0000350205 00000 n +0000350372 00000 n +0000350539 00000 n +0000350706 00000 n +0000350873 00000 n +0000351034 00000 n +0000351200 00000 n +0000351354 00000 n +0000351515 00000 n +0000351676 00000 n +0000351842 00000 n +0000352003 00000 n +0000352168 00000 n +0000352334 00000 n +0000352499 00000 n +0000352665 00000 n +0000352819 00000 n +0000352977 00000 n +0000355077 00000 n +0000353136 00000 n +0000346081 00000 n +0000344851 00000 n +0000355243 00000 n +0000355396 00000 n +0000355557 00000 n +0000355718 00000 n +0000355884 00000 n +0000356050 00000 n +0000356216 00000 n +0000356378 00000 n +0000356544 00000 n +0000356709 00000 n +0000356875 00000 n +0000357041 00000 n +0000357207 00000 n +0000357361 00000 n +0000357522 00000 n +0000357687 00000 n +0000357841 00000 n +0000358002 00000 n +0000358161 00000 n +0000358327 00000 n +0000358481 00000 n +0000358642 00000 n +0000358802 00000 n +0000358968 00000 n +0000359134 00000 n +0000359300 00000 n +0000359466 00000 n +0000359632 00000 n +0000359798 00000 n +0000359963 00000 n +0000360129 00000 n +0000360295 00000 n +0000360449 00000 n +0000360610 00000 n +0000360771 00000 n +0000360937 00000 n +0000361103 00000 n +0000361269 00000 n +0000361433 00000 n +0000363543 00000 n +0000361597 00000 n +0000354582 00000 n +0000353224 00000 n +0000363709 00000 n +0000363875 00000 n +0000364041 00000 n +0000364206 00000 n +0000364373 00000 n +0000364540 00000 n +0000364706 00000 n +0000364873 00000 n +0000365040 00000 n +0000365207 00000 n +0000365374 00000 n +0000365541 00000 n +0000365706 00000 n +0000365873 00000 n +0000366039 00000 n +0000366206 00000 n +0000366373 00000 n +0000366540 00000 n +0000366705 00000 n +0000366871 00000 n +0000367037 00000 n +0000367202 00000 n +0000367369 00000 n +0000367536 00000 n +0000367689 00000 n +0000367850 00000 n +0000368004 00000 n +0000368164 00000 n +0000368325 00000 n +0000368490 00000 n +0000368656 00000 n +0000368810 00000 n +0000368971 00000 n +0000369132 00000 n +0000369298 00000 n +0000369462 00000 n +0000369616 00000 n +0000369777 00000 n +0000369936 00000 n +0000371930 00000 n +0000370100 00000 n +0000363048 00000 n +0000361685 00000 n +0000372096 00000 n +0000372262 00000 n +0000372428 00000 n +0000372594 00000 n +0000372760 00000 n +0000372926 00000 n +0000373092 00000 n +0000373258 00000 n +0000373425 00000 n +0000373591 00000 n +0000373757 00000 n +0000373923 00000 n +0000374090 00000 n +0000374257 00000 n +0000374424 00000 n +0000374591 00000 n +0000374758 00000 n +0000374925 00000 n +0000375092 00000 n +0000375246 00000 n +0000375405 00000 n +0000375571 00000 n +0000375737 00000 n +0000375902 00000 n +0000376068 00000 n +0000376234 00000 n +0000376400 00000 n +0000376566 00000 n +0000376732 00000 n +0000376898 00000 n +0000377052 00000 n +0000377213 00000 n +0000377374 00000 n +0000377539 00000 n +0000377705 00000 n +0000377870 00000 n +0000378036 00000 n +0000378202 00000 n +0000378364 00000 n +0000380344 00000 n +0000378528 00000 n +0000371435 00000 n +0000370188 00000 n +0002041606 00000 n +0000380510 00000 n +0000380676 00000 n +0000380843 00000 n +0000381009 00000 n +0000381176 00000 n +0000381343 00000 n +0000381510 00000 n +0000381673 00000 n +0000381840 00000 n +0000382007 00000 n +0000382173 00000 n +0000382340 00000 n +0000382507 00000 n +0000382674 00000 n +0000382841 00000 n +0000383008 00000 n +0000383175 00000 n +0000383342 00000 n +0000383509 00000 n +0000383676 00000 n +0000383841 00000 n +0000384008 00000 n +0000384175 00000 n +0000384342 00000 n +0000384509 00000 n +0000384676 00000 n +0000384843 00000 n +0000385010 00000 n +0000385177 00000 n +0000385343 00000 n +0000385510 00000 n +0000385677 00000 n +0000385843 00000 n +0000386010 00000 n +0000386177 00000 n +0000386344 00000 n +0000386510 00000 n +0000386677 00000 n +0000386842 00000 n +0000388879 00000 n +0000387005 00000 n +0000379849 00000 n +0000378616 00000 n +0000389046 00000 n +0000389213 00000 n +0000389380 00000 n +0000389547 00000 n +0000389714 00000 n +0000389881 00000 n +0000390048 00000 n +0000390215 00000 n +0000390382 00000 n +0000390548 00000 n +0000390715 00000 n +0000390882 00000 n +0000391049 00000 n +0000391216 00000 n +0000391383 00000 n +0000391549 00000 n +0000391716 00000 n +0000391883 00000 n +0000392048 00000 n +0000392215 00000 n +0000392369 00000 n +0000392530 00000 n +0000392690 00000 n +0000392856 00000 n +0000393022 00000 n +0000393183 00000 n +0000393347 00000 n +0000393512 00000 n +0000393678 00000 n +0000393843 00000 n +0000394009 00000 n +0000394175 00000 n +0000394341 00000 n +0000394506 00000 n +0000394672 00000 n +0000394839 00000 n +0000394992 00000 n +0000395153 00000 n +0000395312 00000 n +0000397329 00000 n +0000395476 00000 n +0000388384 00000 n +0000387093 00000 n +0000397495 00000 n +0000397656 00000 n +0000397822 00000 n +0000397988 00000 n +0000398154 00000 n +0000398315 00000 n +0000398481 00000 n +0000398635 00000 n +0000398796 00000 n +0000398957 00000 n +0000399123 00000 n +0000399284 00000 n +0000399450 00000 n +0000399611 00000 n +0000399776 00000 n +0000399941 00000 n +0000400102 00000 n +0000400268 00000 n +0000400420 00000 n +0000400581 00000 n +0000400740 00000 n +0000400906 00000 n +0000401070 00000 n +0000401236 00000 n +0000401401 00000 n +0000401566 00000 n +0000401732 00000 n +0000401898 00000 n +0000402064 00000 n +0000402229 00000 n +0000402396 00000 n +0000402563 00000 n +0000402729 00000 n +0000402895 00000 n +0000403062 00000 n +0000403229 00000 n +0000403396 00000 n +0000403563 00000 n +0000403727 00000 n +0000405629 00000 n +0000403892 00000 n +0000396834 00000 n +0000395564 00000 n +0000405796 00000 n +0000405962 00000 n +0000406129 00000 n +0000406295 00000 n +0000406462 00000 n +0000406629 00000 n +0000406796 00000 n +0000406959 00000 n +0000407126 00000 n +0000407291 00000 n +0000407457 00000 n +0000407624 00000 n +0000407791 00000 n +0000407958 00000 n +0000408125 00000 n +0000408292 00000 n +0000408459 00000 n +0000408626 00000 n +0000408793 00000 n +0000408960 00000 n +0000409125 00000 n +0000409292 00000 n +0000409458 00000 n +0000409624 00000 n +0000409791 00000 n +0000409958 00000 n +0000410125 00000 n +0000410290 00000 n +0000410457 00000 n +0000410624 00000 n +0000410791 00000 n +0000410958 00000 n +0000411125 00000 n +0000411292 00000 n +0000411459 00000 n +0000411626 00000 n +0000411793 00000 n +0000411960 00000 n +0000412125 00000 n +0000414198 00000 n +0000412290 00000 n +0000405134 00000 n +0000403980 00000 n +0000414364 00000 n +0000414531 00000 n +0000414698 00000 n +0000414864 00000 n +0000415031 00000 n +0000415198 00000 n +0000415365 00000 n +0000415528 00000 n +0000415695 00000 n +0000415855 00000 n +0000416021 00000 n +0000416187 00000 n +0000416353 00000 n +0000416519 00000 n +0000416684 00000 n +0000416850 00000 n +0000417015 00000 n +0000417181 00000 n +0000417345 00000 n +0000417512 00000 n +0000417679 00000 n +0000417846 00000 n +0000418012 00000 n +0000418179 00000 n +0000418346 00000 n +0000418513 00000 n +0000418680 00000 n +0000418840 00000 n +0000419006 00000 n +0000419171 00000 n +0000419337 00000 n +0000419502 00000 n +0000419668 00000 n +0000419833 00000 n +0000419999 00000 n +0000420164 00000 n +0000420330 00000 n +0000420497 00000 n +0000420661 00000 n +0000422715 00000 n +0000420826 00000 n +0000413703 00000 n +0000412378 00000 n +0000422882 00000 n +0000423049 00000 n +0000423216 00000 n +0000423382 00000 n +0000423549 00000 n +0000423716 00000 n +0000423883 00000 n +0000424046 00000 n +0000424213 00000 n +0000424380 00000 n +0000424547 00000 n +0000424714 00000 n +0000424880 00000 n +0000425046 00000 n +0000425212 00000 n +0000425379 00000 n +0000425546 00000 n +0000425713 00000 n +0000425878 00000 n +0000426045 00000 n +0000426210 00000 n +0000426377 00000 n +0000426544 00000 n +0000426711 00000 n +0000426877 00000 n +0000427044 00000 n +0000427211 00000 n +0000427378 00000 n +0000427545 00000 n +0000427711 00000 n +0000427878 00000 n +0000428045 00000 n +0000428212 00000 n +0000428378 00000 n +0000428531 00000 n +0000428691 00000 n +0000428857 00000 n +0000429023 00000 n +0000429182 00000 n +0000431120 00000 n +0000429346 00000 n +0000422220 00000 n +0000420914 00000 n +0002041732 00000 n +0000431285 00000 n +0000431451 00000 n +0000431617 00000 n +0000431778 00000 n +0000431944 00000 n +0000432109 00000 n +0000432262 00000 n +0000432423 00000 n +0000432584 00000 n +0000432749 00000 n +0000432910 00000 n +0000433076 00000 n +0000433241 00000 n +0000433406 00000 n +0000433571 00000 n +0000433736 00000 n +0000433901 00000 n +0000434067 00000 n +0000434231 00000 n +0000434396 00000 n +0000434562 00000 n +0000434728 00000 n +0000434895 00000 n +0000435062 00000 n +0000435229 00000 n +0000435390 00000 n +0000435556 00000 n +0000435722 00000 n +0000435883 00000 n +0000436047 00000 n +0000436213 00000 n +0000436379 00000 n +0000436545 00000 n +0000436710 00000 n +0000436875 00000 n +0000437040 00000 n +0000437206 00000 n +0000437372 00000 n +0000437537 00000 n +0000439441 00000 n +0000437702 00000 n +0000430625 00000 n +0000429434 00000 n +0000439608 00000 n +0000439775 00000 n +0000439942 00000 n +0000440095 00000 n +0000440256 00000 n +0000440417 00000 n +0000440583 00000 n +0000440737 00000 n +0000440898 00000 n +0000441058 00000 n +0000441224 00000 n +0000441378 00000 n +0000441538 00000 n +0000441699 00000 n +0000441864 00000 n +0000442030 00000 n +0000442196 00000 n +0000442362 00000 n +0000442523 00000 n +0000442689 00000 n +0000442855 00000 n +0000443021 00000 n +0000443186 00000 n +0000443352 00000 n +0000443518 00000 n +0000443684 00000 n +0000443838 00000 n +0000443998 00000 n +0000444159 00000 n +0000444324 00000 n +0000444485 00000 n +0000444651 00000 n +0000444817 00000 n +0000444982 00000 n +0000445148 00000 n +0000445314 00000 n +0000445480 00000 n +0000445646 00000 n +0000445810 00000 n +0000447833 00000 n +0000445974 00000 n +0000438946 00000 n +0000437790 00000 n +0000448000 00000 n +0000448167 00000 n +0000448334 00000 n +0000448500 00000 n +0000448667 00000 n +0000448833 00000 n +0000448994 00000 n +0000449156 00000 n +0000449322 00000 n +0000449487 00000 n +0000449640 00000 n +0000449801 00000 n +0000449962 00000 n +0000450128 00000 n +0000450289 00000 n +0000450455 00000 n +0000450620 00000 n +0000450786 00000 n +0000450952 00000 n +0000451118 00000 n +0000451284 00000 n +0000451438 00000 n +0000451599 00000 n +0000451760 00000 n +0000451926 00000 n +0000452092 00000 n +0000452246 00000 n +0000452407 00000 n +0000452573 00000 n +0000452734 00000 n +0000452900 00000 n +0000453066 00000 n +0000453232 00000 n +0000453398 00000 n +0000453564 00000 n +0000453718 00000 n +0000453879 00000 n +0000454044 00000 n +0000454207 00000 n +0000456202 00000 n +0000454366 00000 n +0000447338 00000 n +0000446062 00000 n +0000456368 00000 n +0000456534 00000 n +0000456700 00000 n +0000456865 00000 n +0000457031 00000 n +0000457197 00000 n +0000457363 00000 n +0000457529 00000 n +0000457695 00000 n +0000457862 00000 n +0000458029 00000 n +0000458196 00000 n +0000458362 00000 n +0000458529 00000 n +0000458682 00000 n +0000458843 00000 n +0000459009 00000 n +0000459170 00000 n +0000459334 00000 n +0000459500 00000 n +0000459666 00000 n +0000459820 00000 n +0000459980 00000 n +0000460146 00000 n +0000460306 00000 n +0000460472 00000 n +0000460638 00000 n +0000460803 00000 n +0000460969 00000 n +0000461122 00000 n +0000461283 00000 n +0000461449 00000 n +0000461610 00000 n +0000461775 00000 n +0000461941 00000 n +0000462107 00000 n +0000462261 00000 n +0000462422 00000 n +0000462585 00000 n +0000464626 00000 n +0000462744 00000 n +0000455707 00000 n +0000454454 00000 n +0000464792 00000 n +0000464957 00000 n +0000465123 00000 n +0000465288 00000 n +0000465442 00000 n +0000465603 00000 n +0000465764 00000 n +0000465926 00000 n +0000466091 00000 n +0000466257 00000 n +0000466423 00000 n +0000466589 00000 n +0000466754 00000 n +0000466920 00000 n +0000467085 00000 n +0000467251 00000 n +0000467418 00000 n +0000467585 00000 n +0000467750 00000 n +0000467917 00000 n +0000468084 00000 n +0000468251 00000 n +0000468411 00000 n +0000468577 00000 n +0000468742 00000 n +0000468908 00000 n +0000469074 00000 n +0000469240 00000 n +0000469406 00000 n +0000469572 00000 n +0000469738 00000 n +0000469904 00000 n +0000470071 00000 n +0000470238 00000 n +0000470399 00000 n +0000470565 00000 n +0000470731 00000 n +0000470897 00000 n +0000471061 00000 n +0000473101 00000 n +0000471225 00000 n +0000464131 00000 n +0000462832 00000 n +0000473267 00000 n +0000473433 00000 n +0000473599 00000 n +0000473764 00000 n +0000473917 00000 n +0000474078 00000 n +0000474239 00000 n +0000474405 00000 n +0000474570 00000 n +0000474736 00000 n +0000474890 00000 n +0000475051 00000 n +0000475212 00000 n +0000475378 00000 n +0000475543 00000 n +0000475709 00000 n +0000475875 00000 n +0000476041 00000 n +0000476205 00000 n +0000476371 00000 n +0000476537 00000 n +0000476703 00000 n +0000476869 00000 n +0000477036 00000 n +0000477202 00000 n +0000477369 00000 n +0000477536 00000 n +0000477702 00000 n +0000477869 00000 n +0000478035 00000 n +0000478200 00000 n +0000478367 00000 n +0000478534 00000 n +0000478700 00000 n +0000478867 00000 n +0000479034 00000 n +0000479201 00000 n +0000479366 00000 n +0000479530 00000 n +0000481566 00000 n +0000479693 00000 n +0000472606 00000 n +0000471313 00000 n +0002041858 00000 n +0000481733 00000 n +0000481899 00000 n +0000482053 00000 n +0000482214 00000 n +0000482368 00000 n +0000482529 00000 n +0000482690 00000 n +0000482856 00000 n +0000483022 00000 n +0000483187 00000 n +0000483353 00000 n +0000483518 00000 n +0000483684 00000 n +0000483850 00000 n +0000484016 00000 n +0000484169 00000 n +0000484330 00000 n +0000484496 00000 n +0000484662 00000 n +0000484823 00000 n +0000484987 00000 n +0000485153 00000 n +0000485313 00000 n +0000485479 00000 n +0000485644 00000 n +0000485809 00000 n +0000485974 00000 n +0000486128 00000 n +0000486289 00000 n +0000486450 00000 n +0000486616 00000 n +0000486782 00000 n +0000486948 00000 n +0000487114 00000 n +0000487280 00000 n +0000487440 00000 n +0000487606 00000 n +0000487772 00000 n +0000487935 00000 n +0000489802 00000 n +0000488099 00000 n +0000481071 00000 n +0000479781 00000 n +0000489968 00000 n +0000490134 00000 n +0000490300 00000 n +0000490466 00000 n +0000490632 00000 n +0000490799 00000 n +0000490966 00000 n +0000491133 00000 n +0000491300 00000 n +0000491466 00000 n +0000491633 00000 n +0000491799 00000 n +0000491953 00000 n +0000492114 00000 n +0000492275 00000 n +0000492440 00000 n +0000492606 00000 n +0000492772 00000 n +0000492936 00000 n +0000493097 00000 n +0000493263 00000 n +0000493429 00000 n +0000493595 00000 n +0000493761 00000 n +0000493926 00000 n +0000494092 00000 n +0000494253 00000 n +0000494418 00000 n +0000494584 00000 n +0000494749 00000 n +0000494915 00000 n +0000495081 00000 n +0000495247 00000 n +0000495413 00000 n +0000495579 00000 n +0000495744 00000 n +0000495911 00000 n +0000496078 00000 n +0000496242 00000 n +0000498259 00000 n +0000496407 00000 n +0000489307 00000 n +0000488187 00000 n +0000498426 00000 n +0000498592 00000 n +0000498746 00000 n +0000498907 00000 n +0000499068 00000 n +0000499233 00000 n +0000499399 00000 n +0000499565 00000 n +0000499731 00000 n +0000499896 00000 n +0000500062 00000 n +0000500223 00000 n +0000500388 00000 n +0000500554 00000 n +0000500720 00000 n +0000500886 00000 n +0000501051 00000 n +0000501217 00000 n +0000501381 00000 n +0000501547 00000 n +0000501711 00000 n +0000501878 00000 n +0000502045 00000 n +0000502212 00000 n +0000502378 00000 n +0000502545 00000 n +0000502712 00000 n +0000502866 00000 n +0000503027 00000 n +0000503188 00000 n +0000503354 00000 n +0000503520 00000 n +0000503673 00000 n +0000503834 00000 n +0000504000 00000 n +0000504166 00000 n +0000504320 00000 n +0000504481 00000 n +0000504640 00000 n +0000506713 00000 n +0000504804 00000 n +0000497764 00000 n +0000496495 00000 n +0000506874 00000 n +0000507039 00000 n +0000507205 00000 n +0000507370 00000 n +0000507536 00000 n +0000507702 00000 n +0000507868 00000 n +0000508034 00000 n +0000508195 00000 n +0000508360 00000 n +0000508526 00000 n +0000508692 00000 n +0000508858 00000 n +0000509024 00000 n +0000509190 00000 n +0000509355 00000 n +0000509521 00000 n +0000509687 00000 n +0000509854 00000 n +0000510021 00000 n +0000510186 00000 n +0000510353 00000 n +0000510519 00000 n +0000510686 00000 n +0000510852 00000 n +0000511019 00000 n +0000511180 00000 n +0000511346 00000 n +0000511500 00000 n +0000511661 00000 n +0000511822 00000 n +0000511988 00000 n +0000512149 00000 n +0000512314 00000 n +0000512480 00000 n +0000512645 00000 n +0000512811 00000 n +0000512977 00000 n +0000513141 00000 n +0000515047 00000 n +0000513293 00000 n +0000506218 00000 n +0000504892 00000 n +0000515208 00000 n +0000515374 00000 n +0000515540 00000 n +0000515694 00000 n +0000515855 00000 n +0000516021 00000 n +0000516186 00000 n +0000516352 00000 n +0000516504 00000 n +0000516665 00000 n +0000516826 00000 n +0000516992 00000 n +0000517158 00000 n +0000517319 00000 n +0000517485 00000 n +0000517646 00000 n +0000517812 00000 n +0000517978 00000 n +0000518144 00000 n +0000518304 00000 n +0000518469 00000 n +0000518623 00000 n +0000518783 00000 n +0000518949 00000 n +0000519110 00000 n +0000519276 00000 n +0000519442 00000 n +0000519596 00000 n +0000519757 00000 n +0000519918 00000 n +0000520083 00000 n +0000520244 00000 n +0000520410 00000 n +0000520571 00000 n +0000520736 00000 n +0000520902 00000 n +0000521067 00000 n +0000521232 00000 n +0000523330 00000 n +0000521377 00000 n +0000514561 00000 n +0000513381 00000 n +0000523480 00000 n +0000523633 00000 n +0000523784 00000 n +0000523937 00000 n +0000524090 00000 n +0000524394 00000 n +0000524553 00000 n +0000524859 00000 n +0000525019 00000 n +0000525179 00000 n +0000525344 00000 n +0000525509 00000 n +0000525673 00000 n +0000525838 00000 n +0000526144 00000 n +0000526304 00000 n +0000526467 00000 n +0000526632 00000 n +0000526938 00000 n +0000527243 00000 n +0000527551 00000 n +0000527712 00000 n +0000527874 00000 n +0000528040 00000 n +0000528206 00000 n +0000528372 00000 n +0000528538 00000 n +0000528704 00000 n +0000528870 00000 n +0000529035 00000 n +0000529343 00000 n +0000529504 00000 n +0000529670 00000 n +0000529834 00000 n +0000531850 00000 n +0000529993 00000 n +0000522817 00000 n +0000521465 00000 n +0002039946 00000 n +0002039798 00000 n +0000524242 00000 n +0000524706 00000 n +0000525991 00000 n +0000526785 00000 n +0000527090 00000 n +0000527397 00000 n +0000529189 00000 n +0002041984 00000 n +0000532016 00000 n +0000532323 00000 n +0000532483 00000 n +0000532644 00000 n +0000532810 00000 n +0000532976 00000 n +0000533283 00000 n +0000533444 00000 n +0000533609 00000 n +0000533774 00000 n +0000533939 00000 n +0000534247 00000 n +0000534408 00000 n +0000534715 00000 n +0000534875 00000 n +0000535041 00000 n +0000535207 00000 n +0000535515 00000 n +0000535675 00000 n +0000535841 00000 n +0000536148 00000 n +0000536309 00000 n +0000536616 00000 n +0000536924 00000 n +0000537085 00000 n +0000537251 00000 n +0000537417 00000 n +0000537583 00000 n +0000537749 00000 n +0000538057 00000 n +0000538218 00000 n +0000538382 00000 n +0000540487 00000 n +0000538546 00000 n +0000531337 00000 n +0000530109 00000 n +0000532170 00000 n +0000533129 00000 n +0000534093 00000 n +0000534562 00000 n +0000535361 00000 n +0000535994 00000 n +0000536463 00000 n +0000536770 00000 n +0000537903 00000 n +0000540794 00000 n +0000541102 00000 n +0000541409 00000 n +0000541570 00000 n +0000541878 00000 n +0000542039 00000 n +0000542347 00000 n +0000542507 00000 n +0000542671 00000 n +0000542979 00000 n +0000543285 00000 n +0000543593 00000 n +0000543901 00000 n +0000544208 00000 n +0000544516 00000 n +0000544824 00000 n +0000545132 00000 n +0000545440 00000 n +0000545748 00000 n +0000546056 00000 n +0000546209 00000 n +0000546362 00000 n +0000546670 00000 n +0000546824 00000 n +0000547131 00000 n +0000547434 00000 n +0000548436 00000 n +0000547586 00000 n +0000539938 00000 n +0000538662 00000 n +0000540640 00000 n +0000540948 00000 n +0000541255 00000 n +0000541724 00000 n +0000542193 00000 n +0000542825 00000 n +0000543133 00000 n +0000543439 00000 n +0000543747 00000 n +0000544054 00000 n +0000544362 00000 n +0000544670 00000 n +0000544978 00000 n +0000545286 00000 n +0000545594 00000 n +0000545902 00000 n +0000546516 00000 n +0000546978 00000 n +0000547284 00000 n +0000548590 00000 n +0000548744 00000 n +0000548897 00000 n +0000549050 00000 n +0000548265 00000 n +0000547702 00000 n +0000551203 00000 n +0000551377 00000 n +0000551537 00000 n +0000551695 00000 n +0000551870 00000 n +0000552030 00000 n +0000552259 00000 n +0000552419 00000 n +0000552578 00000 n +0000552807 00000 n +0000552957 00000 n +0000553523 00000 n +0000550969 00000 n +0000549138 00000 n +0000553149 00000 n +0000553272 00000 n +0000553335 00000 n +0002040094 00000 n +0000553397 00000 n +0000553460 00000 n +0000737914 00000 n +0000557448 00000 n +0000554173 00000 n +0000553987 00000 n +0000553639 00000 n +0000554110 00000 n +0000556090 00000 n +0000556249 00000 n +0000556409 00000 n +0000556602 00000 n +0000556762 00000 n +0000556953 00000 n +0000557148 00000 n +0000561608 00000 n +0000557760 00000 n +0000555892 00000 n +0000554247 00000 n +0000557325 00000 n +0000557510 00000 n +0000557635 00000 n +0000557698 00000 n +0002042110 00000 n +0000561768 00000 n +0000561964 00000 n +0000562196 00000 n +0000562354 00000 n +0000562514 00000 n +0000562674 00000 n +0000562838 00000 n +0000562998 00000 n +0000563390 00000 n +0000563585 00000 n +0000563783 00000 n +0000563942 00000 n +0000564105 00000 n +0000567695 00000 n +0000564574 00000 n +0000561338 00000 n +0000557876 00000 n +0000564262 00000 n +0000564325 00000 n +0000564388 00000 n +0000564450 00000 n +0000563194 00000 n +0001139079 00000 n +0001235861 00000 n +0001306543 00000 n +0001241949 00000 n +0001671594 00000 n +0000567854 00000 n +0000568011 00000 n +0000568207 00000 n +0000568371 00000 n +0000568530 00000 n +0000568693 00000 n +0000568891 00000 n +0000569045 00000 n +0000569203 00000 n +0000569354 00000 n +0000569505 00000 n +0000569696 00000 n +0000569889 00000 n +0000570046 00000 n +0000570206 00000 n +0000570433 00000 n +0000570592 00000 n +0000574426 00000 n +0000571100 00000 n +0000567398 00000 n +0000564718 00000 n +0000570785 00000 n +0000570848 00000 n +0000570911 00000 n +0000570974 00000 n +0000571037 00000 n +0001306100 00000 n +0001601277 00000 n +0001585765 00000 n +0001718542 00000 n +0001622386 00000 n +0001925851 00000 n +0001675849 00000 n +0000574612 00000 n +0000574765 00000 n +0000574956 00000 n +0000575149 00000 n +0000575378 00000 n +0000575552 00000 n +0000575718 00000 n +0000575879 00000 n +0000576271 00000 n +0000576431 00000 n +0000580181 00000 n +0000580339 00000 n +0000580498 00000 n +0000580659 00000 n +0000576943 00000 n +0000574183 00000 n +0000571216 00000 n +0000576628 00000 n +0000576691 00000 n +0000576754 00000 n +0000576817 00000 n +0000576075 00000 n +0000576880 00000 n +0001592146 00000 n +0001925817 00000 n +0001513467 00000 n +0001458787 00000 n +0001236113 00000 n +0000580820 00000 n +0000580980 00000 n +0000581141 00000 n +0000581301 00000 n +0000581530 00000 n +0000581692 00000 n +0000581861 00000 n +0000582056 00000 n +0000582253 00000 n +0000582450 00000 n +0000582613 00000 n +0000582772 00000 n +0000582928 00000 n +0000583086 00000 n +0000583246 00000 n +0000583590 00000 n +0000587492 00000 n +0000584125 00000 n +0000579857 00000 n +0000577087 00000 n +0000583749 00000 n +0000583812 00000 n +0000583875 00000 n +0000583938 00000 n +0000584000 00000 n +0000583420 00000 n +0000681470 00000 n +0001391821 00000 n +0001131300 00000 n +0001407620 00000 n +0001402078 00000 n +0001567167 00000 n +0001040183 00000 n +0000587722 00000 n +0000587883 00000 n +0000588053 00000 n +0000588210 00000 n +0000588379 00000 n +0000588539 00000 n +0000588737 00000 n +0000588933 00000 n +0000589506 00000 n +0000587276 00000 n +0000584269 00000 n +0000589130 00000 n +0000589193 00000 n +0000589256 00000 n +0000589319 00000 n +0000589443 00000 n +0000696605 00000 n +0001260770 00000 n +0000593168 00000 n +0000593366 00000 n +0000593527 00000 n +0000593688 00000 n +0000593917 00000 n +0000594114 00000 n +0000594272 00000 n +0000594435 00000 n +0000594828 00000 n +0000595153 00000 n +0000595317 00000 n +0000595481 00000 n +0000595676 00000 n +0000595873 00000 n +0000596264 00000 n +0000596459 00000 n +0000596655 00000 n +0000600708 00000 n +0000600904 00000 n +0000601102 00000 n +0000601496 00000 n +0000601694 00000 n +0000597039 00000 n +0000592853 00000 n +0000589622 00000 n +0000596851 00000 n +0000596914 00000 n +0000596977 00000 n +0000594633 00000 n +0000594991 00000 n +0000596070 00000 n +0002042236 00000 n +0001195127 00000 n +0000696794 00000 n +0001326708 00000 n +0001342252 00000 n +0001326960 00000 n +0001326834 00000 n +0001326456 00000 n +0001336353 00000 n +0001320780 00000 n +0000601887 00000 n +0000602084 00000 n +0000602282 00000 n +0000602445 00000 n +0000602606 00000 n +0000602767 00000 n +0000602930 00000 n +0000603091 00000 n +0000603252 00000 n +0000603850 00000 n +0000600438 00000 n +0000597183 00000 n +0000603410 00000 n +0000601300 00000 n +0000603473 00000 n +0000603535 00000 n +0000603598 00000 n +0000603661 00000 n +0000603724 00000 n +0000603787 00000 n +0001218817 00000 n +0001275318 00000 n +0001484969 00000 n +0001331491 00000 n +0001326329 00000 n +0000604826 00000 n +0000604577 00000 n +0000603980 00000 n +0000604700 00000 n +0000604763 00000 n +0000605463 00000 n +0000605277 00000 n +0000604928 00000 n +0000605400 00000 n +0000607032 00000 n +0000606723 00000 n +0000605537 00000 n +0000606846 00000 n +0000606970 00000 n +0000607660 00000 n +0000607474 00000 n +0000607120 00000 n +0000607597 00000 n +0000609542 00000 n +0000610272 00000 n +0000609398 00000 n +0000607734 00000 n +0000609708 00000 n +0000609832 00000 n +0000609894 00000 n +0000609957 00000 n +0000610020 00000 n +0000610083 00000 n +0000610146 00000 n +0000610209 00000 n +0002042362 00000 n +0001387855 00000 n +0000611330 00000 n +0000611081 00000 n +0000610360 00000 n +0000611204 00000 n +0000611267 00000 n +0000612340 00000 n +0000612665 00000 n +0000612838 00000 n +0000613183 00000 n +0000612169 00000 n +0000611432 00000 n +0000612997 00000 n +0000613121 00000 n +0000612504 00000 n +0000620358 00000 n +0000613839 00000 n +0000613653 00000 n +0000613299 00000 n +0000613776 00000 n +0000615935 00000 n +0000616105 00000 n +0000616273 00000 n +0000616447 00000 n +0000616617 00000 n +0000616780 00000 n +0000617009 00000 n +0000617170 00000 n +0000617333 00000 n +0000617497 00000 n +0000617660 00000 n +0000617821 00000 n +0000617973 00000 n +0000618288 00000 n +0000618447 00000 n +0000618642 00000 n +0000618870 00000 n +0000619099 00000 n +0000619554 00000 n +0000619781 00000 n +0000620006 00000 n +0000624121 00000 n +0000624349 00000 n +0000624578 00000 n +0000624807 00000 n +0000625036 00000 n +0000625265 00000 n +0000625723 00000 n +0000625951 00000 n +0000626180 00000 n +0000626409 00000 n +0000626868 00000 n +0000627097 00000 n +0000627327 00000 n +0000627556 00000 n +0000627786 00000 n +0000628015 00000 n +0000628472 00000 n +0000628700 00000 n +0000629157 00000 n +0000629385 00000 n +0000629843 00000 n +0000630073 00000 n +0000630530 00000 n +0000630758 00000 n +0000620606 00000 n +0000615593 00000 n +0000613913 00000 n +0000620234 00000 n +0000620480 00000 n +0002041173 00000 n +0000618132 00000 n +0000620543 00000 n +0000619328 00000 n +0001031163 00000 n +0000976222 00000 n +0000655344 00000 n +0000668997 00000 n +0000669060 00000 n +0000669123 00000 n +0000669186 00000 n +0000669249 00000 n +0000669312 00000 n +0000631217 00000 n +0000631377 00000 n +0000631572 00000 n +0000631801 00000 n +0000632030 00000 n +0000632259 00000 n +0000632454 00000 n +0000632681 00000 n +0000632909 00000 n +0000633137 00000 n +0000633365 00000 n +0000633594 00000 n +0000633824 00000 n +0000634054 00000 n +0000634249 00000 n +0000634478 00000 n +0000634708 00000 n +0000634938 00000 n +0000635168 00000 n +0000635396 00000 n +0000635625 00000 n +0000635854 00000 n +0000636083 00000 n +0000636312 00000 n +0000636542 00000 n +0000636771 00000 n +0000637001 00000 n +0000637230 00000 n +0000637460 00000 n +0000637919 00000 n +0000638148 00000 n +0000638375 00000 n +0000638603 00000 n +0000639061 00000 n +0000639291 00000 n +0000639519 00000 n +0000639714 00000 n +0000639943 00000 n +0000640401 00000 n +0000640859 00000 n +0000641089 00000 n +0000641318 00000 n +0000641548 00000 n +0000641778 00000 n +0000642237 00000 n +0000642466 00000 n +0000642925 00000 n +0000643383 00000 n +0000643613 00000 n +0000643808 00000 n +0000643969 00000 n +0000644137 00000 n +0000644579 00000 n +0000623167 00000 n +0000620737 00000 n +0000644453 00000 n +0000625495 00000 n +0000626639 00000 n +0000628245 00000 n +0000628928 00000 n +0000629614 00000 n +0000630303 00000 n +0000630988 00000 n +0000637690 00000 n +0000638832 00000 n +0000640173 00000 n +0000640630 00000 n +0000642008 00000 n +0000642696 00000 n +0000643155 00000 n +0000644516 00000 n +0000644295 00000 n +0000669374 00000 n +0000669437 00000 n +0000669500 00000 n +0000669563 00000 n +0000681029 00000 n +0000681092 00000 n +0000681155 00000 n +0000681218 00000 n +0000681281 00000 n +0000681344 00000 n +0000681407 00000 n +0000688622 00000 n +0000688685 00000 n +0000688748 00000 n +0000688811 00000 n +0000688874 00000 n +0000688937 00000 n +0000689000 00000 n +0000696167 00000 n +0000696230 00000 n +0000696293 00000 n +0000696356 00000 n +0000696418 00000 n +0000655031 00000 n +0000655155 00000 n +0000655218 00000 n +0000655281 00000 n +0000696481 00000 n +0000696668 00000 n +0000696731 00000 n +0000696857 00000 n +0000696920 00000 n +0000696983 00000 n +0000647837 00000 n +0000647961 00000 n +0000648024 00000 n +0000648087 00000 n +0000648149 00000 n +0000648212 00000 n +0000648275 00000 n +0000648338 00000 n +0000648401 00000 n +0000648464 00000 n +0000648527 00000 n +0000648590 00000 n +0000648653 00000 n +0000648716 00000 n +0000648779 00000 n +0000648842 00000 n +0000648905 00000 n +0000648968 00000 n +0000649030 00000 n +0000649093 00000 n +0000649156 00000 n +0000649219 00000 n +0000649282 00000 n +0000654276 00000 n +0000654339 00000 n +0000654402 00000 n +0000654465 00000 n +0000654528 00000 n +0000654591 00000 n +0000654654 00000 n +0000654716 00000 n +0000654779 00000 n +0000654842 00000 n +0000654905 00000 n +0000654968 00000 n +0000701420 00000 n +0000647333 00000 n +0000647493 00000 n +0000652668 00000 n +0000649406 00000 n +0000647180 00000 n +0000644724 00000 n +0000647653 00000 n +0002040630 00000 n +0002042488 00000 n +0000652862 00000 n +0000653021 00000 n +0000653181 00000 n +0000653340 00000 n +0000653660 00000 n +0000654054 00000 n +0000659512 00000 n +0000659741 00000 n +0000659970 00000 n +0000660430 00000 n +0000655468 00000 n +0000652452 00000 n +0000649551 00000 n +0000654213 00000 n +0000653500 00000 n +0000653857 00000 n +0000660660 00000 n +0000660889 00000 n +0000661119 00000 n +0000661349 00000 n +0000661578 00000 n +0000662038 00000 n +0000662268 00000 n +0000662498 00000 n +0000662817 00000 n +0000663014 00000 n +0000663243 00000 n +0000663562 00000 n +0000663791 00000 n +0000663949 00000 n +0000664146 00000 n +0000664376 00000 n +0000664536 00000 n +0000664765 00000 n +0000664963 00000 n +0000665193 00000 n +0000665423 00000 n +0000665653 00000 n +0000665851 00000 n +0000666311 00000 n +0000666541 00000 n +0000666771 00000 n +0000667001 00000 n +0000667199 00000 n +0000667397 00000 n +0000667627 00000 n +0000667786 00000 n +0000668016 00000 n +0000668476 00000 n +0000668706 00000 n +0000674053 00000 n +0000674213 00000 n +0000674441 00000 n +0000669626 00000 n +0000658981 00000 n +0000655627 00000 n +0000668934 00000 n +0000660200 00000 n +0000661808 00000 n +0000662657 00000 n +0000663403 00000 n +0000666081 00000 n +0000668246 00000 n +0000890311 00000 n +0001296324 00000 n +0001925783 00000 n +0001210085 00000 n +0001249647 00000 n +0000674601 00000 n +0000674995 00000 n +0000675193 00000 n +0000675351 00000 n +0000675581 00000 n +0000675776 00000 n +0000676170 00000 n +0000676363 00000 n +0000676551 00000 n +0000676781 00000 n +0000676943 00000 n +0000677131 00000 n +0000677293 00000 n +0000677613 00000 n +0000677773 00000 n +0000677971 00000 n +0000678201 00000 n +0000678520 00000 n +0000678716 00000 n +0000678914 00000 n +0000679374 00000 n +0000679604 00000 n +0000679765 00000 n +0000679925 00000 n +0000680086 00000 n +0000680284 00000 n +0000680482 00000 n +0000680643 00000 n +0000680804 00000 n +0000685314 00000 n +0000685512 00000 n +0000681532 00000 n +0000673585 00000 n +0000669786 00000 n +0000680966 00000 n +0000674797 00000 n +0000675972 00000 n +0000677453 00000 n +0000678360 00000 n +0000679144 00000 n +0001316418 00000 n +0001617071 00000 n +0001600765 00000 n +0001331744 00000 n +0001331618 00000 n +0000685682 00000 n +0000685842 00000 n +0000686001 00000 n +0000686231 00000 n +0000686417 00000 n +0000686604 00000 n +0000686767 00000 n +0000686964 00000 n +0000687127 00000 n +0000687290 00000 n +0000687487 00000 n +0000687684 00000 n +0000687914 00000 n +0000688143 00000 n +0000688373 00000 n +0000692586 00000 n +0000692745 00000 n +0000692911 00000 n +0000689063 00000 n +0000685026 00000 n +0000681678 00000 n +0000688559 00000 n +0001363390 00000 n +0001315912 00000 n +0000693077 00000 n +0000693449 00000 n +0000693609 00000 n +0000693769 00000 n +0000693929 00000 n +0000694089 00000 n +0000694252 00000 n +0000694415 00000 n +0000694613 00000 n +0000694773 00000 n +0000694970 00000 n +0000695131 00000 n +0000695292 00000 n +0000695452 00000 n +0000695615 00000 n +0000695778 00000 n +0000695941 00000 n +0000699120 00000 n +0000697045 00000 n +0000692262 00000 n +0000689208 00000 n +0000696104 00000 n +0000693263 00000 n +0001680923 00000 n +0000707836 00000 n +0001321284 00000 n +0001367374 00000 n +0000699438 00000 n +0000699599 00000 n +0000699793 00000 n +0000699989 00000 n +0000700150 00000 n +0000700311 00000 n +0000700474 00000 n +0000700678 00000 n +0000700883 00000 n +0000701091 00000 n +0000701544 00000 n +0000698877 00000 n +0000697190 00000 n +0000701296 00000 n +0002040811 00000 n +0000699281 00000 n +0002042614 00000 n +0001121672 00000 n +0001419788 00000 n +0001375368 00000 n +0001382200 00000 n +0000702741 00000 n +0000702916 00000 n +0000703076 00000 n +0000703242 00000 n +0000703712 00000 n +0000702570 00000 n +0000701704 00000 n +0000703401 00000 n +0000703464 00000 n +0000703588 00000 n +0001126060 00000 n +0000704675 00000 n +0000704850 00000 n +0000705035 00000 n +0000705221 00000 n +0000705424 00000 n +0000705643 00000 n +0000705895 00000 n +0000706147 00000 n +0000706399 00000 n +0000707897 00000 n +0000704459 00000 n +0000703829 00000 n +0000706651 00000 n +0000706775 00000 n +0000706899 00000 n +0000706962 00000 n +0000707086 00000 n +0000707149 00000 n +0000707274 00000 n +0000707337 00000 n +0000707462 00000 n +0000707587 00000 n +0000707649 00000 n +0000707712 00000 n +0000707774 00000 n +0000952950 00000 n +0000710446 00000 n +0000710641 00000 n +0000710841 00000 n +0000711058 00000 n +0000711242 00000 n +0000711450 00000 n +0000711635 00000 n +0000711829 00000 n +0000712035 00000 n +0000712242 00000 n +0000712427 00000 n +0000712622 00000 n +0000712833 00000 n +0000713019 00000 n +0000713213 00000 n +0000713428 00000 n +0000713614 00000 n +0000713808 00000 n +0000714023 00000 n +0000714209 00000 n +0000714402 00000 n +0000714607 00000 n +0000714793 00000 n +0000714988 00000 n +0000715195 00000 n +0000715406 00000 n +0000715612 00000 n +0000715817 00000 n +0000716001 00000 n +0000716222 00000 n +0000716417 00000 n +0000716623 00000 n +0000716833 00000 n +0000717062 00000 n +0000717323 00000 n +0000717585 00000 n +0000718108 00000 n +0000718370 00000 n +0000718631 00000 n +0000718893 00000 n +0000719416 00000 n +0000719677 00000 n +0000719937 00000 n +0000720198 00000 n +0000724262 00000 n +0000724491 00000 n +0000724751 00000 n +0000725013 00000 n +0000725536 00000 n +0000725798 00000 n +0000726059 00000 n +0000726321 00000 n +0000721220 00000 n +0000709888 00000 n +0000708014 00000 n +0000720718 00000 n +0000720843 00000 n +0000720906 00000 n +0000720969 00000 n +0000721094 00000 n +0000721157 00000 n +0000717847 00000 n +0000719155 00000 n +0000720459 00000 n +0001663428 00000 n +0000743814 00000 n +0000773038 00000 n +0000782933 00000 n +0000837005 00000 n +0000843322 00000 n +0000847240 00000 n +0000862825 00000 n +0000868667 00000 n +0000880232 00000 n +0000953769 00000 n +0001055419 00000 n +0000731843 00000 n +0000731968 00000 n +0000732031 00000 n +0000732094 00000 n +0000732157 00000 n +0000732220 00000 n +0000732282 00000 n +0000732345 00000 n +0000732407 00000 n +0000732470 00000 n +0000732533 00000 n +0000732596 00000 n +0000726844 00000 n +0000727004 00000 n +0000727162 00000 n +0000727390 00000 n +0000727651 00000 n +0000727913 00000 n +0000728174 00000 n +0000728697 00000 n +0000728958 00000 n +0000729220 00000 n +0000729482 00000 n +0000729743 00000 n +0000730004 00000 n +0000730266 00000 n +0000730528 00000 n +0000730789 00000 n +0000730975 00000 n +0000731161 00000 n +0000731347 00000 n +0000731533 00000 n +0000732846 00000 n +0000723848 00000 n +0000721365 00000 n +0000731718 00000 n +0000725275 00000 n +0000726583 00000 n +0000728436 00000 n +0000732659 00000 n +0000732784 00000 n +0000737350 00000 n +0000737475 00000 n +0000737537 00000 n +0000737600 00000 n +0000737663 00000 n +0000737726 00000 n +0000737789 00000 n +0000737851 00000 n +0000736660 00000 n +0000736723 00000 n +0000736786 00000 n +0000736849 00000 n +0000736912 00000 n +0000736975 00000 n +0000737037 00000 n +0000737100 00000 n +0000737163 00000 n +0000737226 00000 n +0000737289 00000 n +0000735285 00000 n +0000735471 00000 n +0000735654 00000 n +0000735870 00000 n +0000736044 00000 n +0000736218 00000 n +0000736412 00000 n +0000738602 00000 n +0000735087 00000 n +0000733006 00000 n +0000736597 00000 n +0000738039 00000 n +0000738102 00000 n +0000738227 00000 n +0000738352 00000 n +0000738477 00000 n +0000738540 00000 n +0000739456 00000 n +0000739657 00000 n +0000740046 00000 n +0000739303 00000 n +0000738734 00000 n +0000739858 00000 n +0000739983 00000 n +0002042740 00000 n +0001638782 00000 n +0000740702 00000 n +0000740516 00000 n +0000740163 00000 n +0000740639 00000 n +0000742019 00000 n +0000742218 00000 n +0000742417 00000 n +0000742616 00000 n +0000742812 00000 n +0000746581 00000 n +0000743876 00000 n +0000741839 00000 n +0000740776 00000 n +0000743005 00000 n +0000743130 00000 n +0000743253 00000 n +0000743440 00000 n +0000743565 00000 n +0000743690 00000 n +0001638266 00000 n +0000746766 00000 n +0000747016 00000 n +0000747266 00000 n +0000747517 00000 n +0000747767 00000 n +0000748018 00000 n +0000748268 00000 n +0000748496 00000 n +0000748747 00000 n +0000748998 00000 n +0000749249 00000 n +0000749499 00000 n +0000749685 00000 n +0000749935 00000 n +0000750119 00000 n +0000750303 00000 n +0000750489 00000 n +0000750674 00000 n +0000751608 00000 n +0000746266 00000 n +0000743979 00000 n +0000751046 00000 n +0000751171 00000 n +0000751234 00000 n +0000750861 00000 n +0000751421 00000 n +0000751546 00000 n +0000755548 00000 n +0000755673 00000 n +0000755423 00000 n +0000755798 00000 n +0000756236 00000 n +0000755985 00000 n +0000756110 00000 n +0000756361 00000 n +0000762410 00000 n +0000752586 00000 n +0000752338 00000 n +0000751767 00000 n +0000752461 00000 n +0000754927 00000 n +0000755113 00000 n +0000759015 00000 n +0000756423 00000 n +0000754774 00000 n +0000752703 00000 n +0000755298 00000 n +0000759201 00000 n +0000759360 00000 n +0000759564 00000 n +0000759767 00000 n +0000759971 00000 n +0000760175 00000 n +0000760380 00000 n +0000760583 00000 n +0000760783 00000 n +0000760988 00000 n +0000761193 00000 n +0000761398 00000 n +0000761602 00000 n +0000761762 00000 n +0000761967 00000 n +0000762126 00000 n +0000765388 00000 n +0000765547 00000 n +0000762847 00000 n +0000758727 00000 n +0000756597 00000 n +0000762285 00000 n +0000762535 00000 n +0000762660 00000 n +0000762722 00000 n +0002042866 00000 n +0000766522 00000 n +0000766647 00000 n +0000766959 00000 n +0000767084 00000 n +0000766834 00000 n +0000767209 00000 n +0001743272 00000 n +0000772663 00000 n +0000772412 00000 n +0000772537 00000 n +0000772788 00000 n +0000772913 00000 n +0000765706 00000 n +0000765865 00000 n +0000766237 00000 n +0000767394 00000 n +0000765199 00000 n +0000762978 00000 n +0000766397 00000 n +0000766052 00000 n +0000769753 00000 n +0000769912 00000 n +0000770072 00000 n +0000770258 00000 n +0000770453 00000 n +0000770660 00000 n +0000770901 00000 n +0000771142 00000 n +0000771384 00000 n +0000771626 00000 n +0000771867 00000 n +0000772109 00000 n +0000775498 00000 n +0000775739 00000 n +0000773226 00000 n +0000769510 00000 n +0000767568 00000 n +0000772349 00000 n +0000773163 00000 n +0000778993 00000 n +0000823340 00000 n +0000779180 00000 n +0000779305 00000 n +0000781938 00000 n +0000779430 00000 n +0000779555 00000 n +0000775981 00000 n +0000776222 00000 n +0000776464 00000 n +0000776706 00000 n +0000776948 00000 n +0000777134 00000 n +0000777329 00000 n +0000777536 00000 n +0000777720 00000 n +0000778199 00000 n +0000778440 00000 n +0000779617 00000 n +0000775237 00000 n +0000773357 00000 n +0000778680 00000 n +0000778743 00000 n +0000778806 00000 n +0000777960 00000 n +0000782375 00000 n +0000782500 00000 n +0000782250 00000 n +0000782125 00000 n +0000782687 00000 n +0000782812 00000 n +0000830139 00000 n +0000830014 00000 n +0000781437 00000 n +0000781621 00000 n +0000785682 00000 n +0000785923 00000 n +0000786163 00000 n +0000783057 00000 n +0000781284 00000 n +0000779791 00000 n +0000781813 00000 n +0000786385 00000 n +0000786626 00000 n +0000786842 00000 n +0000787028 00000 n +0000787223 00000 n +0000787464 00000 n +0000787705 00000 n +0000787946 00000 n +0000788141 00000 n +0000788381 00000 n +0000788576 00000 n +0000788816 00000 n +0000789057 00000 n +0000789297 00000 n +0000789538 00000 n +0000789778 00000 n +0000790019 00000 n +0000790260 00000 n +0000790501 00000 n +0000790742 00000 n +0000790937 00000 n +0000791178 00000 n +0000791372 00000 n +0000791613 00000 n +0000791854 00000 n +0000792062 00000 n +0000792303 00000 n +0000792511 00000 n +0000792752 00000 n +0000792959 00000 n +0000793200 00000 n +0000793405 00000 n +0000793644 00000 n +0000793846 00000 n +0000797380 00000 n +0000794274 00000 n +0000785214 00000 n +0000783187 00000 n +0000794085 00000 n +0000794148 00000 n +0000794211 00000 n +0000809196 00000 n +0000808884 00000 n +0000809321 00000 n +0000818883 00000 n +0000814995 00000 n +0000809446 00000 n +0000823220 00000 n +0000823465 00000 n +0000826688 00000 n +0000814745 00000 n +0000818633 00000 n +0000818758 00000 n +0000819008 00000 n +0000823095 00000 n +0000809071 00000 n +0000814870 00000 n +0000809570 00000 n +0000826439 00000 n +0000826563 00000 n +0000829889 00000 n +0000829764 00000 n +0000797620 00000 n +0000797861 00000 n +0000798101 00000 n +0000798329 00000 n +0000798569 00000 n +0000798776 00000 n +0000799004 00000 n +0000799245 00000 n +0000799485 00000 n +0000799726 00000 n +0000799967 00000 n +0000800153 00000 n +0000800339 00000 n +0000800555 00000 n +0000800795 00000 n +0000801036 00000 n +0000801277 00000 n +0000801516 00000 n +0000801757 00000 n +0000801997 00000 n +0000802183 00000 n +0000802377 00000 n +0000802599 00000 n +0000802806 00000 n +0000802992 00000 n +0000803187 00000 n +0000803581 00000 n +0000797002 00000 n +0000794405 00000 n +0000803393 00000 n +0000803456 00000 n +0002042992 00000 n +0000831327 00000 n +0000831202 00000 n +0000830826 00000 n +0000836503 00000 n +0000831076 00000 n +0000830701 00000 n +0000830451 00000 n +0000830326 00000 n +0000830576 00000 n +0000836879 00000 n +0000836754 00000 n +0000836629 00000 n +0000831452 00000 n +0000830951 00000 n +0000806477 00000 n +0000806672 00000 n +0000806857 00000 n +0000807052 00000 n +0000807237 00000 n +0000807421 00000 n +0000807607 00000 n +0000807793 00000 n +0000807988 00000 n +0000808174 00000 n +0000808369 00000 n +0000808564 00000 n +0000809695 00000 n +0000806234 00000 n +0000803740 00000 n +0000808759 00000 n +0000812426 00000 n +0000812621 00000 n +0000812814 00000 n +0000812998 00000 n +0000813183 00000 n +0000813378 00000 n +0000813563 00000 n +0000813745 00000 n +0000813931 00000 n +0000814116 00000 n +0000814311 00000 n +0000814496 00000 n +0000815057 00000 n +0000812183 00000 n +0000809841 00000 n +0000814682 00000 n +0000817660 00000 n +0000817855 00000 n +0000818050 00000 n +0000818262 00000 n +0000819133 00000 n +0000817489 00000 n +0000815231 00000 n +0000818508 00000 n +0000871325 00000 n +0000821574 00000 n +0000821786 00000 n +0000821998 00000 n +0000822244 00000 n +0000822430 00000 n +0000822642 00000 n +0000822837 00000 n +0000823590 00000 n +0000821376 00000 n +0000819307 00000 n +0000823032 00000 n +0000825925 00000 n +0000826120 00000 n +0000826813 00000 n +0000825772 00000 n +0000823722 00000 n +0000826376 00000 n +0000963748 00000 n +0000829013 00000 n +0000829199 00000 n +0000829383 00000 n +0000831514 00000 n +0000828851 00000 n +0000826973 00000 n +0000829639 00000 n +0002043118 00000 n +0000959822 00000 n +0000834085 00000 n +0000834291 00000 n +0000834477 00000 n +0000834672 00000 n +0000834917 00000 n +0000835161 00000 n +0000835405 00000 n +0000835650 00000 n +0000835893 00000 n +0000836136 00000 n +0000838885 00000 n +0000839071 00000 n +0000837193 00000 n +0000833860 00000 n +0000831644 00000 n +0000836378 00000 n +0000837130 00000 n +0000842447 00000 n +0000843197 00000 n +0000842697 00000 n +0000842572 00000 n +0000842822 00000 n +0000842947 00000 n +0000843072 00000 n +0000839266 00000 n +0000839451 00000 n +0000839645 00000 n +0000839894 00000 n +0000840143 00000 n +0000840391 00000 n +0000840640 00000 n +0000840887 00000 n +0000841136 00000 n +0000841385 00000 n +0000841634 00000 n +0000841883 00000 n +0000842067 00000 n +0000843572 00000 n +0000838615 00000 n +0000837323 00000 n +0000842260 00000 n +0000843447 00000 n +0000846242 00000 n +0000846867 00000 n +0000846990 00000 n +0000846492 00000 n +0000846742 00000 n +0000846367 00000 n +0000847115 00000 n +0000846117 00000 n +0000846617 00000 n +0000845119 00000 n +0000845305 00000 n +0000845498 00000 n +0000845746 00000 n +0000849339 00000 n +0000847428 00000 n +0000844948 00000 n +0000843689 00000 n +0000845992 00000 n +0000847365 00000 n +0000853755 00000 n +0000853630 00000 n +0000849587 00000 n +0000849834 00000 n +0000850081 00000 n +0000850329 00000 n +0000850577 00000 n +0000850826 00000 n +0000851075 00000 n +0000851324 00000 n +0000851573 00000 n +0000851821 00000 n +0000852069 00000 n +0000852318 00000 n +0000852567 00000 n +0000852816 00000 n +0000853064 00000 n +0000853250 00000 n +0000854067 00000 n +0000849051 00000 n +0000847545 00000 n +0000853443 00000 n +0000853880 00000 n +0000854005 00000 n +0000855785 00000 n +0000855660 00000 n +0000856411 00000 n +0000856285 00000 n +0000856911 00000 n +0000855910 00000 n +0000856035 00000 n +0000856160 00000 n +0000856786 00000 n +0000856661 00000 n +0000856536 00000 n +0000855535 00000 n +0000862699 00000 n +0000856973 00000 n +0000855287 00000 n +0000854184 00000 n +0000855410 00000 n +0000859198 00000 n +0000859383 00000 n +0000859577 00000 n +0000859783 00000 n +0000860021 00000 n +0000860259 00000 n +0000860498 00000 n +0000860715 00000 n +0000860953 00000 n +0000861138 00000 n +0000861377 00000 n +0000861562 00000 n +0000861800 00000 n +0000861986 00000 n +0000862172 00000 n +0000862367 00000 n +0000863757 00000 n +0000858919 00000 n +0000857075 00000 n +0000862574 00000 n +0000862950 00000 n +0000863012 00000 n +0000863075 00000 n +0000863262 00000 n +0000863448 00000 n +0000863573 00000 n +0002043244 00000 n +0000868232 00000 n +0000868357 00000 n +0000868544 00000 n +0000865896 00000 n +0000866082 00000 n +0000866267 00000 n +0000866453 00000 n +0000866699 00000 n +0000866945 00000 n +0000867189 00000 n +0000867435 00000 n +0000867680 00000 n +0000867924 00000 n +0000868916 00000 n +0000865671 00000 n +0000863931 00000 n +0000868169 00000 n +0000868791 00000 n +0000871573 00000 n +0000871698 00000 n +0000871075 00000 n +0000871200 00000 n +0000871449 00000 n +0000871823 00000 n +0000870321 00000 n +0000870531 00000 n +0000870741 00000 n +0000872510 00000 n +0000870159 00000 n +0000869047 00000 n +0000870950 00000 n +0000871948 00000 n +0000872073 00000 n +0000872198 00000 n +0000872323 00000 n +0000872448 00000 n +0000875181 00000 n +0000875385 00000 n +0000875570 00000 n +0000875810 00000 n +0000876049 00000 n +0000876289 00000 n +0000876529 00000 n +0000876768 00000 n +0000876954 00000 n +0000877194 00000 n +0000877434 00000 n +0000877673 00000 n +0000877913 00000 n +0000878153 00000 n +0000878393 00000 n +0000878633 00000 n +0000878873 00000 n +0000879058 00000 n +0000879296 00000 n +0000879482 00000 n +0000879722 00000 n +0000879924 00000 n +0000880482 00000 n +0000874848 00000 n +0000872627 00000 n +0000880107 00000 n +0000880357 00000 n +0000889814 00000 n +0000889939 00000 n +0000885196 00000 n +0000884946 00000 n +0000885071 00000 n +0000884821 00000 n +0000884696 00000 n +0000884447 00000 n +0000890062 00000 n +0000890186 00000 n +0000889688 00000 n +0000884572 00000 n +0000885446 00000 n +0000885321 00000 n +0000884322 00000 n +0000882713 00000 n +0000882898 00000 n +0000883084 00000 n +0000883270 00000 n +0000883456 00000 n +0000883830 00000 n +0000884013 00000 n +0000888113 00000 n +0000885509 00000 n +0000882506 00000 n +0000880599 00000 n +0000884197 00000 n +0000883645 00000 n +0000888298 00000 n +0000888482 00000 n +0000888667 00000 n +0000888825 00000 n +0000888984 00000 n +0000889177 00000 n +0000889371 00000 n +0000893460 00000 n +0000890499 00000 n +0000887906 00000 n +0000885653 00000 n +0000889563 00000 n +0000890436 00000 n +0000911300 00000 n +0000911426 00000 n +0000907055 00000 n +0000893654 00000 n +0000893847 00000 n +0000894040 00000 n +0000894200 00000 n +0000894394 00000 n +0000894588 00000 n +0000894781 00000 n +0000894974 00000 n +0000895168 00000 n +0000895361 00000 n +0000895555 00000 n +0000895748 00000 n +0000895942 00000 n +0000896102 00000 n +0000896296 00000 n +0000896456 00000 n +0000896650 00000 n +0000896844 00000 n +0000897038 00000 n +0000897232 00000 n +0000897426 00000 n +0000897620 00000 n +0000897814 00000 n +0000898008 00000 n +0000898202 00000 n +0000900558 00000 n +0000898457 00000 n +0000893091 00000 n +0000890616 00000 n +0000898394 00000 n +0002043370 00000 n +0000906932 00000 n +0000906557 00000 n +0000906682 00000 n +0000902518 00000 n +0000902394 00000 n +0000902144 00000 n +0000901644 00000 n +0000911804 00000 n +0000917612 00000 n +0000911173 00000 n +0000902269 00000 n +0000911049 00000 n +0000907180 00000 n +0000901894 00000 n +0000901769 00000 n +0000911678 00000 n +0000911552 00000 n +0000910800 00000 n +0000907556 00000 n +0000910924 00000 n +0000907431 00000 n +0000907305 00000 n +0000902643 00000 n +0000900752 00000 n +0000900946 00000 n +0000901140 00000 n +0000901298 00000 n +0000902705 00000 n +0000900378 00000 n +0000898588 00000 n +0000901457 00000 n +0000902019 00000 n +0000917486 00000 n +0000906807 00000 n +0000905103 00000 n +0000905263 00000 n +0000905423 00000 n +0000905583 00000 n +0000905743 00000 n +0000906113 00000 n +0000906272 00000 n +0000907618 00000 n +0000904896 00000 n +0000902822 00000 n +0000906432 00000 n +0000905930 00000 n +0000910197 00000 n +0000910356 00000 n +0000910515 00000 n +0000911866 00000 n +0000910035 00000 n +0000907762 00000 n +0000910675 00000 n +0000914176 00000 n +0000914335 00000 n +0000914529 00000 n +0000914723 00000 n +0000914917 00000 n +0000915110 00000 n +0000915303 00000 n +0000915497 00000 n +0000915691 00000 n +0000915885 00000 n +0000916079 00000 n +0000916273 00000 n +0000916465 00000 n +0000916657 00000 n +0000916851 00000 n +0000917010 00000 n +0000917202 00000 n +0000919917 00000 n +0000917927 00000 n +0000913888 00000 n +0000911996 00000 n +0000917360 00000 n +0000917738 00000 n +0000917864 00000 n +0000921573 00000 n +0000921699 00000 n +0000926903 00000 n +0000926651 00000 n +0000920944 00000 n +0000926525 00000 n +0000921196 00000 n +0000921825 00000 n +0000921951 00000 n +0000926777 00000 n +0000927028 00000 n +0000921447 00000 n +0000921321 00000 n +0000921070 00000 n +0000920077 00000 n +0000920237 00000 n +0000920397 00000 n +0000920557 00000 n +0000922013 00000 n +0000919737 00000 n +0000918058 00000 n +0000920755 00000 n +0001092359 00000 n +0000924149 00000 n +0000924342 00000 n +0000924501 00000 n +0000924693 00000 n +0000924853 00000 n +0000925046 00000 n +0000925239 00000 n +0000925433 00000 n +0000925627 00000 n +0000925821 00000 n +0000926014 00000 n +0000926207 00000 n +0000929644 00000 n +0000929837 00000 n +0000930030 00000 n +0000927338 00000 n +0000923906 00000 n +0000922129 00000 n +0000926399 00000 n +0000927154 00000 n +0000927279 00000 n +0002043496 00000 n +0000934386 00000 n +0000934638 00000 n +0000934512 00000 n +0000931217 00000 n +0000931343 00000 n +0000931469 00000 n +0000931595 00000 n +0000934764 00000 n +0000934890 00000 n +0000935268 00000 n +0000930224 00000 n +0000930418 00000 n +0000930578 00000 n +0000930772 00000 n +0000931847 00000 n +0000929446 00000 n +0000927455 00000 n +0000930965 00000 n +0000931028 00000 n +0000931721 00000 n +0000938302 00000 n +0000935142 00000 n +0000935016 00000 n +0000938491 00000 n +0000934164 00000 n +0000935330 00000 n +0000934020 00000 n +0000932007 00000 n +0000934323 00000 n +0000937204 00000 n +0000937398 00000 n +0000937592 00000 n +0000937787 00000 n +0000937981 00000 n +0000938932 00000 n +0000937024 00000 n +0000935476 00000 n +0000938176 00000 n +0000938617 00000 n +0000938743 00000 n +0000938806 00000 n +0000942117 00000 n +0000942556 00000 n +0000942430 00000 n +0000942682 00000 n +0000942306 00000 n +0000940824 00000 n +0000941029 00000 n +0000941189 00000 n +0000941390 00000 n +0000941591 00000 n +0000941792 00000 n +0000945565 00000 n +0000943438 00000 n +0000940635 00000 n +0000939092 00000 n +0000941991 00000 n +0000942808 00000 n +0000942934 00000 n +0000943123 00000 n +0000943249 00000 n +0000943375 00000 n +0000947903 00000 n +0000947652 00000 n +0000947526 00000 n +0000948030 00000 n +0000945766 00000 n +0000945967 00000 n +0000946126 00000 n +0000946327 00000 n +0000946527 00000 n +0000946728 00000 n +0000946888 00000 n +0000948218 00000 n +0000945358 00000 n +0000943584 00000 n +0000947085 00000 n +0000947274 00000 n +0000947400 00000 n +0000947777 00000 n +0000948156 00000 n +0000952824 00000 n +0001095617 00000 n +0000950430 00000 n +0000950589 00000 n +0000950825 00000 n +0000951044 00000 n +0000951204 00000 n +0000951396 00000 n +0000951556 00000 n +0000951789 00000 n +0000951984 00000 n +0000952191 00000 n +0000952445 00000 n +0000953954 00000 n +0000950196 00000 n +0000948335 00000 n +0000952698 00000 n +0000953076 00000 n +0000953202 00000 n +0000953328 00000 n +0000953454 00000 n +0000953643 00000 n +0000953893 00000 n +0002043622 00000 n +0000960199 00000 n +0000956460 00000 n +0000956716 00000 n +0000956890 00000 n +0000957146 00000 n +0000957373 00000 n +0000957579 00000 n +0000957834 00000 n +0000958090 00000 n +0000958345 00000 n +0000958601 00000 n +0000958857 00000 n +0000959052 00000 n +0000959259 00000 n +0000959464 00000 n +0000960388 00000 n +0000956199 00000 n +0000954100 00000 n +0000959633 00000 n +0000959948 00000 n +0000960074 00000 n +0000960326 00000 n +0000963372 00000 n +0000963624 00000 n +0000963498 00000 n +0000963874 00000 n +0000963123 00000 n +0000960520 00000 n +0000963246 00000 n +0000964627 00000 n +0000964441 00000 n +0000964006 00000 n +0000964564 00000 n +0000967493 00000 n +0000967667 00000 n +0000967870 00000 n +0000968073 00000 n +0000968478 00000 n +0000968681 00000 n +0000968884 00000 n +0000969047 00000 n +0000969250 00000 n +0000969481 00000 n +0000969641 00000 n +0000969843 00000 n +0000970073 00000 n +0000970233 00000 n +0000970436 00000 n +0000970639 00000 n +0000970841 00000 n +0000971044 00000 n +0000971247 00000 n +0000971449 00000 n +0000971644 00000 n +0000971803 00000 n +0000972207 00000 n +0000972409 00000 n +0000972605 00000 n +0000973008 00000 n +0000973211 00000 n +0000973371 00000 n +0000973574 00000 n +0000973744 00000 n +0000973942 00000 n +0000974145 00000 n +0000974343 00000 n +0000974545 00000 n +0000974747 00000 n +0000974909 00000 n +0000975072 00000 n +0000975275 00000 n +0000975437 00000 n +0000975600 00000 n +0000975801 00000 n +0000975958 00000 n +0000979637 00000 n +0000980031 00000 n +0000976411 00000 n +0000966953 00000 n +0000964715 00000 n +0000976159 00000 n +0000976348 00000 n +0000968276 00000 n +0000972005 00000 n +0000972806 00000 n +0000985917 00000 n +0001001390 00000 n +0000985791 00000 n +0001001768 00000 n +0001008718 00000 n +0001009096 00000 n +0001017055 00000 n +0000993171 00000 n +0001001516 00000 n +0001030786 00000 n +0001001642 00000 n +0001001264 00000 n +0001001138 00000 n +0000993045 00000 n +0001016929 00000 n +0001022976 00000 n +0001023102 00000 n +0001023354 00000 n +0000980234 00000 n +0000980436 00000 n +0000980629 00000 n +0000980999 00000 n +0000981201 00000 n +0000981404 00000 n +0000981601 00000 n +0000981802 00000 n +0000982005 00000 n +0000982208 00000 n +0000982411 00000 n +0000982572 00000 n +0000982775 00000 n +0000982973 00000 n +0000983176 00000 n +0000983339 00000 n +0000983497 00000 n +0000983700 00000 n +0000983860 00000 n +0000984029 00000 n +0000984432 00000 n +0000984602 00000 n +0000984995 00000 n +0000985193 00000 n +0000985396 00000 n +0000989074 00000 n +0000989277 00000 n +0000985979 00000 n +0000979223 00000 n +0000976556 00000 n +0000985602 00000 n +0000979834 00000 n +0000980813 00000 n +0000984231 00000 n +0000984800 00000 n +0001017181 00000 n +0001016804 00000 n +0001023228 00000 n +0001030911 00000 n +0000993297 00000 n +0000993423 00000 n +0001031037 00000 n +0001008844 00000 n +0001008593 00000 n +0001017306 00000 n +0001008970 00000 n +0001523538 00000 n +0000989681 00000 n +0000989884 00000 n +0000990087 00000 n +0000990287 00000 n +0000990489 00000 n +0000990697 00000 n +0000991100 00000 n +0000991307 00000 n +0000991510 00000 n +0000991708 00000 n +0000991910 00000 n +0000992118 00000 n +0000992321 00000 n +0000992524 00000 n +0000992711 00000 n +0000993549 00000 n +0000988768 00000 n +0000986124 00000 n +0000992919 00000 n +0000989480 00000 n +0000990900 00000 n +0002043748 00000 n +0001523666 00000 n +0001530805 00000 n +0001530933 00000 n +0001531061 00000 n +0000996335 00000 n +0000996543 00000 n +0000996703 00000 n +0000997105 00000 n +0000997308 00000 n +0000997515 00000 n +0000997674 00000 n +0000997875 00000 n +0000998083 00000 n +0000998487 00000 n +0000998684 00000 n +0000998886 00000 n +0000999088 00000 n +0000999290 00000 n +0000999498 00000 n +0000999691 00000 n +0000999888 00000 n +0001000081 00000 n +0001000269 00000 n +0001000477 00000 n +0001000673 00000 n +0001000869 00000 n +0001001830 00000 n +0000995984 00000 n +0000993723 00000 n +0001001075 00000 n +0000996906 00000 n +0000998286 00000 n +0001531188 00000 n +0001538984 00000 n +0001539112 00000 n +0001539239 00000 n +0001539367 00000 n +0001539495 00000 n +0001004150 00000 n +0001004351 00000 n +0001004553 00000 n +0001004761 00000 n +0001004957 00000 n +0001005165 00000 n +0001005373 00000 n +0001005533 00000 n +0001005692 00000 n +0001005853 00000 n +0001006014 00000 n +0001006177 00000 n +0001006337 00000 n +0001006545 00000 n +0001006705 00000 n +0001006864 00000 n +0001007025 00000 n +0001007186 00000 n +0001007349 00000 n +0001007510 00000 n +0001007673 00000 n +0001007873 00000 n +0001008081 00000 n +0001008310 00000 n +0001010081 00000 n +0001009222 00000 n +0001003799 00000 n +0001001975 00000 n +0001008467 00000 n +0001546129 00000 n +0001546257 00000 n +0001546385 00000 n +0001546513 00000 n +0001546641 00000 n +0001010341 00000 n +0001009937 00000 n +0001009354 00000 n +0001010278 00000 n +0001013178 00000 n +0001013338 00000 n +0001013546 00000 n +0001013732 00000 n +0001013920 00000 n +0001014128 00000 n +0001014325 00000 n +0001014493 00000 n +0001014701 00000 n +0001014932 00000 n +0001015092 00000 n +0001015290 00000 n +0001015450 00000 n +0001015658 00000 n +0001015818 00000 n +0001015978 00000 n +0001016186 00000 n +0001016346 00000 n +0001016540 00000 n +0001017432 00000 n +0001012872 00000 n +0001010443 00000 n +0001016741 00000 n +0001546769 00000 n +0001553458 00000 n +0001553586 00000 n +0001553714 00000 n +0001553842 00000 n +0001020009 00000 n +0001020217 00000 n +0001020379 00000 n +0001020566 00000 n +0001020774 00000 n +0001020937 00000 n +0001021145 00000 n +0001021307 00000 n +0001021503 00000 n +0001021704 00000 n +0001021865 00000 n +0001022026 00000 n +0001022188 00000 n +0001022396 00000 n +0001022556 00000 n +0001022717 00000 n +0001023480 00000 n +0001019730 00000 n +0001017592 00000 n +0001022913 00000 n +0001553970 00000 n +0001559913 00000 n +0001560040 00000 n +0001560168 00000 n +0001026256 00000 n +0001026416 00000 n +0001026624 00000 n +0001026821 00000 n +0001027019 00000 n +0001027178 00000 n +0001027386 00000 n +0001027584 00000 n +0001027780 00000 n +0001027988 00000 n +0001028148 00000 n +0001028312 00000 n +0001028478 00000 n +0001028644 00000 n +0001028829 00000 n +0001028988 00000 n +0001029195 00000 n +0001029365 00000 n +0001029539 00000 n +0001029710 00000 n +0001029881 00000 n +0001030076 00000 n +0001030238 00000 n +0001030407 00000 n +0001031352 00000 n +0001025896 00000 n +0001023654 00000 n +0001030723 00000 n +0001031289 00000 n +0001030565 00000 n +0002043874 00000 n +0001560296 00000 n +0001566784 00000 n +0001566911 00000 n +0001567039 00000 n +0001103579 00000 n +0001375053 00000 n +0001381888 00000 n +0001419473 00000 n +0001033943 00000 n +0001034148 00000 n +0001034307 00000 n +0001034512 00000 n +0001034671 00000 n +0001034839 00000 n +0001035044 00000 n +0001035892 00000 n +0001033745 00000 n +0001031526 00000 n +0001035203 00000 n +0001035329 00000 n +0001035456 00000 n +0001035645 00000 n +0001035771 00000 n +0001038069 00000 n +0001038243 00000 n +0001038402 00000 n +0001038562 00000 n +0001038771 00000 n +0001038932 00000 n +0001039093 00000 n +0001039302 00000 n +0001039463 00000 n +0001039623 00000 n +0001039784 00000 n +0001039945 00000 n +0001042963 00000 n +0001043160 00000 n +0001040877 00000 n +0001037826 00000 n +0001036024 00000 n +0001040120 00000 n +0001040309 00000 n +0001040498 00000 n +0001040624 00000 n +0001040750 00000 n +0001043358 00000 n +0001043555 00000 n +0001043752 00000 n +0001043950 00000 n +0001044148 00000 n +0001044346 00000 n +0001044544 00000 n +0001044742 00000 n +0001044940 00000 n +0001045137 00000 n +0001045334 00000 n +0001045532 00000 n +0001045729 00000 n +0001045927 00000 n +0001046125 00000 n +0001046323 00000 n +0001046521 00000 n +0001046718 00000 n +0001047355 00000 n +0001042648 00000 n +0001041008 00000 n +0001046915 00000 n +0001046978 00000 n +0001047167 00000 n +0001047293 00000 n +0001049124 00000 n +0001049879 00000 n +0001050131 00000 n +0001054790 00000 n +0001048998 00000 n +0001050005 00000 n +0001050257 00000 n +0001050383 00000 n +0001054916 00000 n +0001055168 00000 n +0001049627 00000 n +0001048872 00000 n +0001049250 00000 n +0001049501 00000 n +0001049753 00000 n +0001055294 00000 n +0001055042 00000 n +0001049376 00000 n +0001050445 00000 n +0001048623 00000 n +0001047472 00000 n +0001048746 00000 n +0001052285 00000 n +0001052529 00000 n +0001052773 00000 n +0001053017 00000 n +0001053261 00000 n +0001053505 00000 n +0001053749 00000 n +0001053934 00000 n +0001054178 00000 n +0001054422 00000 n +0001055608 00000 n +0001052060 00000 n +0001050547 00000 n +0001054664 00000 n +0001055545 00000 n +0001058526 00000 n +0001059282 00000 n +0001058652 00000 n +0001059030 00000 n +0001058904 00000 n +0001058778 00000 n +0001059156 00000 n +0001058400 00000 n +0001059407 00000 n +0001057499 00000 n +0001057683 00000 n +0001057880 00000 n +0001058078 00000 n +0001059720 00000 n +0001057328 00000 n +0001055725 00000 n +0001058274 00000 n +0001059532 00000 n +0001059658 00000 n +0002044000 00000 n +0001102701 00000 n +0001088910 00000 n +0001098693 00000 n +0001062284 00000 n +0001062481 00000 n +0001062679 00000 n +0001062877 00000 n +0001063075 00000 n +0001063273 00000 n +0001063471 00000 n +0001063668 00000 n +0001063866 00000 n +0001064064 00000 n +0001064261 00000 n +0001064459 00000 n +0001064617 00000 n +0001064776 00000 n +0001064974 00000 n +0001065171 00000 n +0001065369 00000 n +0001065567 00000 n +0001065765 00000 n +0001065963 00000 n +0001066161 00000 n +0001066359 00000 n +0001066556 00000 n +0001066754 00000 n +0001066952 00000 n +0001069973 00000 n +0001070170 00000 n +0001067211 00000 n +0001061924 00000 n +0001059837 00000 n +0001067148 00000 n +0001091099 00000 n +0001092485 00000 n +0001094990 00000 n +0001085537 00000 n +0001091351 00000 n +0001084406 00000 n +0001096121 00000 n +0001091855 00000 n +0001095743 00000 n +0001103077 00000 n +0001084532 00000 n +0001099193 00000 n +0001095870 00000 n +0001091981 00000 n +0001102575 00000 n +0001084657 00000 n +0001085034 00000 n +0001084782 00000 n +0001084908 00000 n +0001102324 00000 n +0001085159 00000 n +0001084028 00000 n +0001084154 00000 n +0001070368 00000 n +0001070566 00000 n +0001070763 00000 n +0001070961 00000 n +0001071159 00000 n +0001071490 00000 n +0001071688 00000 n +0001071885 00000 n +0001072082 00000 n +0001072280 00000 n +0001072478 00000 n +0001072676 00000 n +0001072874 00000 n +0001073072 00000 n +0001073270 00000 n +0001073462 00000 n +0001073660 00000 n +0001073858 00000 n +0001074056 00000 n +0001074254 00000 n +0001074414 00000 n +0001074612 00000 n +0001074809 00000 n +0001077718 00000 n +0001077916 00000 n +0001075068 00000 n +0001069604 00000 n +0001067314 00000 n +0001075005 00000 n +0001071325 00000 n +0001098568 00000 n +0001088534 00000 n +0001088784 00000 n +0001088408 00000 n +0001092107 00000 n +0001099319 00000 n +0001102826 00000 n +0001099571 00000 n +0001085285 00000 n +0001087905 00000 n +0001092233 00000 n +0001099822 00000 n +0001099445 00000 n +0001084280 00000 n +0001088282 00000 n +0001088156 00000 n +0001095115 00000 n +0001088031 00000 n +0001091477 00000 n +0001091603 00000 n +0001078114 00000 n +0001078312 00000 n +0001078509 00000 n +0001078707 00000 n +0001078905 00000 n +0001079103 00000 n +0001079301 00000 n +0001079460 00000 n +0001079620 00000 n +0001079818 00000 n +0001079978 00000 n +0001080176 00000 n +0001080373 00000 n +0001080571 00000 n +0001080768 00000 n +0001080966 00000 n +0001081164 00000 n +0001081362 00000 n +0001081555 00000 n +0001081753 00000 n +0001082074 00000 n +0001077385 00000 n +0001075199 00000 n +0001081948 00000 n +0001091729 00000 n +0001095240 00000 n +0001095492 00000 n +0001095367 00000 n +0001099696 00000 n +0001102952 00000 n +0001103203 00000 n +0001103328 00000 n +0001103454 00000 n +0001085411 00000 n +0001098941 00000 n +0001095995 00000 n +0001098819 00000 n +0001099066 00000 n +0001091225 00000 n +0001088660 00000 n +0001089161 00000 n +0001089036 00000 n +0001102450 00000 n +0001083583 00000 n +0001083742 00000 n +0001085599 00000 n +0001083430 00000 n +0001082205 00000 n +0001083902 00000 n +0001087463 00000 n +0001087620 00000 n +0001089223 00000 n +0001087310 00000 n +0001085701 00000 n +0001087779 00000 n +0001090781 00000 n +0001092547 00000 n +0001090637 00000 n +0001089325 00000 n +0001090973 00000 n +0002044126 00000 n +0001094664 00000 n +0001096183 00000 n +0001094520 00000 n +0001092649 00000 n +0001094864 00000 n +0001098114 00000 n +0001099884 00000 n +0001097961 00000 n +0001096285 00000 n +0001098442 00000 n +0001098279 00000 n +0001101721 00000 n +0001101880 00000 n +0001102040 00000 n +0001106175 00000 n +0001103641 00000 n +0001101559 00000 n +0001100014 00000 n +0001102198 00000 n +0001106344 00000 n +0001106512 00000 n +0001106705 00000 n +0001106901 00000 n +0001107105 00000 n +0001107341 00000 n +0001107578 00000 n +0001107814 00000 n +0001108049 00000 n +0001108253 00000 n +0001108490 00000 n +0001108726 00000 n +0001109198 00000 n +0001109402 00000 n +0001109606 00000 n +0001109810 00000 n +0001110003 00000 n +0001110207 00000 n +0001110404 00000 n +0001110608 00000 n +0001110811 00000 n +0001111015 00000 n +0001111217 00000 n +0001111420 00000 n +0001111623 00000 n +0001111826 00000 n +0001112030 00000 n +0001112234 00000 n +0001112437 00000 n +0001112641 00000 n +0001112804 00000 n +0001112974 00000 n +0001113294 00000 n +0001113463 00000 n +0001114008 00000 n +0001105707 00000 n +0001103757 00000 n +0001113630 00000 n +0001113756 00000 n +0001113819 00000 n +0001108963 00000 n +0001113882 00000 n +0001113134 00000 n +0001664710 00000 n +0001670951 00000 n +0001115790 00000 n +0001115916 00000 n +0001115979 00000 n +0001116042 00000 n +0001116105 00000 n +0001116168 00000 n +0001116294 00000 n +0001116357 00000 n +0001116420 00000 n +0001116546 00000 n +0001116672 00000 n +0001116798 00000 n +0001121421 00000 n +0001121547 00000 n +0001116923 00000 n +0001121295 00000 n +0001125808 00000 n +0001125934 00000 n +0001117048 00000 n +0001115541 00000 n +0001114153 00000 n +0001115664 00000 n +0001119487 00000 n +0001119680 00000 n +0001119877 00000 n +0001120195 00000 n +0001120356 00000 n +0001120551 00000 n +0001120747 00000 n +0001120908 00000 n +0001121069 00000 n +0001124141 00000 n +0001121797 00000 n +0001119262 00000 n +0001117195 00000 n +0001121232 00000 n +0001120038 00000 n +0002044252 00000 n +0001124335 00000 n +0001124495 00000 n +0001124704 00000 n +0001124913 00000 n +0001125121 00000 n +0001125330 00000 n +0001125538 00000 n +0001128205 00000 n +0001126375 00000 n +0001123934 00000 n +0001121957 00000 n +0001125745 00000 n +0001126186 00000 n +0001126249 00000 n +0001126312 00000 n +0001130544 00000 n +0001130418 00000 n +0001130985 00000 n +0001130859 00000 n +0001130733 00000 n +0001131174 00000 n +0001128365 00000 n +0001128568 00000 n +0001128729 00000 n +0001128933 00000 n +0001129094 00000 n +0001129297 00000 n +0001129459 00000 n +0001129662 00000 n +0001129823 00000 n +0001130027 00000 n +0001131615 00000 n +0001127971 00000 n +0001126521 00000 n +0001130229 00000 n +0001131426 00000 n +0001131489 00000 n +0001131552 00000 n +0001138260 00000 n +0001138953 00000 n +0001138449 00000 n +0001138764 00000 n +0001138638 00000 n +0001133939 00000 n +0001134103 00000 n +0001134299 00000 n +0001134496 00000 n +0001134692 00000 n +0001134888 00000 n +0001135047 00000 n +0001135245 00000 n +0001135443 00000 n +0001135602 00000 n +0001135800 00000 n +0001135998 00000 n +0001136195 00000 n +0001136392 00000 n +0001136552 00000 n +0001136748 00000 n +0001136935 00000 n +0001137132 00000 n +0001137292 00000 n +0001137490 00000 n +0001137678 00000 n +0001137875 00000 n +0001142378 00000 n +0001139330 00000 n +0001133606 00000 n +0001131731 00000 n +0001138071 00000 n +0001139205 00000 n +0001139267 00000 n +0001226609 00000 n +0001287707 00000 n +0001209959 00000 n +0001316165 00000 n +0001202274 00000 n +0001270451 00000 n +0001270577 00000 n +0001202148 00000 n +0001209833 00000 n +0001712889 00000 n +0001265802 00000 n +0001270704 00000 n +0001142576 00000 n +0001142774 00000 n +0001142972 00000 n +0001143170 00000 n +0001143368 00000 n +0001143566 00000 n +0001143764 00000 n +0001143962 00000 n +0001144124 00000 n +0001144285 00000 n +0001144483 00000 n +0001144645 00000 n +0001144806 00000 n +0001145004 00000 n +0001145233 00000 n +0001145431 00000 n +0001145660 00000 n +0001145858 00000 n +0001146019 00000 n +0001146180 00000 n +0001146377 00000 n +0001146538 00000 n +0001146697 00000 n +0001146895 00000 n +0001147093 00000 n +0001147286 00000 n +0001147484 00000 n +0001147677 00000 n +0001147875 00000 n +0001148034 00000 n +0001148232 00000 n +0001148430 00000 n +0001148628 00000 n +0001148789 00000 n +0001148987 00000 n +0001149185 00000 n +0001149383 00000 n +0001149543 00000 n +0001149701 00000 n +0001149897 00000 n +0001150054 00000 n +0001150250 00000 n +0001153594 00000 n +0001150504 00000 n +0001141856 00000 n +0001139476 00000 n +0001150441 00000 n +0001265550 00000 n +0001265676 00000 n +0001235987 00000 n +0001226483 00000 n +0001226861 00000 n +0001213631 00000 n +0001213756 00000 n +0001254942 00000 n +0001255068 00000 n +0001246092 00000 n +0001246218 00000 n +0001249772 00000 n +0001249899 00000 n +0001751872 00000 n +0001270830 00000 n +0001242075 00000 n +0001260517 00000 n +0001260643 00000 n +0001231877 00000 n +0001283757 00000 n +0001153792 00000 n +0001153989 00000 n +0001154158 00000 n +0001154316 00000 n +0001154514 00000 n +0001154712 00000 n +0001154910 00000 n +0001155108 00000 n +0001155306 00000 n +0001155502 00000 n +0001155700 00000 n +0001155898 00000 n +0001156096 00000 n +0001156294 00000 n +0001156456 00000 n +0001156652 00000 n +0001156812 00000 n +0001157010 00000 n +0001157171 00000 n +0001157332 00000 n +0001157493 00000 n +0001157691 00000 n +0001157888 00000 n +0001158050 00000 n +0001158248 00000 n +0001158445 00000 n +0001158642 00000 n +0001158804 00000 n +0001159001 00000 n +0001159161 00000 n +0001162347 00000 n +0001162508 00000 n +0001159419 00000 n +0001153180 00000 n +0001150635 00000 n +0001159356 00000 n +0001275191 00000 n +0001265928 00000 n +0001567359 00000 n +0001195001 00000 n +0001291941 00000 n +0001236239 00000 n +0001241823 00000 n +0001232003 00000 n +0001226736 00000 n +0001279747 00000 n +0001202022 00000 n +0001283633 00000 n +0001218943 00000 n +0001222379 00000 n +0001226357 00000 n +0001222253 00000 n +0001275444 00000 n +0001279621 00000 n +0001162705 00000 n +0001162903 00000 n +0001163101 00000 n +0001163299 00000 n +0001163497 00000 n +0001163695 00000 n +0001163893 00000 n +0001164091 00000 n +0001164289 00000 n +0001164487 00000 n +0001164685 00000 n +0001164883 00000 n +0001165081 00000 n +0001165279 00000 n +0001165439 00000 n +0001165637 00000 n +0001165835 00000 n +0001165985 00000 n +0001166150 00000 n +0001166348 00000 n +0001166513 00000 n +0001166678 00000 n +0001166876 00000 n +0001167071 00000 n +0001167268 00000 n +0001167497 00000 n +0001167695 00000 n +0001167854 00000 n +0001168052 00000 n +0001168212 00000 n +0001172023 00000 n +0001172184 00000 n +0001168597 00000 n +0001161924 00000 n +0001159522 00000 n +0001168408 00000 n +0001168471 00000 n +0001168534 00000 n +0002044378 00000 n +0001195253 00000 n +0001231751 00000 n +0001286952 00000 n +0001279873 00000 n +0001287078 00000 n +0001280000 00000 n +0001287204 00000 n +0001287330 00000 n +0001287456 00000 n +0001287581 00000 n +0001283507 00000 n +0001265424 00000 n +0001292067 00000 n +0001296450 00000 n +0001645978 00000 n +0001296827 00000 n +0001296197 00000 n +0001300730 00000 n +0001300604 00000 n +0001296954 00000 n +0001172382 00000 n +0001172580 00000 n +0001172777 00000 n +0001172973 00000 n +0001173171 00000 n +0001173369 00000 n +0001173566 00000 n +0001173764 00000 n +0001173962 00000 n +0001174160 00000 n +0001174358 00000 n +0001174556 00000 n +0001174753 00000 n +0001174951 00000 n +0001175139 00000 n +0001175336 00000 n +0001175491 00000 n +0001175689 00000 n +0001175849 00000 n +0001176047 00000 n +0001176207 00000 n +0001176405 00000 n +0001176593 00000 n +0001176791 00000 n +0001176987 00000 n +0001177185 00000 n +0001177382 00000 n +0001177579 00000 n +0001177750 00000 n +0001177947 00000 n +0001178100 00000 n +0001178297 00000 n +0001178458 00000 n +0001182282 00000 n +0001182445 00000 n +0001182608 00000 n +0001178779 00000 n +0001171573 00000 n +0001168742 00000 n +0001178654 00000 n +0001178717 00000 n +0001305973 00000 n +0001301364 00000 n +0001300856 00000 n +0001300983 00000 n +0001301110 00000 n +0001301237 00000 n +0001296576 00000 n +0001292255 00000 n +0001296701 00000 n +0001331998 00000 n +0001310810 00000 n +0001578209 00000 n +0001310937 00000 n +0001311187 00000 n +0001311062 00000 n +0001714506 00000 n +0001311312 00000 n +0001311438 00000 n +0001768015 00000 n +0001331871 00000 n +0001306290 00000 n +0001182806 00000 n +0001183004 00000 n +0001183167 00000 n +0001183365 00000 n +0001183528 00000 n +0001183726 00000 n +0001183887 00000 n +0001184085 00000 n +0001184283 00000 n +0001184454 00000 n +0001184652 00000 n +0001184850 00000 n +0001185177 00000 n +0001185373 00000 n +0001185571 00000 n +0001185769 00000 n +0001185966 00000 n +0001186127 00000 n +0001186324 00000 n +0001186488 00000 n +0001186685 00000 n +0001186851 00000 n +0001187048 00000 n +0001187246 00000 n +0001187407 00000 n +0001187605 00000 n +0001187803 00000 n +0001187967 00000 n +0001188165 00000 n +0001188362 00000 n +0001188560 00000 n +0001188758 00000 n +0001188917 00000 n +0001189114 00000 n +0001191955 00000 n +0001189373 00000 n +0001181805 00000 n +0001178938 00000 n +0001189310 00000 n +0001185014 00000 n +0001321411 00000 n +0001316038 00000 n +0001331111 00000 n +0001306670 00000 n +0001306416 00000 n +0001315786 00000 n +0001676428 00000 n +0001321158 00000 n +0001320907 00000 n +0001336480 00000 n +0001336227 00000 n +0001192153 00000 n +0001192351 00000 n +0001192549 00000 n +0001192747 00000 n +0001192945 00000 n +0001193142 00000 n +0001193339 00000 n +0001193536 00000 n +0001193734 00000 n +0001193932 00000 n +0001194129 00000 n +0001194327 00000 n +0001194490 00000 n +0001194651 00000 n +0001195379 00000 n +0001191685 00000 n +0001189518 00000 n +0001194812 00000 n +0001316291 00000 n +0001321033 00000 n +0001311816 00000 n +0001311691 00000 n +0001311564 00000 n +0001311942 00000 n +0001326202 00000 n +0001331364 00000 n +0001315659 00000 n +0001326581 00000 n +0001321538 00000 n +0001331238 00000 n +0001198449 00000 n +0001198611 00000 n +0001198771 00000 n +0001198968 00000 n +0001199126 00000 n +0001199286 00000 n +0001199658 00000 n +0001199817 00000 n +0001200047 00000 n +0001200277 00000 n +0001200506 00000 n +0001200734 00000 n +0001200962 00000 n +0001201142 00000 n +0001201302 00000 n +0001201461 00000 n +0001201619 00000 n +0001201801 00000 n +0001205294 00000 n +0001205524 00000 n +0001202400 00000 n +0001198143 00000 n +0001195525 00000 n +0001201959 00000 n +0001199473 00000 n +0001205754 00000 n +0001205984 00000 n +0001206213 00000 n +0001206441 00000 n +0001206621 00000 n +0001206781 00000 n +0001206941 00000 n +0001207101 00000 n +0001207260 00000 n +0001207420 00000 n +0001207580 00000 n +0001207778 00000 n +0001207938 00000 n +0001208097 00000 n +0001208282 00000 n +0001208442 00000 n +0001208672 00000 n +0001208902 00000 n +0001209132 00000 n +0001209361 00000 n +0001209590 00000 n +0001210211 00000 n +0001204952 00000 n +0001202574 00000 n +0001209770 00000 n +0001213015 00000 n +0001213211 00000 n +0001213406 00000 n +0001213882 00000 n +0001212853 00000 n +0001210385 00000 n +0001213568 00000 n +0002044504 00000 n +0001217209 00000 n +0001217405 00000 n +0001217564 00000 n +0001217726 00000 n +0001217887 00000 n +0001218048 00000 n +0001218201 00000 n +0001218396 00000 n +0001218593 00000 n +0001219005 00000 n +0001216993 00000 n +0001214028 00000 n +0001218754 00000 n +0001221213 00000 n +0001221410 00000 n +0001221608 00000 n +0001221769 00000 n +0001221966 00000 n +0001225183 00000 n +0001222505 00000 n +0001221033 00000 n +0001219151 00000 n +0001222127 00000 n +0001225380 00000 n +0001225577 00000 n +0001225738 00000 n +0001225935 00000 n +0001226133 00000 n +0001229912 00000 n +0001226923 00000 n +0001224994 00000 n +0001222636 00000 n +0001226294 00000 n +0001230110 00000 n +0001230308 00000 n +0001230506 00000 n +0001230675 00000 n +0001230835 00000 n +0001231229 00000 n +0001231427 00000 n +0001232065 00000 n +0001229696 00000 n +0001227097 00000 n +0001231625 00000 n +0001231033 00000 n +0001234564 00000 n +0001234723 00000 n +0001234882 00000 n +0001235070 00000 n +0001235257 00000 n +0001235415 00000 n +0001235575 00000 n +0001236365 00000 n +0001234366 00000 n +0001232239 00000 n +0001235735 00000 n +0001601151 00000 n +0001600512 00000 n +0001239535 00000 n +0001239695 00000 n +0001239890 00000 n +0001240048 00000 n +0001240207 00000 n +0001240401 00000 n +0001240561 00000 n +0001240759 00000 n +0001240919 00000 n +0001241366 00000 n +0001241564 00000 n +0001242201 00000 n +0001239292 00000 n +0001236511 00000 n +0001241760 00000 n +0001241144 00000 n +0002044630 00000 n +0001495609 00000 n +0001245451 00000 n +0001245869 00000 n +0001246344 00000 n +0001245289 00000 n +0001242375 00000 n +0001246029 00000 n +0001245661 00000 n +0001249107 00000 n +0001249265 00000 n +0001249425 00000 n +0001250023 00000 n +0001248945 00000 n +0001246518 00000 n +0001249584 00000 n +0001253679 00000 n +0001253837 00000 n +0001254067 00000 n +0001254297 00000 n +0001254527 00000 n +0001254720 00000 n +0001255130 00000 n +0001253490 00000 n +0001250197 00000 n +0001254879 00000 n +0001621488 00000 n +0001258437 00000 n +0001258667 00000 n +0001258897 00000 n +0001259126 00000 n +0001259319 00000 n +0001259477 00000 n +0001259636 00000 n +0001259834 00000 n +0001259995 00000 n +0001260193 00000 n +0001260897 00000 n +0001258212 00000 n +0001255304 00000 n +0001260391 00000 n +0001263862 00000 n +0001264060 00000 n +0001264258 00000 n +0001264456 00000 n +0001264650 00000 n +0001264809 00000 n +0001265007 00000 n +0001265202 00000 n +0001269466 00000 n +0001266054 00000 n +0001263655 00000 n +0001261071 00000 n +0001265361 00000 n +0001269627 00000 n +0001269794 00000 n +0001270185 00000 n +0001274020 00000 n +0001270956 00000 n +0001269286 00000 n +0001266228 00000 n +0001270388 00000 n +0001269990 00000 n +0002044756 00000 n +0001685867 00000 n +0001367248 00000 n +0001572794 00000 n +0001274218 00000 n +0001274414 00000 n +0001274612 00000 n +0001274807 00000 n +0001274969 00000 n +0001275570 00000 n +0001273831 00000 n +0001271130 00000 n +0001275128 00000 n +0001632758 00000 n +0001278147 00000 n +0001278308 00000 n +0001278469 00000 n +0001278629 00000 n +0001278868 00000 n +0001279093 00000 n +0001279333 00000 n +0001280126 00000 n +0001277949 00000 n +0001275744 00000 n +0001279558 00000 n +0001283247 00000 n +0001283819 00000 n +0001283103 00000 n +0001280300 00000 n +0001283444 00000 n +0001286506 00000 n +0001286666 00000 n +0001287833 00000 n +0001286353 00000 n +0001283993 00000 n +0001286826 00000 n +0001290637 00000 n +0001290835 00000 n +0001290995 00000 n +0001291154 00000 n +0001291382 00000 n +0001291548 00000 n +0001291713 00000 n +0001292379 00000 n +0001290439 00000 n +0001288007 00000 n +0001291878 00000 n +0001295360 00000 n +0001295590 00000 n +0001295741 00000 n +0001295939 00000 n +0001299804 00000 n +0001297016 00000 n +0001295189 00000 n +0001292553 00000 n +0001296134 00000 n +0002044882 00000 n +0001299964 00000 n +0001300123 00000 n +0001300283 00000 n +0001301490 00000 n +0001299633 00000 n +0001297175 00000 n +0001300478 00000 n +0001304488 00000 n +0001304649 00000 n +0001304810 00000 n +0001304971 00000 n +0001305132 00000 n +0001305286 00000 n +0001305450 00000 n +0001305680 00000 n +0001309329 00000 n +0001306794 00000 n +0001304281 00000 n +0001301634 00000 n +0001305910 00000 n +0001309722 00000 n +0001309920 00000 n +0001310073 00000 n +0001310271 00000 n +0001310427 00000 n +0001310587 00000 n +0001312004 00000 n +0001309122 00000 n +0001306938 00000 n +0001310747 00000 n +0001309527 00000 n +0001314780 00000 n +0001314977 00000 n +0001315136 00000 n +0001315332 00000 n +0001316544 00000 n +0001314609 00000 n +0001312148 00000 n +0001315533 00000 n +0001319564 00000 n +0001319759 00000 n +0001319928 00000 n +0001320123 00000 n +0001320326 00000 n +0001320521 00000 n +0001321601 00000 n +0001319375 00000 n +0001316688 00000 n +0001320717 00000 n +0001324217 00000 n +0001324543 00000 n +0001324739 00000 n +0001324936 00000 n +0001325133 00000 n +0001325329 00000 n +0001325492 00000 n +0001325688 00000 n +0001325880 00000 n +0001329770 00000 n +0001329967 00000 n +0001327087 00000 n +0001323992 00000 n +0001321745 00000 n +0001326076 00000 n +0001324381 00000 n +0002045008 00000 n +0001367121 00000 n +0001366554 00000 n +0001330163 00000 n +0001330333 00000 n +0001330531 00000 n +0001330695 00000 n +0001330892 00000 n +0001332061 00000 n +0001329572 00000 n +0001327231 00000 n +0001331048 00000 n +0001368128 00000 n +0001334226 00000 n +0001334424 00000 n +0001334581 00000 n +0001334735 00000 n +0001334938 00000 n +0001335093 00000 n +0001335296 00000 n +0001335498 00000 n +0001335699 00000 n +0001335900 00000 n +0001336982 00000 n +0001334001 00000 n +0001332177 00000 n +0001336101 00000 n +0001336607 00000 n +0001336732 00000 n +0001336794 00000 n +0001336857 00000 n +0001336919 00000 n +0001341117 00000 n +0001341243 00000 n +0001341811 00000 n +0001341433 00000 n +0001341559 00000 n +0001341685 00000 n +0001339262 00000 n +0001339417 00000 n +0001339620 00000 n +0001339822 00000 n +0001340018 00000 n +0001340215 00000 n +0001340411 00000 n +0001340573 00000 n +0001340767 00000 n +0001345210 00000 n +0001345407 00000 n +0001345603 00000 n +0001345795 00000 n +0001342441 00000 n +0001339046 00000 n +0001337113 00000 n +0001340928 00000 n +0001340991 00000 n +0001342000 00000 n +0001342126 00000 n +0001342378 00000 n +0001357275 00000 n +0001367625 00000 n +0001368004 00000 n +0001357714 00000 n +0001345985 00000 n +0001346147 00000 n +0001346344 00000 n +0001346506 00000 n +0001346703 00000 n +0001346865 00000 n +0001347062 00000 n +0001347225 00000 n +0001347387 00000 n +0001347584 00000 n +0001347781 00000 n +0001347944 00000 n +0001348141 00000 n +0001348338 00000 n +0001348501 00000 n +0001348698 00000 n +0001348894 00000 n +0001349057 00000 n +0001349254 00000 n +0001349416 00000 n +0001349579 00000 n +0001349776 00000 n +0001349973 00000 n +0001350169 00000 n +0001350365 00000 n +0001350562 00000 n +0001350759 00000 n +0001350956 00000 n +0001351152 00000 n +0001351349 00000 n +0001351546 00000 n +0001351738 00000 n +0001351935 00000 n +0001352132 00000 n +0001352324 00000 n +0001352521 00000 n +0001352717 00000 n +0001352914 00000 n +0001353111 00000 n +0001353303 00000 n +0001353499 00000 n +0001353688 00000 n +0001353882 00000 n +0001354072 00000 n +0001354519 00000 n +0001344643 00000 n +0001342615 00000 n +0001354267 00000 n +0001354330 00000 n +0001354393 00000 n +0001354456 00000 n +0001358343 00000 n +0001358218 00000 n +0001358469 00000 n +0001358591 00000 n +0001358715 00000 n +0001357464 00000 n +0001357588 00000 n +0001357840 00000 n +0001357966 00000 n +0001363516 00000 n +0001363642 00000 n +0001358092 00000 n +0001363829 00000 n +0001374800 00000 n +0001367751 00000 n +0001366995 00000 n +0001366743 00000 n +0001374927 00000 n +0001367877 00000 n +0001367499 00000 n +0001366869 00000 n +0001356762 00000 n +0001356924 00000 n +0001358839 00000 n +0001356609 00000 n +0001354678 00000 n +0001357086 00000 n +0001362169 00000 n +0001362322 00000 n +0001362485 00000 n +0001362645 00000 n +0001362805 00000 n +0001363002 00000 n +0001363164 00000 n +0001363953 00000 n +0001361971 00000 n +0001358985 00000 n +0001363327 00000 n +0002045134 00000 n +0001365902 00000 n +0001366099 00000 n +0001366294 00000 n +0001368252 00000 n +0001365740 00000 n +0001364127 00000 n +0001366491 00000 n +0001371007 00000 n +0001371204 00000 n +0001371400 00000 n +0001371598 00000 n +0001371991 00000 n +0001372161 00000 n +0001372334 00000 n +0001372503 00000 n +0001372711 00000 n +0001372874 00000 n +0001373044 00000 n +0001373365 00000 n +0001373536 00000 n +0001373710 00000 n +0001374028 00000 n +0001374188 00000 n +0001374384 00000 n +0001374579 00000 n +0001378409 00000 n +0001375494 00000 n +0001370683 00000 n +0001368382 00000 n +0001374737 00000 n +0001371795 00000 n +0001375179 00000 n +0001373205 00000 n +0001373871 00000 n +0001378569 00000 n +0001378731 00000 n +0001378925 00000 n +0001379096 00000 n +0001379267 00000 n +0001379437 00000 n +0001379642 00000 n +0001379805 00000 n +0001379975 00000 n +0001380296 00000 n +0001380466 00000 n +0001380637 00000 n +0001380954 00000 n +0001381115 00000 n +0001381311 00000 n +0001381507 00000 n +0001381667 00000 n +0001384722 00000 n +0001382326 00000 n +0001378094 00000 n +0001375668 00000 n +0001381825 00000 n +0001382012 00000 n +0001380136 00000 n +0001380798 00000 n +0001384884 00000 n +0001385078 00000 n +0001385237 00000 n +0001385437 00000 n +0001385637 00000 n +0001385837 00000 n +0001386037 00000 n +0001386237 00000 n +0001386437 00000 n +0001386636 00000 n +0001386835 00000 n +0001387035 00000 n +0001387235 00000 n +0001387435 00000 n +0001387634 00000 n +0001388169 00000 n +0001384443 00000 n +0001382486 00000 n +0001387792 00000 n +0001387980 00000 n +0001388043 00000 n +0001390500 00000 n +0001390752 00000 n +0001390374 00000 n +0001390626 00000 n +0001391443 00000 n +0001391192 00000 n +0001391067 00000 n +0001391569 00000 n +0001390941 00000 n +0001391317 00000 n +0001391695 00000 n +0001389664 00000 n +0001389863 00000 n +0001390090 00000 n +0001394017 00000 n +0001391947 00000 n +0001389502 00000 n +0001388286 00000 n +0001390248 00000 n +0001394213 00000 n +0001394410 00000 n +0001394607 00000 n +0001394804 00000 n +0001395001 00000 n +0001395198 00000 n +0001395395 00000 n +0001395592 00000 n +0001395789 00000 n +0001395986 00000 n +0001396183 00000 n +0001396380 00000 n +0001396577 00000 n +0001396738 00000 n +0001396935 00000 n +0001397131 00000 n +0001397327 00000 n +0001397523 00000 n +0001397720 00000 n +0001397917 00000 n +0001398147 00000 n +0001398308 00000 n +0001400492 00000 n +0001400655 00000 n +0001400852 00000 n +0001401049 00000 n +0001401246 00000 n +0001398720 00000 n +0001393675 00000 n +0001392064 00000 n +0001398468 00000 n +0001398531 00000 n +0001398594 00000 n +0002045260 00000 n +0001401764 00000 n +0001407053 00000 n +0001401952 00000 n +0001402204 00000 n +0001407179 00000 n +0001402330 00000 n +0001402456 00000 n +0001402582 00000 n +0001402708 00000 n +0001402834 00000 n +0001402960 00000 n +0001403086 00000 n +0001406675 00000 n +0001406801 00000 n +0001406927 00000 n +0001407494 00000 n +0001407368 00000 n +0001401443 00000 n +0001403148 00000 n +0001400303 00000 n +0001398851 00000 n +0001401638 00000 n +0001405045 00000 n +0001405213 00000 n +0001405411 00000 n +0001405614 00000 n +0001405815 00000 n +0001406016 00000 n +0001406182 00000 n +0001406383 00000 n +0001410153 00000 n +0001410356 00000 n +0001407932 00000 n +0001404838 00000 n +0001403265 00000 n +0001406549 00000 n +0001407746 00000 n +0001407870 00000 n +0001419348 00000 n +0001413560 00000 n +0001413371 00000 n +0001413936 00000 n +0001410552 00000 n +0001410755 00000 n +0001410958 00000 n +0001411154 00000 n +0001411357 00000 n +0001411520 00000 n +0001411723 00000 n +0001411885 00000 n +0001412053 00000 n +0001412251 00000 n +0001412454 00000 n +0001412654 00000 n +0001412823 00000 n +0001412985 00000 n +0001416679 00000 n +0001413998 00000 n +0001409874 00000 n +0001408078 00000 n +0001413182 00000 n +0001413684 00000 n +0001413810 00000 n +0001419222 00000 n +0001416848 00000 n +0001417045 00000 n +0001417207 00000 n +0001417378 00000 n +0001417548 00000 n +0001417753 00000 n +0001417958 00000 n +0001418121 00000 n +0001418291 00000 n +0001418611 00000 n +0001418781 00000 n +0001423074 00000 n +0001423234 00000 n +0001423430 00000 n +0001419914 00000 n +0001416418 00000 n +0001414130 00000 n +0001419096 00000 n +0001419599 00000 n +0001418451 00000 n +0001418940 00000 n +0001426209 00000 n +0001423626 00000 n +0001423786 00000 n +0001423943 00000 n +0001424106 00000 n +0001424300 00000 n +0001424521 00000 n +0001424707 00000 n +0001424929 00000 n +0001425151 00000 n +0001425369 00000 n +0001425591 00000 n +0001425813 00000 n +0001425976 00000 n +0001426774 00000 n +0001422795 00000 n +0001420074 00000 n +0001426146 00000 n +0001426335 00000 n +0001426460 00000 n +0001426586 00000 n +0001433015 00000 n +0001432763 00000 n +0001432889 00000 n +0001432511 00000 n +0001432385 00000 n +0001432637 00000 n +0001429117 00000 n +0001429337 00000 n +0001429589 00000 n +0001429842 00000 n +0001430095 00000 n +0001430599 00000 n +0001430850 00000 n +0001431068 00000 n +0001431319 00000 n +0001431570 00000 n +0001432071 00000 n +0001434900 00000 n +0001433204 00000 n +0001428865 00000 n +0001426934 00000 n +0001432322 00000 n +0001433141 00000 n +0001430347 00000 n +0001431821 00000 n +0002045386 00000 n +0001438981 00000 n +0001439107 00000 n +0001439170 00000 n +0001439233 00000 n +0001439295 00000 n +0001439358 00000 n +0001438603 00000 n +0001438729 00000 n +0001438792 00000 n +0001438855 00000 n +0001438918 00000 n +0001435120 00000 n +0001435340 00000 n +0001435560 00000 n +0001435779 00000 n +0001435999 00000 n +0001436219 00000 n +0001436439 00000 n +0001436658 00000 n +0001436878 00000 n +0001437097 00000 n +0001437316 00000 n +0001437536 00000 n +0001437755 00000 n +0001437975 00000 n +0001438194 00000 n +0001440362 00000 n +0001434621 00000 n +0001433364 00000 n +0001438414 00000 n +0001438477 00000 n +0001439484 00000 n +0001439610 00000 n +0001439736 00000 n +0001439862 00000 n +0001439988 00000 n +0001440114 00000 n +0001440238 00000 n +0001444143 00000 n +0001444268 00000 n +0001444394 00000 n +0001443891 00000 n +0001443765 00000 n +0001443639 00000 n +0001444017 00000 n +0001442171 00000 n +0001442392 00000 n +0001442578 00000 n +0001442800 00000 n +0001443022 00000 n +0001443244 00000 n +0001443407 00000 n +0001445332 00000 n +0001441973 00000 n +0001440479 00000 n +0001443576 00000 n +0001444520 00000 n +0001444646 00000 n +0001444772 00000 n +0001444961 00000 n +0001445083 00000 n +0001445208 00000 n +0001451134 00000 n +0001447355 00000 n +0001447575 00000 n +0001447828 00000 n +0001448081 00000 n +0001448585 00000 n +0001448805 00000 n +0001449024 00000 n +0001449244 00000 n +0001449464 00000 n +0001449684 00000 n +0001449902 00000 n +0001450085 00000 n +0001450303 00000 n +0001450521 00000 n +0001450740 00000 n +0001450902 00000 n +0001452768 00000 n +0001447067 00000 n +0001445506 00000 n +0001451071 00000 n +0001451260 00000 n +0001448334 00000 n +0001451322 00000 n +0001451448 00000 n +0001451574 00000 n +0001451637 00000 n +0001451700 00000 n +0001451826 00000 n +0001451950 00000 n +0001452076 00000 n +0001452202 00000 n +0001452328 00000 n +0001452454 00000 n +0001452580 00000 n +0001457592 00000 n +0001457214 00000 n +0001457340 00000 n +0001457466 00000 n +0001454680 00000 n +0001454895 00000 n +0001455145 00000 n +0001455395 00000 n +0001455894 00000 n +0001456111 00000 n +0001456327 00000 n +0001456544 00000 n +0001456761 00000 n +0001456978 00000 n +0001458913 00000 n +0001454446 00000 n +0001452943 00000 n +0001457151 00000 n +0001457718 00000 n +0001455645 00000 n +0001457781 00000 n +0001457907 00000 n +0001458031 00000 n +0001458094 00000 n +0001458157 00000 n +0001458283 00000 n +0001458409 00000 n +0001458535 00000 n +0001458661 00000 n +0001461839 00000 n +0001462034 00000 n +0001462195 00000 n +0001462512 00000 n +0001462707 00000 n +0001462870 00000 n +0001463031 00000 n +0001463226 00000 n +0001463387 00000 n +0001463582 00000 n +0001463745 00000 n +0001463939 00000 n +0001464101 00000 n +0001464270 00000 n +0001464464 00000 n +0001464626 00000 n +0001464796 00000 n +0001464991 00000 n +0001465386 00000 n +0001465580 00000 n +0001465774 00000 n +0001465969 00000 n +0001466165 00000 n +0001466360 00000 n +0001466522 00000 n +0001466717 00000 n +0001466880 00000 n +0001467074 00000 n +0001467235 00000 n +0001467430 00000 n +0001467590 00000 n +0001467784 00000 n +0001467945 00000 n +0001468140 00000 n +0001468335 00000 n +0001468530 00000 n +0001468724 00000 n +0001468919 00000 n +0001469114 00000 n +0001469307 00000 n +0001469502 00000 n +0001469695 00000 n +0001469889 00000 n +0001470116 00000 n +0001470309 00000 n +0001470504 00000 n +0001470731 00000 n +0001470924 00000 n +0001471119 00000 n +0001471346 00000 n +0001471506 00000 n +0001471701 00000 n +0001471895 00000 n +0001472086 00000 n +0001475280 00000 n +0001475475 00000 n +0001472530 00000 n +0001461200 00000 n +0001459073 00000 n +0001472279 00000 n +0001472342 00000 n +0001462356 00000 n +0001465189 00000 n +0001472405 00000 n +0001472467 00000 n +0001479862 00000 n +0001489899 00000 n +0001490027 00000 n +0001479606 00000 n +0001489644 00000 n +0001479094 00000 n +0001479734 00000 n +0001485226 00000 n +0001485098 00000 n +0001489515 00000 n +0001489773 00000 n +0001479350 00000 n +0001479478 00000 n +0001479222 00000 n +0001500710 00000 n +0001494775 00000 n +0001490349 00000 n +0001495032 00000 n +0001495161 00000 n +0001798005 00000 n +0001495290 00000 n +0001793785 00000 n +0001494647 00000 n +0001797551 00000 n +0001793463 00000 n +0001494518 00000 n +0001793720 00000 n +0001797681 00000 n +0001494903 00000 n +0001797810 00000 n +0001494389 00000 n +0001490476 00000 n +0001490220 00000 n +0001475669 00000 n +0001475867 00000 n +0001476063 00000 n +0001476224 00000 n +0001476420 00000 n +0001476582 00000 n +0001476745 00000 n +0001476941 00000 n +0001477103 00000 n +0001477298 00000 n +0001477494 00000 n +0001477689 00000 n +0001477885 00000 n +0001478047 00000 n +0001478443 00000 n +0001478640 00000 n +0001482714 00000 n +0001482875 00000 n +0001479926 00000 n +0001474953 00000 n +0001472675 00000 n +0001478836 00000 n +0001478901 00000 n +0001478246 00000 n +0002045512 00000 n +0001500581 00000 n +0001495996 00000 n +0001496125 00000 n +0001500451 00000 n +0001495866 00000 n +0001495480 00000 n +0001495737 00000 n +0001483195 00000 n +0001483357 00000 n +0001483561 00000 n +0001483723 00000 n +0001483881 00000 n +0001484043 00000 n +0001484203 00000 n +0001484361 00000 n +0001484523 00000 n +0001484682 00000 n +0001487806 00000 n +0001485354 00000 n +0001482445 00000 n +0001480101 00000 n +0001484840 00000 n +0001483036 00000 n +0001487967 00000 n +0001488127 00000 n +0001488285 00000 n +0001488447 00000 n +0001488607 00000 n +0001488769 00000 n +0001488931 00000 n +0001489092 00000 n +0001489254 00000 n +0001490603 00000 n +0001487567 00000 n +0001485515 00000 n +0001489450 00000 n +0001493112 00000 n +0001493274 00000 n +0001493478 00000 n +0001493677 00000 n +0001493838 00000 n +0001494000 00000 n +0001494163 00000 n +0001498303 00000 n +0001496190 00000 n +0001492903 00000 n +0001490735 00000 n +0001494324 00000 n +0001498465 00000 n +0001498627 00000 n +0001498822 00000 n +0001498984 00000 n +0001499390 00000 n +0001499552 00000 n +0001499721 00000 n +0001499921 00000 n +0001500121 00000 n +0001501548 00000 n +0001498054 00000 n +0001496335 00000 n +0001500322 00000 n +0001499188 00000 n +0001500838 00000 n +0001500968 00000 n +0001501161 00000 n +0001501290 00000 n +0001501419 00000 n +0001504591 00000 n +0001504752 00000 n +0001504928 00000 n +0001505098 00000 n +0001505307 00000 n +0001505516 00000 n +0001505933 00000 n +0001506142 00000 n +0001506351 00000 n +0001506515 00000 n +0001506723 00000 n +0001506955 00000 n +0001507116 00000 n +0001507325 00000 n +0001507556 00000 n +0001507717 00000 n +0001507926 00000 n +0001508135 00000 n +0001508344 00000 n +0001508552 00000 n +0001508761 00000 n +0001508970 00000 n +0001509166 00000 n +0001509326 00000 n +0001509742 00000 n +0001509951 00000 n +0001510112 00000 n +0001510321 00000 n +0001510518 00000 n +0001510934 00000 n +0001511142 00000 n +0001511313 00000 n +0001511511 00000 n +0001511719 00000 n +0001511918 00000 n +0001512127 00000 n +0001512336 00000 n +0001512500 00000 n +0001512664 00000 n +0001512870 00000 n +0001513033 00000 n +0001513195 00000 n +0001516925 00000 n +0001517086 00000 n +0001517295 00000 n +0001513660 00000 n +0001504002 00000 n +0001501723 00000 n +0001513402 00000 n +0001513595 00000 n +0001505725 00000 n +0001509534 00000 n +0001510726 00000 n +0001517691 00000 n +0001517900 00000 n +0001518109 00000 n +0001518303 00000 n +0001518679 00000 n +0001518888 00000 n +0001519097 00000 n +0001519295 00000 n +0001519504 00000 n +0001519713 00000 n +0001519921 00000 n +0001520129 00000 n +0001520290 00000 n +0001520498 00000 n +0001520697 00000 n +0001520905 00000 n +0001521068 00000 n +0001521229 00000 n +0001521437 00000 n +0001521598 00000 n +0001521767 00000 n +0001522103 00000 n +0001522277 00000 n +0001522672 00000 n +0001522871 00000 n +0001523080 00000 n +0001526774 00000 n +0001526983 00000 n +0001523729 00000 n +0001516456 00000 n +0001513806 00000 n +0001523280 00000 n +0001517493 00000 n +0001518492 00000 n +0001523345 00000 n +0001521936 00000 n +0001522476 00000 n +0002045645 00000 n +0001527399 00000 n +0001527608 00000 n +0001527817 00000 n +0001528024 00000 n +0001528233 00000 n +0001528435 00000 n +0001528848 00000 n +0001529050 00000 n +0001529259 00000 n +0001529458 00000 n +0001529666 00000 n +0001529868 00000 n +0001530077 00000 n +0001530286 00000 n +0001530474 00000 n +0001531316 00000 n +0001526445 00000 n +0001523889 00000 n +0001530676 00000 n +0001527192 00000 n +0001528642 00000 n +0001534348 00000 n +0001534550 00000 n +0001534711 00000 n +0001535125 00000 n +0001535334 00000 n +0001535536 00000 n +0001535696 00000 n +0001535903 00000 n +0001536105 00000 n +0001536519 00000 n +0001536718 00000 n +0001536927 00000 n +0001537136 00000 n +0001537345 00000 n +0001537547 00000 n +0001537742 00000 n +0001537941 00000 n +0001538135 00000 n +0001538324 00000 n +0001538525 00000 n +0001538722 00000 n +0001541935 00000 n +0001539623 00000 n +0001533979 00000 n +0001531491 00000 n +0001538919 00000 n +0001534920 00000 n +0001536314 00000 n +0001542137 00000 n +0001542344 00000 n +0001542552 00000 n +0001542754 00000 n +0001542951 00000 n +0001543152 00000 n +0001543353 00000 n +0001543515 00000 n +0001543675 00000 n +0001543837 00000 n +0001543999 00000 n +0001544163 00000 n +0001544324 00000 n +0001544526 00000 n +0001544687 00000 n +0001544846 00000 n +0001545007 00000 n +0001545168 00000 n +0001545331 00000 n +0001545493 00000 n +0001545657 00000 n +0001545864 00000 n +0001549821 00000 n +0001550053 00000 n +0001546895 00000 n +0001541566 00000 n +0001539783 00000 n +0001546064 00000 n +0001550213 00000 n +0001550411 00000 n +0001550571 00000 n +0001550773 00000 n +0001550960 00000 n +0001551149 00000 n +0001551351 00000 n +0001551549 00000 n +0001551717 00000 n +0001551919 00000 n +0001552151 00000 n +0001552312 00000 n +0001552511 00000 n +0001552672 00000 n +0001552873 00000 n +0001553033 00000 n +0001553193 00000 n +0001556682 00000 n +0001554033 00000 n +0001549492 00000 n +0001547042 00000 n +0001553393 00000 n +0001556843 00000 n +0001557040 00000 n +0001557249 00000 n +0001557451 00000 n +0001557615 00000 n +0001557804 00000 n +0001558006 00000 n +0001558170 00000 n +0001558372 00000 n +0001558535 00000 n +0001558732 00000 n +0001558939 00000 n +0001559100 00000 n +0001559261 00000 n +0001559423 00000 n +0001559625 00000 n +0001563249 00000 n +0001563411 00000 n +0001560424 00000 n +0001556373 00000 n +0001554208 00000 n +0001559784 00000 n +0001563608 00000 n +0001563768 00000 n +0001563970 00000 n +0001564169 00000 n +0001564368 00000 n +0001564528 00000 n +0001564730 00000 n +0001564928 00000 n +0001565126 00000 n +0001565328 00000 n +0001565489 00000 n +0001565820 00000 n +0001565987 00000 n +0001566357 00000 n +0001566518 00000 n +0001567422 00000 n +0001562920 00000 n +0001560599 00000 n +0001566719 00000 n +0001565655 00000 n +0001566174 00000 n +0002045778 00000 n +0001569909 00000 n +0001570109 00000 n +0001570312 00000 n +0001570516 00000 n +0001570720 00000 n +0001570921 00000 n +0001571125 00000 n +0001571329 00000 n +0001571533 00000 n +0001571737 00000 n +0001571906 00000 n +0001572109 00000 n +0001573245 00000 n +0001569650 00000 n +0001567597 00000 n +0001572278 00000 n +0001572407 00000 n +0001572472 00000 n +0001572665 00000 n +0001572923 00000 n +0001573052 00000 n +0001573181 00000 n +0001747201 00000 n +0001578080 00000 n +0001752583 00000 n +0001577822 00000 n +0001577951 00000 n +0001575417 00000 n +0001575607 00000 n +0001575795 00000 n +0001575985 00000 n +0001576173 00000 n +0001576362 00000 n +0001576551 00000 n +0001576742 00000 n +0001576930 00000 n +0001577121 00000 n +0001577312 00000 n +0001577502 00000 n +0001579237 00000 n +0001575158 00000 n +0001573405 00000 n +0001577693 00000 n +0001578337 00000 n +0001578402 00000 n +0001578467 00000 n +0001578596 00000 n +0001578725 00000 n +0001578918 00000 n +0001579047 00000 n +0001585380 00000 n +0001585251 00000 n +0001585509 00000 n +0001585636 00000 n +0001582096 00000 n +0001582254 00000 n +0001582414 00000 n +0001582603 00000 n +0001582797 00000 n +0001582989 00000 n +0001583178 00000 n +0001583367 00000 n +0001583555 00000 n +0001583710 00000 n +0001583899 00000 n +0001584054 00000 n +0001584243 00000 n +0001584432 00000 n +0001584621 00000 n +0001584810 00000 n +0001584999 00000 n +0001589083 00000 n +0001586023 00000 n +0001581787 00000 n +0001579384 00000 n +0001585186 00000 n +0001585893 00000 n +0001585958 00000 n +0001595996 00000 n +0001592019 00000 n +0001596125 00000 n +0001596254 00000 n +0001600254 00000 n +0001599738 00000 n +0001599867 00000 n +0001600893 00000 n +0001596447 00000 n +0001599996 00000 n +0001589272 00000 n +0001589460 00000 n +0001589621 00000 n +0001589808 00000 n +0001589995 00000 n +0001590184 00000 n +0001590373 00000 n +0001590562 00000 n +0001590750 00000 n +0001590938 00000 n +0001591127 00000 n +0001591284 00000 n +0001591437 00000 n +0001591600 00000 n +0001592275 00000 n +0001588794 00000 n +0001586183 00000 n +0001591761 00000 n +0001591826 00000 n +0001600636 00000 n +0001599482 00000 n +0001600383 00000 n +0001601022 00000 n +0001596576 00000 n +0001600125 00000 n +0001599609 00000 n +0001594953 00000 n +0001595114 00000 n +0001595312 00000 n +0001595467 00000 n +0001595621 00000 n +0001595776 00000 n +0001598866 00000 n +0001596640 00000 n +0001594754 00000 n +0001592422 00000 n +0001595931 00000 n +0001599027 00000 n +0001599188 00000 n +0001601403 00000 n +0001598697 00000 n +0001596815 00000 n +0001599353 00000 n +0002045911 00000 n +0001603774 00000 n +0001603929 00000 n +0001604121 00000 n +0001604281 00000 n +0001604475 00000 n +0001604668 00000 n +0001604862 00000 n +0001605056 00000 n +0001605249 00000 n +0001605442 00000 n +0001605636 00000 n +0001605829 00000 n +0001606025 00000 n +0001606219 00000 n +0001606413 00000 n +0001606605 00000 n +0001606798 00000 n +0001606987 00000 n +0001607147 00000 n +0001607341 00000 n +0001607535 00000 n +0001607729 00000 n +0001607923 00000 n +0001610595 00000 n +0001608374 00000 n +0001603405 00000 n +0001601520 00000 n +0001608115 00000 n +0001608180 00000 n +0001608244 00000 n +0001608309 00000 n +0001613007 00000 n +0001613136 00000 n +0001613265 00000 n +0001613394 00000 n +0001616363 00000 n +0001616234 00000 n +0001616621 00000 n +0001616750 00000 n +0001616105 00000 n +0001616492 00000 n +0001622130 00000 n +0001616942 00000 n +0001621872 00000 n +0001617200 00000 n +0001621228 00000 n +0001617458 00000 n +0001610788 00000 n +0001610981 00000 n +0001611175 00000 n +0001611369 00000 n +0001611563 00000 n +0001611756 00000 n +0001611950 00000 n +0001612144 00000 n +0001612337 00000 n +0001612496 00000 n +0001612656 00000 n +0001613523 00000 n +0001610336 00000 n +0001608506 00000 n +0001612814 00000 n +0001621098 00000 n +0001621614 00000 n +0001622001 00000 n +0001617329 00000 n +0001621358 00000 n +0001621743 00000 n +0001622257 00000 n +0001615442 00000 n +0001615630 00000 n +0001615789 00000 n +0001619695 00000 n +0001619855 00000 n +0001617587 00000 n +0001615273 00000 n +0001613670 00000 n +0001615976 00000 n +0001620010 00000 n +0001620170 00000 n +0001620325 00000 n +0001620485 00000 n +0001620640 00000 n +0001620837 00000 n +0001625086 00000 n +0001622579 00000 n +0001619476 00000 n +0001617704 00000 n +0001621033 00000 n +0001622514 00000 n +0001632629 00000 n +0001625283 00000 n +0001625475 00000 n +0001625671 00000 n +0001625868 00000 n +0001626064 00000 n +0001626260 00000 n +0001626457 00000 n +0001626654 00000 n +0001626850 00000 n +0001627047 00000 n +0001627243 00000 n +0001627440 00000 n +0001627636 00000 n +0001627833 00000 n +0001628030 00000 n +0001628222 00000 n +0001628418 00000 n +0001628615 00000 n +0001628812 00000 n +0001629009 00000 n +0001629206 00000 n +0001629810 00000 n +0001624727 00000 n +0001622711 00000 n +0001629360 00000 n +0001629425 00000 n +0001629618 00000 n +0001629745 00000 n +0001632499 00000 n +0001632886 00000 n +0001637751 00000 n +0001633723 00000 n +0001633079 00000 n +0001638523 00000 n +0001633594 00000 n +0001637880 00000 n +0001637621 00000 n +0001638010 00000 n +0001633208 00000 n +0001633338 00000 n +0001633467 00000 n +0001638139 00000 n +0001638652 00000 n +0001638394 00000 n +0001633788 00000 n +0001632243 00000 n +0001629942 00000 n +0001632370 00000 n +0002046044 00000 n +0001636269 00000 n +0001636429 00000 n +0001636624 00000 n +0001636823 00000 n +0001637024 00000 n +0001637258 00000 n +0001638973 00000 n +0001636070 00000 n +0001633905 00000 n +0001637492 00000 n +0001638908 00000 n +0001645204 00000 n +0001645333 00000 n +0001641026 00000 n +0001641228 00000 n +0001641432 00000 n +0001641637 00000 n +0001641835 00000 n +0001642035 00000 n +0001642267 00000 n +0001642500 00000 n +0001642733 00000 n +0001643197 00000 n +0001643429 00000 n +0001643628 00000 n +0001643828 00000 n +0001644027 00000 n +0001644215 00000 n +0001644415 00000 n +0001644614 00000 n +0001644813 00000 n +0001648538 00000 n +0001646301 00000 n +0001640697 00000 n +0001639090 00000 n +0001645011 00000 n +0001645462 00000 n +0001645591 00000 n +0001645720 00000 n +0001645849 00000 n +0001646106 00000 n +0001642966 00000 n +0001646171 00000 n +0001646236 00000 n +0001654030 00000 n +0001654159 00000 n +0001654224 00000 n +0001654289 00000 n +0001654353 00000 n +0001654417 00000 n +0001657103 00000 n +0001656845 00000 n +0001656974 00000 n +0001657232 00000 n +0001656716 00000 n +0001654545 00000 n +0001656587 00000 n +0001648738 00000 n +0001648937 00000 n +0001649137 00000 n +0001649336 00000 n +0001649536 00000 n +0001649723 00000 n +0001649922 00000 n +0001650110 00000 n +0001650310 00000 n +0001650499 00000 n +0001650699 00000 n +0001650899 00000 n +0001651099 00000 n +0001651299 00000 n +0001651499 00000 n +0001651699 00000 n +0001651895 00000 n +0001652094 00000 n +0001652324 00000 n +0001652523 00000 n +0001652723 00000 n +0001652922 00000 n +0001653121 00000 n +0001653310 00000 n +0001653510 00000 n +0001654674 00000 n +0001648139 00000 n +0001646476 00000 n +0001653708 00000 n +0001653773 00000 n +0001653838 00000 n +0001657424 00000 n +0001659357 00000 n +0001657553 00000 n +0001658069 00000 n +0001658456 00000 n +0001713732 00000 n +0001657811 00000 n +0001658585 00000 n +0001659099 00000 n +0001659228 00000 n +0001659486 00000 n +0001658198 00000 n +0001657940 00000 n +0001658714 00000 n +0001658327 00000 n +0001658970 00000 n +0001658843 00000 n +0001657682 00000 n +0001663299 00000 n +0001659676 00000 n +0001656395 00000 n +0001654850 00000 n +0001656522 00000 n +0001661588 00000 n +0001661823 00000 n +0001662058 00000 n +0001662292 00000 n +0001662527 00000 n +0001662762 00000 n +0001662998 00000 n +0001666613 00000 n +0001666817 00000 n +0001664773 00000 n +0001661379 00000 n +0001659837 00000 n +0001663234 00000 n +0001663556 00000 n +0001663747 00000 n +0001663940 00000 n +0001664069 00000 n +0001664198 00000 n +0001664327 00000 n +0001664456 00000 n +0001664585 00000 n +0001667045 00000 n +0001667273 00000 n +0001667477 00000 n +0001667708 00000 n +0001667912 00000 n +0001668144 00000 n +0001668376 00000 n +0001668543 00000 n +0001668738 00000 n +0001668933 00000 n +0001669135 00000 n +0001669330 00000 n +0001669526 00000 n +0001669726 00000 n +0001669921 00000 n +0001670081 00000 n +0001670275 00000 n +0001671917 00000 n +0001666284 00000 n +0001664934 00000 n +0001670435 00000 n +0001670564 00000 n +0001670693 00000 n +0001670822 00000 n +0001671079 00000 n +0001671207 00000 n +0001671336 00000 n +0001671465 00000 n +0001671722 00000 n +0001671787 00000 n +0001671852 00000 n +0002046177 00000 n +0001675336 00000 n +0001675463 00000 n +0001751548 00000 n +0001675656 00000 n +0001675977 00000 n +0001676106 00000 n +0001673724 00000 n +0001673920 00000 n +0001674119 00000 n +0001674318 00000 n +0001674480 00000 n +0001674680 00000 n +0001674879 00000 n +0001676686 00000 n +0001673515 00000 n +0001672035 00000 n +0001675078 00000 n +0001675143 00000 n +0001676299 00000 n +0001676556 00000 n +0001676621 00000 n +0001680472 00000 n +0001680665 00000 n +0001680794 00000 n +0001678514 00000 n +0001678713 00000 n +0001678913 00000 n +0001679113 00000 n +0001679314 00000 n +0001679513 00000 n +0001679714 00000 n +0001679913 00000 n +0001680080 00000 n +0001681438 00000 n +0001678285 00000 n +0001676818 00000 n +0001680278 00000 n +0001680343 00000 n +0001681051 00000 n +0001681116 00000 n +0001681309 00000 n +0001682932 00000 n +0001683252 00000 n +0001683510 00000 n +0001683125 00000 n +0001683381 00000 n +0001683637 00000 n +0001682676 00000 n +0001681599 00000 n +0001682803 00000 n +0001684935 00000 n +0001689730 00000 n +0001686252 00000 n +0001684786 00000 n +0001683768 00000 n +0001685095 00000 n +0001685224 00000 n +0001685351 00000 n +0001685480 00000 n +0001685609 00000 n +0001685738 00000 n +0001685995 00000 n +0001686123 00000 n +0001689907 00000 n +0001690103 00000 n +0001690333 00000 n +0001690564 00000 n +0001691025 00000 n +0001691256 00000 n +0001691484 00000 n +0001691715 00000 n +0001691945 00000 n +0001692176 00000 n +0001692406 00000 n +0001692636 00000 n +0001692866 00000 n +0001693327 00000 n +0001693556 00000 n +0001693786 00000 n +0001694012 00000 n +0001694469 00000 n +0001694698 00000 n +0001694928 00000 n +0001695158 00000 n +0001695389 00000 n +0001695618 00000 n +0001696078 00000 n +0001696309 00000 n +0001696770 00000 n +0001697000 00000 n +0001697461 00000 n +0001697692 00000 n +0001698152 00000 n +0001698381 00000 n +0001698842 00000 n +0001699002 00000 n +0001699199 00000 n +0001699430 00000 n +0001699661 00000 n +0001699892 00000 n +0001700087 00000 n +0001700317 00000 n +0001700548 00000 n +0001700779 00000 n +0001701010 00000 n +0001701239 00000 n +0001701469 00000 n +0001701699 00000 n +0001701887 00000 n +0001702108 00000 n +0001702330 00000 n +0001702552 00000 n +0001702774 00000 n +0001702995 00000 n +0001703217 00000 n +0001703439 00000 n +0001703661 00000 n +0001703881 00000 n +0001704102 00000 n +0001704323 00000 n +0001704533 00000 n +0001704722 00000 n +0001704943 00000 n +0001705165 00000 n +0001705387 00000 n +0001705829 00000 n +0001706050 00000 n +0001706272 00000 n +0001706494 00000 n +0001706936 00000 n +0001707157 00000 n +0001707379 00000 n +0001707535 00000 n +0001707724 00000 n +0001707945 00000 n +0001708167 00000 n +0001708389 00000 n +0001708831 00000 n +0001709052 00000 n +0001709246 00000 n +0001709433 00000 n +0001709653 00000 n +0001710068 00000 n +0001688681 00000 n +0001686398 00000 n +0001709873 00000 n +0001709938 00000 n +0001710003 00000 n +0001690795 00000 n +0001693097 00000 n +0001694239 00000 n +0001695848 00000 n +0001696540 00000 n +0001697231 00000 n +0001697923 00000 n +0001698612 00000 n +0001705608 00000 n +0001706715 00000 n +0001708611 00000 n +0001713017 00000 n +0001713082 00000 n +0001713147 00000 n +0001713212 00000 n +0001713277 00000 n +0001713342 00000 n +0001713407 00000 n +0001713472 00000 n +0001713537 00000 n +0001713602 00000 n +0001713667 00000 n +0001713860 00000 n +0001713925 00000 n +0001713990 00000 n +0001714051 00000 n +0001714116 00000 n +0001714181 00000 n +0001714246 00000 n +0001714311 00000 n +0001714376 00000 n +0001714441 00000 n +0001714633 00000 n +0001717701 00000 n +0001717766 00000 n +0001717831 00000 n +0001717896 00000 n +0001717960 00000 n +0001718089 00000 n +0001718154 00000 n +0001711937 00000 n +0001712145 00000 n +0001712343 00000 n +0001712500 00000 n +0001714697 00000 n +0001711758 00000 n +0001710228 00000 n +0001712697 00000 n +0002046310 00000 n +0001716755 00000 n +0001716915 00000 n +0001717088 00000 n +0001717282 00000 n +0001717476 00000 n +0001721386 00000 n +0001719057 00000 n +0001716566 00000 n +0001714843 00000 n +0001717636 00000 n +0001718219 00000 n +0001718348 00000 n +0001718413 00000 n +0001718670 00000 n +0001718799 00000 n +0001718928 00000 n +0001718993 00000 n +0001721590 00000 n +0001721775 00000 n +0001721994 00000 n +0001722243 00000 n +0001722747 00000 n +0001723000 00000 n +0001723505 00000 n +0001723666 00000 n +0001723827 00000 n +0001723986 00000 n +0001724144 00000 n +0001724311 00000 n +0001724479 00000 n +0001724640 00000 n +0001724801 00000 n +0001724962 00000 n +0001725127 00000 n +0001725292 00000 n +0001725455 00000 n +0001725625 00000 n +0001725787 00000 n +0001725951 00000 n +0001726121 00000 n +0001730111 00000 n +0001730312 00000 n +0001730547 00000 n +0001730781 00000 n +0001731016 00000 n +0001726797 00000 n +0001720987 00000 n +0001719218 00000 n +0001726280 00000 n +0001726409 00000 n +0001726474 00000 n +0001726538 00000 n +0001722495 00000 n +0001723253 00000 n +0001726603 00000 n +0001726732 00000 n +0001731250 00000 n +0001731452 00000 n +0001731687 00000 n +0001731922 00000 n +0001732156 00000 n +0001732356 00000 n +0001732590 00000 n +0001732823 00000 n +0001733057 00000 n +0001733259 00000 n +0001733493 00000 n +0001733728 00000 n +0001733963 00000 n +0001734432 00000 n +0001734666 00000 n +0001734901 00000 n +0001735370 00000 n +0001735605 00000 n +0001735838 00000 n +0001736073 00000 n +0001736308 00000 n +0001736543 00000 n +0001736745 00000 n +0001736980 00000 n +0001737214 00000 n +0001737683 00000 n +0001737918 00000 n +0001738120 00000 n +0001738354 00000 n +0001738589 00000 n +0001738823 00000 n +0001738983 00000 n +0001739184 00000 n +0001739419 00000 n +0001739654 00000 n +0001740122 00000 n +0001740324 00000 n +0001740557 00000 n +0001740792 00000 n +0001741261 00000 n +0001741496 00000 n +0001741730 00000 n +0001741965 00000 n +0001742434 00000 n +0001742595 00000 n +0001746128 00000 n +0001746289 00000 n +0001743335 00000 n +0001729412 00000 n +0001726943 00000 n +0001742755 00000 n +0001742820 00000 n +0001734198 00000 n +0001735136 00000 n +0001737449 00000 n +0001739888 00000 n +0001741027 00000 n +0001742200 00000 n +0001742949 00000 n +0001743078 00000 n +0001743143 00000 n +0001743208 00000 n +0001748109 00000 n +0001748238 00000 n +0001751354 00000 n +0001751419 00000 n +0001751483 00000 n +0001752000 00000 n +0001752065 00000 n +0001752130 00000 n +0001752712 00000 n +0001752777 00000 n +0001752841 00000 n +0001747330 00000 n +0001747395 00000 n +0001747460 00000 n +0001747525 00000 n +0001747590 00000 n +0001747655 00000 n +0001747720 00000 n +0001747785 00000 n +0001747850 00000 n +0001747915 00000 n +0001747979 00000 n +0001748044 00000 n +0001752195 00000 n +0001752324 00000 n +0001752388 00000 n +0001752453 00000 n +0001752518 00000 n +0001751677 00000 n +0001751742 00000 n +0001751807 00000 n +0001746748 00000 n +0001746813 00000 n +0001746877 00000 n +0001746942 00000 n +0001747007 00000 n +0001747071 00000 n +0001747136 00000 n +0001746448 00000 n +0001748302 00000 n +0001745959 00000 n +0001743496 00000 n +0001746619 00000 n +0001751129 00000 n +0001752969 00000 n +0001750980 00000 n +0001748420 00000 n +0001751289 00000 n +0001752905 00000 n +0001755859 00000 n +0001756020 00000 n +0001756185 00000 n +0001756384 00000 n +0001756583 00000 n +0001756778 00000 n +0001757008 00000 n +0001757239 00000 n +0001757470 00000 n +0001757701 00000 n +0001757930 00000 n +0001758160 00000 n +0001758390 00000 n +0001758620 00000 n +0001758850 00000 n +0001759081 00000 n +0001759311 00000 n +0001759542 00000 n +0001759772 00000 n +0001760003 00000 n +0001760464 00000 n +0001760694 00000 n +0001760923 00000 n +0001761153 00000 n +0001761614 00000 n +0001761845 00000 n +0001762075 00000 n +0001762272 00000 n +0001762502 00000 n +0001762963 00000 n +0001763424 00000 n +0001763655 00000 n +0001763885 00000 n +0001764116 00000 n +0001764347 00000 n +0001764808 00000 n +0001765036 00000 n +0001765495 00000 n +0001765954 00000 n +0001766184 00000 n +0001766383 00000 n +0001766614 00000 n +0001766846 00000 n +0001768141 00000 n +0001755210 00000 n +0001753101 00000 n +0001767308 00000 n +0001767437 00000 n +0001767501 00000 n +0001767566 00000 n +0001760234 00000 n +0001761384 00000 n +0001762733 00000 n +0001763194 00000 n +0001764578 00000 n +0001765265 00000 n +0001765726 00000 n +0001767077 00000 n +0001767694 00000 n +0001767823 00000 n +0002046443 00000 n +0001774449 00000 n +0001774513 00000 n +0001774578 00000 n +0001770912 00000 n +0001771071 00000 n +0001771232 00000 n +0001771403 00000 n +0001771573 00000 n +0001771744 00000 n +0001771919 00000 n +0001772094 00000 n +0001772265 00000 n +0001772426 00000 n +0001772590 00000 n +0001772819 00000 n +0001772980 00000 n +0001773140 00000 n +0001773300 00000 n +0001773501 00000 n +0001773703 00000 n +0001773874 00000 n +0001774040 00000 n +0001774198 00000 n +0001776720 00000 n +0001774902 00000 n +0001770573 00000 n +0001768287 00000 n +0001774384 00000 n +0001774643 00000 n +0001774772 00000 n +0001774837 00000 n +0001776918 00000 n +0001777116 00000 n +0001777311 00000 n +0001777471 00000 n +0001777669 00000 n +0001777867 00000 n +0001778064 00000 n +0001778228 00000 n +0001778403 00000 n +0001781606 00000 n +0001779980 00000 n +0001776481 00000 n +0001775063 00000 n +0001778562 00000 n +0001778627 00000 n +0001778820 00000 n +0001778947 00000 n +0001779076 00000 n +0001779205 00000 n +0001779270 00000 n +0001779399 00000 n +0001779528 00000 n +0001779657 00000 n +0001779786 00000 n +0001779915 00000 n +0001781770 00000 n +0001781935 00000 n +0001782100 00000 n +0001782298 00000 n +0001782496 00000 n +0001782660 00000 n +0001782856 00000 n +0001783019 00000 n +0001783184 00000 n +0001784696 00000 n +0001781367 00000 n +0001780126 00000 n +0001783343 00000 n +0001783472 00000 n +0001783600 00000 n +0001783665 00000 n +0001783794 00000 n +0001783923 00000 n +0001784052 00000 n +0001784181 00000 n +0001784246 00000 n +0001784375 00000 n +0001784502 00000 n +0001784631 00000 n +0001786981 00000 n +0001787145 00000 n +0001787315 00000 n +0001787485 00000 n +0001787683 00000 n +0001787887 00000 n +0001788091 00000 n +0001788252 00000 n +0001788446 00000 n +0001788673 00000 n +0001788901 00000 n +0001789128 00000 n +0001789356 00000 n +0001789550 00000 n +0001789777 00000 n +0001790005 00000 n +0001790233 00000 n +0001790458 00000 n +0001790681 00000 n +0001790875 00000 n +0001791102 00000 n +0001791556 00000 n +0001791784 00000 n +0001791977 00000 n +0001792203 00000 n +0001792430 00000 n +0001792657 00000 n +0001793977 00000 n +0001786562 00000 n +0001784842 00000 n +0001792818 00000 n +0001792947 00000 n +0001793076 00000 n +0001793141 00000 n +0001793269 00000 n +0001793334 00000 n +0001791329 00000 n +0001793590 00000 n +0001793655 00000 n +0001793913 00000 n +0001798133 00000 n +0001798198 00000 n +0001798263 00000 n +0001798328 00000 n +0001797423 00000 n +0001797488 00000 n +0001797616 00000 n +0001797875 00000 n +0001797940 00000 n +0001796059 00000 n +0001796219 00000 n +0001796414 00000 n +0001796617 00000 n +0001796784 00000 n +0001796954 00000 n +0001797156 00000 n +0001800988 00000 n +0001799097 00000 n +0001795850 00000 n +0001794138 00000 n +0001797358 00000 n +0001798393 00000 n +0001798522 00000 n +0001798587 00000 n +0001798716 00000 n +0001798845 00000 n +0001798970 00000 n +0001801141 00000 n +0001801459 00000 n +0001801619 00000 n +0001801786 00000 n +0001801946 00000 n +0001802112 00000 n +0001802269 00000 n +0001802435 00000 n +0001803538 00000 n +0001800749 00000 n +0001799258 00000 n +0001802634 00000 n +0001802699 00000 n +0001801301 00000 n +0001802764 00000 n +0001802893 00000 n +0001802958 00000 n +0001803087 00000 n +0001803216 00000 n +0001803345 00000 n +0001803474 00000 n +0002046576 00000 n +0001805607 00000 n +0001805808 00000 n +0001805995 00000 n +0001806193 00000 n +0001806364 00000 n +0001806535 00000 n +0001806733 00000 n +0001806927 00000 n +0001807102 00000 n +0001807271 00000 n +0001808540 00000 n +0001805368 00000 n +0001803684 00000 n +0001807444 00000 n +0001807573 00000 n +0001807638 00000 n +0001807703 00000 n +0001807832 00000 n +0001807959 00000 n +0001808088 00000 n +0001808217 00000 n +0001808282 00000 n +0001808411 00000 n +0001808476 00000 n +0001810480 00000 n +0001810652 00000 n +0001810824 00000 n +0001810996 00000 n +0001811166 00000 n +0001811338 00000 n +0001811527 00000 n +0001811713 00000 n +0001814439 00000 n +0001813000 00000 n +0001810261 00000 n +0001808686 00000 n +0001811902 00000 n +0001812031 00000 n +0001812096 00000 n +0001812225 00000 n +0001812290 00000 n +0001812419 00000 n +0001812484 00000 n +0001812612 00000 n +0001812677 00000 n +0001812806 00000 n +0001812871 00000 n +0001814626 00000 n +0001814812 00000 n +0001814995 00000 n +0001815204 00000 n +0001815390 00000 n +0001815585 00000 n +0001815792 00000 n +0001815988 00000 n +0001816195 00000 n +0001816380 00000 n +0001816575 00000 n +0001819742 00000 n +0001817867 00000 n +0001814180 00000 n +0001813146 00000 n +0001816769 00000 n +0001816834 00000 n +0001816899 00000 n +0001817027 00000 n +0001817092 00000 n +0001817221 00000 n +0001817286 00000 n +0001817415 00000 n +0001817480 00000 n +0001817545 00000 n +0001817674 00000 n +0001817739 00000 n +0001817804 00000 n +0001819938 00000 n +0001820168 00000 n +0001820430 00000 n +0001820954 00000 n +0001821479 00000 n +0001821742 00000 n +0001822004 00000 n +0001822528 00000 n +0001823053 00000 n +0001823316 00000 n +0001823578 00000 n +0001824103 00000 n +0001824628 00000 n +0001824840 00000 n +0001825027 00000 n +0001825222 00000 n +0001825418 00000 n +0001825634 00000 n +0001825821 00000 n +0001826016 00000 n +0001829176 00000 n +0001827048 00000 n +0001819333 00000 n +0001818013 00000 n +0001826210 00000 n +0001826339 00000 n +0001826403 00000 n +0001820692 00000 n +0001821217 00000 n +0001822266 00000 n +0001822791 00000 n +0001823841 00000 n +0001824366 00000 n +0001826468 00000 n +0001826597 00000 n +0001826661 00000 n +0001826726 00000 n +0001826855 00000 n +0001826920 00000 n +0001826985 00000 n +0001829392 00000 n +0001829579 00000 n +0001829773 00000 n +0001829969 00000 n +0001830174 00000 n +0001830361 00000 n +0001830557 00000 n +0001830765 00000 n +0001830983 00000 n +0001831170 00000 n +0001831381 00000 n +0001831588 00000 n +0001831794 00000 n +0001831979 00000 n +0001832175 00000 n +0001832404 00000 n +0001832666 00000 n +0001833191 00000 n +0001833454 00000 n +0001833717 00000 n +0001833979 00000 n +0001834504 00000 n +0001834766 00000 n +0001834927 00000 n +0001835087 00000 n +0001837882 00000 n +0001838112 00000 n +0001838373 00000 n +0001838896 00000 n +0001839158 00000 n +0001839682 00000 n +0001839944 00000 n +0001840468 00000 n +0001840730 00000 n +0001841254 00000 n +0001841516 00000 n +0001842040 00000 n +0001842303 00000 n +0001836055 00000 n +0001828757 00000 n +0001827194 00000 n +0001835281 00000 n +0001835410 00000 n +0001835474 00000 n +0001835537 00000 n +0001835666 00000 n +0001835731 00000 n +0001835796 00000 n +0001832929 00000 n +0001834242 00000 n +0001835861 00000 n +0001835990 00000 n +0001842828 00000 n +0001843041 00000 n +0001843237 00000 n +0001843460 00000 n +0001843655 00000 n +0001843863 00000 n +0001844706 00000 n +0001837493 00000 n +0001836201 00000 n +0001844059 00000 n +0001844124 00000 n +0001838635 00000 n +0001839421 00000 n +0001840207 00000 n +0001840992 00000 n +0001841779 00000 n +0001842566 00000 n +0001844189 00000 n +0001844318 00000 n +0001844383 00000 n +0001844448 00000 n +0001844577 00000 n +0001844642 00000 n +0002046709 00000 n +0001846497 00000 n +0001846650 00000 n +0001846803 00000 n +0001846956 00000 n +0001847109 00000 n +0001847262 00000 n +0001847415 00000 n +0001847567 00000 n +0001847719 00000 n +0001847871 00000 n +0001848023 00000 n +0001848176 00000 n +0001848329 00000 n +0001848481 00000 n +0001848634 00000 n +0001848787 00000 n +0001848940 00000 n +0001849092 00000 n +0001849243 00000 n +0001849395 00000 n +0001849547 00000 n +0001849698 00000 n +0001849851 00000 n +0001850004 00000 n +0001850157 00000 n +0001850310 00000 n +0001850462 00000 n +0001850613 00000 n +0001850764 00000 n +0001850916 00000 n +0001851068 00000 n +0001851220 00000 n +0001851371 00000 n +0001851524 00000 n +0001851676 00000 n +0001851828 00000 n +0001851980 00000 n +0001852132 00000 n +0001852284 00000 n +0001852434 00000 n +0001852585 00000 n +0001852737 00000 n +0001852889 00000 n +0001853041 00000 n +0001853194 00000 n +0001853345 00000 n +0001853498 00000 n +0001853651 00000 n +0001853804 00000 n +0001853956 00000 n +0001854108 00000 n +0001854261 00000 n +0001854414 00000 n +0001854566 00000 n +0001854718 00000 n +0001857468 00000 n +0001854997 00000 n +0001845808 00000 n +0001844852 00000 n +0001854868 00000 n +0001857620 00000 n +0001857772 00000 n +0001857923 00000 n +0001858075 00000 n +0001858227 00000 n +0001858378 00000 n +0001858531 00000 n +0001858681 00000 n +0001858833 00000 n +0001858985 00000 n +0001859136 00000 n +0001859286 00000 n +0001859437 00000 n +0001859589 00000 n +0001859742 00000 n +0001859895 00000 n +0001860048 00000 n +0001860201 00000 n +0001860354 00000 n +0001860507 00000 n +0001860659 00000 n +0001860812 00000 n +0001860964 00000 n +0001861117 00000 n +0001861269 00000 n +0001861422 00000 n +0001861575 00000 n +0001861728 00000 n +0001861881 00000 n +0001862034 00000 n +0001862186 00000 n +0001862339 00000 n +0001862491 00000 n +0001862644 00000 n +0001862796 00000 n +0001862949 00000 n +0001863102 00000 n +0001863255 00000 n +0001863407 00000 n +0001863559 00000 n +0001863709 00000 n +0001863859 00000 n +0001864011 00000 n +0001864161 00000 n +0001864312 00000 n +0001864464 00000 n +0001864616 00000 n +0001864768 00000 n +0001864920 00000 n +0001865072 00000 n +0001865223 00000 n +0001865375 00000 n +0001865527 00000 n +0001865679 00000 n +0001865831 00000 n +0001865983 00000 n +0001866135 00000 n +0001866287 00000 n +0001866437 00000 n +0001866589 00000 n +0001866741 00000 n +0001866892 00000 n +0001867043 00000 n +0001867195 00000 n +0001867346 00000 n +0001867497 00000 n +0001867649 00000 n +0001867801 00000 n +0001867953 00000 n +0001868105 00000 n +0001868257 00000 n +0001868409 00000 n +0001868561 00000 n +0001868713 00000 n +0001868864 00000 n +0001869016 00000 n +0001869168 00000 n +0001869320 00000 n +0001869472 00000 n +0001869624 00000 n +0001869777 00000 n +0001869930 00000 n +0001870083 00000 n +0001870235 00000 n +0001870386 00000 n +0001870538 00000 n +0001870691 00000 n +0001870843 00000 n +0001871059 00000 n +0001856439 00000 n +0001855086 00000 n +0001870994 00000 n +0001873491 00000 n +0001873643 00000 n +0001873796 00000 n +0001873948 00000 n +0001874101 00000 n +0001874254 00000 n +0001874406 00000 n +0001874558 00000 n +0001874708 00000 n +0001874860 00000 n +0001875012 00000 n +0001875164 00000 n +0001875316 00000 n +0001875468 00000 n +0001875619 00000 n +0001875771 00000 n +0001875923 00000 n +0001876074 00000 n +0001876227 00000 n +0001876379 00000 n +0001876532 00000 n +0001876684 00000 n +0001876837 00000 n +0001876990 00000 n +0001877142 00000 n +0001877295 00000 n +0001877448 00000 n +0001877601 00000 n +0001877754 00000 n +0001877907 00000 n +0001878058 00000 n +0001878210 00000 n +0001878362 00000 n +0001878515 00000 n +0001878668 00000 n +0001878821 00000 n +0001878974 00000 n +0001879126 00000 n +0001879277 00000 n +0001879428 00000 n +0001879580 00000 n +0001879733 00000 n +0001879886 00000 n +0001880039 00000 n +0001880192 00000 n +0001880345 00000 n +0001880498 00000 n +0001880651 00000 n +0001880804 00000 n +0001880957 00000 n +0001881110 00000 n +0001881263 00000 n +0001881416 00000 n +0001881569 00000 n +0001881722 00000 n +0001881874 00000 n +0001882027 00000 n +0001882180 00000 n +0001882333 00000 n +0001882486 00000 n +0001882639 00000 n +0001882790 00000 n +0001882943 00000 n +0001883094 00000 n +0001883246 00000 n +0001883397 00000 n +0001883549 00000 n +0001883702 00000 n +0001883855 00000 n +0001884008 00000 n +0001884160 00000 n +0001884313 00000 n +0001884466 00000 n +0001884618 00000 n +0001884770 00000 n +0001884921 00000 n +0001885074 00000 n +0001885227 00000 n +0001885380 00000 n +0001885533 00000 n +0001885685 00000 n +0001885837 00000 n +0001888414 00000 n +0001886053 00000 n +0001872532 00000 n +0001871148 00000 n +0001885988 00000 n +0001888566 00000 n +0001888717 00000 n +0001888869 00000 n +0001889021 00000 n +0001889173 00000 n +0001889325 00000 n +0001889477 00000 n +0001889629 00000 n +0001889781 00000 n +0001889933 00000 n +0001890085 00000 n +0001890237 00000 n +0001890389 00000 n +0001890540 00000 n +0001890692 00000 n +0001890844 00000 n +0001890995 00000 n +0001891147 00000 n +0001891299 00000 n +0001891451 00000 n +0001891602 00000 n +0001891754 00000 n +0001891906 00000 n +0001892058 00000 n +0001892210 00000 n +0001892362 00000 n +0001892514 00000 n +0001892666 00000 n +0001892815 00000 n +0001892967 00000 n +0001893119 00000 n +0001893272 00000 n +0001893425 00000 n +0001893578 00000 n +0001893731 00000 n +0001893884 00000 n +0001894037 00000 n +0001894189 00000 n +0001894340 00000 n +0001894493 00000 n +0001894645 00000 n +0001894797 00000 n +0001894950 00000 n +0001895103 00000 n +0001895255 00000 n +0001895407 00000 n +0001895557 00000 n +0001895709 00000 n +0001895862 00000 n +0001896014 00000 n +0001896167 00000 n +0001896320 00000 n +0001896473 00000 n +0001896626 00000 n +0001896779 00000 n +0001896931 00000 n +0001897084 00000 n +0001897235 00000 n +0001897388 00000 n +0001897541 00000 n +0001897694 00000 n +0001897847 00000 n +0001898000 00000 n +0001898153 00000 n +0001898306 00000 n +0001898459 00000 n +0001898611 00000 n +0001898762 00000 n +0001901788 00000 n +0001898978 00000 n +0001887585 00000 n +0001886142 00000 n +0001898913 00000 n +0001901941 00000 n +0001902094 00000 n +0001902247 00000 n +0001902400 00000 n +0001902553 00000 n +0001902706 00000 n +0001902855 00000 n +0001903008 00000 n +0001903161 00000 n +0001903313 00000 n +0001903466 00000 n +0001903618 00000 n +0001903771 00000 n +0001903924 00000 n +0001904076 00000 n +0001904229 00000 n +0001904382 00000 n +0001904534 00000 n +0001904686 00000 n +0001904838 00000 n +0001904990 00000 n +0001905141 00000 n +0001905291 00000 n +0001905442 00000 n +0001905594 00000 n +0001905744 00000 n +0001905896 00000 n +0001906047 00000 n +0001906199 00000 n +0001906351 00000 n +0001906503 00000 n +0001906654 00000 n +0001906805 00000 n +0001906957 00000 n +0001907109 00000 n +0001907261 00000 n +0001907413 00000 n +0001907563 00000 n +0001907715 00000 n +0001907867 00000 n +0001908019 00000 n +0001908171 00000 n +0001908323 00000 n +0001908473 00000 n +0001908625 00000 n +0001908776 00000 n +0001908928 00000 n +0001909080 00000 n +0001909231 00000 n +0001909382 00000 n +0001909534 00000 n +0001909684 00000 n +0001909834 00000 n +0001909983 00000 n +0001910135 00000 n +0001910287 00000 n +0001910436 00000 n +0001910587 00000 n +0001910739 00000 n +0001910890 00000 n +0001911041 00000 n +0001911192 00000 n +0001911344 00000 n +0001911496 00000 n +0001911648 00000 n +0001911799 00000 n +0001911951 00000 n +0001912103 00000 n +0001912255 00000 n +0001912407 00000 n +0001912558 00000 n +0001912710 00000 n +0001912862 00000 n +0001913014 00000 n +0001913166 00000 n +0001913317 00000 n +0001913468 00000 n +0001913618 00000 n +0001913770 00000 n +0001913921 00000 n +0001914073 00000 n +0001914225 00000 n +0001914377 00000 n +0001914529 00000 n +0001914681 00000 n +0001914833 00000 n +0001914985 00000 n +0001915137 00000 n +0001915289 00000 n +0001915440 00000 n +0001915592 00000 n +0001915744 00000 n +0001915895 00000 n +0001916048 00000 n +0001916201 00000 n +0001916353 00000 n +0001916506 00000 n +0001916659 00000 n +0001916812 00000 n +0001916965 00000 n +0001917117 00000 n +0001917270 00000 n +0001919229 00000 n +0001917486 00000 n +0001900619 00000 n +0001899067 00000 n +0001917421 00000 n +0001919381 00000 n +0001919534 00000 n +0001919687 00000 n +0001919840 00000 n +0001919992 00000 n +0001920145 00000 n +0001920298 00000 n +0001920450 00000 n +0001920602 00000 n +0001920755 00000 n +0001920908 00000 n +0001921060 00000 n +0001921213 00000 n +0001921365 00000 n +0001921518 00000 n +0001921670 00000 n +0001921822 00000 n +0001921975 00000 n +0001922128 00000 n +0001922281 00000 n +0001922434 00000 n +0001922587 00000 n +0001922740 00000 n +0001922892 00000 n +0001923045 00000 n +0001923196 00000 n +0001923349 00000 n +0001923501 00000 n +0001923653 00000 n +0001923805 00000 n +0001923958 00000 n +0001924110 00000 n +0001924261 00000 n +0001924412 00000 n +0001924565 00000 n +0001924717 00000 n +0001924869 00000 n +0001925022 00000 n +0001925173 00000 n +0001925324 00000 n +0001925476 00000 n +0001925694 00000 n +0001918670 00000 n +0001917575 00000 n +0001925629 00000 n +0002046842 00000 n +0002039275 00000 n +0001925885 00000 n +0001926362 00000 n +0001926835 00000 n +0001927313 00000 n +0001927780 00000 n +0001927883 00000 n +0001928485 00000 n +0001929055 00000 n +0001929532 00000 n +0001930436 00000 n +0001937696 00000 n +0001937948 00000 n +0001945292 00000 n +0001945543 00000 n +0001962774 00000 n +0001963319 00000 n +0001975845 00000 n +0001976292 00000 n +0001990556 00000 n +0001991071 00000 n +0002002516 00000 n +0002002856 00000 n +0002013810 00000 n +0002014159 00000 n +0002026495 00000 n +0002027142 00000 n +0002038745 00000 n +0002046925 00000 n +0002047053 00000 n +0002047181 00000 n +0002047309 00000 n +0002047437 00000 n +0002047565 00000 n +0002047696 00000 n +0002047830 00000 n +0002047923 00000 n +0002048058 00000 n +0002048152 00000 n +0002048229 00000 n +0002168388 00000 n +0002168660 00000 n +0002168922 00000 n +0002169566 00000 n +0002170276 00000 n +0002171020 00000 n +0002171731 00000 n +0002172475 00000 n +0002172978 00000 n +0002173512 00000 n +0002174327 00000 n +0002175076 00000 n +0002175891 00000 n +0002176706 00000 n +0002177554 00000 n +0002178368 00000 n +0002179183 00000 n +0002179882 00000 n +0002180637 00000 n +0002181065 00000 n +0002181560 00000 n +0002181900 00000 n +0002182328 00000 n +0002182929 00000 n +0002183688 00000 n +0002184347 00000 n +0002185001 00000 n +0002185317 00000 n +0002185553 00000 n +0002185766 00000 n +0002186322 00000 n +0002186932 00000 n +0002187528 00000 n +0002188048 00000 n +0002188570 00000 n +0002189092 00000 n +0002189614 00000 n +0002190136 00000 n +0002190624 00000 n +0002191146 00000 n +0002191763 00000 n +0002192673 00000 n +0002193651 00000 n +0002194489 00000 n +0002195395 00000 n +0002196261 00000 n +0002197159 00000 n +0002198057 00000 n +0002198955 00000 n +0002199853 00000 n +0002200751 00000 n +0002201627 00000 n +0002202557 00000 n +0002203451 00000 n +0002204379 00000 n +0002205341 00000 n +0002206303 00000 n +0002207201 00000 n +0002208029 00000 n +0002208967 00000 n +0002209835 00000 n +0002210725 00000 n +0002211555 00000 n +0002212477 00000 n +0002213331 00000 n +0002214036 00000 n +0002214558 00000 n +0002215080 00000 n +0002215572 00000 n +0002216034 00000 n +0002216612 00000 n +0002217068 00000 n +0002217622 00000 n +0002218176 00000 n +0002218730 00000 n +0002219250 00000 n +0002219804 00000 n +0002220358 00000 n +0002220912 00000 n +0002221466 00000 n +0002222020 00000 n +0002222574 00000 n +0002223128 00000 n +0002223682 00000 n +0002224236 00000 n +0002224790 00000 n +0002225343 00000 n +0002225945 00000 n +0002226579 00000 n +0002227213 00000 n +0002227847 00000 n +0002228481 00000 n +0002229080 00000 n +0002229793 00000 n +0002230494 00000 n +0002231195 00000 n +0002231877 00000 n +0002232429 00000 n +0002232983 00000 n +0002233537 00000 n +0002234091 00000 n +0002234645 00000 n +0002235199 00000 n +0002235753 00000 n +0002236307 00000 n +0002236861 00000 n +0002237415 00000 n +0002237969 00000 n +0002238523 00000 n +0002239077 00000 n +0002239631 00000 n +0002240185 00000 n +0002240739 00000 n +0002241293 00000 n +0002241847 00000 n +0002242401 00000 n +0002242955 00000 n +0002243509 00000 n +0002244063 00000 n +0002244559 00000 n +0002245153 00000 n +0002245683 00000 n +0002246229 00000 n +0002246775 00000 n +0002247321 00000 n +0002247867 00000 n +0002248412 00000 n +0002248895 00000 n +0002249465 00000 n +0002249986 00000 n +0002250532 00000 n +0002251078 00000 n +0002251608 00000 n +0002252202 00000 n +0002252778 00000 n +0002253484 00000 n +0002254379 00000 n +0002255175 00000 n +0002256037 00000 n +0002256833 00000 n +0002257439 00000 n +0002258268 00000 n +0002259025 00000 n +0002259833 00000 n +0002260439 00000 n +0002260970 00000 n +0002261503 00000 n +0002262034 00000 n +0002262567 00000 n +0002263100 00000 n +0002263614 00000 n +0002264125 00000 n +0002264724 00000 n +0002265151 00000 n +0002265604 00000 n +0002266084 00000 n +0002266560 00000 n +0002267040 00000 n +0002267515 00000 n +0002268035 00000 n +0002268553 00000 n +0002269073 00000 n +0002269570 00000 n +0002270113 00000 n +0002270656 00000 n +0002271200 00000 n +0002271708 00000 n +0002272276 00000 n +0002272844 00000 n +0002273412 00000 n +0002274145 00000 n +0002274779 00000 n +0002275245 00000 n +0002275771 00000 n +0002276383 00000 n +0002276819 00000 n +0002277112 00000 n +0002277650 00000 n +0002278460 00000 n +0002279270 00000 n +0002280080 00000 n +0002280890 00000 n +0002281700 00000 n +0002282510 00000 n +0002283320 00000 n +0002284130 00000 n +0002284940 00000 n +0002285750 00000 n +0002286560 00000 n +0002287370 00000 n +0002288195 00000 n +0002289213 00000 n +0002289739 00000 n +0002290333 00000 n +0002290927 00000 n +0002291521 00000 n +0002292115 00000 n +0002292593 00000 n +0002293226 00000 n +0002294086 00000 n +0002295152 00000 n +0002296152 00000 n +0002297218 00000 n +0002298218 00000 n +0002299284 00000 n +0002299806 00000 n +0002299987 00000 n +0002300173 00000 n +0002300357 00000 n +0002300541 00000 n +0002300727 00000 n +0002300912 00000 n +0002301098 00000 n +0002301283 00000 n +0002301469 00000 n +0002301654 00000 n +0002301840 00000 n +0002302025 00000 n +0002302216 00000 n +0002302405 00000 n +0002302594 00000 n +0002302786 00000 n +0002302976 00000 n +0002303168 00000 n +0002303355 00000 n +0002303547 00000 n +0002303737 00000 n +0002303929 00000 n +0002304119 00000 n +0002304304 00000 n +0002304481 00000 n +0002304659 00000 n +0002304836 00000 n +0002305014 00000 n +0002305191 00000 n +0002305369 00000 n +0002305546 00000 n +0002305724 00000 n +0002305900 00000 n +0002306076 00000 n +0002306254 00000 n +0002306431 00000 n +0002306609 00000 n +0002306831 00000 n +0002307056 00000 n +0002307274 00000 n +0002307490 00000 n +0002307706 00000 n +0002307924 00000 n +0002308141 00000 n +0002308360 00000 n +0002308582 00000 n +0002308806 00000 n +0002309028 00000 n +0002309252 00000 n +0002309474 00000 n +0002309698 00000 n +0002309919 00000 n +0002310140 00000 n +0002310364 00000 n +0002310586 00000 n +0002310810 00000 n +0002311029 00000 n +0002311253 00000 n +0002311475 00000 n +0002311699 00000 n +0002311921 00000 n +0002312145 00000 n +0002312367 00000 n +0002312591 00000 n +0002312802 00000 n +0002313011 00000 n +0002313221 00000 n +0002313429 00000 n +0002313637 00000 n +0002313847 00000 n +0002314056 00000 n +0002314266 00000 n +0002314475 00000 n +0002314685 00000 n +0002314894 00000 n +0002315104 00000 n +0002315313 00000 n +0002315523 00000 n +0002315722 00000 n +0002315926 00000 n +0002316140 00000 n +0002316356 00000 n +0002316574 00000 n +0002316790 00000 n +0002317008 00000 n +0002317224 00000 n +0002317442 00000 n +0002317658 00000 n +0002317876 00000 n +0002318091 00000 n +0002318301 00000 n +0002318519 00000 n +0002318736 00000 n +0002318954 00000 n +0002319171 00000 n +0002319389 00000 n +0002319605 00000 n +0002319819 00000 n +0002320240 00000 n +0002320614 00000 n +0002320855 00000 n +0002321104 00000 n +0002321359 00000 n +0002321617 00000 n +0002321870 00000 n +0002322123 00000 n +0002322381 00000 n +0002322639 00000 n +0002322890 00000 n +0002323145 00000 n +0002323403 00000 n +0002323661 00000 n +0002323919 00000 n +0002324177 00000 n +0002324435 00000 n +0002324682 00000 n +0002324940 00000 n +0002325198 00000 n +0002325456 00000 n +0002325707 00000 n +0002325960 00000 n +0002326218 00000 n +0002326476 00000 n +0002326734 00000 n +0002326989 00000 n +0002327244 00000 n +0002327502 00000 n +0002327751 00000 n +0002327998 00000 n +0002328256 00000 n +0002328514 00000 n +0002328767 00000 n +0002329045 00000 n +0002329329 00000 n +0002329618 00000 n +0002329910 00000 n +0002330208 00000 n +0002330502 00000 n +0002330797 00000 n +0002331097 00000 n +0002331398 00000 n +0002331704 00000 n +0002331999 00000 n +0002332299 00000 n +0002332600 00000 n +0002332900 00000 n +0002333203 00000 n +0002333501 00000 n +0002333799 00000 n +0002334097 00000 n +0002334392 00000 n +0002334676 00000 n +0002334965 00000 n +0002335263 00000 n +0002335565 00000 n +0002335871 00000 n +0002336176 00000 n +0002336482 00000 n +0002336780 00000 n +0002337078 00000 n +0002337384 00000 n +0002337689 00000 n +0002337987 00000 n +0002338285 00000 n +0002338585 00000 n +0002338891 00000 n +0002339196 00000 n +0002339502 00000 n +0002339807 00000 n +0002340113 00000 n +0002340418 00000 n +0002340724 00000 n +0002341028 00000 n +0002341332 00000 n +0002341638 00000 n +0002341939 00000 n +0002342238 00000 n +0002342533 00000 n +0002342817 00000 n +0002343106 00000 n +0002343404 00000 n +0002343705 00000 n +0002344011 00000 n +0002344316 00000 n +0002344622 00000 n +0002344927 00000 n +0002345233 00000 n +0002345537 00000 n +0002345841 00000 n +0002346147 00000 n +0002346452 00000 n +0002346758 00000 n +0002347059 00000 n +0002347365 00000 n +0002347666 00000 n +0002347966 00000 n +0002348272 00000 n +0002348577 00000 n +0002348883 00000 n +0002349188 00000 n +0002349494 00000 n +0002349799 00000 n +0002350101 00000 n +0002350399 00000 n +0002350697 00000 n +0002351001 00000 n +0002351299 00000 n +0002351600 00000 n +0002351902 00000 n +0002352200 00000 n +0002352498 00000 n +0002352796 00000 n +0002353099 00000 n +0002353400 00000 n +0002353698 00000 n +0002353996 00000 n +0002354285 00000 n +0002354569 00000 n +0002354862 00000 n +0002355160 00000 n +0002355464 00000 n +0002355762 00000 n +0002356060 00000 n +0002356358 00000 n +0002356656 00000 n +0002356958 00000 n +0002357260 00000 n +0002357558 00000 n +0002357859 00000 n +0002358157 00000 n +0002358455 00000 n +0002358755 00000 n +0002359061 00000 n +0002359366 00000 n +0002359672 00000 n +0002359973 00000 n +0002360266 00000 n +0002360558 00000 n +0002360846 00000 n +0002361130 00000 n +0002361417 00000 n +0002361705 00000 n +0002361992 00000 n +0002362290 00000 n +0002362588 00000 n +0002362886 00000 n +0002363188 00000 n +0002363491 00000 n +0002363789 00000 n +0002364087 00000 n +0002364387 00000 n +0002364691 00000 n +0002364989 00000 n +0002365287 00000 n +0002365590 00000 n +0002365891 00000 n +0002366189 00000 n +0002366487 00000 n +0002366787 00000 n +0002367093 00000 n +0002367393 00000 n +0002367691 00000 n +0002367986 00000 n +0002368270 00000 n +0002368568 00000 n +0002368866 00000 n +0002369164 00000 n +0002369455 00000 n +0002369739 00000 n +0002370029 00000 n +0002370317 00000 n +0002370601 00000 n +0002370888 00000 n +0002371186 00000 n +0002371484 00000 n +0002371782 00000 n +0002372080 00000 n +0002372372 00000 n +0002372497 00000 n +0002372692 00000 n +0002372968 00000 n +0002373221 00000 n +0002373438 00000 n +0002373658 00000 n +0002373878 00000 n +0002374144 00000 n +0002374414 00000 n +0002374725 00000 n +0002375035 00000 n +0002375290 00000 n +0002375503 00000 n +0002375720 00000 n +0002375937 00000 n +0002376164 00000 n +0002376402 00000 n +0002376630 00000 n +0002376847 00000 n +0002377064 00000 n +0002377286 00000 n +0002377518 00000 n +0002377713 00000 n +0002377990 00000 n +0002378259 00000 n +0002378475 00000 n +0002378684 00000 n +0002378889 00000 n +0002379105 00000 n +0002379325 00000 n +0002379576 00000 n +0002379857 00000 n +0002380111 00000 n +0002380387 00000 n +0002380722 00000 n +0002380957 00000 n +0002381082 00000 n +0002381207 00000 n +0002381332 00000 n +0002381456 00000 n +0002381579 00000 n +0002381707 00000 n +0002381840 00000 n +0002381972 00000 n +0002382105 00000 n +0002382237 00000 n +0002382368 00000 n +0002382499 00000 n +0002382631 00000 n +0002382764 00000 n +0002382896 00000 n +0002383033 00000 n +0002383175 00000 n +0002383318 00000 n +0002383461 00000 n +0002383603 00000 n +0002383745 00000 n +0002383894 00000 n +0002384048 00000 n +0002384201 00000 n +0002384355 00000 n +0002384510 00000 n +0002384665 00000 n +0002384820 00000 n +0002384973 00000 n +0002385126 00000 n +0002385281 00000 n +0002385436 00000 n +0002385590 00000 n +0002385743 00000 n +0002385896 00000 n +0002386050 00000 n +0002386203 00000 n +0002386357 00000 n +0002386510 00000 n +0002386662 00000 n +0002386816 00000 n +0002386970 00000 n +0002387122 00000 n +0002387273 00000 n +0002387425 00000 n +0002387557 00000 n +0002387725 00000 n +0002387938 00000 n +0002388155 00000 n +0002388369 00000 n +0002388615 00000 n +0002388818 00000 n +0002388947 00000 n +0002389080 00000 n +0002389218 00000 n +0002389367 00000 n +0002389522 00000 n +0002389676 00000 n +0002389828 00000 n +0002389949 00000 n +0002390075 00000 n +0002390214 00000 n +0002390326 00000 n +0002390435 00000 n +0002390477 00000 n +0002390655 00000 n +trailer +<< /Size 12648 +/Root 12646 0 R +/Info 12647 0 R +/ID [<2863EAA3F502D37D8956C994ABA80561> <2863EAA3F502D37D8956C994ABA80561>] >> +startxref +2390932 +%%EOF diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.pdf.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.pdf.meta new file mode 100644 index 0000000..187227e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/PhotonNetwork-Documentation.pdf.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f226ce9e7a33bc24c95f34dd9f583516 +labels: +- ExitGames +- PUN +- Photon +- Networking diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins.meta new file mode 100644 index 0000000..8d9a1b9 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a361dd6a4364f8b4bb4c06094157cf4e +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork.meta new file mode 100644 index 0000000..0dcd1b1 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c7c13513be7d41d4b9836c4db2ccaa0c +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/CustomTypes.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/CustomTypes.cs new file mode 100644 index 0000000..22250aa --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/CustomTypes.cs @@ -0,0 +1,177 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +#pragma warning disable 1587 +/// \file +/// Sets up support for Unity-specific types. Can be a blueprint how to register your own Custom Types for sending. +#pragma warning restore 1587 + + +using ExitGames.Client.Photon; +using UnityEngine; + + +/// +/// Internally used class, containing de/serialization methods for various Unity-specific classes. +/// Adding those to the Photon serialization protocol allows you to send them in events, etc. +/// +internal static class CustomTypes +{ + /// Register + internal static void Register() + { + PhotonPeer.RegisterType(typeof(Vector2), (byte)'W', SerializeVector2, DeserializeVector2); + PhotonPeer.RegisterType(typeof(Vector3), (byte)'V', SerializeVector3, DeserializeVector3); + PhotonPeer.RegisterType(typeof(Quaternion), (byte)'Q', SerializeQuaternion, DeserializeQuaternion); + PhotonPeer.RegisterType(typeof(PhotonPlayer), (byte)'P', SerializePhotonPlayer, DeserializePhotonPlayer); + } + + + #region Custom De/Serializer Methods + + + public static readonly byte[] memVector3 = new byte[3 * 4]; + private static short SerializeVector3(StreamBuffer outStream, object customobject) + { + Vector3 vo = (Vector3)customobject; + + int index = 0; + lock (memVector3) + { + byte[] bytes = memVector3; + Protocol.Serialize(vo.x, bytes, ref index); + Protocol.Serialize(vo.y, bytes, ref index); + Protocol.Serialize(vo.z, bytes, ref index); + outStream.Write(bytes, 0, 3 * 4); + } + + return 3 * 4; + } + + private static object DeserializeVector3(StreamBuffer inStream, short length) + { + Vector3 vo = new Vector3(); + lock (memVector3) + { + inStream.Read(memVector3, 0, 3 * 4); + int index = 0; + Protocol.Deserialize(out vo.x, memVector3, ref index); + Protocol.Deserialize(out vo.y, memVector3, ref index); + Protocol.Deserialize(out vo.z, memVector3, ref index); + } + + return vo; + } + + + public static readonly byte[] memVector2 = new byte[2 * 4]; + private static short SerializeVector2(StreamBuffer outStream, object customobject) + { + Vector2 vo = (Vector2)customobject; + lock (memVector2) + { + byte[] bytes = memVector2; + int index = 0; + Protocol.Serialize(vo.x, bytes, ref index); + Protocol.Serialize(vo.y, bytes, ref index); + outStream.Write(bytes, 0, 2 * 4); + } + + return 2 * 4; + } + + private static object DeserializeVector2(StreamBuffer inStream, short length) + { + Vector2 vo = new Vector2(); + lock (memVector2) + { + inStream.Read(memVector2, 0, 2 * 4); + int index = 0; + Protocol.Deserialize(out vo.x, memVector2, ref index); + Protocol.Deserialize(out vo.y, memVector2, ref index); + } + + return vo; + } + + + public static readonly byte[] memQuarternion = new byte[4 * 4]; + private static short SerializeQuaternion(StreamBuffer outStream, object customobject) + { + Quaternion o = (Quaternion)customobject; + + lock (memQuarternion) + { + byte[] bytes = memQuarternion; + int index = 0; + Protocol.Serialize(o.w, bytes, ref index); + Protocol.Serialize(o.x, bytes, ref index); + Protocol.Serialize(o.y, bytes, ref index); + Protocol.Serialize(o.z, bytes, ref index); + outStream.Write(bytes, 0, 4 * 4); + } + + return 4 * 4; + } + + private static object DeserializeQuaternion(StreamBuffer inStream, short length) + { + Quaternion o = new Quaternion(); + + lock (memQuarternion) + { + inStream.Read(memQuarternion, 0, 4 * 4); + int index = 0; + Protocol.Deserialize(out o.w, memQuarternion, ref index); + Protocol.Deserialize(out o.x, memQuarternion, ref index); + Protocol.Deserialize(out o.y, memQuarternion, ref index); + Protocol.Deserialize(out o.z, memQuarternion, ref index); + } + + return o; + } + + public static readonly byte[] memPlayer = new byte[4]; + private static short SerializePhotonPlayer(StreamBuffer outStream, object customobject) + { + int ID = ((PhotonPlayer)customobject).ID; + + lock (memPlayer) + { + byte[] bytes = memPlayer; + int off = 0; + Protocol.Serialize(ID, bytes, ref off); + outStream.Write(bytes, 0, 4); + return 4; + } + } + + private static object DeserializePhotonPlayer(StreamBuffer inStream, short length) + { + int ID; + lock (memPlayer) + { + inStream.Read(memPlayer, 0, length); + int off = 0; + Protocol.Deserialize(out ID, memPlayer, ref off); + } + + if (PhotonNetwork.networkingPeer.mActors.ContainsKey(ID)) + { + return PhotonNetwork.networkingPeer.mActors[ID]; + } + else + { + return null; + } + } + + #endregion +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/CustomTypes.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/CustomTypes.cs.meta new file mode 100644 index 0000000..82e3a5c --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/CustomTypes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ab517bd36a2b2504b83979fcad45d4a2 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Enums.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Enums.cs new file mode 100644 index 0000000..da86bd5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Enums.cs @@ -0,0 +1,591 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +#pragma warning disable 1587 +/// \file +/// Wraps up several of the commonly used enumerations. +#pragma warning restore 1587 + + +using System; +using ExitGames.Client.Photon; + + +/// +/// This enum defines the set of MonoMessages Photon Unity Networking is using as callbacks. Implemented by PunBehaviour. +/// +/// +/// Much like "Update()" in Unity, PUN will call methods in specific situations. +/// Often, these methods are triggered when network operations complete (example: when joining a room). +/// +/// All those methods are defined and described in this enum and implemented by PunBehaviour +/// (which makes it easy to implement them as override). +/// +/// Each entry is the name of such a method and the description tells you when it gets used by PUN. +/// +/// Make sure to read the remarks per entry as some methods have optional parameters. +/// +/// \ingroup publicApi +public enum PhotonNetworkingMessage +{ + /// + /// Called when the initial connection got established but before you can use the server. OnJoinedLobby() or OnConnectedToMaster() are called when PUN is ready. + /// + /// + /// This callback is only useful to detect if the server can be reached at all (technically). + /// Most often, it's enough to implement OnFailedToConnectToPhoton() and OnDisconnectedFromPhoton(). + /// + /// OnJoinedLobby() or OnConnectedToMaster() are called when PUN is ready. + /// + /// When this is called, the low level connection is established and PUN will send your AppId, the user, etc in the background. + /// This is not called for transitions from the masterserver to game servers. + /// + /// Example: void OnConnectedToPhoton() { ... } + /// + OnConnectedToPhoton, + + /// + /// Called when the local user/client left a room. + /// + /// + /// When leaving a room, PUN brings you back to the Master Server. + /// Before you can use lobbies and join or create rooms, OnJoinedLobby() or OnConnectedToMaster() will get called again. + /// + /// Example: void OnLeftRoom() { ... } + /// + OnLeftRoom, + + /// + /// Called after switching to a new MasterClient when the current one leaves. + /// + /// + /// This is not called when this client enters a room. + /// The former MasterClient is still in the player list when this method get called. + /// + /// Example: void OnMasterClientSwitched(PhotonPlayer newMasterClient) { ... } + /// + OnMasterClientSwitched, + + /// + /// Called when a CreateRoom() call failed. Optional parameters provide ErrorCode and message. + /// + /// + /// Most likely because the room name is already in use (some other client was faster than you). + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// Example: void OnPhotonCreateRoomFailed() { ... } + /// + /// Example: void OnPhotonCreateRoomFailed(object[] codeAndMsg) { // codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg. } + /// + OnPhotonCreateRoomFailed, + + /// + /// Called when a JoinRoom() call failed. Optional parameters provide ErrorCode and message. + /// + /// + /// Most likely error is that the room does not exist or the room is full (some other client was faster than you). + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// Example: void OnPhotonJoinRoomFailed() { ... } + /// + /// Example: void OnPhotonJoinRoomFailed(object[] codeAndMsg) { // codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg. } + /// + OnPhotonJoinRoomFailed, + + /// + /// Called when this client created a room and entered it. OnJoinedRoom() will be called as well. + /// + /// + /// This callback is only called on the client which created a room (see PhotonNetwork.CreateRoom). + /// + /// As any client might close (or drop connection) anytime, there is a chance that the + /// creator of a room does not execute OnCreatedRoom. + /// + /// If you need specific room properties or a "start signal", it is safer to implement + /// OnMasterClientSwitched() and to make the new MasterClient check the room's state. + /// + /// Example: void OnCreatedRoom() { ... } + /// + OnCreatedRoom, + + /// + /// Called on entering a lobby on the Master Server. The actual room-list updates will call OnReceivedRoomListUpdate(). + /// + /// + /// Note: When PhotonNetwork.autoJoinLobby is false, OnConnectedToMaster() will be called and the room list won't become available. + /// + /// While in the lobby, the roomlist is automatically updated in fixed intervals (which you can't modify). + /// The room list gets available when OnReceivedRoomListUpdate() gets called after OnJoinedLobby(). + /// + /// Example: void OnJoinedLobby() { ... } + /// + OnJoinedLobby, + + /// + /// Called after leaving a lobby. + /// + /// + /// When you leave a lobby, [CreateRoom](@ref PhotonNetwork.CreateRoom) and [JoinRandomRoom](@ref PhotonNetwork.JoinRandomRoom) + /// automatically refer to the default lobby. + /// + /// Example: void OnLeftLobby() { ... } + /// + OnLeftLobby, + + /// + /// Called after disconnecting from the Photon server. + /// + /// + /// In some cases, other callbacks are called before OnDisconnectedFromPhoton is called. + /// Examples: OnConnectionFail() and OnFailedToConnectToPhoton(). + /// + /// Example: void OnDisconnectedFromPhoton() { ... } + /// + OnDisconnectedFromPhoton, + + /// + /// Called when something causes the connection to fail (after it was established), followed by a call to OnDisconnectedFromPhoton(). + /// + /// + /// If the server could not be reached in the first place, OnFailedToConnectToPhoton is called instead. + /// The reason for the error is provided as StatusCode. + /// + /// Example: void OnConnectionFail(DisconnectCause cause) { ... } + /// + OnConnectionFail, + + /// + /// Called if a connect call to the Photon server failed before the connection was established, followed by a call to OnDisconnectedFromPhoton(). + /// + /// + /// OnConnectionFail only gets called when a connection to a Photon server was established in the first place. + /// + /// Example: void OnFailedToConnectToPhoton(DisconnectCause cause) { ... } + /// + OnFailedToConnectToPhoton, + + /// + /// Called for any update of the room-listing while in a lobby (PhotonNetwork.insideLobby) on the Master Server. + /// + /// + /// PUN provides the list of rooms by PhotonNetwork.GetRoomList().
+ /// Each item is a RoomInfo which might include custom properties (provided you defined those as lobby-listed when creating a room). + /// + /// Not all types of lobbies provide a listing of rooms to the client. Some are silent and specialized for server-side matchmaking. + /// + /// Example: void OnReceivedRoomListUpdate() { ... } + ///
+ OnReceivedRoomListUpdate, + + /// + /// Called when entering a room (by creating or joining it). Called on all clients (including the Master Client). + /// + /// + /// This method is commonly used to instantiate player characters. + /// If a match has to be started "actively", you can instead call an [PunRPC](@ref PhotonView.RPC) triggered by a user's button-press or a timer. + /// + /// When this is called, you can usually already access the existing players in the room via PhotonNetwork.playerList. + /// Also, all custom properties should be already available as Room.customProperties. Check Room.playerCount to find out if + /// enough players are in the room to start playing. + /// + /// Example: void OnJoinedRoom() { ... } + /// + OnJoinedRoom, + + /// + /// Called when a remote player entered the room. This PhotonPlayer is already added to the playerlist at this time. + /// + /// + /// If your game starts with a certain number of players, this callback can be useful to check the + /// Room.playerCount and find out if you can start. + /// + /// Example: void OnPhotonPlayerConnected(PhotonPlayer newPlayer) { ... } + /// + OnPhotonPlayerConnected, + + /// + /// Called when a remote player left the room. This PhotonPlayer is already removed from the playerlist at this time. + /// + /// + /// When your client calls PhotonNetwork.leaveRoom, PUN will call this method on the remaining clients. + /// When a remote client drops connection or gets closed, this callback gets executed. after a timeout + /// of several seconds. + /// + /// Example: void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer) { ... } + /// + OnPhotonPlayerDisconnected, + + /// + /// Called after a JoinRandom() call failed. Optional parameters provide ErrorCode and message. + /// + /// + /// Most likely all rooms are full or no rooms are available. + /// When using multiple lobbies (via JoinLobby or TypedLobby), another lobby might have more/fitting rooms. + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// Example: void OnPhotonRandomJoinFailed() { ... } + /// + /// Example: void OnPhotonRandomJoinFailed(object[] codeAndMsg) { // codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg. } + /// + OnPhotonRandomJoinFailed, + + /// + /// Called after the connection to the master is established and authenticated but only when PhotonNetwork.autoJoinLobby is false. + /// + /// + /// If you set PhotonNetwork.autoJoinLobby to true, OnJoinedLobby() will be called instead of this. + /// + /// You can join rooms and create them even without being in a lobby. The default lobby is used in that case. + /// The list of available rooms won't become available unless you join a lobby via PhotonNetwork.joinLobby. + /// + /// Example: void OnConnectedToMaster() { ... } + /// + OnConnectedToMaster, + + /// + /// Implement to customize the data a PhotonView regularly synchronizes. Called every 'network-update' when observed by PhotonView. + /// + /// + /// This method will be called in scripts that are assigned as Observed component of a PhotonView. + /// PhotonNetwork.sendRateOnSerialize affects how often this method is called. + /// PhotonNetwork.sendRate affects how often packages are sent by this client. + /// + /// Implementing this method, you can customize which data a PhotonView regularly synchronizes. + /// Your code defines what is being sent (content) and how your data is used by receiving clients. + /// + /// Unlike other callbacks, OnPhotonSerializeView only gets called when it is assigned + /// to a PhotonView as PhotonView.observed script. + /// + /// To make use of this method, the PhotonStream is essential. It will be in "writing" mode" on the + /// client that controls a PhotonView (PhotonStream.isWriting == true) and in "reading mode" on the + /// remote clients that just receive that the controlling client sends. + /// + /// If you skip writing any value into the stream, PUN will skip the update. Used carefully, this can + /// conserve bandwidth and messages (which have a limit per room/second). + /// + /// Note that OnPhotonSerializeView is not called on remote clients when the sender does not send + /// any update. This can't be used as "x-times per second Update()". + /// + /// Example: void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { ... } + /// + OnPhotonSerializeView, + + /// + /// Called on all scripts on a GameObject (and children) that have been Instantiated using PhotonNetwork.Instantiate. + /// + /// + /// PhotonMessageInfo parameter provides info about who created the object and when (based off PhotonNetworking.time). + /// + /// Example: void OnPhotonInstantiate(PhotonMessageInfo info) { ... } + /// + OnPhotonInstantiate, + + /// + /// Because the concurrent user limit was (temporarily) reached, this client is rejected by the server and disconnecting. + /// + /// + /// When this happens, the user might try again later. You can't create or join rooms in OnPhotonMaxCcuReached(), cause the client will be disconnecting. + /// You can raise the CCU limits with a new license (when you host yourself) or extended subscription (when using the Photon Cloud). + /// The Photon Cloud will mail you when the CCU limit was reached. This is also visible in the Dashboard (webpage). + /// + /// Example: void OnPhotonMaxCccuReached() { ... } + /// + OnPhotonMaxCccuReached, + + /// + /// Called when a room's custom properties changed. The propertiesThatChanged contains all that was set via Room.SetCustomProperties. + /// + /// + /// Since v1.25 this method has one parameter: Hashtable propertiesThatChanged. + /// Changing properties must be done by Room.SetCustomProperties, which causes this callback locally, too. + /// + /// Example: void OnPhotonCustomRoomPropertiesChanged(Hashtable propertiesThatChanged) { ... } + /// + OnPhotonCustomRoomPropertiesChanged, + + /// + /// Called when custom player-properties are changed. Player and the changed properties are passed as object[]. + /// + /// + /// Since v1.25 this method has one parameter: object[] playerAndUpdatedProps, which contains two entries.
+ /// [0] is the affected PhotonPlayer.
+ /// [1] is the Hashtable of properties that changed.
+ /// + /// We are using a object[] due to limitations of Unity's GameObject.SendMessage (which has only one optional parameter). + /// + /// Changing properties must be done by PhotonPlayer.SetCustomProperties, which causes this callback locally, too. + /// + /// Example:
+    /// void OnPhotonPlayerPropertiesChanged(object[] playerAndUpdatedProps) {
+    ///     PhotonPlayer player = playerAndUpdatedProps[0] as PhotonPlayer;
+    ///     Hashtable props = playerAndUpdatedProps[1] as Hashtable;
+    ///     //...
+    /// }
+ ///
+ OnPhotonPlayerPropertiesChanged, + + /// + /// Called when the server sent the response to a FindFriends request and updated PhotonNetwork.Friends. + /// + /// + /// The friends list is available as PhotonNetwork.Friends, listing name, online state and + /// the room a user is in (if any). + /// + /// Example: void OnUpdatedFriendList() { ... } + /// + OnUpdatedFriendList, + + /// + /// Called when the custom authentication failed. Followed by disconnect! + /// + /// + /// Custom Authentication can fail due to user-input, bad tokens/secrets. + /// If authentication is successful, this method is not called. Implement OnJoinedLobby() or OnConnectedToMaster() (as usual). + /// + /// During development of a game, it might also fail due to wrong configuration on the server side. + /// In those cases, logging the debugMessage is very important. + /// + /// Unless you setup a custom authentication service for your app (in the [Dashboard](https://www.photonengine.com/dashboard)), + /// this won't be called! + /// + /// Example: void OnCustomAuthenticationFailed(string debugMessage) { ... } + /// + OnCustomAuthenticationFailed, + + /// + /// Called when your Custom Authentication service responds with additional data. + /// + /// + /// Custom Authentication services can include some custom data in their response. + /// When present, that data is made available in this callback as Dictionary. + /// While the keys of your data have to be strings, the values can be either string or a number (in Json). + /// You need to make extra sure, that the value type is the one you expect. Numbers become (currently) int64. + /// + /// Example: void OnCustomAuthenticationResponse(Dictionary<string, object> data) { ... } + /// + /// + OnCustomAuthenticationResponse, + + /// + /// Called by PUN when the response to a WebRPC is available. See PhotonNetwork.WebRPC. + /// + /// + /// Important: The response.ReturnCode is 0 if Photon was able to reach your web-service. + /// The content of the response is what your web-service sent. You can create a WebResponse instance from it. + /// Example: WebRpcResponse webResponse = new WebRpcResponse(operationResponse); + /// + /// Please note: Class OperationResponse is in a namespace which needs to be "used": + /// using ExitGames.Client.Photon; // includes OperationResponse (and other classes) + /// + /// The OperationResponse.ReturnCode by Photon is: + /// 0 for "OK" + /// -3 for "Web-Service not configured" (see Dashboard / WebHooks) + /// -5 for "Web-Service does now have RPC path/name" (at least for Azure) + /// + /// Example: void OnWebRpcResponse(OperationResponse response) { ... } + /// + OnWebRpcResponse, + + /// + /// Called when another player requests ownership of a PhotonView from you (the current owner). + /// + /// + /// The parameter viewAndPlayer contains: + /// + /// PhotonView view = viewAndPlayer[0] as PhotonView; + /// + /// PhotonPlayer requestingPlayer = viewAndPlayer[1] as PhotonPlayer; + /// + /// void OnOwnershipRequest(object[] viewAndPlayer) {} // + OnOwnershipRequest, + + /// + /// Called when the Master Server sent an update for the Lobby Statistics, updating PhotonNetwork.LobbyStatistics. + /// + /// + /// This callback has two preconditions: + /// EnableLobbyStatistics must be set to true, before this client connects. + /// And the client has to be connected to the Master Server, which is providing the info about lobbies. + /// + OnLobbyStatisticsUpdate, + + + /// + /// Called when a remote Photon Player activity changed. This will be called ONLY is PlayerTtl is greater then 0. + /// + /// Use PhotonPlayer.IsInactive to check the current activity state + /// + /// Example: void OnPhotonPlayerActivityChanged(PhotonPlayer otherPlayer) {...} + /// + /// + /// This callback has precondition: + /// PlayerTtl must be greater then 0 + /// + OnPhotonPlayerActivityChanged, + + + /// + /// Called when a PhotonView Owner is transfered to a Player. + /// + /// + /// The parameter viewAndPlayers contains: + /// + /// PhotonView view = viewAndPlayers[0] as PhotonView; + /// + /// PhotonPlayer newOwner = viewAndPlayers[1] as PhotonPlayer; + /// + /// PhotonPlayer oldOwner = viewAndPlayers[2] as PhotonPlayer; + /// + /// void OnOwnershipTransfered(object[] viewAndPlayers) {} // + OnOwnershipTransfered, +} + + +/// Used to define the level of logging output created by the PUN classes. Either log errors, info (some more) or full. +/// \ingroup publicApi +public enum PhotonLogLevel +{ + /// Show only errors. Minimal output. Note: Some might be "runtime errors" which you have to expect. + ErrorsOnly, + /// Logs some of the workflow, calls and results. + Informational, + /// Every available log call gets into the console/log. Only use for debugging. + Full +} + + +/// Enum of "target" options for RPCs. These define which remote clients get your RPC call. +/// \ingroup publicApi +public enum PhotonTargets +{ + /// Sends the RPC to everyone else and executes it immediately on this client. Player who join later will not execute this RPC. + All, + /// Sends the RPC to everyone else. This client does not execute the RPC. Player who join later will not execute this RPC. + Others, + /// Sends the RPC to MasterClient only. Careful: The MasterClient might disconnect before it executes the RPC and that might cause dropped RPCs. + MasterClient, + /// Sends the RPC to everyone else and executes it immediately on this client. New players get the RPC when they join as it's buffered (until this client leaves). + AllBuffered, + /// Sends the RPC to everyone. This client does not execute the RPC. New players get the RPC when they join as it's buffered (until this client leaves). + OthersBuffered, + /// Sends the RPC to everyone (including this client) through the server. + /// + /// This client executes the RPC like any other when it received it from the server. + /// Benefit: The server's order of sending the RPCs is the same on all clients. + /// + AllViaServer, + /// Sends the RPC to everyone (including this client) through the server and buffers it for players joining later. + /// + /// This client executes the RPC like any other when it received it from the server. + /// Benefit: The server's order of sending the RPCs is the same on all clients. + /// + AllBufferedViaServer +} + + +///
Currently available Photon Cloud regions as enum. +/// +/// This is used in PhotonNetwork.ConnectToRegion. +/// +public enum CloudRegionCode +{ + /// European servers in Amsterdam. + eu = 0, + /// US servers (East Coast). + us = 1, + /// Asian servers in Singapore. + asia = 2, + /// Japanese servers in Tokyo. + jp = 3, + /// Australian servers in Melbourne. + au = 5, + ///USA West, San José, usw + usw = 6, + ///South America, Sao Paulo, sa + sa = 7, + ///Canada East, Montreal, cae + cae = 8, + ///South Korea, Seoul, kr + kr = 9, + ///India, Chennai, in + @in = 10, + + /// No region selected. + none = 4 +}; + + +/// +/// Available regions as enum of flags. To be used as "enabled" flags for Best Region pinging. +/// +/// Note that these enum values skip CloudRegionCode.none and their values are in strict order (power of 2). +[Flags] +public enum CloudRegionFlag +{ + eu = 1 << 0, + us = 1 << 1, + asia = 1 << 2, + jp = 1 << 3, + au = 1 << 4, + usw = 1 << 5, + sa = 1 << 6, + cae = 1 << 7, + kr = 1 << 8, + @in = 1 << 9, +}; + + +/// +/// High level connection state of the client. Better use the more detailed . +/// +public enum ConnectionState +{ + Disconnected, + Connecting, + Connected, + Disconnecting, + InitializingApplication +} + + +/// +/// Defines how the communication gets encrypted. +/// +public enum EncryptionMode +{ + /// + /// This is the default encryption mode: Messages get encrypted only on demand (when you send operations with the "encrypt" parameter set to true). + /// + PayloadEncryption, + /// + /// With this encryption mode for UDP, the connection gets setup and all further datagrams get encrypted almost entirely. On-demand message encryption (like in PayloadEncryption) is skipped. + /// + /// + /// This mode requires AuthOnce or AuthOnceWss as AuthMode! + /// + DatagramEncryption = 10, +} + + +public static class EncryptionDataParameters +{ + /// + /// Key for encryption mode + /// + public const byte Mode = 0; + /// + /// Key for first secret + /// + public const byte Secret1 = 1; + /// + /// Key for second secret + /// + public const byte Secret2 = 2; +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Enums.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Enums.cs.meta new file mode 100644 index 0000000..d612c91 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Enums.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b7962bbdaba2a4940b1341d755abd40d +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Extensions.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Extensions.cs new file mode 100644 index 0000000..ed02398 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Extensions.cs @@ -0,0 +1,246 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// Provides some helpful methods and extensions for Hashtables, etc. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; +using Hashtable = ExitGames.Client.Photon.Hashtable; +using SupportClassPun = ExitGames.Client.Photon.SupportClass; + + +/// +/// This static class defines some useful extension methods for several existing classes (e.g. Vector3, float and others). +/// +public static class Extensions +{ + + public static Dictionary ParametersOfMethods = new Dictionary(); + public static ParameterInfo[] GetCachedParemeters(this MethodInfo mo) + { + ParameterInfo[] result; + bool cached= ParametersOfMethods.TryGetValue(mo, out result); + + if (!cached) + { + result = mo.GetParameters(); + ParametersOfMethods[mo] = result; + } + + return result; + } + + public static PhotonView[] GetPhotonViewsInChildren(this UnityEngine.GameObject go) + { + return go.GetComponentsInChildren(true) as PhotonView[]; + } + + public static PhotonView GetPhotonView(this UnityEngine.GameObject go) + { + return go.GetComponent() as PhotonView; + } + + /// compares the squared magnitude of target - second to given float value + public static bool AlmostEquals(this Vector3 target, Vector3 second, float sqrMagnitudePrecision) + { + return (target - second).sqrMagnitude < sqrMagnitudePrecision; // TODO: inline vector methods to optimize? + } + + /// compares the squared magnitude of target - second to given float value + public static bool AlmostEquals(this Vector2 target, Vector2 second, float sqrMagnitudePrecision) + { + return (target - second).sqrMagnitude < sqrMagnitudePrecision; // TODO: inline vector methods to optimize? + } + + /// compares the angle between target and second to given float value + public static bool AlmostEquals(this Quaternion target, Quaternion second, float maxAngle) + { + return Quaternion.Angle(target, second) < maxAngle; + } + + /// compares two floats and returns true of their difference is less than floatDiff + public static bool AlmostEquals(this float target, float second, float floatDiff) + { + return Mathf.Abs(target - second) < floatDiff; + } + + /// + /// Merges all keys from addHash into the target. Adds new keys and updates the values of existing keys in target. + /// + /// The IDictionary to update. + /// The IDictionary containing data to merge into target. + public static void Merge(this IDictionary target, IDictionary addHash) + { + if (addHash == null || target.Equals(addHash)) + { + return; + } + + foreach (object key in addHash.Keys) + { + target[key] = addHash[key]; + } + } + + /// + /// Merges keys of type string to target Hashtable. + /// + /// + /// Does not remove keys from target (so non-string keys CAN be in target if they were before). + /// + /// The target IDicitionary passed in plus all string-typed keys from the addHash. + /// A IDictionary that should be merged partly into target to update it. + public static void MergeStringKeys(this IDictionary target, IDictionary addHash) + { + if (addHash == null || target.Equals(addHash)) + { + return; + } + + foreach (object key in addHash.Keys) + { + // only merge keys of type string + if (key is string) + { + target[key] = addHash[key]; + } + } + } + + /// Helper method for debugging of IDictionary content, inlcuding type-information. Using this is not performant. + /// Should only be used for debugging as necessary. + /// Some Dictionary or Hashtable. + /// String of the content of the IDictionary. + public static string ToStringFull(this IDictionary origin) + { + return SupportClassPun.DictionaryToString(origin, false); + } + + + /// Helper method for debugging of object[] content. Using this is not performant. + /// Should only be used for debugging as necessary. + /// Any object[]. + /// A comma-separated string containing each value's ToString(). + public static string ToStringFull(this object[] data) + { + if (data == null) return "null"; + + string[] sb = new string[data.Length]; + for (int i = 0; i < data.Length; i++) + { + object o = data[i]; + sb[i] = (o != null) ? o.ToString() : "null"; + } + + return string.Join(", ", sb); + } + + + /// + /// This method copies all string-typed keys of the original into a new Hashtable. + /// + /// + /// Does not recurse (!) into hashes that might be values in the root-hash. + /// This does not modify the original. + /// + /// The original IDictonary to get string-typed keys from. + /// New Hashtable containing only string-typed keys of the original. + public static Hashtable StripToStringKeys(this IDictionary original) + { + Hashtable target = new Hashtable(); + if (original != null) + { + foreach (object key in original.Keys) + { + if (key is string) + { + target[key] = original[key]; + } + } + } + + return target; + } + + /// + /// This removes all key-value pairs that have a null-reference as value. + /// Photon properties are removed by setting their value to null. + /// Changes the original passed IDictionary! + /// + /// The IDictionary to strip of keys with null-values. + public static void StripKeysWithNullValues(this IDictionary original) + { + object[] keys = new object[original.Count]; + //original.Keys.CopyTo(keys, 0); // todo: figure out which platform didn't support this + int i = 0; + foreach (object k in original.Keys) + { + keys[i++] = k; + } + + for (int index = 0; index < keys.Length; index++) + { + var key = keys[index]; + if (original[key] == null) + { + original.Remove(key); + } + } + } + + /// + /// Checks if a particular integer value is in an int-array. + /// + /// This might be useful to look up if a particular actorNumber is in the list of players of a room. + /// The array of ints to check. + /// The number to lookup in target. + /// True if nr was found in target. + public static bool Contains(this int[] target, int nr) + { + if (target == null) + { + return false; + } + + for (int index = 0; index < target.Length; index++) + { + if (target[index] == nr) + { + return true; + } + } + + return false; + } +} + + +/// Small number of extension methods that make it easier for PUN to work cross-Unity-versions. +public static class GameObjectExtensions +{ + /// Unity-version-independent replacement for active GO property. + /// Unity 3.5: active. Any newer Unity: activeInHierarchy. + public static bool GetActive(this GameObject target) + { + #if UNITY_3_5 + return target.active; + #else + return target.activeInHierarchy; + #endif + } + + #if UNITY_3_5 + /// Unity-version-independent setter for active and SetActive(). + public static void SetActive(this GameObject target, bool value) + { + target.active = value; + } + #endif +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Extensions.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Extensions.cs.meta new file mode 100644 index 0000000..2025f00 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Extensions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3c0464991e33a70498abdd85c150cc59 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/FriendInfo.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/FriendInfo.cs new file mode 100644 index 0000000..f40a34f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/FriendInfo.cs @@ -0,0 +1,26 @@ +// ---------------------------------------------------------------------------- +// +// Loadbalancing Framework for Photon - Copyright (C) 2013 Exit Games GmbH +// +// +// Collection of values related to a user / friend. +// +// developer@photonengine.com +// ---------------------------------------------------------------------------- + + +/// +/// Used to store info about a friend's online state and in which room he/she is. +/// +public class FriendInfo +{ + public string Name { get; internal protected set; } + public bool IsOnline { get; internal protected set; } + public string Room { get; internal protected set; } + public bool IsInRoom { get { return IsOnline && !string.IsNullOrEmpty(this.Room); } } + + public override string ToString() + { + return string.Format("{0}\t is: {1}", this.Name, (!this.IsOnline) ? "offline" : this.IsInRoom ? "playing" : "on master"); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/FriendInfo.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/FriendInfo.cs.meta new file mode 100644 index 0000000..b810efc --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/FriendInfo.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 94ba1138c322ea04c8c37cfbcf87f468 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/GizmoType.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/GizmoType.cs new file mode 100644 index 0000000..930edfc --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/GizmoType.cs @@ -0,0 +1,36 @@ +using UnityEngine; + +namespace ExitGames.Client.GUI +{ + public enum GizmoType + { + WireSphere, + Sphere, + WireCube, + Cube, + } + + public class GizmoTypeDrawer + { + public static void Draw( Vector3 center, GizmoType type, Color color, float size ) + { + Gizmos.color = color; + + switch( type ) + { + case GizmoType.Cube: + Gizmos.DrawCube( center, Vector3.one * size ); + break; + case GizmoType.Sphere: + Gizmos.DrawSphere( center, size * 0.5f ); + break; + case GizmoType.WireCube: + Gizmos.DrawWireCube( center, Vector3.one * size ); + break; + case GizmoType.WireSphere: + Gizmos.DrawWireSphere( center, size * 0.5f ); + break; + } + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/GizmoType.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/GizmoType.cs.meta new file mode 100644 index 0000000..a96a3c7 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/GizmoType.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a744e8c91e32ce742b8f79e048a8714a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/LoadbalancingPeer.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/LoadbalancingPeer.cs new file mode 100644 index 0000000..987c155 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/LoadbalancingPeer.cs @@ -0,0 +1,1873 @@ +// ---------------------------------------------------------------------------- +// +// Loadbalancing Framework for Photon - Copyright (C) 2016 Exit Games GmbH +// +// +// Provides operations to use the LoadBalancing and Cloud photon servers. +// No logic is implemented here. +// +// developer@photonengine.com +// ---------------------------------------------------------------------------- + +using System; +using System.Collections; +using System.Collections.Generic; +using ExitGames.Client.Photon; + +#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_1 || UNITY_2017 + using UnityEngine; + using Hashtable = ExitGames.Client.Photon.Hashtable; + using SupportClassPun = ExitGames.Client.Photon.SupportClass; +#endif + + + /// + /// A LoadbalancingPeer provides the operations and enum definitions needed to use the loadbalancing server application which is also used in Photon Cloud. + /// + /// + /// Internally used by PUN. + /// The LoadBalancingPeer does not keep a state, instead this is done by a LoadBalancingClient. + /// + internal class LoadBalancingPeer : PhotonPeer + { + + internal bool IsProtocolSecure + { + get { return this.UsedProtocol == ConnectionProtocol.WebSocketSecure; } + } + + private readonly Dictionary opParameters = new Dictionary(); // used in OpRaiseEvent() (avoids lots of new Dictionary() calls) + + + /// + /// Creates a Peer with specified connection protocol. You need to set the Listener before using the peer. + /// + /// Each connection protocol has it's own default networking ports for Photon. + /// The preferred option is UDP. + public LoadBalancingPeer(ConnectionProtocol protocolType) : base(protocolType) + { + // this does not require a Listener, so: + // make sure to set this.Listener before using a peer! + } + + /// + /// Creates a Peer with specified connection protocol and a Listener for callbacks. + /// + public LoadBalancingPeer(IPhotonPeerListener listener, ConnectionProtocol protocolType) : this(protocolType) + { + this.Listener = listener; + } + + public virtual bool OpGetRegions(string appId) + { + Dictionary parameters = new Dictionary(); + parameters[(byte)ParameterCode.ApplicationId] = appId; + + return this.OpCustom(OperationCode.GetRegions, parameters, true, 0, true); + } + + /// + /// Joins the lobby on the Master Server, where you get a list of RoomInfos of currently open rooms. + /// This is an async request which triggers a OnOperationResponse() call. + /// + /// The lobby join to. + /// If the operation could be sent (has to be connected). + public virtual bool OpJoinLobby(TypedLobby lobby = null) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpJoinLobby()"); + } + + Dictionary parameters = null; + if (lobby != null && !lobby.IsDefault) + { + parameters = new Dictionary(); + parameters[(byte)ParameterCode.LobbyName] = lobby.Name; + parameters[(byte)ParameterCode.LobbyType] = (byte)lobby.Type; + } + + return this.OpCustom(OperationCode.JoinLobby, parameters, true); + } + + + /// + /// Leaves the lobby on the Master Server. + /// This is an async request which triggers a OnOperationResponse() call. + /// + /// If the operation could be sent (requires connection). + public virtual bool OpLeaveLobby() + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpLeaveLobby()"); + } + + return this.OpCustom(OperationCode.LeaveLobby, null, true); + } + + + /// Used in the RoomOptionFlags parameter, this bitmask toggles options in the room. + enum RoomOptionBit : int + { + CheckUserOnJoin = 0x01, // toggles a check of the UserId when joining (enabling returning to a game) + DeleteCacheOnLeave = 0x02, // deletes cache on leave + SuppressRoomEvents = 0x04, // suppresses all room events + PublishUserId = 0x08, // signals that we should publish userId + DeleteNullProps = 0x10, // signals that we should remove property if its value was set to null. see RoomOption to Delete Null Properties + BroadcastPropsChangeToAll = 0x20, // signals that we should send PropertyChanged event to all room players including initiator + } + + private void RoomOptionsToOpParameters(Dictionary op, RoomOptions roomOptions) + { + if (roomOptions == null) + { + roomOptions = new RoomOptions(); + } + + Hashtable gameProperties = new Hashtable(); + gameProperties[GamePropertyKey.IsOpen] = roomOptions.IsOpen; + gameProperties[GamePropertyKey.IsVisible] = roomOptions.IsVisible; + gameProperties[GamePropertyKey.PropsListedInLobby] = (roomOptions.CustomRoomPropertiesForLobby == null) ? new string[0] : roomOptions.CustomRoomPropertiesForLobby; + gameProperties.MergeStringKeys(roomOptions.CustomRoomProperties); + if (roomOptions.MaxPlayers > 0) + { + gameProperties[GamePropertyKey.MaxPlayers] = roomOptions.MaxPlayers; + } + op[ParameterCode.GameProperties] = gameProperties; + + + int flags = 0; // a new way to send the room options as bitwise-flags + op[ParameterCode.CleanupCacheOnLeave] = roomOptions.CleanupCacheOnLeave; // this is actually setting the room's config + if (roomOptions.CleanupCacheOnLeave) + { + flags = flags | (int)RoomOptionBit.DeleteCacheOnLeave; + gameProperties[GamePropertyKey.CleanupCacheOnLeave] = true; // this is only informational for the clients which join + } + + if (roomOptions.PlayerTtl > 0 || roomOptions.PlayerTtl == -1) + { + flags = flags | (int)RoomOptionBit.CheckUserOnJoin; + op[ParameterCode.CheckUserOnJoin] = true; // this affects rejoining a room. requires a userId to be used. added in v1.67 + op[ParameterCode.PlayerTTL] = roomOptions.PlayerTtl; // TURNBASED + } + + if (roomOptions.EmptyRoomTtl > 0) + { + op[ParameterCode.EmptyRoomTTL] = roomOptions.EmptyRoomTtl; //TURNBASED + } + + if (roomOptions.SuppressRoomEvents) + { + flags = flags | (int)RoomOptionBit.SuppressRoomEvents; + op[ParameterCode.SuppressRoomEvents] = true; + } + if (roomOptions.Plugins != null) + { + op[ParameterCode.Plugins] = roomOptions.Plugins; + } + if (roomOptions.PublishUserId) + { + flags = flags | (int)RoomOptionBit.PublishUserId; + op[ParameterCode.PublishUserId] = true; + } + if (roomOptions.DeleteNullProperties) + { + flags = flags | (int)RoomOptionBit.DeleteNullProps; // this is only settable as flag + } + + op[ParameterCode.RoomOptionFlags] = flags; + } + + + /// + /// Creates a room (on either Master or Game Server). + /// The OperationResponse depends on the server the peer is connected to: + /// Master will return a Game Server to connect to. + /// Game Server will return the joined Room's data. + /// This is an async request which triggers a OnOperationResponse() call. + /// + /// + /// If the room is already existing, the OperationResponse will have a returnCode of ErrorCode.GameAlreadyExists. + /// + public virtual bool OpCreateRoom(EnterRoomParams opParams) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpCreateRoom()"); + } + + Dictionary op = new Dictionary(); + + if (!string.IsNullOrEmpty(opParams.RoomName)) + { + op[ParameterCode.RoomName] = opParams.RoomName; + } + if (opParams.Lobby != null && !string.IsNullOrEmpty(opParams.Lobby.Name)) + { + op[ParameterCode.LobbyName] = opParams.Lobby.Name; + op[ParameterCode.LobbyType] = (byte)opParams.Lobby.Type; + } + + if (opParams.ExpectedUsers != null && opParams.ExpectedUsers.Length > 0) + { + op[ParameterCode.Add] = opParams.ExpectedUsers; + } + if (opParams.OnGameServer) + { + if (opParams.PlayerProperties != null && opParams.PlayerProperties.Count > 0) + { + op[ParameterCode.PlayerProperties] = opParams.PlayerProperties; + op[ParameterCode.Broadcast] = true; // TODO: check if this also makes sense when creating a room?! // broadcast actor properties + } + + this.RoomOptionsToOpParameters(op, opParams.RoomOptions); + } + + //UnityEngine.Debug.Log("CreateRoom: " + SupportClassPun.DictionaryToString(op)); + return this.OpCustom(OperationCode.CreateGame, op, true); + } + + /// + /// Joins a room by name or creates new room if room with given name not exists. + /// The OperationResponse depends on the server the peer is connected to: + /// Master will return a Game Server to connect to. + /// Game Server will return the joined Room's data. + /// This is an async request which triggers a OnOperationResponse() call. + /// + /// + /// If the room is not existing (anymore), the OperationResponse will have a returnCode of ErrorCode.GameDoesNotExist. + /// Other possible ErrorCodes are: GameClosed, GameFull. + /// + /// If the operation could be sent (requires connection). + public virtual bool OpJoinRoom(EnterRoomParams opParams) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpJoinRoom()"); + } + Dictionary op = new Dictionary(); + + if (!string.IsNullOrEmpty(opParams.RoomName)) + { + op[ParameterCode.RoomName] = opParams.RoomName; + } + + if (opParams.CreateIfNotExists) + { + op[ParameterCode.JoinMode] = (byte)JoinMode.CreateIfNotExists; + if (opParams.Lobby != null) + { + op[ParameterCode.LobbyName] = opParams.Lobby.Name; + op[ParameterCode.LobbyType] = (byte)opParams.Lobby.Type; + } + } + + if (opParams.RejoinOnly) + { + op[ParameterCode.JoinMode] = (byte)JoinMode.RejoinOnly; // changed from JoinMode.JoinOrRejoin + } + + if (opParams.ExpectedUsers != null && opParams.ExpectedUsers.Length > 0) + { + op[ParameterCode.Add] = opParams.ExpectedUsers; + } + + if (opParams.OnGameServer) + { + if (opParams.PlayerProperties != null && opParams.PlayerProperties.Count > 0) + { + op[ParameterCode.PlayerProperties] = opParams.PlayerProperties; + op[ParameterCode.Broadcast] = true; // broadcast actor properties + } + + if (opParams.CreateIfNotExists) + { + this.RoomOptionsToOpParameters(op, opParams.RoomOptions); + } + } + + // UnityEngine.Debug.Log("JoinRoom: " + SupportClassPun.DictionaryToString(op)); + return this.OpCustom(OperationCode.JoinGame, op, true); + } + + + /// + /// Operation to join a random, available room. Overloads take additional player properties. + /// This is an async request which triggers a OnOperationResponse() call. + /// If all rooms are closed or full, the OperationResponse will have a returnCode of ErrorCode.NoRandomMatchFound. + /// If successful, the OperationResponse contains a gameserver address and the name of some room. + /// + /// If the operation could be sent currently (requires connection). + public virtual bool OpJoinRandomRoom(OpJoinRandomRoomParams opJoinRandomRoomParams) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpJoinRandomRoom()"); + } + + Hashtable expectedRoomProperties = new Hashtable(); + expectedRoomProperties.MergeStringKeys(opJoinRandomRoomParams.ExpectedCustomRoomProperties); + if (opJoinRandomRoomParams.ExpectedMaxPlayers > 0) + { + expectedRoomProperties[GamePropertyKey.MaxPlayers] = opJoinRandomRoomParams.ExpectedMaxPlayers; + } + + Dictionary opParameters = new Dictionary(); + if (expectedRoomProperties.Count > 0) + { + opParameters[ParameterCode.GameProperties] = expectedRoomProperties; + } + + if (opJoinRandomRoomParams.MatchingType != MatchmakingMode.FillRoom) + { + opParameters[ParameterCode.MatchMakingType] = (byte)opJoinRandomRoomParams.MatchingType; + } + + if (opJoinRandomRoomParams.TypedLobby != null && !string.IsNullOrEmpty(opJoinRandomRoomParams.TypedLobby.Name)) + { + opParameters[ParameterCode.LobbyName] = opJoinRandomRoomParams.TypedLobby.Name; + opParameters[ParameterCode.LobbyType] = (byte)opJoinRandomRoomParams.TypedLobby.Type; + } + + if (!string.IsNullOrEmpty(opJoinRandomRoomParams.SqlLobbyFilter)) + { + opParameters[ParameterCode.Data] = opJoinRandomRoomParams.SqlLobbyFilter; + } + + if (opJoinRandomRoomParams.ExpectedUsers != null && opJoinRandomRoomParams.ExpectedUsers.Length > 0) + { + opParameters[ParameterCode.Add] = opJoinRandomRoomParams.ExpectedUsers; + } + + // UnityEngine.Debug.LogWarning("OpJoinRandom: " + opParameters.ToStringFull()); + return this.OpCustom(OperationCode.JoinRandomGame, opParameters, true); + } + + + /// + /// Leaves a room with option to come back later or "for good". + /// + /// Async games can be re-joined (loaded) later on. Set to false, if you want to abandon a game entirely. + /// If the opteration can be send currently. + public virtual bool OpLeaveRoom(bool becomeInactive) + { + Dictionary opParameters = new Dictionary(); + if (becomeInactive) + { + opParameters[ParameterCode.IsInactive] = becomeInactive; + } + return this.OpCustom(OperationCode.Leave, opParameters, true); + } + + /// Gets a list of games matching a SQL-like where clause. + /// + /// Operation is only available in lobbies of type SqlLobby. + /// This is an async request which triggers a OnOperationResponse() call. + /// Returned game list is stored in RoomInfoList. + /// + /// + /// The lobby to query. Has to be of type SqlLobby. + /// The sql query statement. + /// If the operation could be sent (has to be connected). + public virtual bool OpGetGameList(TypedLobby lobby, string queryData) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpGetGameList()"); + } + + if (lobby == null) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpGetGameList not sent. Lobby cannot be null."); + } + return false; + } + + if (lobby.Type != LobbyType.SqlLobby) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpGetGameList not sent. LobbyType must be SqlLobby."); + } + return false; + } + + Dictionary opParameters = new Dictionary(); + opParameters[(byte)ParameterCode.LobbyName] = lobby.Name; + opParameters[(byte)ParameterCode.LobbyType] = (byte)lobby.Type; + opParameters[(byte)ParameterCode.Data] = queryData; + + return this.OpCustom(OperationCode.GetGameList, opParameters, true); + } + + /// + /// Request the rooms and online status for a list of friends (each client must set a unique username via OpAuthenticate). + /// + /// + /// Used on Master Server to find the rooms played by a selected list of users. + /// Users identify themselves by using OpAuthenticate with a unique username. + /// The list of usernames must be fetched from some other source (not provided by Photon). + /// + /// The server response includes 2 arrays of info (each index matching a friend from the request): + /// ParameterCode.FindFriendsResponseOnlineList = bool[] of online states + /// ParameterCode.FindFriendsResponseRoomIdList = string[] of room names (empty string if not in a room) + /// + /// Array of friend's names (make sure they are unique). + /// If the operation could be sent (requires connection). + public virtual bool OpFindFriends(string[] friendsToFind) + { + Dictionary opParameters = new Dictionary(); + if (friendsToFind != null && friendsToFind.Length > 0) + { + opParameters[ParameterCode.FindFriendsRequestList] = friendsToFind; + } + + return this.OpCustom(OperationCode.FindFriends, opParameters, true); + } + + public bool OpSetCustomPropertiesOfActor(int actorNr, Hashtable actorProperties) + { + return this.OpSetPropertiesOfActor(actorNr, actorProperties.StripToStringKeys(), null); + } + + /// + /// Sets properties of a player / actor. + /// Internally this uses OpSetProperties, which can be used to either set room or player properties. + /// + /// The payer ID (a.k.a. actorNumber) of the player to attach these properties to. + /// The properties to add or update. + /// If set, these must be in the current properties-set (on the server) to set actorProperties: CAS. + /// Set to true, to forward the set properties to a WebHook, defined for this app (in Dashboard). + /// If the operation could be sent (requires connection). + protected internal bool OpSetPropertiesOfActor(int actorNr, Hashtable actorProperties, Hashtable expectedProperties = null, bool webForward = false) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpSetPropertiesOfActor()"); + } + + if (actorNr <= 0 || actorProperties == null) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpSetPropertiesOfActor not sent. ActorNr must be > 0 and actorProperties != null."); + } + return false; + } + + Dictionary opParameters = new Dictionary(); + opParameters.Add(ParameterCode.Properties, actorProperties); + opParameters.Add(ParameterCode.ActorNr, actorNr); + opParameters.Add(ParameterCode.Broadcast, true); + if (expectedProperties != null && expectedProperties.Count != 0) + { + opParameters.Add(ParameterCode.ExpectedValues, expectedProperties); + } + + if (webForward) + { + opParameters[ParameterCode.EventForward] = true; + } + + return this.OpCustom((byte)OperationCode.SetProperties, opParameters, true, 0, false); + } + + + protected void OpSetPropertyOfRoom(byte propCode, object value) + { + Hashtable properties = new Hashtable(); + properties[propCode] = value; + this.OpSetPropertiesOfRoom(properties, expectedProperties: null, webForward: false); + } + + public bool OpSetCustomPropertiesOfRoom(Hashtable gameProperties, bool broadcast, byte channelId) + { + return this.OpSetPropertiesOfRoom(gameProperties.StripToStringKeys(), expectedProperties: null, webForward: false); + } + + /// + /// Sets properties of a room. + /// Internally this uses OpSetProperties, which can be used to either set room or player properties. + /// + /// The properties to add or update. + /// The properties expected when update occurs. (CAS : "Check And Swap") + /// "WebFlag" to indicate if request should be forwarded as "PathProperties" webhook or not. + /// If the operation could be sent (has to be connected). + protected internal bool OpSetPropertiesOfRoom(Hashtable gameProperties, Hashtable expectedProperties = null, bool webForward = false) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpSetPropertiesOfRoom()"); + } + + Dictionary opParameters = new Dictionary(); + opParameters.Add(ParameterCode.Properties, gameProperties); + opParameters.Add(ParameterCode.Broadcast, true); + if (expectedProperties != null && expectedProperties.Count != 0) + { + opParameters.Add(ParameterCode.ExpectedValues, expectedProperties); + } + + if (webForward) + { + opParameters[ParameterCode.EventForward] = true; + } + + return this.OpCustom((byte)OperationCode.SetProperties, opParameters, true, 0, false); + } + + /// + /// Sends this app's appId and appVersion to identify this application server side. + /// This is an async request which triggers a OnOperationResponse() call. + /// + /// + /// This operation makes use of encryption, if that is established before. + /// See: EstablishEncryption(). Check encryption with IsEncryptionAvailable. + /// This operation is allowed only once per connection (multiple calls will have ErrorCode != Ok). + /// + /// Your application's name or ID to authenticate. This is assigned by Photon Cloud (webpage). + /// The client's version (clients with differing client appVersions are separated and players don't meet). + /// Contains all values relevant for authentication. Even without account system (external Custom Auth), the clients are allowed to identify themselves. + /// Optional region code, if the client should connect to a specific Photon Cloud Region. + /// Set to true on Master Server to receive "Lobby Statistics" events. + /// If the operation could be sent (has to be connected). + public virtual bool OpAuthenticate(string appId, string appVersion, AuthenticationValues authValues, string regionCode, bool getLobbyStatistics) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpAuthenticate()"); + } + + Dictionary opParameters = new Dictionary(); + if (getLobbyStatistics) + { + // must be sent in operation, even if a Token is available + opParameters[ParameterCode.LobbyStats] = true; + } + + // shortcut, if we have a Token + if (authValues != null && authValues.Token != null) + { + opParameters[ParameterCode.Secret] = authValues.Token; + return this.OpCustom(OperationCode.Authenticate, opParameters, true, (byte)0, false); // we don't have to encrypt, when we have a token (which is encrypted) + } + + + // without a token, we send a complete op auth + + opParameters[ParameterCode.AppVersion] = appVersion; + opParameters[ParameterCode.ApplicationId] = appId; + + if (!string.IsNullOrEmpty(regionCode)) + { + opParameters[ParameterCode.Region] = regionCode; + } + + if (authValues != null) + { + + if (!string.IsNullOrEmpty(authValues.UserId)) + { + opParameters[ParameterCode.UserId] = authValues.UserId; + } + + if (authValues.AuthType != CustomAuthenticationType.None) + { + if (!this.IsProtocolSecure && !this.IsEncryptionAvailable) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "OpAuthenticate() failed. When you want Custom Authentication encryption is mandatory."); + return false; + } + + opParameters[ParameterCode.ClientAuthenticationType] = (byte) authValues.AuthType; + if (!string.IsNullOrEmpty(authValues.Token)) + { + opParameters[ParameterCode.Secret] = authValues.Token; + } + else + { + if (!string.IsNullOrEmpty(authValues.AuthGetParameters)) + { + opParameters[ParameterCode.ClientAuthenticationParams] = authValues.AuthGetParameters; + } + if (authValues.AuthPostData != null) + { + opParameters[ParameterCode.ClientAuthenticationData] = authValues.AuthPostData; + } + } + } + } + + bool sent = this.OpCustom(OperationCode.Authenticate, opParameters, true, (byte) 0, this.IsEncryptionAvailable); + if (!sent) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Error calling OpAuthenticate! Did not work. Check log output, AuthValues and if you're connected."); + } + return sent; + } + + + /// + /// Sends this app's appId and appVersion to identify this application server side. + /// This is an async request which triggers a OnOperationResponse() call. + /// + /// + /// This operation makes use of encryption, if that is established before. + /// See: EstablishEncryption(). Check encryption with IsEncryptionAvailable. + /// This operation is allowed only once per connection (multiple calls will have ErrorCode != Ok). + /// + /// Your application's name or ID to authenticate. This is assigned by Photon Cloud (webpage). + /// The client's version (clients with differing client appVersions are separated and players don't meet). + /// Optional authentication values. The client can set no values or a UserId or some parameters for Custom Authentication by a server. + /// Optional region code, if the client should connect to a specific Photon Cloud Region. + /// + /// + /// If the operation could be sent (has to be connected). + public virtual bool OpAuthenticateOnce(string appId, string appVersion, AuthenticationValues authValues, string regionCode, EncryptionMode encryptionMode, ConnectionProtocol expectedProtocol) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpAuthenticate()"); + } + + + var opParameters = new Dictionary(); + + // shortcut, if we have a Token + if (authValues != null && authValues.Token != null) + { + opParameters[ParameterCode.Secret] = authValues.Token; + return this.OpCustom(OperationCode.AuthenticateOnce, opParameters, true, (byte)0, false); // we don't have to encrypt, when we have a token (which is encrypted) + } + + if (encryptionMode == EncryptionMode.DatagramEncryption && expectedProtocol != ConnectionProtocol.Udp) + { + Debug.LogWarning("Expected protocol set to UDP, due to encryption mode DatagramEncryption. Changing protocol in PhotonServerSettings from: " + PhotonNetwork.PhotonServerSettings.Protocol); + PhotonNetwork.PhotonServerSettings.Protocol = ConnectionProtocol.Udp; + expectedProtocol = ConnectionProtocol.Udp; + } + + opParameters[ParameterCode.ExpectedProtocol] = (byte)expectedProtocol; + opParameters[ParameterCode.EncryptionMode] = (byte)encryptionMode; + + opParameters[ParameterCode.AppVersion] = appVersion; + opParameters[ParameterCode.ApplicationId] = appId; + + if (!string.IsNullOrEmpty(regionCode)) + { + opParameters[ParameterCode.Region] = regionCode; + } + + if (authValues != null) + { + if (!string.IsNullOrEmpty(authValues.UserId)) + { + opParameters[ParameterCode.UserId] = authValues.UserId; + } + + if (authValues.AuthType != CustomAuthenticationType.None) + { + opParameters[ParameterCode.ClientAuthenticationType] = (byte)authValues.AuthType; + if (!string.IsNullOrEmpty(authValues.Token)) + { + opParameters[ParameterCode.Secret] = authValues.Token; + } + else + { + if (!string.IsNullOrEmpty(authValues.AuthGetParameters)) + { + opParameters[ParameterCode.ClientAuthenticationParams] = authValues.AuthGetParameters; + } + if (authValues.AuthPostData != null) + { + opParameters[ParameterCode.ClientAuthenticationData] = authValues.AuthPostData; + } + } + } + } + + return this.OpCustom(OperationCode.AuthenticateOnce, opParameters, true, (byte)0, this.IsEncryptionAvailable); + } + + /// + /// Operation to handle this client's interest groups (for events in room). + /// + /// + /// Note the difference between passing null and byte[0]: + /// null won't add/remove any groups. + /// byte[0] will add/remove all (existing) groups. + /// First, removing groups is executed. This way, you could leave all groups and join only the ones provided. + /// + /// Changes become active not immediately but when the server executes this operation (approximately RTT/2). + /// + /// Groups to remove from interest. Null will not remove any. A byte[0] will remove all. + /// Groups to add to interest. Null will not add any. A byte[0] will add all current. + /// If operation could be enqueued for sending. Sent when calling: Service or SendOutgoingCommands. + public virtual bool OpChangeGroups(byte[] groupsToRemove, byte[] groupsToAdd) + { + if (this.DebugOut >= DebugLevel.ALL) + { + this.Listener.DebugReturn(DebugLevel.ALL, "OpChangeGroups()"); + } + + Dictionary opParameters = new Dictionary(); + if (groupsToRemove != null) + { + opParameters[(byte)ParameterCode.Remove] = groupsToRemove; + } + if (groupsToAdd != null) + { + opParameters[(byte)ParameterCode.Add] = groupsToAdd; + } + + return this.OpCustom((byte)OperationCode.ChangeGroups, opParameters, true, 0); + } + + + /// + /// Send an event with custom code/type and any content to the other players in the same room. + /// + /// This override explicitly uses another parameter order to not mix it up with the implementation for Hashtable only. + /// Identifies this type of event (and the content). Your game's event codes can start with 0. + /// Any serializable datatype (including Hashtable like the other OpRaiseEvent overloads). + /// If this event has to arrive reliably (potentially repeated if it's lost). + /// Contains (slightly) less often used options. If you pass null, the default options will be used. + /// If operation could be enqueued for sending. Sent when calling: Service or SendOutgoingCommands. + public virtual bool OpRaiseEvent(byte eventCode, object customEventContent, bool sendReliable, RaiseEventOptions raiseEventOptions) + { + this.opParameters.Clear(); // re-used private variable to avoid many new Dictionary() calls (garbage collection) + this.opParameters[(byte)ParameterCode.Code] = (byte)eventCode; + if (customEventContent != null) + { + this.opParameters[(byte) ParameterCode.Data] = customEventContent; + } + + if (raiseEventOptions == null) + { + raiseEventOptions = RaiseEventOptions.Default; + } + else + { + if (raiseEventOptions.CachingOption != EventCaching.DoNotCache) + { + this.opParameters[(byte) ParameterCode.Cache] = (byte) raiseEventOptions.CachingOption; + } + if (raiseEventOptions.Receivers != ReceiverGroup.Others) + { + this.opParameters[(byte) ParameterCode.ReceiverGroup] = (byte) raiseEventOptions.Receivers; + } + if (raiseEventOptions.InterestGroup != 0) + { + this.opParameters[(byte) ParameterCode.Group] = (byte) raiseEventOptions.InterestGroup; + } + if (raiseEventOptions.TargetActors != null) + { + this.opParameters[(byte) ParameterCode.ActorList] = raiseEventOptions.TargetActors; + } + if (raiseEventOptions.ForwardToWebhook) + { + this.opParameters[(byte) ParameterCode.EventForward] = true; //TURNBASED + } + } + + return this.OpCustom((byte) OperationCode.RaiseEvent, this.opParameters, sendReliable, raiseEventOptions.SequenceChannel, raiseEventOptions.Encrypt); + } + + + /// + /// Internally used operation to set some "per server" settings. This is for the Master Server. + /// + /// Set to true, to get Lobby Statistics (lists of existing lobbies). + /// False if the operation could not be sent. + public virtual bool OpSettings(bool receiveLobbyStats) + { + if (this.DebugOut >= DebugLevel.ALL) + { + this.Listener.DebugReturn(DebugLevel.ALL, "OpSettings()"); + } + + // re-used private variable to avoid many new Dictionary() calls (garbage collection) + this.opParameters.Clear(); + + // implementation for Master Server: + if (receiveLobbyStats) + { + this.opParameters[(byte)0] = receiveLobbyStats; + } + + if (this.opParameters.Count == 0) + { + // no need to send op in case we set the default values + return true; + } + return this.OpCustom((byte)OperationCode.ServerSettings, this.opParameters, true); + } + } + + + + internal class OpJoinRandomRoomParams + { + public Hashtable ExpectedCustomRoomProperties; + public byte ExpectedMaxPlayers; + public MatchmakingMode MatchingType; + public TypedLobby TypedLobby; + public string SqlLobbyFilter; + public string[] ExpectedUsers; + } + + internal class EnterRoomParams + { + public string RoomName; + public RoomOptions RoomOptions; + public TypedLobby Lobby; + public Hashtable PlayerProperties; + public bool OnGameServer = true; // defaults to true! better send more parameter than too few (GS needs all) + public bool CreateIfNotExists; + public bool RejoinOnly; + public string[] ExpectedUsers; + } + + + /// + /// ErrorCode defines the default codes associated with Photon client/server communication. + /// + public class ErrorCode + { + /// (0) is always "OK", anything else an error or specific situation. + public const int Ok = 0; + + // server - Photon low(er) level: <= 0 + + /// + /// (-3) Operation can't be executed yet (e.g. OpJoin can't be called before being authenticated, RaiseEvent cant be used before getting into a room). + /// + /// + /// Before you call any operations on the Cloud servers, the automated client workflow must complete its authorization. + /// In PUN, wait until State is: JoinedLobby (with AutoJoinLobby = true) or ConnectedToMaster (AutoJoinLobby = false) + /// + public const int OperationNotAllowedInCurrentState = -3; + + /// (-2) The operation you called is not implemented on the server (application) you connect to. Make sure you run the fitting applications. + [Obsolete("Use InvalidOperation.")] + public const int InvalidOperationCode = -2; + + /// (-2) The operation you called could not be executed on the server. + /// + /// Make sure you are connected to the server you expect. + /// + /// This code is used in several cases: + /// The arguments/parameters of the operation might be out of range, missing entirely or conflicting. + /// The operation you called is not implemented on the server (application). Server-side plugins affect the available operations. + /// + public const int InvalidOperation = -2; + + /// (-1) Something went wrong in the server. Try to reproduce and contact Exit Games. + public const int InternalServerError = -1; + + // server - PhotonNetwork: 0x7FFF and down + // logic-level error codes start with short.max + + /// (32767) Authentication failed. Possible cause: AppId is unknown to Photon (in cloud service). + public const int InvalidAuthentication = 0x7FFF; + + /// (32766) GameId (name) already in use (can't create another). Change name. + public const int GameIdAlreadyExists = 0x7FFF - 1; + + /// (32765) Game is full. This rarely happens when some player joined the room before your join completed. + public const int GameFull = 0x7FFF - 2; + + /// (32764) Game is closed and can't be joined. Join another game. + public const int GameClosed = 0x7FFF - 3; + + [Obsolete("No longer used, cause random matchmaking is no longer a process.")] + public const int AlreadyMatched = 0x7FFF - 4; + + /// (32762) Not in use currently. + public const int ServerFull = 0x7FFF - 5; + + /// (32761) Not in use currently. + public const int UserBlocked = 0x7FFF - 6; + + /// (32760) Random matchmaking only succeeds if a room exists thats neither closed nor full. Repeat in a few seconds or create a new room. + public const int NoRandomMatchFound = 0x7FFF - 7; + + /// (32758) Join can fail if the room (name) is not existing (anymore). This can happen when players leave while you join. + public const int GameDoesNotExist = 0x7FFF - 9; + + /// (32757) Authorization on the Photon Cloud failed becaus the concurrent users (CCU) limit of the app's subscription is reached. + /// + /// Unless you have a plan with "CCU Burst", clients might fail the authentication step during connect. + /// Affected client are unable to call operations. Please note that players who end a game and return + /// to the master server will disconnect and re-connect, which means that they just played and are rejected + /// in the next minute / re-connect. + /// This is a temporary measure. Once the CCU is below the limit, players will be able to connect an play again. + /// + /// OpAuthorize is part of connection workflow but only on the Photon Cloud, this error can happen. + /// Self-hosted Photon servers with a CCU limited license won't let a client connect at all. + /// + public const int MaxCcuReached = 0x7FFF - 10; + + /// (32756) Authorization on the Photon Cloud failed because the app's subscription does not allow to use a particular region's server. + /// + /// Some subscription plans for the Photon Cloud are region-bound. Servers of other regions can't be used then. + /// Check your master server address and compare it with your Photon Cloud Dashboard's info. + /// https://www.photonengine.com/dashboard + /// + /// OpAuthorize is part of connection workflow but only on the Photon Cloud, this error can happen. + /// Self-hosted Photon servers with a CCU limited license won't let a client connect at all. + /// + public const int InvalidRegion = 0x7FFF - 11; + + /// + /// (32755) Custom Authentication of the user failed due to setup reasons (see Cloud Dashboard) or the provided user data (like username or token). Check error message for details. + /// + public const int CustomAuthenticationFailed = 0x7FFF - 12; + + /// (32753) The Authentication ticket expired. Usually, this is refreshed behind the scenes. Connect (and authorize) again. + public const int AuthenticationTicketExpired = 0x7FF1; + + /// + /// (32752) A server-side plugin (or webhook) failed to execute and reported an error. Check the OperationResponse.DebugMessage. + /// + public const int PluginReportedError = 0x7FFF - 15; + + /// + /// (32751) CreateRoom/JoinRoom/Join operation fails if expected plugin does not correspond to loaded one. + /// + public const int PluginMismatch = 0x7FFF - 16; + + /// + /// (32750) for join requests. Indicates the current peer already called join and is joined to the room. + /// + public const int JoinFailedPeerAlreadyJoined = 32750; // 0x7FFF - 17, + + /// + /// (32749) for join requests. Indicates the list of InactiveActors already contains an actor with the requested ActorNr or UserId. + /// + public const int JoinFailedFoundInactiveJoiner = 32749; // 0x7FFF - 18, + + /// + /// (32748) for join requests. Indicates the list of Actors (active and inactive) did not contain an actor with the requested ActorNr or UserId. + /// + public const int JoinFailedWithRejoinerNotFound = 32748; // 0x7FFF - 19, + + /// + /// (32747) for join requests. Note: for future use - Indicates the requested UserId was found in the ExcludedList. + /// + public const int JoinFailedFoundExcludedUserId = 32747; // 0x7FFF - 20, + + /// + /// (32746) for join requests. Indicates the list of ActiveActors already contains an actor with the requested ActorNr or UserId. + /// + public const int JoinFailedFoundActiveJoiner = 32746; // 0x7FFF - 21, + + /// + /// (32745) for SetProerties and Raisevent (if flag HttpForward is true) requests. Indicates the maximum allowd http requests per minute was reached. + /// + public const int HttpLimitReached = 32745; // 0x7FFF - 22, + + /// + /// (32744) for WebRpc requests. Indicates the the call to the external service failed. + /// + public const int ExternalHttpCallFailed = 32744; // 0x7FFF - 23, + + /// + /// (32742) Server error during matchmaking with slot reservation. E.g. the reserved slots can not exceed MaxPlayers. + /// + public const int SlotError = 32742; // 0x7FFF - 25, + + /// + /// (32741) Server will react with this error if invalid encryption parameters provided by token + /// + public const int InvalidEncryptionParameters = 32741; // 0x7FFF - 24, + +} + + + /// + /// Class for constants. These (byte) values define "well known" properties for an Actor / Player. + /// + /// + /// Pun uses these constants internally. + /// "Custom properties" have to use a string-type as key. They can be assigned at will. + /// + public class ActorProperties + { + /// (255) Name of a player/actor. + public const byte PlayerName = 255; // was: 1 + + /// (254) Tells you if the player is currently in this game (getting events live). + /// A server-set value for async games, where players can leave the game and return later. + public const byte IsInactive = 254; + + /// (253) UserId of the player. Sent when room gets created with RoomOptions.PublishUserId = true. + public const byte UserId = 253; + } + + + /// + /// Class for constants. These (byte) values are for "well known" room/game properties used in Photon Loadbalancing. + /// + /// + /// Pun uses these constants internally. + /// "Custom properties" have to use a string-type as key. They can be assigned at will. + /// + public class GamePropertyKey + { + /// (255) Max number of players that "fit" into this room. 0 is for "unlimited". + public const byte MaxPlayers = 255; + + /// (254) Makes this room listed or not in the lobby on master. + public const byte IsVisible = 254; + + /// (253) Allows more players to join a room (or not). + public const byte IsOpen = 253; + + /// (252) Current count of players in the room. Used only in the lobby on master. + public const byte PlayerCount = 252; + + /// (251) True if the room is to be removed from room listing (used in update to room list in lobby on master) + public const byte Removed = 251; + + /// (250) A list of the room properties to pass to the RoomInfo list in a lobby. This is used in CreateRoom, which defines this list once per room. + public const byte PropsListedInLobby = 250; + + /// (249) Equivalent of Operation Join parameter CleanupCacheOnLeave. + public const byte CleanupCacheOnLeave = 249; + + /// (248) Code for MasterClientId, which is synced by server. When sent as op-parameter this is (byte)203. As room property this is (byte)248. + /// Tightly related to ParameterCode.MasterClientId. + public const byte MasterClientId = (byte)248; + + /// (247) Code for ExpectedUsers in a room. Matchmaking keeps a slot open for the players with these userIDs. + public const byte ExpectedUsers = (byte)247; + } + + + /// + /// Class for constants. These values are for events defined by Photon Loadbalancing. + /// + /// They start at 255 and go DOWN. Your own in-game events can start at 0. Pun uses these constants internally. + public class EventCode + { + /// (230) Initial list of RoomInfos (in lobby on Master) + public const byte GameList = 230; + + /// (229) Update of RoomInfos to be merged into "initial" list (in lobby on Master) + public const byte GameListUpdate = 229; + + /// (228) Currently not used. State of queueing in case of server-full + public const byte QueueState = 228; + + /// (227) Currently not used. Event for matchmaking + public const byte Match = 227; + + /// (226) Event with stats about this application (players, rooms, etc) + public const byte AppStats = 226; + + /// (224) This event provides a list of lobbies with their player and game counts. + public const byte LobbyStats = 224; + + /// (210) Internally used in case of hosting by Azure + [Obsolete("TCP routing was removed after becoming obsolete.")] + public const byte AzureNodeInfo = 210; + + /// (255) Event Join: someone joined the game. The new actorNumber is provided as well as the properties of that actor (if set in OpJoin). + public const byte Join = (byte)255; + + /// (254) Event Leave: The player who left the game can be identified by the actorNumber. + public const byte Leave = (byte)254; + + /// (253) When you call OpSetProperties with the broadcast option "on", this event is fired. It contains the properties being set. + public const byte PropertiesChanged = (byte)253; + + /// (253) When you call OpSetProperties with the broadcast option "on", this event is fired. It contains the properties being set. + [Obsolete("Use PropertiesChanged now.")] + public const byte SetProperties = (byte)253; + + /// (252) When player left game unexpected and the room has a playerTtl > 0, this event is fired to let everyone know about the timeout. + /// Obsolete. Replaced by Leave. public const byte Disconnect = LiteEventCode.Disconnect; + + /// (251) Sent by Photon Cloud when a plugin-call or webhook-call failed. Usually, the execution on the server continues, despite the issue. Contains: ParameterCode.Info. + /// + public const byte ErrorInfo = 251; + + /// (250) Sent by Photon whent he event cache slice was changed. Done by OpRaiseEvent. + public const byte CacheSliceChanged = 250; + + /// (223) Sent by Photon to update a token before it times out. + public const byte AuthEvent = 223; + } + + + /// Class for constants. Codes for parameters of Operations and Events. + /// Pun uses these constants internally. + public class ParameterCode + { + /// (237) A bool parameter for creating games. If set to true, no room events are sent to the clients on join and leave. Default: false (and not sent). + public const byte SuppressRoomEvents = 237; + + /// (236) Time To Live (TTL) for a room when the last player leaves. Keeps room in memory for case a player re-joins soon. In milliseconds. + public const byte EmptyRoomTTL = 236; + + /// (235) Time To Live (TTL) for an 'actor' in a room. If a client disconnects, this actor is inactive first and removed after this timeout. In milliseconds. + public const byte PlayerTTL = 235; + + /// (234) Optional parameter of OpRaiseEvent and OpSetCustomProperties to forward the event/operation to a web-service. + public const byte EventForward = 234; + + /// (233) Optional parameter of OpLeave in async games. If false, the player does abandons the game (forever). By default players become inactive and can re-join. + [Obsolete("Use: IsInactive")] + public const byte IsComingBack = (byte)233; + + /// (233) Used in EvLeave to describe if a user is inactive (and might come back) or not. In rooms with PlayerTTL, becoming inactive is the default case. + public const byte IsInactive = (byte)233; + + /// (232) Used when creating rooms to define if any userid can join the room only once. + public const byte CheckUserOnJoin = (byte)232; + + /// (231) Code for "Check And Swap" (CAS) when changing properties. + public const byte ExpectedValues = (byte)231; + + /// (230) Address of a (game) server to use. + public const byte Address = 230; + + /// (229) Count of players in this application in a rooms (used in stats event) + public const byte PeerCount = 229; + + /// (228) Count of games in this application (used in stats event) + public const byte GameCount = 228; + + /// (227) Count of players on the master server (in this app, looking for rooms) + public const byte MasterPeerCount = 227; + + /// (225) User's ID + public const byte UserId = 225; + + /// (224) Your application's ID: a name on your own Photon or a GUID on the Photon Cloud + public const byte ApplicationId = 224; + + /// (223) Not used currently (as "Position"). If you get queued before connect, this is your position + public const byte Position = 223; + + /// (223) Modifies the matchmaking algorithm used for OpJoinRandom. Allowed parameter values are defined in enum MatchmakingMode. + public const byte MatchMakingType = 223; + + /// (222) List of RoomInfos about open / listed rooms + public const byte GameList = 222; + + /// (221) Internally used to establish encryption + public const byte Secret = 221; + + /// (220) Version of your application + public const byte AppVersion = 220; + + /// (210) Internally used in case of hosting by Azure + [Obsolete("TCP routing was removed after becoming obsolete.")] + public const byte AzureNodeInfo = 210; // only used within events, so use: EventCode.AzureNodeInfo + + /// (209) Internally used in case of hosting by Azure + [Obsolete("TCP routing was removed after becoming obsolete.")] + public const byte AzureLocalNodeId = 209; + + /// (208) Internally used in case of hosting by Azure + [Obsolete("TCP routing was removed after becoming obsolete.")] + public const byte AzureMasterNodeId = 208; + + /// (255) Code for the gameId/roomName (a unique name per room). Used in OpJoin and similar. + public const byte RoomName = (byte)255; + + /// (250) Code for broadcast parameter of OpSetProperties method. + public const byte Broadcast = (byte)250; + + /// (252) Code for list of players in a room. Currently not used. + public const byte ActorList = (byte)252; + + /// (254) Code of the Actor of an operation. Used for property get and set. + public const byte ActorNr = (byte)254; + + /// (249) Code for property set (Hashtable). + public const byte PlayerProperties = (byte)249; + + /// (245) Code of data/custom content of an event. Used in OpRaiseEvent. + public const byte CustomEventContent = (byte)245; + + /// (245) Code of data of an event. Used in OpRaiseEvent. + public const byte Data = (byte)245; + + /// (244) Code used when sending some code-related parameter, like OpRaiseEvent's event-code. + /// This is not the same as the Operation's code, which is no longer sent as part of the parameter Dictionary in Photon 3. + public const byte Code = (byte)244; + + /// (248) Code for property set (Hashtable). + public const byte GameProperties = (byte)248; + + /// + /// (251) Code for property-set (Hashtable). This key is used when sending only one set of properties. + /// If either ActorProperties or GameProperties are used (or both), check those keys. + /// + public const byte Properties = (byte)251; + + /// (253) Code of the target Actor of an operation. Used for property set. Is 0 for game + public const byte TargetActorNr = (byte)253; + + /// (246) Code to select the receivers of events (used in Lite, Operation RaiseEvent). + public const byte ReceiverGroup = (byte)246; + + /// (247) Code for caching events while raising them. + public const byte Cache = (byte)247; + + /// (241) Bool parameter of CreateRoom Operation. If true, server cleans up roomcache of leaving players (their cached events get removed). + public const byte CleanupCacheOnLeave = (byte)241; + + /// (240) Code for "group" operation-parameter (as used in Op RaiseEvent). + public const byte Group = 240; + + /// (239) The "Remove" operation-parameter can be used to remove something from a list. E.g. remove groups from player's interest groups. + public const byte Remove = 239; + + /// (239) Used in Op Join to define if UserIds of the players are broadcast in the room. Useful for FindFriends and reserving slots for expected users. + public const byte PublishUserId = 239; + + /// (238) The "Add" operation-parameter can be used to add something to some list or set. E.g. add groups to player's interest groups. + public const byte Add = 238; + + /// (218) Content for EventCode.ErrorInfo and internal debug operations. + public const byte Info = 218; + + /// (217) This key's (byte) value defines the target custom authentication type/service the client connects with. Used in OpAuthenticate + public const byte ClientAuthenticationType = 217; + + /// (216) This key's (string) value provides parameters sent to the custom authentication type/service the client connects with. Used in OpAuthenticate + public const byte ClientAuthenticationParams = 216; + + /// (215) Makes the server create a room if it doesn't exist. OpJoin uses this to always enter a room, unless it exists and is full/closed. + // public const byte CreateIfNotExists = 215; + + /// (215) The JoinMode enum defines which variant of joining a room will be executed: Join only if available, create if not exists or re-join. + /// Replaces CreateIfNotExists which was only a bool-value. + public const byte JoinMode = 215; + + /// (214) This key's (string or byte[]) value provides parameters sent to the custom authentication service setup in Photon Dashboard. Used in OpAuthenticate + public const byte ClientAuthenticationData = 214; + + /// (203) Code for MasterClientId, which is synced by server. When sent as op-parameter this is code 203. + /// Tightly related to GamePropertyKey.MasterClientId. + public const byte MasterClientId = (byte)203; + + /// (1) Used in Op FindFriends request. Value must be string[] of friends to look up. + public const byte FindFriendsRequestList = (byte)1; + + /// (1) Used in Op FindFriends response. Contains bool[] list of online states (false if not online). + public const byte FindFriendsResponseOnlineList = (byte)1; + + /// (2) Used in Op FindFriends response. Contains string[] of room names ("" where not known or no room joined). + public const byte FindFriendsResponseRoomIdList = (byte)2; + + /// (213) Used in matchmaking-related methods and when creating a room to name a lobby (to join or to attach a room to). + public const byte LobbyName = (byte)213; + + /// (212) Used in matchmaking-related methods and when creating a room to define the type of a lobby. Combined with the lobby name this identifies the lobby. + public const byte LobbyType = (byte)212; + + /// (211) This (optional) parameter can be sent in Op Authenticate to turn on Lobby Stats (info about lobby names and their user- and game-counts). See: PhotonNetwork.Lobbies + public const byte LobbyStats = (byte)211; + + /// (210) Used for region values in OpAuth and OpGetRegions. + public const byte Region = (byte)210; + + /// (209) Path of the WebRPC that got called. Also known as "WebRpc Name". Type: string. + public const byte UriPath = 209; + + /// (208) Parameters for a WebRPC as: Dictionary<string, object>. This will get serialized to JSon. + public const byte WebRpcParameters = 208; + + /// (207) ReturnCode for the WebRPC, as sent by the web service (not by Photon, which uses ErrorCode). Type: byte. + public const byte WebRpcReturnCode = 207; + + /// (206) Message returned by WebRPC server. Analog to Photon's debug message. Type: string. + public const byte WebRpcReturnMessage = 206; + + /// (205) Used to define a "slice" for cached events. Slices can easily be removed from cache. Type: int. + public const byte CacheSliceIndex = 205; + + /// (204) Informs the server of the expected plugin setup. + /// + /// The operation will fail in case of a plugin mismatch returning error code PluginMismatch 32751(0x7FFF - 16). + /// Setting string[]{} means the client expects no plugin to be setup. + /// Note: for backwards compatibility null omits any check. + /// + public const byte Plugins = 204; + + /// (202) Used by the server in Operation Responses, when it sends the nickname of the client (the user's nickname). + public const byte NickName = 202; + + /// (201) Informs user about name of plugin load to game + public const byte PluginName = 201; + + /// (200) Informs user about version of plugin load to game + public const byte PluginVersion = 200; + + /// (195) Protocol which will be used by client to connect master/game servers. Used for nameserver. + public const byte ExpectedProtocol = 195; + + /// (194) Set of custom parameters which are sent in auth request. + public const byte CustomInitData = 194; + + /// (193) How are we going to encrypt data. + public const byte EncryptionMode = 193; + + /// (192) Parameter of Authentication, which contains encryption keys (depends on AuthMode and EncryptionMode). + public const byte EncryptionData = 192; + + /// (191) An int parameter summarizing several boolean room-options with bit-flags. + public const byte RoomOptionFlags = 191; + } + + + /// + /// Class for constants. Contains operation codes. + /// Pun uses these constants internally. + /// + public class OperationCode + { + [Obsolete("Exchanging encrpytion keys is done internally in the lib now. Don't expect this operation-result.")] + public const byte ExchangeKeysForEncryption = 250; + + /// (255) Code for OpJoin, to get into a room. + public const byte Join = 255; + + /// (231) Authenticates this peer and connects to a virtual application + public const byte AuthenticateOnce = 231; + + /// (230) Authenticates this peer and connects to a virtual application + public const byte Authenticate = 230; + + /// (229) Joins lobby (on master) + public const byte JoinLobby = 229; + + /// (228) Leaves lobby (on master) + public const byte LeaveLobby = 228; + + /// (227) Creates a game (or fails if name exists) + public const byte CreateGame = 227; + + /// (226) Join game (by name) + public const byte JoinGame = 226; + + /// (225) Joins random game (on master) + public const byte JoinRandomGame = 225; + + // public const byte CancelJoinRandom = 224; // obsolete, cause JoinRandom no longer is a "process". now provides result immediately + + /// (254) Code for OpLeave, to get out of a room. + public const byte Leave = (byte)254; + + /// (253) Raise event (in a room, for other actors/players) + public const byte RaiseEvent = (byte)253; + + /// (252) Set Properties (of room or actor/player) + public const byte SetProperties = (byte)252; + + /// (251) Get Properties + public const byte GetProperties = (byte)251; + + /// (248) Operation code to change interest groups in Rooms (Lite application and extending ones). + public const byte ChangeGroups = (byte)248; + + /// (222) Request the rooms and online status for a list of friends (by name, which should be unique). + public const byte FindFriends = 222; + + /// (221) Request statistics about a specific list of lobbies (their user and game count). + public const byte GetLobbyStats = 221; + + /// (220) Get list of regional servers from a NameServer. + public const byte GetRegions = 220; + + /// (219) WebRpc Operation. + public const byte WebRpc = 219; + + /// (218) Operation to set some server settings. Used with different parameters on various servers. + public const byte ServerSettings = 218; + + /// (217) Get the game list matching a supplied sql filter (SqlListLobby only) + public const byte GetGameList = 217; + } + + /// Defines possible values for OpJoinRoom and OpJoinOrCreate. It tells the server if the room can be only be joined normally, created implicitly or found on a web-service for Turnbased games. + /// These values are not directly used by a game but implicitly set. + public enum JoinMode : byte + { + /// Regular join. The room must exist. + Default = 0, + + /// Join or create the room if it's not existing. Used for OpJoinOrCreate for example. + CreateIfNotExists = 1, + + /// The room might be out of memory and should be loaded (if possible) from a Turnbased web-service. + JoinOrRejoin = 2, + + /// Only re-join will be allowed. If the user is not yet in the room, this will fail. + RejoinOnly = 3, + } + + /// + /// Options for matchmaking rules for OpJoinRandom. + /// + public enum MatchmakingMode : byte + { + /// Fills up rooms (oldest first) to get players together as fast as possible. Default. + /// Makes most sense with MaxPlayers > 0 and games that can only start with more players. + FillRoom = 0, + + /// Distributes players across available rooms sequentially but takes filter into account. Without filter, rooms get players evenly distributed. + SerialMatching = 1, + + /// Joins a (fully) random room. Expected properties must match but aside from this, any available room might be selected. + RandomMatching = 2 + } + + + /// + /// Lite - OpRaiseEvent lets you chose which actors in the room should receive events. + /// By default, events are sent to "Others" but you can overrule this. + /// + public enum ReceiverGroup : byte + { + /// Default value (not sent). Anyone else gets my event. + Others = 0, + + /// Everyone in the current room (including this peer) will get this event. + All = 1, + + /// The server sends this event only to the actor with the lowest actorNumber. + /// The "master client" does not have special rights but is the one who is in this room the longest time. + MasterClient = 2, + } + + /// + /// Lite - OpRaiseEvent allows you to cache events and automatically send them to joining players in a room. + /// Events are cached per event code and player: Event 100 (example!) can be stored once per player. + /// Cached events can be modified, replaced and removed. + /// + /// + /// Caching works only combination with ReceiverGroup options Others and All. + /// + public enum EventCaching : byte + { + /// Default value (not sent). + DoNotCache = 0, + + /// Will merge this event's keys with those already cached. + [Obsolete] + MergeCache = 1, + + /// Replaces the event cache for this eventCode with this event's content. + [Obsolete] + ReplaceCache = 2, + + /// Removes this event (by eventCode) from the cache. + [Obsolete] + RemoveCache = 3, + + /// Adds an event to the room's cache + AddToRoomCache = 4, + + /// Adds this event to the cache for actor 0 (becoming a "globally owned" event in the cache). + AddToRoomCacheGlobal = 5, + + /// Remove fitting event from the room's cache. + RemoveFromRoomCache = 6, + + /// Removes events of players who already left the room (cleaning up). + RemoveFromRoomCacheForActorsLeft = 7, + + /// Increase the index of the sliced cache. + SliceIncreaseIndex = 10, + + /// Set the index of the sliced cache. You must set RaiseEventOptions.CacheSliceIndex for this. + SliceSetIndex = 11, + + /// Purge cache slice with index. Exactly one slice is removed from cache. You must set RaiseEventOptions.CacheSliceIndex for this. + SlicePurgeIndex = 12, + + /// Purge cache slices with specified index and anything lower than that. You must set RaiseEventOptions.CacheSliceIndex for this. + SlicePurgeUpToIndex = 13, + } + + /// + /// Flags for "types of properties", being used as filter in OpGetProperties. + /// + [Flags] + public enum PropertyTypeFlag : byte + { + /// (0x00) Flag type for no property type. + None = 0x00, + + /// (0x01) Flag type for game-attached properties. + Game = 0x01, + + /// (0x02) Flag type for actor related propeties. + Actor = 0x02, + + /// (0x01) Flag type for game AND actor properties. Equal to 'Game' + GameAndActor = Game | Actor + } + + + /// Wraps up common room properties needed when you create rooms. Read the individual entries for more details. + /// This directly maps to the fields in the Room class. + public class RoomOptions + { + /// Defines if this room is listed in the lobby. If not, it also is not joined randomly. + /// + /// A room that is not visible will be excluded from the room lists that are sent to the clients in lobbies. + /// An invisible room can be joined by name but is excluded from random matchmaking. + /// + /// Use this to "hide" a room and simulate "private rooms". Players can exchange a roomname and create it + /// invisble to avoid anyone else joining it. + /// + public bool IsVisible { get { return this.isVisibleField; } set { this.isVisibleField = value; } } + private bool isVisibleField = true; + + /// Defines if this room can be joined at all. + /// + /// If a room is closed, no player can join this. As example this makes sense when 3 of 4 possible players + /// start their gameplay early and don't want anyone to join during the game. + /// The room can still be listed in the lobby (set IsVisible to control lobby-visibility). + /// + public bool IsOpen { get { return this.isOpenField; } set { this.isOpenField = value; } } + private bool isOpenField = true; + + /// Max number of players that can be in the room at any time. 0 means "no limit". + public byte MaxPlayers; + + + /// Time To Live (TTL) for an 'actor' in a room. If a client disconnects, this actor is inactive first and removed after this timeout. In milliseconds. + public int PlayerTtl; + + + /// Time To Live (TTL) for a room when the last player leaves. Keeps room in memory for case a player re-joins soon. In milliseconds. + public int EmptyRoomTtl; + + ///// Activates UserId checks on joining - allowing a users to be only once in the room. + ///// + ///// Turnbased rooms should be created with this check turned on! They should also use custom authentication. + ///// Disabled by default for backwards-compatibility. + ///// + //public bool CheckUserOnJoin { get { return this.checkUserOnJoinField; } set { this.checkUserOnJoinField = value; } } + //private bool checkUserOnJoinField = false; + + /// Removes a user's events and properties from the room when a user leaves. + /// + /// This makes sense when in rooms where players can't place items in the room and just vanish entirely. + /// When you disable this, the event history can become too long to load if the room stays in use indefinitely. + /// Default: true. Cleans up the cache and props of leaving users. + /// + public bool CleanupCacheOnLeave { get { return this.cleanupCacheOnLeaveField; } set { this.cleanupCacheOnLeaveField = value; } } + private bool cleanupCacheOnLeaveField = PhotonNetwork.autoCleanUpPlayerObjects; + + /// The room's custom properties to set. Use string keys! + /// + /// Custom room properties are any key-values you need to define the game's setup. + /// The shorter your keys are, the better. + /// Example: Map, Mode (could be "m" when used with "Map"), TileSet (could be "t"). + /// + public Hashtable CustomRoomProperties; + + /// Defines the custom room properties that get listed in the lobby. + /// + /// Name the custom room properties that should be available to clients that are in a lobby. + /// Use with care. Unless a custom property is essential for matchmaking or user info, it should + /// not be sent to the lobby, which causes traffic and delays for clients in the lobby. + /// + /// Default: No custom properties are sent to the lobby. + /// + public string[] CustomRoomPropertiesForLobby = new string[0]; + + /// Informs the server of the expected plugin setup. + /// + /// The operation will fail in case of a plugin missmatch returning error code PluginMismatch 32757(0x7FFF - 10). + /// Setting string[]{} means the client expects no plugin to be setup. + /// Note: for backwards compatibility null omits any check. + /// + public string[] Plugins; + + /// + /// Tells the server to skip room events for joining and leaving players. + /// + /// + /// Using this makes the client unaware of the other players in a room. + /// That can save some traffic if you have some server logic that updates players + /// but it can also limit the client's usability. + /// + /// PUN will break if you use this, so it's not settable. + /// + public bool SuppressRoomEvents { get { return this.suppressRoomEventsField; } /*set { this.suppressRoomEventsField = value; }*/ } + private bool suppressRoomEventsField = false; + + /// + /// Defines if the UserIds of players get "published" in the room. Useful for FindFriends, if players want to play another game together. + /// + /// + /// When you set this to true, Photon will publish the UserIds of the players in that room. + /// In that case, you can use PhotonPlayer.UserId, to access any player's userID. + /// This is useful for FindFriends and to set "expected users" to reserve slots in a room (see PhotonNetwork.JoinRoom e.g.). + /// + public bool PublishUserId { get { return this.publishUserIdField; } set { this.publishUserIdField = value; } } + private bool publishUserIdField = false; + + /// Optionally, properties get deleted, when null gets assigned as value. Defaults to off / false. + /// + /// When Op SetProperties is setting a key's value to null, the server and clients should remove the key/value from the Custom Properties. + /// By default, the server keeps the keys (and null values) and sends them to joining players. + /// + /// Important: Only when SetProperties does a "broadcast", the change (key, value = null) is sent to clients to update accordingly. + /// This applies to Custom Properties for rooms and actors/players. + /// + public bool DeleteNullProperties { get { return this.deleteNullPropertiesField; } set { this.deleteNullPropertiesField = value; } } + private bool deleteNullPropertiesField = false; + + #region Obsoleted Naming + + [Obsolete("Use property with uppercase naming instead.")] + public bool isVisible { get { return this.isVisibleField; } set { this.isVisibleField = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public bool isOpen { get { return this.isOpenField; } set { this.isOpenField = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public byte maxPlayers { get { return this.MaxPlayers; } set { this.MaxPlayers = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public bool cleanupCacheOnLeave { get { return this.cleanupCacheOnLeaveField; } set { this.cleanupCacheOnLeaveField = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public Hashtable customRoomProperties { get { return this.CustomRoomProperties; } set { this.CustomRoomProperties = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public string[] customRoomPropertiesForLobby { get { return this.CustomRoomPropertiesForLobby; } set { this.CustomRoomPropertiesForLobby = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public string[] plugins { get { return this.Plugins; } set { this.Plugins = value; } } + [Obsolete("Use property with uppercase naming instead.")] + public bool suppressRoomEvents { get { return this.suppressRoomEventsField; } } + [Obsolete("Use property with uppercase naming instead.")] + public bool publishUserId { get { return this.publishUserIdField; } set { this.publishUserIdField = value; } } + + #endregion +} + + + /// Aggregates several less-often used options for operation RaiseEvent. See field descriptions for usage details. + public class RaiseEventOptions + { + /// Default options: CachingOption: DoNotCache, InterestGroup: 0, targetActors: null, receivers: Others, sequenceChannel: 0. + public readonly static RaiseEventOptions Default = new RaiseEventOptions(); + + /// Defines if the server should simply send the event, put it in the cache or remove events that are like this one. + /// + /// When using option: SliceSetIndex, SlicePurgeIndex or SlicePurgeUpToIndex, set a CacheSliceIndex. All other options except SequenceChannel get ignored. + /// + public EventCaching CachingOption; + + /// The number of the Interest Group to send this to. 0 goes to all users but to get 1 and up, clients must subscribe to the group first. + public byte InterestGroup; + + /// A list of PhotonPlayer.IDs to send this event to. You can implement events that just go to specific users this way. + public int[] TargetActors; + + /// Sends the event to All, MasterClient or Others (default). Be careful with MasterClient, as the client might disconnect before it got the event and it gets lost. + public ReceiverGroup Receivers; + + /// Events are ordered per "channel". If you have events that are independent of others, they can go into another sequence or channel. + public byte SequenceChannel; + + /// Events can be forwarded to Webhooks, which can evaluate and use the events to follow the game's state. + public bool ForwardToWebhook; + + ///// Used along with CachingOption SliceSetIndex, SlicePurgeIndex or SlicePurgeUpToIndex if you want to set or purge a specific cache-slice. + //public int CacheSliceIndex; + + public bool Encrypt; + } + + /// + /// Options of lobby types available. Lobby types might be implemented in certain Photon versions and won't be available on older servers. + /// + public enum LobbyType :byte + { + /// This lobby is used unless another is defined by game or JoinRandom. Room-lists will be sent and JoinRandomRoom can filter by matching properties. + Default = 0, + /// This lobby type lists rooms like Default but JoinRandom has a parameter for SQL-like "where" clauses for filtering. This allows bigger, less, or and and combinations. + SqlLobby = 2, + /// This lobby does not send lists of games. It is only used for OpJoinRandomRoom. It keeps rooms available for a while when there are only inactive users left. + AsyncRandomLobby = 3 + } + + /// Refers to a specific lobby (and type) on the server. + /// + /// The name and type are the unique identifier for a lobby.
+ /// Join a lobby via PhotonNetwork.JoinLobby(TypedLobby lobby).
+ /// The current lobby is stored in PhotonNetwork.lobby. + ///
+ public class TypedLobby + { + /// Name of the lobby this game gets added to. Default: null, attached to default lobby. Lobbies are unique per lobbyName plus lobbyType, so the same name can be used when several types are existing. + public string Name; + /// Type of the (named)lobby this game gets added to + public LobbyType Type; + + public static readonly TypedLobby Default = new TypedLobby(); + public bool IsDefault { get { return this.Type == LobbyType.Default && string.IsNullOrEmpty(this.Name); } } + + public TypedLobby() + { + this.Name = string.Empty; + this.Type = LobbyType.Default; + } + + public TypedLobby(string name, LobbyType type) + { + this.Name = name; + this.Type = type; + } + + public override string ToString() + { + return String.Format((string) "lobby '{0}'[{1}]", (object) this.Name, (object) this.Type); + } + } + + public class TypedLobbyInfo : TypedLobby + { + public int PlayerCount; + public int RoomCount; + + public override string ToString() + { + return string.Format("TypedLobbyInfo '{0}'[{1}] rooms: {2} players: {3}", this.Name, this.Type, this.RoomCount, this.PlayerCount); + } + } + + + /// + /// Options for authentication modes. From "classic" auth on each server to AuthOnce (on NameServer). + /// + public enum AuthModeOption { Auth, AuthOnce, AuthOnceWss } + + + /// + /// Options for optional "Custom Authentication" services used with Photon. Used by OpAuthenticate after connecting to Photon. + /// + public enum CustomAuthenticationType : byte + { + /// Use a custom authentification service. Currently the only implemented option. + Custom = 0, + + /// Authenticates users by their Steam Account. Set auth values accordingly! + Steam = 1, + + /// Authenticates users by their Facebook Account. Set auth values accordingly! + Facebook = 2, + + /// Authenticates users by their Oculus Account and token. + Oculus = 3, + + /// Authenticates users by their PSN Account and token. + PlayStation = 4, + + /// Authenticates users by their Xbox Account and XSTS token. + Xbox = 5, + + /// Disables custom authentification. Same as not providing any AuthenticationValues for connect (more precisely for: OpAuthenticate). + None = byte.MaxValue + } + + + /// + /// Container for user authentication in Photon. Set AuthValues before you connect - all else is handled. + /// + /// + /// On Photon, user authentication is optional but can be useful in many cases. + /// If you want to FindFriends, a unique ID per user is very practical. + /// + /// There are basically three options for user authentification: None at all, the client sets some UserId + /// or you can use some account web-service to authenticate a user (and set the UserId server-side). + /// + /// Custom Authentication lets you verify end-users by some kind of login or token. It sends those + /// values to Photon which will verify them before granting access or disconnecting the client. + /// + /// The AuthValues are sent in OpAuthenticate when you connect, so they must be set before you connect. + /// Should you not set any AuthValues, PUN will create them and set the playerName as userId in them. + /// If the AuthValues.userId is null or empty when it's sent to the server, then the Photon Server assigns a userId! + /// + /// The Photon Cloud Dashboard will let you enable this feature and set important server values for it. + /// https://www.photonengine.com/dashboard + /// + public class AuthenticationValues + { + /// See AuthType. + private CustomAuthenticationType authType = CustomAuthenticationType.None; + + /// The type of custom authentication provider that should be used. Currently only "Custom" or "None" (turns this off). + public CustomAuthenticationType AuthType + { + get { return authType; } + set { authType = value; } + } + + /// This string must contain any (http get) parameters expected by the used authentication service. By default, username and token. + /// Standard http get parameters are used here and passed on to the service that's defined in the server (Photon Cloud Dashboard). + public string AuthGetParameters { get; set; } + + /// Data to be passed-on to the auth service via POST. Default: null (not sent). Either string or byte[] (see setters). + public object AuthPostData { get; private set; } + + /// After initial authentication, Photon provides a token for this client / user, which is subsequently used as (cached) validation. + public string Token { get; set; } + + /// The UserId should be a unique identifier per user. This is for finding friends, etc.. + /// See remarks of AuthValues for info about how this is set and used. + public string UserId { get; set; } + + + /// Creates empty auth values without any info. + public AuthenticationValues() + { + } + + /// Creates minimal info about the user. If this is authenticated or not, depends on the set AuthType. + /// Some UserId to set in Photon. + public AuthenticationValues(string userId) + { + this.UserId = userId; + } + + /// Sets the data to be passed-on to the auth service via POST. + /// String data to be used in the body of the POST request. Null or empty string will set AuthPostData to null. + public virtual void SetAuthPostData(string stringData) + { + this.AuthPostData = (string.IsNullOrEmpty(stringData)) ? null : stringData; + } + + /// Sets the data to be passed-on to the auth service via POST. + /// Binary token / auth-data to pass on. + public virtual void SetAuthPostData(byte[] byteData) + { + this.AuthPostData = byteData; + } + + /// Adds a key-value pair to the get-parameters used for Custom Auth. + /// This method does uri-encoding for you. + /// Key for the value to set. + /// Some value relevant for Custom Authentication. + public virtual void AddAuthParameter(string key, string value) + { + string ampersand = string.IsNullOrEmpty(this.AuthGetParameters) ? "" : "&"; + this.AuthGetParameters = string.Format("{0}{1}{2}={3}", this.AuthGetParameters, ampersand, System.Uri.EscapeDataString(key), System.Uri.EscapeDataString(value)); + } + + public override string ToString() + { + return string.Format("AuthenticationValues UserId: {0}, GetParameters: {1} Token available: {2}", this.UserId, this.AuthGetParameters, this.Token != null); + } + } diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/LoadbalancingPeer.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/LoadbalancingPeer.cs.meta new file mode 100644 index 0000000..989f399 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/LoadbalancingPeer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 35c989013c977244186e524a4c90dcee +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs new file mode 100644 index 0000000..6f7549c --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs @@ -0,0 +1,4524 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Networking (PUN) +// +// -------------------------------------------------------------------------------------------------------------------- + +using ExitGames.Client.Photon; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; +using Hashtable = ExitGames.Client.Photon.Hashtable; +using SupportClassPun = ExitGames.Client.Photon.SupportClass; + + + +#region Enums + +/// +/// Detailed connection / networking peer state. +/// PUN implements a loadbalancing and authentication workflow "behind the scenes", so +/// some states will automatically advance to some follow up state. Those states are +/// commented with "(will-change)". +/// +/// \ingroup publicApi +public enum ClientState +{ + /// Not running. Only set before initialization and first use. + Uninitialized, + + /// Created and available to connect. + PeerCreated, + + /// Not used at the moment. + Queued, + + /// The application is authenticated. PUN usually joins the lobby now. + /// (will-change) Unless AutoJoinLobby is false. + Authenticated, + + /// Client is in the lobby of the Master Server and gets room listings. + /// Use Join, Create or JoinRandom to get into a room to play. + JoinedLobby, + + /// Disconnecting. + /// (will-change) + DisconnectingFromMasterserver, + + /// Connecting to game server (to join/create a room and play). + /// (will-change) + ConnectingToGameserver, + + /// Similar to Connected state but on game server. Still in process to join/create room. + /// (will-change) + ConnectedToGameserver, + + /// In process to join/create room (on game server). + /// (will-change) + Joining, + + /// Final state of a room join/create sequence. This client can now exchange events / call RPCs with other clients. + Joined, + + /// Leaving a room. + /// (will-change) + Leaving, + + /// Workflow is leaving the game server and will re-connect to the master server. + /// (will-change) + DisconnectingFromGameserver, + + /// Workflow is connected to master server and will establish encryption and authenticate your app. + /// (will-change) + ConnectingToMasterserver, + + /// Same Queued but coming from game server. + /// (will-change) + QueuedComingFromGameserver, + + /// PUN is disconnecting. This leads to Disconnected. + /// (will-change) + Disconnecting, + + /// No connection is setup, ready to connect. Similar to PeerCreated. + Disconnected, + + /// Final state for connecting to master without joining the lobby (AutoJoinLobby is false). + ConnectedToMaster, + + /// Client connects to the NameServer. This process includes low level connecting and setting up encryption. When done, state becomes ConnectedToNameServer. + ConnectingToNameServer, + + /// Client is connected to the NameServer and established enctryption already. You should call OpGetRegions or ConnectToRegionMaster. + ConnectedToNameServer, + + /// When disconnecting from a Photon NameServer. + /// (will-change) + DisconnectingFromNameServer, + + /// When connecting to a Photon Server, this state is intermediate before you can call any operations. + /// (will-change) + Authenticating +} + + + /// + /// Internal state, how this peer gets into a particular room (joining it or creating it). + /// + internal enum JoinType + { + /// This client creates a room, gets into it (no need to join) and can set room properties. + CreateRoom, + /// The room existed already and we join into it (not setting room properties). + JoinRoom, + /// Done on Master Server and (if successful) followed by a Join on Game Server. + JoinRandomRoom, + /// Client is either joining or creating a room. On Master- and Game-Server. + JoinOrCreateRoom + } + + +/// +/// Summarizes the cause for a disconnect. Used in: OnConnectionFail and OnFailedToConnectToPhoton. +/// +/// Extracted from the status codes from ExitGames.Client.Photon.StatusCode. +/// +/// \ingroup publicApi +public enum DisconnectCause +{ + /// Server actively disconnected this client. + /// Possible cause: The server's user limit was hit and client was forced to disconnect (on connect). + DisconnectByServerUserLimit = StatusCode.DisconnectByServerUserLimit, + + /// Connection could not be established. + /// Possible cause: Local server not running. + ExceptionOnConnect = StatusCode.ExceptionOnConnect, + + /// Timeout disconnect by server (which decided an ACK was missing for too long). + DisconnectByServerTimeout = StatusCode.DisconnectByServer, + + /// Server actively disconnected this client. + /// Possible cause: Server's send buffer full (too much data for client). + DisconnectByServerLogic = StatusCode.DisconnectByServerLogic, + + /// Some exception caused the connection to close. + Exception = StatusCode.Exception, + + /// (32767) The Photon Cloud rejected the sent AppId. Check your Dashboard and make sure the AppId you use is complete and correct. + InvalidAuthentication = ErrorCode.InvalidAuthentication, + + /// (32757) Authorization on the Photon Cloud failed because the concurrent users (CCU) limit of the app's subscription is reached. + MaxCcuReached = ErrorCode.MaxCcuReached, + + /// (32756) Authorization on the Photon Cloud failed because the app's subscription does not allow to use a particular region's server. + InvalidRegion = ErrorCode.InvalidRegion, + + /// The security settings for client or server don't allow a connection (see remarks). + /// + /// A common cause for this is that browser clients read a "crossdomain" file from the server. + /// If that file is unavailable or not configured to let the client connect, this exception is thrown. + /// Photon usually provides this crossdomain file for Unity. + /// If it fails, read: + /// http://doc.exitgames.com/photon-server/PolicyApp + /// + SecurityExceptionOnConnect = StatusCode.SecurityExceptionOnConnect, + + /// Timeout disconnect by client (which decided an ACK was missing for too long). + DisconnectByClientTimeout = StatusCode.TimeoutDisconnect, + + /// Exception in the receive-loop. + /// Possible cause: Socket failure. + InternalReceiveException = StatusCode.ExceptionOnReceive, + + /// (32753) The Authentication ticket expired. Handle this by connecting again (which includes an authenticate to get a fresh ticket). + AuthenticationTicketExpired = 32753, +} + +/// Available server (types) for internally used field: server. +/// Photon uses 3 different roles of servers: Name Server, Master Server and Game Server. +public enum ServerConnection +{ + /// This server is where matchmaking gets done and where clients can get lists of rooms in lobbies. + MasterServer, + /// This server handles a number of rooms to execute and relay the messages between players (in a room). + GameServer, + /// This server is used initially to get the address (IP) of a Master Server for a specific region. Not used for Photon OnPremise (self hosted). + NameServer +} + +#endregion + +/// +/// Implements Photon LoadBalancing used in PUN. +/// This class is used internally by PhotonNetwork and not intended as public API. +/// +internal class NetworkingPeer : LoadBalancingPeer, IPhotonPeerListener +{ + /// Combination of GameVersion+"_"+PunVersion. Separates players per app by version. + protected internal string AppVersion + { + get { return string.Format("{0}_{1}", PhotonNetwork.gameVersion, PhotonNetwork.versionPUN); } + } + + /// Contains the AppId for the Photon Cloud (ignored by Photon Servers). + protected internal string AppId; + + /// + /// A user's authentication values used during connect for Custom Authentication with Photon (and a custom service/community). + /// Set these before calling Connect if you want custom authentication. + /// + public AuthenticationValues AuthValues { get; set; } + + /// Internally used cache for the server's token. Identifies a user/session and can be used to rejoin. + private string tokenCache; + + + /// Enables the new Authentication workflow + public AuthModeOption AuthMode = AuthModeOption.Auth; + + /// Defines how the communication gets encrypted. + public EncryptionMode EncryptionMode = EncryptionMode.PayloadEncryption; + + + ///Simplifies getting the token for connect/init requests, if this feature is enabled. + private string TokenForInit + { + get + { + if (this.AuthMode == AuthModeOption.Auth) + { + return null; + } + return (this.AuthValues != null) ? this.AuthValues.Token : null; + } + } + + /// True if this client uses a NameServer to get the Master Server address. + public bool IsUsingNameServer { get; protected internal set; } + + /// Name Server Host Name for Photon Cloud. Without port and without any prefix. + #if !UNITY_EDITOR && UNITY_SWITCH + public const string NameServerHost = "nameserver-eu.cloudapp.net";//set to "ns.exitgames.com" after Nintendo has fixed the traffic manager bug in their dns-resolver for which this is a workaround + #else + public const string NameServerHost = "ns.exitgames.com"; + #endif + + /// Name Server for HTTP connections to the Photon Cloud. Includes prefix and port. + public const string NameServerHttp = "http://ns.exitgamescloud.com:80/photon/n"; + + /// Name Server port per protocol (the UDP port is different than TCP, etc). + private static readonly Dictionary ProtocolToNameServerPort = new Dictionary() { { ConnectionProtocol.Udp, 5058 }, { ConnectionProtocol.Tcp, 4533 }, { ConnectionProtocol.WebSocket, 9093 }, { ConnectionProtocol.WebSocketSecure, 19093 } }; //, { ConnectionProtocol.RHttp, 6063 } }; + + /// Name Server Address for Photon Cloud (based on current protocol). You can use the default values and usually won't have to set this value. + public string NameServerAddress { get { return this.GetNameServerAddress(); } } + + /// Your Master Server address. In PhotonCloud, call ConnectToRegionMaster() to find your Master Server. + /// + /// In the Photon Cloud, explicit definition of a Master Server Address is not best practice. + /// The Photon Cloud has a "Name Server" which redirects clients to a specific Master Server (per Region and AppId). + /// + public string MasterServerAddress { get; protected internal set; } + + /// The game server's address for a particular room. In use temporarily, as assigned by master. + public string GameServerAddress { get; protected internal set; } + + /// The server this client is currently connected or connecting to. + /// + /// Each server (NameServer, MasterServer, GameServer) allow some operations and reject others. + /// + protected internal ServerConnection Server { get; private set; } + + public ClientState State { get; internal set; } + + public bool IsInitialConnect = false; + + + public bool insideLobby = false; + public TypedLobby lobby { get; set; } + + + private bool requestLobbyStatistics + { + get { return PhotonNetwork.EnableLobbyStatistics && this.Server == ServerConnection.MasterServer; } + } + + protected internal List LobbyStatistics = new List(); + + + public Dictionary mGameList = new Dictionary(); + public RoomInfo[] mGameListCopy = new RoomInfo[0]; + + private string playername = ""; + + public string PlayerName + { + get + { + return this.playername; + } + + set + { + if (string.IsNullOrEmpty(value) || value.Equals(this.playername)) + { + return; + } + + if (this.LocalPlayer != null) + { + this.LocalPlayer.NickName = value; + } + + this.playername = value; + if (this.CurrentRoom != null) + { + // Only when in a room + this.SendPlayerName(); + } + } + } + + // "public" access to the current game - is null unless a room is joined on a gameserver + // isLocalClientInside becomes true when op join result is positive on GameServer + private bool mPlayernameHasToBeUpdated; + + + public Room CurrentRoom + { + get + { + if (this.currentRoom != null && this.currentRoom.IsLocalClientInside) + { + return this.currentRoom; + } + + return null; + } + + private set { this.currentRoom = value; } + } + + private Room currentRoom; + + public PhotonPlayer LocalPlayer { get; internal set; } + + /// Statistic value available on master server: Players on master (looking for games). + public int PlayersOnMasterCount { get; internal set; } + + /// Statistic value available on master server: Players in rooms (playing). + public int PlayersInRoomsCount { get; internal set; } + + /// Statistic value available on master server: Rooms currently created. + public int RoomsCount { get; internal set; } + + /// Internally used to decide if a room must be created or joined on game server. + private JoinType lastJoinType; + + protected internal EnterRoomParams enterRoomParamsCache; + + + /// Internally used to trigger OpAuthenticate when encryption was established after a connect. + private bool didAuthenticate; + + + + /// Contains the list of names of friends to look up their state on the server. + private string[] friendListRequested; + + /// + /// Age of friend list info (in milliseconds). It's 0 until a friend list is fetched. + /// + protected internal int FriendListAge { get { return (this.isFetchingFriendList || this.friendListTimestamp == 0) ? 0 : Environment.TickCount - this.friendListTimestamp; } } + + private int friendListTimestamp; + + /// Internal flag to know if the client currently fetches a friend list. + private bool isFetchingFriendList; + + /// Internally used to check if a "Secret" is available to use. Sent by Photon Cloud servers, it simplifies authentication when switching servers. + public bool IsAuthorizeSecretAvailable + { + get + { + return this.AuthValues != null && !String.IsNullOrEmpty(this.AuthValues.Token); + } + } + + /// A list of region names for the Photon Cloud. Set by the result of OpGetRegions(). + /// Put a "case OperationCode.GetRegions:" into your OnOperationResponse method to notice when the result is available. + public List AvailableRegions { get; protected internal set; } + + /// The cloud region this client connects to. Set by ConnectToRegionMaster(). + public CloudRegionCode CloudRegion { get; protected internal set; } + + + + public Dictionary mActors = new Dictionary(); + + public PhotonPlayer[] mOtherPlayerListCopy = new PhotonPlayer[0]; + public PhotonPlayer[] mPlayerListCopy = new PhotonPlayer[0]; + + + public int mMasterClientId + { + get + { + if (PhotonNetwork.offlineMode) return this.LocalPlayer.ID; + return (this.CurrentRoom == null) ? 0 : this.CurrentRoom.MasterClientId; + } + private set + { + if (this.CurrentRoom != null) + { + this.CurrentRoom.MasterClientId = value; + } + } + } + + public bool hasSwitchedMC = false; + + private HashSet allowedReceivingGroups = new HashSet(); + + private HashSet blockSendingGroups = new HashSet(); + + protected internal Dictionary photonViewList = new Dictionary(); //TODO: make private again + + private readonly PhotonStream readStream = new PhotonStream(false, null); // only used in OnSerializeRead() + private readonly PhotonStream pStream = new PhotonStream(true, null); // only used in OnSerializeWrite() + private readonly Dictionary dataPerGroupReliable = new Dictionary(); // only used in RunViewUpdate() + private readonly Dictionary dataPerGroupUnreliable = new Dictionary(); // only used in RunViewUpdate() + + protected internal short currentLevelPrefix = 0; + + /// Internally used to flag if the message queue was disabled by a "scene sync" situation (to re-enable it). + protected internal bool loadingLevelAndPausedNetwork = false; + + /// For automatic scene syncing, the loaded scene is put into a room property. This is the name of said prop. + protected internal const string CurrentSceneProperty = "curScn"; + + public static bool UsePrefabCache = true; + + internal IPunPrefabPool ObjectPool; + + public static Dictionary PrefabCache = new Dictionary(); + + private Dictionary> monoRPCMethodsCache = new Dictionary>(); + + private readonly Dictionary rpcShortcuts; // lookup "table" for the index (shortcut) of an RPC name + + /// Caches PhotonNetworkingMessage.OnPhotonInstantiate.ToString(), because DoInstantiate calls it often (and ToString() on the enum is astonishingly expensive). + private static readonly string OnPhotonInstantiateString = PhotonNetworkingMessage.OnPhotonInstantiate.ToString(); + + + // TODO: CAS must be implemented for OfflineMode + + public NetworkingPeer(string playername, ConnectionProtocol connectionProtocol) : base(connectionProtocol) + { + this.Listener = this; + this.LimitOfUnreliableCommands = 40; + + this.lobby = TypedLobby.Default; + this.PlayerName = playername; + this.LocalPlayer = new PhotonPlayer(true, -1, this.playername); + this.AddNewPlayer(this.LocalPlayer.ID, this.LocalPlayer); + + // RPC shortcut lookup creation (from list of RPCs, which is updated by Editor scripts) + rpcShortcuts = new Dictionary(PhotonNetwork.PhotonServerSettings.RpcList.Count); + for (int index = 0; index < PhotonNetwork.PhotonServerSettings.RpcList.Count; index++) + { + var name = PhotonNetwork.PhotonServerSettings.RpcList[index]; + rpcShortcuts[name] = index; + } + + this.State = ClientState.PeerCreated; + } + + /// + /// Gets the NameServer Address (with prefix and port), based on the set protocol (this.UsedProtocol). + /// + /// NameServer Address (with prefix and port). + private string GetNameServerAddress() + { + #if RHTTP + if (currentProtocol == ConnectionProtocol.RHttp) + { + return NameServerHttp; + } + #endif + + ConnectionProtocol currentProtocol = this.TransportProtocol; + int protocolPort = 0; + ProtocolToNameServerPort.TryGetValue(currentProtocol, out protocolPort); + + string protocolPrefix = string.Empty; + if (currentProtocol == ConnectionProtocol.WebSocket) + { + protocolPrefix = "ws://"; + } + else if (currentProtocol == ConnectionProtocol.WebSocketSecure) + { + protocolPrefix = "wss://"; + } + + string result = string.Format("{0}{1}:{2}", protocolPrefix, NameServerHost, protocolPort); + //Debug.Log("NameServer: " + result); + return result; + } + +#region Operations and Connection Methods + + + public override bool Connect(string serverAddress, string applicationName) + { + Debug.LogError("Avoid using this directly. Thanks."); + return false; + } + + /// Can be used to reconnect to the master server after a disconnect. + /// Common use case: Press the Lock Button on a iOS device and you get disconnected immediately. + public bool ReconnectToMaster() + { + if (this.AuthValues == null) + { + Debug.LogWarning("ReconnectToMaster() with AuthValues == null is not correct!"); + this.AuthValues = new AuthenticationValues(); + } + this.AuthValues.Token = this.tokenCache; + + return this.Connect(this.MasterServerAddress, ServerConnection.MasterServer); + } + + /// + /// Can be used to return to a room quickly, by directly reconnecting to a game server to rejoin a room. + /// + /// False, if the conditions are not met. Then, this client does not attempt the ReconnectAndRejoin. + public bool ReconnectAndRejoin() + { + if (this.AuthValues == null) + { + Debug.LogWarning("ReconnectAndRejoin() with AuthValues == null is not correct!"); + this.AuthValues = new AuthenticationValues(); + } + this.AuthValues.Token = this.tokenCache; + + if (!string.IsNullOrEmpty(this.GameServerAddress) && this.enterRoomParamsCache != null) + { + this.lastJoinType = JoinType.JoinRoom; + this.enterRoomParamsCache.RejoinOnly = true; + return this.Connect(this.GameServerAddress, ServerConnection.GameServer); + } + + return false; + } + + + public bool Connect(string serverAddress, ServerConnection type) + { + if (PhotonHandler.AppQuits) + { + Debug.LogWarning("Ignoring Connect() because app gets closed. If this is an error, check PhotonHandler.AppQuits."); + return false; + } + + if (this.State == ClientState.Disconnecting) + { + Debug.LogError("Connect() failed. Can't connect while disconnecting (still). Current state: " + PhotonNetwork.connectionStateDetailed); + return false; + } + + this.SetupProtocol(type); + + // connect might fail, if the DNS name can't be resolved or if no network connection is available + bool connecting = base.Connect(serverAddress, "", this.TokenForInit); + + if (connecting) + { + switch (type) + { + case ServerConnection.NameServer: + State = ClientState.ConnectingToNameServer; + break; + case ServerConnection.MasterServer: + State = ClientState.ConnectingToMasterserver; + break; + case ServerConnection.GameServer: + State = ClientState.ConnectingToGameserver; + break; + } + } + + return connecting; + } + + + /// + /// Connects to the NameServer for Photon Cloud, where a region-list can be fetched. + /// + /// + /// If the workflow was started or failed right away. + public bool ConnectToNameServer() + { + if (PhotonHandler.AppQuits) + { + Debug.LogWarning("Ignoring Connect() because app gets closed. If this is an error, check PhotonHandler.AppQuits."); + return false; + } + + this.IsUsingNameServer = true; + this.CloudRegion = CloudRegionCode.none; + + if (this.State == ClientState.ConnectedToNameServer) + { + return true; + } + + this.SetupProtocol(ServerConnection.NameServer); + if (!base.Connect(this.NameServerAddress, "ns", this.TokenForInit)) + { + return false; + } + + this.State = ClientState.ConnectingToNameServer; + return true; + } + + /// + /// Connects you to a specific region's Master Server, using the Name Server to find the IP. + /// + /// If the operation could be sent. If false, no operation was sent. + public bool ConnectToRegionMaster(CloudRegionCode region) + { + if (PhotonHandler.AppQuits) + { + Debug.LogWarning("Ignoring Connect() because app gets closed. If this is an error, check PhotonHandler.AppQuits."); + return false; + } + + this.IsUsingNameServer = true; + this.CloudRegion = region; + + if (this.State == ClientState.ConnectedToNameServer) + { + return this.CallAuthenticate(); + } + + this.SetupProtocol(ServerConnection.NameServer); + if (!base.Connect(this.NameServerAddress, "ns", this.TokenForInit)) + { + return false; + } + + this.State = ClientState.ConnectingToNameServer; + return true; + } + + // this sets up the protocol to us, depending on auth-mode and or export. + protected internal void SetupProtocol(ServerConnection serverType) + { + ConnectionProtocol protocolOverride = this.TransportProtocol; + + #if UNITY_XBOXONE + this.AuthMode = AuthModeOption.Auth; + if (this.AuthValues == null) + { + this.AuthValues = new AuthenticationValues(); + UnityEngine.Debug.LogError("UNITY_XBOXONE builds must set AuthValues. Set this before calling any Connect method. Refer to the online docs for guidance."); + Debug.Break(); + return; + } + if (this.AuthValues.AuthPostData == null) + { + UnityEngine.Debug.LogError("UNITY_XBOXONE builds must use Photon's XBox Authentication and set the XSTS token by calling: PhotonNetwork.AuthValues.SetAuthPostData(xstsToken). Refer to the online docs for guidance."); + Debug.Break(); + return; + } + if (this.AuthValues.AuthType != CustomAuthenticationType.Xbox) + { + UnityEngine.Debug.LogWarning("UNITY_XBOXONE builds must use AuthValues.AuthType \"CustomAuthenticationType.Xbox\". PUN sets this value now. Refer to the online docs to avoid this warning."); + this.AuthValues.AuthType = CustomAuthenticationType.Xbox; + } + if (this.TransportProtocol != ConnectionProtocol.WebSocketSecure) + { + UnityEngine.Debug.LogWarning("UNITY_XBOXONE builds must use WSS (Secure WebSockets) as Transport Protocol. Changing to WSS from your selection: " + this.TransportProtocol); + this.TransportProtocol = ConnectionProtocol.WebSocketSecure; + } + #endif + + if (this.AuthMode == AuthModeOption.AuthOnceWss) + { + if (serverType != ServerConnection.NameServer) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.ErrorsOnly) + { + Debug.LogWarning("Using PhotonServerSettings.Protocol when leaving the NameServer (AuthMode is AuthOnceWss): " + PhotonNetwork.PhotonServerSettings.Protocol); + } + protocolOverride = PhotonNetwork.PhotonServerSettings.Protocol; + } + else + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.ErrorsOnly) + { + Debug.LogWarning("Using WebSocket to connect NameServer (AuthMode is AuthOnceWss)."); + } + protocolOverride = ConnectionProtocol.WebSocketSecure; + } + } + + Type socketTcp = null; + #if UNITY_XBOXONE + socketTcp = Type.GetType("ExitGames.Client.Photon.SocketWebTcpNativeDynamic, Assembly-CSharp", false); + if (socketTcp == null) + { + socketTcp = Type.GetType("ExitGames.Client.Photon.SocketWebTcpNativeDynamic, Assembly-CSharp-firstpass", false); + } + #else + // to support WebGL export in Unity, we find and assign the SocketWebTcp class (if it's in the project). + // alternatively class SocketWebTcp might be in the Photon3Unity3D.dll + socketTcp = Type.GetType("ExitGames.Client.Photon.SocketWebTcp, Assembly-CSharp", false); + if (socketTcp == null) + { + socketTcp = Type.GetType("ExitGames.Client.Photon.SocketWebTcp, Assembly-CSharp-firstpass", false); + } + #endif + if (socketTcp != null) + { + this.SocketImplementationConfig[ConnectionProtocol.WebSocket] = socketTcp; + this.SocketImplementationConfig[ConnectionProtocol.WebSocketSecure] = socketTcp; + } + + + #if UNITY_WEBGL + if (this.TransportProtocol != ConnectionProtocol.WebSocket && this.TransportProtocol != ConnectionProtocol.WebSocketSecure) + { + Debug.Log("WebGL only supports WebSocket protocol. Overriding PhotonServerSettings."); + protocolOverride = ConnectionProtocol.WebSocketSecure; + } + PhotonHandler.PingImplementation = typeof(PingHttp); + #endif + + + #if !UNITY_EDITOR && (UNITY_WINRT) + // this automatically uses a separate assembly-file with Win8-style Socket usage (not possible in Editor) + Debug.LogWarning("Using PingWindowsStore"); + PhotonHandler.PingImplementation = typeof(PingWindowsStore); // but for ping, we have to set the implementation explicitly to Win 8 Store/Phone + #endif + + + #pragma warning disable 0162 // the library variant defines if we should use PUN's SocketUdp variant (at all) + if (PhotonPeer.NoSocket) + { + #if !UNITY_EDITOR && (UNITY_PS3 || UNITY_ANDROID) + this.SocketImplementationConfig[ConnectionProtocol.Udp] = typeof(SocketUdpNativeDynamic); + PhotonHandler.PingImplementation = typeof(PingNativeDynamic); + #elif !UNITY_EDITOR && (UNITY_IPHONE || UNITY_SWITCH) + this.SocketImplementationConfig[ConnectionProtocol.Udp] = typeof(SocketUdpNativeStatic); + PhotonHandler.PingImplementation = typeof(PingNativeStatic); + #elif !UNITY_EDITOR && UNITY_WINRT + // this automatically uses a separate assembly-file with Win8-style Socket usage (not possible in Editor) + #else + this.SocketImplementationConfig[ConnectionProtocol.Udp] = typeof(SocketUdp); + PhotonHandler.PingImplementation = typeof(PingMonoEditor); + #endif + + if (this.SocketImplementationConfig[ConnectionProtocol.Udp] == null) + { + Debug.Log("No socket implementation set for 'NoSocket' assembly. Please check your settings."); + } + } + #pragma warning restore 0162 + + if (PhotonHandler.PingImplementation == null) + { + PhotonHandler.PingImplementation = typeof(PingMono); + } + + + if (this.TransportProtocol == protocolOverride) + { + return; + } + + + if (PhotonNetwork.logLevel >= PhotonLogLevel.ErrorsOnly) + { + Debug.LogWarning("Protocol switch from: " + this.TransportProtocol + " to: " + protocolOverride + "."); + } + + this.TransportProtocol = protocolOverride; + } + + /// + /// Complete disconnect from photon (and the open master OR game server) + /// + public override void Disconnect() + { + if (this.PeerState == PeerStateValue.Disconnected) + { + if (!PhotonHandler.AppQuits) + { + Debug.LogWarning(string.Format("Can't execute Disconnect() while not connected. Nothing changed. State: {0}", this.State)); + } + return; + } + + this.State = ClientState.Disconnecting; + base.Disconnect(); + + //this.LeftRoomCleanup(); + //this.LeftLobbyCleanup(); + } + + private bool CallAuthenticate() + { + // once encryption is availble, the client should send one (secure) authenticate. it includes the AppId (which identifies your app on the Photon Cloud) + AuthenticationValues auth = this.AuthValues ?? new AuthenticationValues() { UserId = this.PlayerName }; + if (this.AuthMode == AuthModeOption.Auth) + { + return this.OpAuthenticate(this.AppId, this.AppVersion, auth, this.CloudRegion.ToString(), this.requestLobbyStatistics); + } + else + { + return this.OpAuthenticateOnce(this.AppId, this.AppVersion, auth, this.CloudRegion.ToString(), this.EncryptionMode, PhotonNetwork.PhotonServerSettings.Protocol); + } + } + + + + /// + /// Internally used only. Triggers OnStateChange with "Disconnect" in next dispatch which is the signal to re-connect (if at all). + /// + private void DisconnectToReconnect() + { + switch (this.Server) + { + case ServerConnection.NameServer: + this.State = ClientState.DisconnectingFromNameServer; + base.Disconnect(); + break; + case ServerConnection.MasterServer: + this.State = ClientState.DisconnectingFromMasterserver; + base.Disconnect(); + //LeftLobbyCleanup(); + break; + case ServerConnection.GameServer: + this.State = ClientState.DisconnectingFromGameserver; + base.Disconnect(); + //this.LeftRoomCleanup(); + break; + } + } + + /// + /// While on the NameServer, this gets you the list of regional servers (short names and their IPs to ping them). + /// + /// If the operation could be sent. If false, no operation was sent (e.g. while not connected to the NameServer). + public bool GetRegions() + { + if (this.Server != ServerConnection.NameServer) + { + return false; + } + + bool sent = this.OpGetRegions(this.AppId); + if (sent) + { + this.AvailableRegions = null; + } + + return sent; + } + + /// + /// Request the rooms and online status for a list of friends. All client must set a unique username via PlayerName property. The result is available in this.Friends. + /// + /// + /// Used on Master Server to find the rooms played by a selected list of users. + /// The result will be mapped to LoadBalancingClient.Friends when available. + /// The list is initialized by OpFindFriends on first use (before that, it is null). + /// + /// Users identify themselves by setting a PlayerName in the LoadBalancingClient instance. + /// This in turn will send the name in OpAuthenticate after each connect (to master and game servers). + /// Note: Changing a player's name doesn't make sense when using a friend list. + /// + /// The list of usernames must be fetched from some other source (not provided by Photon). + /// + /// + /// Internal: + /// The server response includes 2 arrays of info (each index matching a friend from the request): + /// ParameterCode.FindFriendsResponseOnlineList = bool[] of online states + /// ParameterCode.FindFriendsResponseRoomIdList = string[] of room names (empty string if not in a room) + /// + /// Array of friend's names (make sure they are unique). + /// If the operation could be sent (requires connection, only one request is allowed at any time). Always false in offline mode. + public override bool OpFindFriends(string[] friendsToFind) + { + if (this.isFetchingFriendList) + { + return false; // fetching friends currently, so don't do it again (avoid changing the list while fetching friends) + } + + this.friendListRequested = friendsToFind; + this.isFetchingFriendList = true; + + return base.OpFindFriends(friendsToFind); + } + + /// NetworkingPeer.OpCreateGame + public bool OpCreateGame(EnterRoomParams enterRoomParams) + { + bool onGameServer = this.Server == ServerConnection.GameServer; + enterRoomParams.OnGameServer = onGameServer; + enterRoomParams.PlayerProperties = GetLocalActorProperties(); + if (!onGameServer) + { + enterRoomParamsCache = enterRoomParams; + } + + this.lastJoinType = JoinType.CreateRoom; + return base.OpCreateRoom(enterRoomParams); + } + + /// NetworkingPeer.OpJoinRoom + public override bool OpJoinRoom(EnterRoomParams opParams) + { + bool onGameServer = this.Server == ServerConnection.GameServer; + opParams.OnGameServer = onGameServer; + if (!onGameServer) + { + this.enterRoomParamsCache = opParams; + } + + this.lastJoinType = (opParams.CreateIfNotExists) ? JoinType.JoinOrCreateRoom : JoinType.JoinRoom; + return base.OpJoinRoom(opParams); + } + + /// NetworkingPeer.OpJoinRandomRoom + /// this override just makes sure we have a mRoomToGetInto, even if it's blank (the properties provided in this method are filters. they are not set when we join the game) + public override bool OpJoinRandomRoom(OpJoinRandomRoomParams opJoinRandomRoomParams) + { + enterRoomParamsCache = new EnterRoomParams(); // this is used when the client arrives on the GS and joins the room + enterRoomParamsCache.Lobby = opJoinRandomRoomParams.TypedLobby; + this.enterRoomParamsCache.ExpectedUsers = opJoinRandomRoomParams.ExpectedUsers; + + this.lastJoinType = JoinType.JoinRandomRoom; + return base.OpJoinRandomRoom(opJoinRandomRoomParams); + } + + /// + /// Operation Leave will exit any current room. + /// + /// + /// This also happens when you disconnect from the server. + /// Disconnect might be a step less if you don't want to create a new room on the same server. + /// + /// + public virtual bool OpLeave() + { + if (this.State != ClientState.Joined) + { + Debug.LogWarning("Not sending leave operation. State is not 'Joined': " + this.State); + return false; + } + + return this.OpCustom((byte)OperationCode.Leave, null, true, 0); + } + + public override bool OpRaiseEvent(byte eventCode, object customEventContent, bool sendReliable, RaiseEventOptions raiseEventOptions) + { + if (PhotonNetwork.offlineMode) + { + return false; + } + + return base.OpRaiseEvent(eventCode, customEventContent, sendReliable, raiseEventOptions); + } + + #endregion + + #region Helpers + + private void ReadoutProperties(Hashtable gameProperties, Hashtable pActorProperties, int targetActorNr) + { + // Debug.LogWarning("ReadoutProperties gameProperties: " + gameProperties.ToStringFull() + " pActorProperties: " + pActorProperties.ToStringFull() + " targetActorNr: " + targetActorNr); + + // read per-player properties (or those of one target player) and cache those locally + if (pActorProperties != null && pActorProperties.Count > 0) + { + if (targetActorNr > 0) + { + // we have a single entry in the pActorProperties with one + // user's name + // targets MUST exist before you set properties + PhotonPlayer target = this.GetPlayerWithId(targetActorNr); + if (target != null) + { + Hashtable props = this.ReadoutPropertiesForActorNr(pActorProperties, targetActorNr); + target.InternalCacheProperties(props); + SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerPropertiesChanged, target, props); + } + } + else + { + // in this case, we've got a key-value pair per actor (each + // value is a hashtable with the actor's properties then) + int actorNr; + Hashtable props; + string newName; + PhotonPlayer target; + + foreach (object key in pActorProperties.Keys) + { + actorNr = (int)key; + props = (Hashtable)pActorProperties[key]; + newName = (string)props[ActorProperties.PlayerName]; + + target = this.GetPlayerWithId(actorNr); + if (target == null) + { + target = new PhotonPlayer(false, actorNr, newName); + this.AddNewPlayer(actorNr, target); + } + + target.InternalCacheProperties(props); + SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerPropertiesChanged, target, props); + } + } + } + + // read game properties and cache them locally + if (this.CurrentRoom != null && gameProperties != null) + { + this.CurrentRoom.InternalCacheProperties(gameProperties); + SendMonoMessage(PhotonNetworkingMessage.OnPhotonCustomRoomPropertiesChanged, gameProperties); + if (PhotonNetwork.automaticallySyncScene) + { + this.LoadLevelIfSynced(); // will load new scene if sceneName was changed + } + } + } + + private Hashtable ReadoutPropertiesForActorNr(Hashtable actorProperties, int actorNr) + { + if (actorProperties.ContainsKey(actorNr)) + { + return (Hashtable)actorProperties[actorNr]; + } + + return actorProperties; + } + + public void ChangeLocalID(int newID) + { + if (this.LocalPlayer == null) + { + Debug.LogWarning(string.Format("LocalPlayer is null or not in mActors! LocalPlayer: {0} mActors==null: {1} newID: {2}",this.LocalPlayer,this.mActors == null,newID)); + } + + if (this.mActors.ContainsKey(this.LocalPlayer.ID)) + { + this.mActors.Remove(this.LocalPlayer.ID); + } + + this.LocalPlayer.InternalChangeLocalID(newID); + this.mActors[this.LocalPlayer.ID] = this.LocalPlayer; + this.RebuildPlayerListCopies(); + } + + /// + /// Called at disconnect/leavelobby etc. This CAN also be called when we are not in a lobby (e.g. disconnect from room) + /// + /// Calls callback method OnLeftLobby if this client was in a lobby initially. Clears the lobby's game lists. + private void LeftLobbyCleanup() + { + this.mGameList = new Dictionary(); + this.mGameListCopy = new RoomInfo[0]; + + if (this.insideLobby) + { + this.insideLobby = false; + SendMonoMessage(PhotonNetworkingMessage.OnLeftLobby); + } + } + + /// + /// Called when "this client" left a room to clean up. + /// + private void LeftRoomCleanup() + { + bool wasInRoom = this.CurrentRoom != null; + // when leaving a room, we clean up depending on that room's settings. + bool autoCleanupSettingOfRoom = (this.CurrentRoom != null) ? this.CurrentRoom.AutoCleanUp : PhotonNetwork.autoCleanUpPlayerObjects; + + this.hasSwitchedMC = false; + this.CurrentRoom = null; + this.mActors = new Dictionary(); + this.mPlayerListCopy = new PhotonPlayer[0]; + this.mOtherPlayerListCopy = new PhotonPlayer[0]; + this.allowedReceivingGroups = new HashSet(); + this.blockSendingGroups = new HashSet(); + this.mGameList = new Dictionary(); + this.mGameListCopy = new RoomInfo[0]; + this.isFetchingFriendList = false; + + this.ChangeLocalID(-1); + + // Cleanup all network objects (all spawned PhotonViews, local and remote) + if (autoCleanupSettingOfRoom) + { + this.LocalCleanupAnythingInstantiated(true); + PhotonNetwork.manuallyAllocatedViewIds = new List(); // filled and easier to replace completely + } + + if (wasInRoom) + { + SendMonoMessage(PhotonNetworkingMessage.OnLeftRoom); + } + } + + /// + /// Cleans up anything that was instantiated in-game (not loaded with the scene). + /// + protected internal void LocalCleanupAnythingInstantiated(bool destroyInstantiatedGameObjects) + { + if (this.tempInstantiationData.Count > 0) + { + Debug.LogWarning("It seems some instantiation is not completed, as instantiation data is used. You should make sure instantiations are paused when calling this method. Cleaning now, despite this."); + } + + // Destroy GO's (if we should) + if (destroyInstantiatedGameObjects) + { + // Fill list with Instantiated objects + HashSet instantiatedGos = new HashSet(); + foreach (PhotonView view in this.photonViewList.Values) + { + if (view.isRuntimeInstantiated) + { + instantiatedGos.Add(view.gameObject); // HashSet keeps each object only once + } + } + + foreach (GameObject go in instantiatedGos) + { + this.RemoveInstantiatedGO(go, true); + } + } + + // photonViewList is cleared of anything instantiated (so scene items are left inside) + // any other lists can be + this.tempInstantiationData.Clear(); // should be empty but to be safe we clear (no new list needed) + PhotonNetwork.lastUsedViewSubId = 0; + PhotonNetwork.lastUsedViewSubIdStatic = 0; + } + + + private void GameEnteredOnGameServer(OperationResponse operationResponse) + { + if (operationResponse.ReturnCode != 0) + { + switch (operationResponse.OperationCode) + { + case OperationCode.CreateGame: + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("Create failed on GameServer. Changing back to MasterServer. Msg: " + operationResponse.DebugMessage); + } + SendMonoMessage(PhotonNetworkingMessage.OnPhotonCreateRoomFailed, operationResponse.ReturnCode, operationResponse.DebugMessage); + break; + case OperationCode.JoinGame: + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("Join failed on GameServer. Changing back to MasterServer. Msg: " + operationResponse.DebugMessage); + if (operationResponse.ReturnCode == ErrorCode.GameDoesNotExist) + { + Debug.Log("Most likely the game became empty during the switch to GameServer."); + } + } + SendMonoMessage(PhotonNetworkingMessage.OnPhotonJoinRoomFailed, operationResponse.ReturnCode, operationResponse.DebugMessage); + break; + case OperationCode.JoinRandomGame: + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("Join failed on GameServer. Changing back to MasterServer. Msg: " + operationResponse.DebugMessage); + if (operationResponse.ReturnCode == ErrorCode.GameDoesNotExist) + { + Debug.Log("Most likely the game became empty during the switch to GameServer."); + } + } + SendMonoMessage(PhotonNetworkingMessage.OnPhotonRandomJoinFailed, operationResponse.ReturnCode, operationResponse.DebugMessage); + break; + } + + this.DisconnectToReconnect(); + return; + } + + Room current = new Room(this.enterRoomParamsCache.RoomName, null); + current.IsLocalClientInside = true; + this.CurrentRoom = current; + + this.State = ClientState.Joined; + + if (operationResponse.Parameters.ContainsKey(ParameterCode.ActorList)) + { + int[] actorsInRoom = (int[])operationResponse.Parameters[ParameterCode.ActorList]; + this.UpdatedActorList(actorsInRoom); + } + + // the local player's actor-properties are not returned in join-result. add this player to the list + int localActorNr = (int)operationResponse[ParameterCode.ActorNr]; + this.ChangeLocalID(localActorNr); + + + Hashtable actorProperties = (Hashtable)operationResponse[ParameterCode.PlayerProperties]; + Hashtable gameProperties = (Hashtable)operationResponse[ParameterCode.GameProperties]; + this.ReadoutProperties(gameProperties, actorProperties, 0); + + if (!this.CurrentRoom.serverSideMasterClient) this.CheckMasterClient(-1); + + if (this.mPlayernameHasToBeUpdated) + { + this.SendPlayerName(); + } + + switch (operationResponse.OperationCode) + { + case OperationCode.CreateGame: + SendMonoMessage(PhotonNetworkingMessage.OnCreatedRoom); + break; + case OperationCode.JoinGame: + case OperationCode.JoinRandomGame: + // the mono message for this is sent at another place + break; + } + } + + private void AddNewPlayer(int ID, PhotonPlayer player) + { + if (!this.mActors.ContainsKey(ID)) + { + this.mActors[ID] = player; + RebuildPlayerListCopies(); + } + else + { + Debug.LogError("Adding player twice: " + ID); + } + } + + void RemovePlayer(int ID, PhotonPlayer player) + { + this.mActors.Remove(ID); + if (!player.IsLocal) + { + RebuildPlayerListCopies(); + } + } + + void RebuildPlayerListCopies() + { + this.mPlayerListCopy = new PhotonPlayer[this.mActors.Count]; + this.mActors.Values.CopyTo(this.mPlayerListCopy, 0); + + List otherP = new List(); + for (int i = 0; i < this.mPlayerListCopy.Length; i++) + { + PhotonPlayer player = this.mPlayerListCopy[i]; + if (!player.IsLocal) + { + otherP.Add(player); + } + } + + this.mOtherPlayerListCopy = otherP.ToArray(); + } + + /// + /// Resets the PhotonView "lastOnSerializeDataSent" so that "OnReliable" synched PhotonViews send a complete state to new clients (if the state doesnt change, no messages would be send otherwise!). + /// Note that due to this reset, ALL other players will receive the full OnSerialize. + /// + private void ResetPhotonViewsOnSerialize() + { + foreach (PhotonView photonView in this.photonViewList.Values) + { + photonView.lastOnSerializeDataSent = null; + } + } + + /// + /// Called when the event Leave (of some other player) arrived. + /// Cleans game objects, views locally. The master will also clean the + /// + /// ID of player who left. + private void HandleEventLeave(int actorID, EventData evLeave) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.Log("HandleEventLeave for player ID: " + actorID + " evLeave: " + evLeave.ToStringFull()); + + + // actorNr is fetched out of event + PhotonPlayer player = this.GetPlayerWithId(actorID); + if (player == null) + { + Debug.LogError(String.Format("Received event Leave for unknown player ID: {0}", actorID)); + return; + } + + bool _isAlreadyInactive = player.IsInactive; + + if (evLeave.Parameters.ContainsKey(ParameterCode.IsInactive)) + { + // player becomes inactive (but might return / is not gone for good) + player.IsInactive = (bool)evLeave.Parameters[ParameterCode.IsInactive]; + + + if (player.IsInactive != _isAlreadyInactive) + { + SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerActivityChanged, player); + } + + if (player.IsInactive && _isAlreadyInactive) + { + Debug.LogWarning("HandleEventLeave for player ID: " + actorID + " isInactive: " + player.IsInactive + ". Stopping handling if inactive."); + return; + } + } + + // having a new master before calling destroy for the leaving player is important! + // so we elect a new masterclient and ignore the leaving player (who is still in playerlists). + // note: there is/was a server-side-error which sent 0 as new master instead of skipping the key/value. below is a check for 0 due to that + if (evLeave.Parameters.ContainsKey(ParameterCode.MasterClientId)) + { + int newMaster = (int) evLeave[ParameterCode.MasterClientId]; + if (newMaster != 0) + { + this.mMasterClientId = (int)evLeave[ParameterCode.MasterClientId]; + this.UpdateMasterClient(); + } + } + else if (!this.CurrentRoom.serverSideMasterClient) + { + this.CheckMasterClient(actorID); + } + + + // we let the player up if inactive but if we were already inactive, then we have to actually remove the player properly. + if (player.IsInactive && !_isAlreadyInactive) + { + return; + } + + // destroy objects & buffered messages + if (this.CurrentRoom != null && this.CurrentRoom.AutoCleanUp) + { + this.DestroyPlayerObjects(actorID, true); + } + + RemovePlayer(actorID, player); + + // finally, send notification (the playerList and masterclient are now updated) + SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerDisconnected, player); + } + + /// Picks the new master client from player list, if the current Master is leaving (leavingPlayerId) or if no master was assigned so far. + /// + /// The ignored player is the one who's leaving and should not become master (again). Pass -1 to select any player from the list. + /// + private void CheckMasterClient(int leavingPlayerId) + { + bool currentMasterIsLeaving = this.mMasterClientId == leavingPlayerId; + bool someoneIsLeaving = leavingPlayerId > 0; + + // return early if SOME player (leavingId > 0) is leaving AND it's NOT the current master + if (someoneIsLeaving && !currentMasterIsLeaving) + { + return; + } + + // picking the player with lowest ID (longest in game). + int lowestActorNumber; + if (this.mActors.Count <= 1) + { + lowestActorNumber = this.LocalPlayer.ID; + } + else + { + // keys in mActors are their actorNumbers + lowestActorNumber = Int32.MaxValue; + foreach (int key in this.mActors.Keys) + { + if (key < lowestActorNumber && key != leavingPlayerId) + { + lowestActorNumber = key; + } + } + } + this.mMasterClientId = lowestActorNumber; + + // callback ONLY when the current master left + if (someoneIsLeaving) + { + SendMonoMessage(PhotonNetworkingMessage.OnMasterClientSwitched, this.GetPlayerWithId(lowestActorNumber)); + } + } + + /// Call when the server provides a MasterClientId (due to joining or the current MC leaving, etc). + internal protected void UpdateMasterClient() + { + SendMonoMessage(PhotonNetworkingMessage.OnMasterClientSwitched, PhotonNetwork.masterClient); + } + + private static int ReturnLowestPlayerId(PhotonPlayer[] players, int playerIdToIgnore) + { + if (players == null || players.Length == 0) + { + return -1; + } + + int lowestActorNumber = Int32.MaxValue; + for (int i = 0; i < players.Length; i++) + { + PhotonPlayer photonPlayer = players[i]; + if (photonPlayer.ID == playerIdToIgnore) + { + continue; + } + + if (photonPlayer.ID < lowestActorNumber) + { + lowestActorNumber = photonPlayer.ID; + } + } + + return lowestActorNumber; + } + + /// Fake-sets a new Master Client for this room via RaiseEvent. + /// Does not affect RaiseEvent with target MasterClient but RPC(). + internal protected bool SetMasterClient(int playerId, bool sync) + { + bool masterReplaced = this.mMasterClientId != playerId; + if (!masterReplaced || !this.mActors.ContainsKey(playerId)) + { + return false; + } + + if (sync) + { + bool sent = this.OpRaiseEvent(PunEvent.AssignMaster, new Hashtable() { { (byte)1, playerId } }, true, null); + if (!sent) + { + return false; + } + } + + this.hasSwitchedMC = true; + this.CurrentRoom.MasterClientId = playerId; + SendMonoMessage(PhotonNetworkingMessage.OnMasterClientSwitched, this.GetPlayerWithId(playerId)); // we only callback when an actual change is done + return true; + } + + /// Uses a well-known property to set someone new as Master Client in room (requires "Server Side Master Client" feature). + public bool SetMasterClient(int nextMasterId) + { + Hashtable newProps = new Hashtable() { { GamePropertyKey.MasterClientId, nextMasterId } }; + Hashtable prevProps = new Hashtable() { { GamePropertyKey.MasterClientId, this.mMasterClientId } }; + return this.OpSetPropertiesOfRoom(newProps, expectedProperties: prevProps, webForward: false); + } + + protected internal PhotonPlayer GetPlayerWithId(int number) + { + if (this.mActors == null) return null; + + PhotonPlayer player = null; + this.mActors.TryGetValue(number, out player); + return player; + } + + private void SendPlayerName() + { + if (this.State == ClientState.Joining) + { + // this means, the join on the gameServer is sent (with an outdated name). send the new when in game + this.mPlayernameHasToBeUpdated = true; + return; + } + + if (this.LocalPlayer != null) + { + this.LocalPlayer.NickName = this.PlayerName; + Hashtable properties = new Hashtable(); + properties[ActorProperties.PlayerName] = this.PlayerName; + if (this.LocalPlayer.ID > 0) + { + this.OpSetPropertiesOfActor(this.LocalPlayer.ID, properties, null); + this.mPlayernameHasToBeUpdated = false; + } + } + } + + private Hashtable GetLocalActorProperties() + { + if (PhotonNetwork.player != null) + { + return PhotonNetwork.player.AllProperties; + } + + Hashtable actorProperties = new Hashtable(); + actorProperties[ActorProperties.PlayerName] = this.PlayerName; + return actorProperties; + } + + #endregion + + #region Implementation of IPhotonPeerListener + + public void DebugReturn(DebugLevel level, string message) + { + if (level == DebugLevel.ERROR) + { + Debug.LogError(message); + } + else if (level == DebugLevel.WARNING) + { + Debug.LogWarning(message); + } + else if (level == DebugLevel.INFO && PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log(message); + } + else if (level == DebugLevel.ALL && PhotonNetwork.logLevel == PhotonLogLevel.Full) + { + Debug.Log(message); + } + } + + public void OnOperationResponse(OperationResponse operationResponse) + { + if (PhotonNetwork.networkingPeer.State == ClientState.Disconnecting) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("OperationResponse ignored while disconnecting. Code: " + operationResponse.OperationCode); + } + return; + } + + // extra logging for error debugging (helping developers with a bit of automated analysis) + if (operationResponse.ReturnCode == 0) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.Log(operationResponse.ToString()); + } + else + { + if (operationResponse.ReturnCode == ErrorCode.OperationNotAllowedInCurrentState) + { + Debug.LogError("Operation " + operationResponse.OperationCode + " could not be executed (yet). Wait for state JoinedLobby or ConnectedToMaster and their callbacks before calling operations. WebRPCs need a server-side configuration. Enum OperationCode helps identify the operation."); + } + else if (operationResponse.ReturnCode == ErrorCode.PluginReportedError) + { + Debug.LogError("Operation " + operationResponse.OperationCode + " failed in a server-side plugin. Check the configuration in the Dashboard. Message from server-plugin: " + operationResponse.DebugMessage); + } + else if (operationResponse.ReturnCode == ErrorCode.NoRandomMatchFound) + { + Debug.LogWarning("Operation failed: " + operationResponse.ToStringFull()); + } + else + { + Debug.LogError("Operation failed: " + operationResponse.ToStringFull() + " Server: " + this.Server); + } + } + + // use the "secret" or "token" whenever we get it. doesn't really matter if it's in AuthResponse. + if (operationResponse.Parameters.ContainsKey(ParameterCode.Secret)) + { + if (this.AuthValues == null) + { + this.AuthValues = new AuthenticationValues(); + // this.DebugReturn(DebugLevel.ERROR, "Server returned secret. Created AuthValues."); + } + + this.AuthValues.Token = operationResponse[ParameterCode.Secret] as string; + this.tokenCache = this.AuthValues.Token; + } + + switch (operationResponse.OperationCode) + { + case OperationCode.Authenticate: + case OperationCode.AuthenticateOnce: + { + // ClientState oldState = this.State; + + if (operationResponse.ReturnCode != 0) + { + if (operationResponse.ReturnCode == ErrorCode.InvalidOperation) + { + Debug.LogError(string.Format("If you host Photon yourself, make sure to start the 'Instance LoadBalancing' "+ this.ServerAddress)); + } + else if (operationResponse.ReturnCode == ErrorCode.InvalidAuthentication) + { + Debug.LogError(string.Format("The appId this client sent is unknown on the server (Cloud). Check settings. If using the Cloud, check account.")); + SendMonoMessage(PhotonNetworkingMessage.OnFailedToConnectToPhoton, DisconnectCause.InvalidAuthentication); + } + else if (operationResponse.ReturnCode == ErrorCode.CustomAuthenticationFailed) + { + Debug.LogError(string.Format("Custom Authentication failed (either due to user-input or configuration or AuthParameter string format). Calling: OnCustomAuthenticationFailed()")); + SendMonoMessage(PhotonNetworkingMessage.OnCustomAuthenticationFailed, operationResponse.DebugMessage); + } + else + { + Debug.LogError(string.Format("Authentication failed: '{0}' Code: {1}", operationResponse.DebugMessage, operationResponse.ReturnCode)); + } + + this.State = ClientState.Disconnecting; + this.Disconnect(); + + if (operationResponse.ReturnCode == ErrorCode.MaxCcuReached) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.LogWarning(string.Format("Currently, the limit of users is reached for this title. Try again later. Disconnecting")); + SendMonoMessage(PhotonNetworkingMessage.OnPhotonMaxCccuReached); + SendMonoMessage(PhotonNetworkingMessage.OnConnectionFail, DisconnectCause.MaxCcuReached); + } + else if (operationResponse.ReturnCode == ErrorCode.InvalidRegion) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.LogError(string.Format("The used master server address is not available with the subscription currently used. Got to Photon Cloud Dashboard or change URL. Disconnecting.")); + SendMonoMessage(PhotonNetworkingMessage.OnConnectionFail, DisconnectCause.InvalidRegion); + } + else if (operationResponse.ReturnCode == ErrorCode.AuthenticationTicketExpired) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.LogError(string.Format("The authentication ticket expired. You need to connect (and authenticate) again. Disconnecting.")); + SendMonoMessage(PhotonNetworkingMessage.OnConnectionFail, DisconnectCause.AuthenticationTicketExpired); + } + break; + } + else + { + // successful connect/auth. depending on the used server, do next steps: + + if (this.Server == ServerConnection.NameServer || this.Server == ServerConnection.MasterServer) + { + if (operationResponse.Parameters.ContainsKey(ParameterCode.UserId)) + { + string incomingId = (string)operationResponse.Parameters[ParameterCode.UserId]; + if (!string.IsNullOrEmpty(incomingId)) + { + if (this.AuthValues == null) + { + this.AuthValues = new AuthenticationValues(); + } + this.AuthValues.UserId = incomingId; + PhotonNetwork.player.UserId = incomingId; + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + this.DebugReturn(DebugLevel.INFO, string.Format("Received your UserID from server. Updating local value to: {0}", incomingId)); + } + } + } + if (operationResponse.Parameters.ContainsKey(ParameterCode.NickName)) + { + this.PlayerName = (string)operationResponse.Parameters[ParameterCode.NickName]; + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + this.DebugReturn(DebugLevel.INFO, string.Format("Received your NickName from server. Updating local value to: {0}", this.playername)); + } + } + + if (operationResponse.Parameters.ContainsKey(ParameterCode.EncryptionData)) + { + this.SetupEncryption((Dictionary)operationResponse.Parameters[ParameterCode.EncryptionData]); + } + } + + if (this.Server == ServerConnection.NameServer) + { + // on the NameServer, authenticate returns the MasterServer address for a region and we hop off to there + this.MasterServerAddress = operationResponse[ParameterCode.Address] as string; + this.DisconnectToReconnect(); + } + else if (this.Server == ServerConnection.MasterServer) + { + if (this.AuthMode != AuthModeOption.Auth) + { + this.OpSettings(this.requestLobbyStatistics); + } + if (PhotonNetwork.autoJoinLobby) + { + this.State = ClientState.Authenticated; + this.OpJoinLobby(this.lobby); + } + else + { + this.State = ClientState.ConnectedToMaster; + SendMonoMessage(PhotonNetworkingMessage.OnConnectedToMaster); + } + } + else if (this.Server == ServerConnection.GameServer) + { + this.State = ClientState.Joining; + this.enterRoomParamsCache.PlayerProperties = GetLocalActorProperties(); + this.enterRoomParamsCache.OnGameServer = true; + + if (this.lastJoinType == JoinType.JoinRoom || this.lastJoinType == JoinType.JoinRandomRoom || this.lastJoinType == JoinType.JoinOrCreateRoom) + { + // if we just "join" the game, do so. if we wanted to "create the room on demand", we have to send this to the game server as well. + this.OpJoinRoom(this.enterRoomParamsCache); + } + else if (this.lastJoinType == JoinType.CreateRoom) + { + this.OpCreateGame(this.enterRoomParamsCache); + } + } + + if (operationResponse.Parameters.ContainsKey(ParameterCode.Data)) + { + // optionally, OpAuth may return some data for the client to use. if it's available, call OnCustomAuthenticationResponse + Dictionary data = (Dictionary)operationResponse.Parameters[ParameterCode.Data]; + if (data != null) + { + SendMonoMessage(PhotonNetworkingMessage.OnCustomAuthenticationResponse, data); + } + } + } + break; + } + + case OperationCode.GetRegions: + // Debug.Log("GetRegions returned: " + operationResponse.ToStringFull()); + + if (operationResponse.ReturnCode == ErrorCode.InvalidAuthentication) + { + Debug.LogError(string.Format("The appId this client sent is unknown on the server (Cloud). Check settings. If using the Cloud, check account.")); + SendMonoMessage(PhotonNetworkingMessage.OnFailedToConnectToPhoton, DisconnectCause.InvalidAuthentication); + + this.State = ClientState.Disconnecting; + this.Disconnect(); + break; + } + if (operationResponse.ReturnCode != ErrorCode.Ok) + { + Debug.LogError("GetRegions failed. Can't provide regions list. Error: " + operationResponse.ReturnCode + ": " + operationResponse.DebugMessage); + break; + } + + string[] regions = operationResponse[ParameterCode.Region] as string[]; + string[] servers = operationResponse[ParameterCode.Address] as string[]; + if (regions == null || servers == null || regions.Length != servers.Length) + { + Debug.LogError("The region arrays from Name Server are not ok. Must be non-null and same length. " + (regions ==null)+ " " + (servers==null) + "\n"+operationResponse.ToStringFull()); + break; + } + + this.AvailableRegions = new List(regions.Length); + for (int i = 0; i < regions.Length; i++) + { + string regionCodeString = regions[i]; + if (string.IsNullOrEmpty(regionCodeString)) + { + continue; + } + regionCodeString = regionCodeString.ToLower(); + CloudRegionCode code = Region.Parse(regionCodeString); + + // check if enabled (or ignored by PhotonServerSettings.EnabledRegions) + bool enabledRegion = true; + if (PhotonNetwork.PhotonServerSettings.HostType == ServerSettings.HostingOption.BestRegion && PhotonNetwork.PhotonServerSettings.EnabledRegions != 0) + { + CloudRegionFlag flag = Region.ParseFlag(code); + enabledRegion = ((PhotonNetwork.PhotonServerSettings.EnabledRegions & flag) != 0); + if (!enabledRegion && PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("Skipping region because it's not in PhotonServerSettings.EnabledRegions: " + code); + } + } + if (enabledRegion) + { + this.AvailableRegions.Add(new Region(code, regionCodeString, servers[i])); + } + } + + // PUN assumes you fetch the name-server's list of regions to ping them + if (PhotonNetwork.PhotonServerSettings.HostType == ServerSettings.HostingOption.BestRegion) + { + PhotonHandler.PingAvailableRegionsAndConnectToBest(); + } + break; + + case OperationCode.CreateGame: + { + if (this.Server == ServerConnection.GameServer) + { + this.GameEnteredOnGameServer(operationResponse); + } + else + { + if (operationResponse.ReturnCode != 0) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.LogWarning(string.Format("CreateRoom failed, client stays on masterserver: {0}.", operationResponse.ToStringFull())); + + this.State = (this.insideLobby) ? ClientState.JoinedLobby : ClientState.ConnectedToMaster; + SendMonoMessage(PhotonNetworkingMessage.OnPhotonCreateRoomFailed, operationResponse.ReturnCode, operationResponse.DebugMessage); + break; + } + + string gameID = (string) operationResponse[ParameterCode.RoomName]; + if (!string.IsNullOrEmpty(gameID)) + { + // is only sent by the server's response, if it has not been + // sent with the client's request before! + this.enterRoomParamsCache.RoomName = gameID; + } + + this.GameServerAddress = (string)operationResponse[ParameterCode.Address]; + this.DisconnectToReconnect(); + } + + break; + } + + case OperationCode.JoinGame: + { + if (this.Server != ServerConnection.GameServer) + { + if (operationResponse.ReturnCode != 0) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.Log(string.Format("JoinRoom failed (room maybe closed by now). Client stays on masterserver: {0}. State: {1}", operationResponse.ToStringFull(), this.State)); + + SendMonoMessage(PhotonNetworkingMessage.OnPhotonJoinRoomFailed, operationResponse.ReturnCode, operationResponse.DebugMessage); + break; + } + + this.GameServerAddress = (string)operationResponse[ParameterCode.Address]; + this.DisconnectToReconnect(); + } + else + { + this.GameEnteredOnGameServer(operationResponse); + } + + break; + } + + case OperationCode.JoinRandomGame: + { + // happens only on master. on gameserver, this is a regular join (we don't need to find a random game again) + // the operation OpJoinRandom either fails (with returncode 8) or returns game-to-join information + if (operationResponse.ReturnCode != 0) + { + if (operationResponse.ReturnCode == ErrorCode.NoRandomMatchFound) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + Debug.Log("JoinRandom failed: No open game. Calling: OnPhotonRandomJoinFailed() and staying on master server."); + } + else if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.LogWarning(string.Format("JoinRandom failed: {0}.", operationResponse.ToStringFull())); + } + + SendMonoMessage(PhotonNetworkingMessage.OnPhotonRandomJoinFailed, operationResponse.ReturnCode, operationResponse.DebugMessage); + break; + } + + string roomName = (string)operationResponse[ParameterCode.RoomName]; + this.enterRoomParamsCache.RoomName = roomName; + this.GameServerAddress = (string)operationResponse[ParameterCode.Address]; + this.DisconnectToReconnect(); + break; + } + + case OperationCode.GetGameList: + if (operationResponse.ReturnCode != 0) + { + this.DebugReturn(DebugLevel.ERROR, "GetGameList failed: " + operationResponse.ToStringFull()); + break; + } + + this.mGameList = new Dictionary(); + Hashtable games = (Hashtable)operationResponse[ParameterCode.GameList]; + foreach (var gameKey in games.Keys) + { + string gameName = (string)gameKey; + this.mGameList[gameName] = new RoomInfo(gameName, (Hashtable)games[gameKey]); + } + mGameListCopy = new RoomInfo[mGameList.Count]; + mGameList.Values.CopyTo(mGameListCopy, 0); + SendMonoMessage(PhotonNetworkingMessage.OnReceivedRoomListUpdate); + break; + + case OperationCode.JoinLobby: + this.State = ClientState.JoinedLobby; + this.insideLobby = true; + SendMonoMessage(PhotonNetworkingMessage.OnJoinedLobby); + + // this.mListener.joinLobbyReturn(); + break; + case OperationCode.LeaveLobby: + this.State = ClientState.Authenticated; + this.LeftLobbyCleanup(); // will set insideLobby = false + break; + + case OperationCode.Leave: + this.DisconnectToReconnect(); + break; + + case OperationCode.SetProperties: + // this.mListener.setPropertiesReturn(returnCode, debugMsg); + break; + + case OperationCode.GetProperties: + { + Hashtable actorProperties = (Hashtable)operationResponse[ParameterCode.PlayerProperties]; + Hashtable gameProperties = (Hashtable)operationResponse[ParameterCode.GameProperties]; + this.ReadoutProperties(gameProperties, actorProperties, 0); + + // RemoveByteTypedPropertyKeys(actorProperties, false); + // RemoveByteTypedPropertyKeys(gameProperties, false); + // this.mListener.getPropertiesReturn(gameProperties, actorProperties, returnCode, debugMsg); + break; + } + + case OperationCode.RaiseEvent: + // this usually doesn't give us a result. only if the caching is affected the server will send one. + break; + + case OperationCode.FindFriends: + bool[] onlineList = operationResponse[ParameterCode.FindFriendsResponseOnlineList] as bool[]; + string[] roomList = operationResponse[ParameterCode.FindFriendsResponseRoomIdList] as string[]; + + if (onlineList != null && roomList != null && this.friendListRequested != null && onlineList.Length == this.friendListRequested.Length) + { + List friendList = new List(this.friendListRequested.Length); + for (int index = 0; index < this.friendListRequested.Length; index++) + { + FriendInfo friend = new FriendInfo(); + friend.Name = this.friendListRequested[index]; + friend.Room = roomList[index]; + friend.IsOnline = onlineList[index]; + friendList.Insert(index, friend); + } + PhotonNetwork.Friends = friendList; + } + else + { + // any of the lists is null and shouldn't. print a error + Debug.LogError("FindFriends failed to apply the result, as a required value wasn't provided or the friend list length differed from result."); + } + + this.friendListRequested = null; + this.isFetchingFriendList = false; + this.friendListTimestamp = Environment.TickCount; + if (this.friendListTimestamp == 0) + { + this.friendListTimestamp = 1; // makes sure the timestamp is not accidentally 0 + } + + SendMonoMessage(PhotonNetworkingMessage.OnUpdatedFriendList); + break; + + case OperationCode.WebRpc: + SendMonoMessage(PhotonNetworkingMessage.OnWebRpcResponse, operationResponse); + break; + + default: + Debug.LogWarning(string.Format("OperationResponse unhandled: {0}", operationResponse.ToString())); + break; + } + + //this.externalListener.OnOperationResponse(operationResponse); + } + + public void OnStatusChanged(StatusCode statusCode) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.Log(string.Format("OnStatusChanged: {0} current State: {1}", statusCode.ToString(), this.State)); + + switch (statusCode) + { + case StatusCode.Connect: + if (this.State == ClientState.ConnectingToNameServer) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + Debug.Log("Connected to NameServer."); + + this.Server = ServerConnection.NameServer; + if (this.AuthValues != null) + { + this.AuthValues.Token = null; // when connecting to NameServer, invalidate any auth values + } + } + + if (this.State == ClientState.ConnectingToGameserver) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + Debug.Log("Connected to gameserver."); + + this.Server = ServerConnection.GameServer; + this.State = ClientState.ConnectedToGameserver; + } + + if (this.State == ClientState.ConnectingToMasterserver) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + Debug.Log("Connected to masterserver."); + + this.Server = ServerConnection.MasterServer; + this.State = ClientState.Authenticating; // photon v4 always requires OpAuthenticate. even self-hosted Photon Server + + if (this.IsInitialConnect) + { + this.IsInitialConnect = false; // after handling potential initial-connect issues with special messages, we are now sure we can reach a server + SendMonoMessage(PhotonNetworkingMessage.OnConnectedToPhoton); + } + } + + + if (this.TransportProtocol != ConnectionProtocol.WebSocketSecure) + { + if (this.Server == ServerConnection.NameServer || this.AuthMode == AuthModeOption.Auth) + { + this.EstablishEncryption(); + } + } + else + { + if (DebugOut == DebugLevel.INFO) + { + Debug.Log("Skipping EstablishEncryption. Protocol is secure."); + } + + goto case StatusCode.EncryptionEstablished; + } + break; + + case StatusCode.EncryptionEstablished: + // on nameserver, the "process" is stopped here, so the developer/game can either get regions or authenticate with a specific region + if (this.Server == ServerConnection.NameServer) + { + this.State = ClientState.ConnectedToNameServer; + + if (!this.didAuthenticate && this.CloudRegion == CloudRegionCode.none) + { + // this client is not setup to connect to a default region. find out which regions there are! + this.OpGetRegions(this.AppId); + } + } + + if (this.Server != ServerConnection.NameServer && (this.AuthMode == AuthModeOption.AuthOnce || this.AuthMode == AuthModeOption.AuthOnceWss)) + { + // AuthMode "Once" means we only authenticate on the NameServer + break; + } + + + // we might need to authenticate automatically now, so the client can do anything at all + if (!this.didAuthenticate && (!this.IsUsingNameServer || this.CloudRegion != CloudRegionCode.none)) + { + this.didAuthenticate = this.CallAuthenticate(); + + if (this.didAuthenticate) + { + this.State = ClientState.Authenticating; + } + } + break; + + case StatusCode.EncryptionFailedToEstablish: + Debug.LogError("Encryption wasn't established: " + statusCode + ". Going to authenticate anyways."); + AuthenticationValues authV = this.AuthValues ?? new AuthenticationValues() { UserId = this.PlayerName }; + this.OpAuthenticate(this.AppId, this.AppVersion, authV, this.CloudRegion.ToString(), this.requestLobbyStatistics); // TODO: check if there are alternatives + break; + + case StatusCode.Disconnect: + this.didAuthenticate = false; + this.isFetchingFriendList = false; + if (this.Server == ServerConnection.GameServer) this.LeftRoomCleanup(); + if (this.Server == ServerConnection.MasterServer) this.LeftLobbyCleanup(); + + if (this.State == ClientState.DisconnectingFromMasterserver) + { + if (this.Connect(this.GameServerAddress, ServerConnection.GameServer)) + { + this.State = ClientState.ConnectingToGameserver; + } + } + else if (this.State == ClientState.DisconnectingFromGameserver || this.State == ClientState.DisconnectingFromNameServer) + { + this.SetupProtocol(ServerConnection.MasterServer); + if (this.Connect(this.MasterServerAddress, ServerConnection.MasterServer)) + { + this.State = ClientState.ConnectingToMasterserver; + } + } + else + { + if (this.AuthValues != null) + { + this.AuthValues.Token = null; // invalidate any custom auth secrets + } + + this.IsInitialConnect = false; // not "connecting" anymore + this.State = ClientState.PeerCreated; // if we set another state here, we could keep clients from connecting in OnDisconnectedFromPhoton right here. + SendMonoMessage(PhotonNetworkingMessage.OnDisconnectedFromPhoton); + } + break; + + case StatusCode.ExceptionOnConnect: + case StatusCode.SecurityExceptionOnConnect: + this.IsInitialConnect = false; + + this.State = ClientState.PeerCreated; + if (this.AuthValues != null) + { + this.AuthValues.Token = null; // invalidate any custom auth secrets + } + + DisconnectCause cause = (DisconnectCause)statusCode; + SendMonoMessage(PhotonNetworkingMessage.OnFailedToConnectToPhoton, cause); + break; + + case StatusCode.Exception: + if (this.IsInitialConnect) + { + Debug.LogError("Exception while connecting to: " + this.ServerAddress + ". Check if the server is available."); + if (this.ServerAddress == null || this.ServerAddress.StartsWith("127.0.0.1")) + { + Debug.LogWarning("The server address is 127.0.0.1 (localhost): Make sure the server is running on this machine. Android and iOS emulators have their own localhost."); + if (this.ServerAddress == this.GameServerAddress) + { + Debug.LogWarning("This might be a misconfiguration in the game server config. You need to edit it to a (public) address."); + } + } + + this.State = ClientState.PeerCreated; + cause = (DisconnectCause)statusCode; + this.IsInitialConnect = false; + SendMonoMessage(PhotonNetworkingMessage.OnFailedToConnectToPhoton, cause); + } + else + { + this.State = ClientState.PeerCreated; + + cause = (DisconnectCause)statusCode; + SendMonoMessage(PhotonNetworkingMessage.OnConnectionFail, cause); + } + + this.Disconnect(); + break; + + case StatusCode.TimeoutDisconnect: + if (this.IsInitialConnect) + { + Debug.LogWarning(statusCode + " while connecting to: " + this.ServerAddress + ". Check if the server is available."); + + this.IsInitialConnect = false; + cause = (DisconnectCause)statusCode; + SendMonoMessage(PhotonNetworkingMessage.OnFailedToConnectToPhoton, cause); + } + else + { + cause = (DisconnectCause)statusCode; + SendMonoMessage(PhotonNetworkingMessage.OnConnectionFail, cause); + } + if (this.AuthValues != null) + { + this.AuthValues.Token = null; // invalidate any custom auth secrets + } + + /* JF: we need this when reconnecting and joining. + if (this.ServerAddress.Equals(this.GameServerAddress)) + { + this.GameServerAddress = null; + } + if (this.ServerAddress.Equals(this.MasterServerAddress)) + { + this.ServerAddress = null; + } + */ + + this.Disconnect(); + break; + + case StatusCode.ExceptionOnReceive: + case StatusCode.DisconnectByServer: + case StatusCode.DisconnectByServerLogic: + case StatusCode.DisconnectByServerUserLimit: + if (this.IsInitialConnect) + { + Debug.LogWarning(statusCode + " while connecting to: " + this.ServerAddress + ". Check if the server is available."); + + this.IsInitialConnect = false; + cause = (DisconnectCause)statusCode; + SendMonoMessage(PhotonNetworkingMessage.OnFailedToConnectToPhoton, cause); + } + else + { + cause = (DisconnectCause)statusCode; + SendMonoMessage(PhotonNetworkingMessage.OnConnectionFail, cause); + } + if (this.AuthValues != null) + { + this.AuthValues.Token = null; // invalidate any custom auth secrets + } + + this.Disconnect(); + break; + + case StatusCode.SendError: + // this.mListener.clientErrorReturn(statusCode); + break; + + //case StatusCode.QueueOutgoingReliableWarning: + //case StatusCode.QueueOutgoingUnreliableWarning: + //case StatusCode.QueueOutgoingAcksWarning: + //case StatusCode.QueueSentWarning: + // // this.mListener.warningReturn(statusCode); + // break; + + //case StatusCode.QueueIncomingReliableWarning: + //case StatusCode.QueueIncomingUnreliableWarning: + // Debug.Log(statusCode + ". This client buffers many incoming messages. This is OK temporarily. With lots of these warnings, check if you send too much or execute messages too slow. " + (PhotonNetwork.isMessageQueueRunning? "":"Your isMessageQueueRunning is false. This can cause the issue temporarily.") ); + // break; + + // // TCP "routing" is an option of Photon that's not currently needed (or supported) by PUN + //case StatusCode.TcpRouterResponseOk: + // break; + //case StatusCode.TcpRouterResponseEndpointUnknown: + //case StatusCode.TcpRouterResponseNodeIdUnknown: + //case StatusCode.TcpRouterResponseNodeNotReady: + + // this.DebugReturn(DebugLevel.ERROR, "Unexpected router response: " + statusCode); + // break; + + default: + + // this.mListener.serverErrorReturn(statusCode.value()); + Debug.LogError("Received unknown status code: " + statusCode); + break; + } + + //this.externalListener.OnStatusChanged(statusCode); + } + + + public void OnEvent(EventData photonEvent) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.Log(string.Format("OnEvent: {0}", photonEvent.ToString())); + + int actorNr = -1; + PhotonPlayer originatingPlayer = null; + + if (photonEvent.Parameters.ContainsKey(ParameterCode.ActorNr)) + { + actorNr = (int)photonEvent[ParameterCode.ActorNr]; + originatingPlayer = this.GetPlayerWithId(actorNr); + + //else + //{ + // // the actor sending this event is not in actorlist. this is usually no problem + // if (photonEvent.Code != (byte)LiteOpCode.Join) + // { + // Debug.LogWarning("Received event, but we do not have this actor: " + actorNr); + // } + //} + } + + switch (photonEvent.Code) + { + case PunEvent.OwnershipRequest: + { + int[] requestValues = (int[]) photonEvent.Parameters[ParameterCode.CustomEventContent]; + int requestedViewId = requestValues[0]; + int currentOwner = requestValues[1]; + + + PhotonView requestedView = PhotonView.Find(requestedViewId); + if (requestedView == null) + { + Debug.LogWarning("Can't find PhotonView of incoming OwnershipRequest. ViewId not found: " + requestedViewId); + break; + } + + if (PhotonNetwork.logLevel == PhotonLogLevel.Informational) + Debug.Log("Ev OwnershipRequest " + requestedView.ownershipTransfer + ". ActorNr: " + actorNr + " takes from: " + currentOwner + ". local RequestedView.ownerId: " + requestedView.ownerId + " isOwnerActive: " + requestedView.isOwnerActive + ". MasterClient: " + this.mMasterClientId + ". This client's player: " + PhotonNetwork.player.ToStringFull()); + + switch (requestedView.ownershipTransfer) + { + case OwnershipOption.Fixed: + Debug.LogWarning("Ownership mode == fixed. Ignoring request."); + break; + case OwnershipOption.Takeover: + if (currentOwner == requestedView.ownerId || (currentOwner == 0 && requestedView.ownerId == this.mMasterClientId) || requestedView.ownerId == 0) + { + // a takeover is successful automatically, if taken from current owner + requestedView.OwnerShipWasTransfered = true; + int _oldOwnerId = requestedView.ownerId; + PhotonPlayer _oldOwner = this.GetPlayerWithId(_oldOwnerId); + + requestedView.ownerId = actorNr; + + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.LogWarning(requestedView + " ownership transfered to: "+ actorNr); + } + + SendMonoMessage(PhotonNetworkingMessage.OnOwnershipTransfered, new object[] {requestedView, originatingPlayer,_oldOwner}); + + } + break; + case OwnershipOption.Request: + if (currentOwner == PhotonNetwork.player.ID || PhotonNetwork.player.IsMasterClient) + { + if ((requestedView.ownerId == PhotonNetwork.player.ID) || (PhotonNetwork.player.IsMasterClient && !requestedView.isOwnerActive)) + { + SendMonoMessage(PhotonNetworkingMessage.OnOwnershipRequest, new object[] {requestedView, originatingPlayer}); + } + } + break; + default: + break; + } + } + break; + + case PunEvent.OwnershipTransfer: + { + int[] transferViewToUserID = (int[]) photonEvent.Parameters[ParameterCode.CustomEventContent]; + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("Ev OwnershipTransfer. ViewID " + transferViewToUserID[0] + " to: " + transferViewToUserID[1] + " Time: " + Environment.TickCount%1000); + } + + + + int requestedViewId = transferViewToUserID[0]; + int newOwnerId = transferViewToUserID[1]; + + PhotonView pv = PhotonView.Find(requestedViewId); + if (pv != null) + { + int _oldOwnerID = pv.ownerId; + pv.OwnerShipWasTransfered = true; + pv.ownerId = newOwnerId; + + SendMonoMessage(PhotonNetworkingMessage.OnOwnershipTransfered, new object[] {pv, PhotonPlayer.Find(newOwnerId),PhotonPlayer.Find(_oldOwnerID)}); + } + + + break; + } + case EventCode.GameList: + { + this.mGameList = new Dictionary(); + Hashtable games = (Hashtable)photonEvent[ParameterCode.GameList]; + foreach (var gameKey in games.Keys) + { + string gameName = (string)gameKey; + this.mGameList[gameName] = new RoomInfo(gameName, (Hashtable)games[gameKey]); + } + mGameListCopy = new RoomInfo[mGameList.Count]; + mGameList.Values.CopyTo(mGameListCopy, 0); + SendMonoMessage(PhotonNetworkingMessage.OnReceivedRoomListUpdate); + break; + } + + case EventCode.GameListUpdate: + { + Hashtable games = (Hashtable)photonEvent[ParameterCode.GameList]; + foreach (var roomKey in games.Keys) + { + string gameName = (string)roomKey; + RoomInfo game = new RoomInfo(gameName, (Hashtable)games[roomKey]); + if (game.removedFromList) + { + this.mGameList.Remove(gameName); + } + else + { + this.mGameList[gameName] = game; + } + } + this.mGameListCopy = new RoomInfo[this.mGameList.Count]; + this.mGameList.Values.CopyTo(this.mGameListCopy, 0); + SendMonoMessage(PhotonNetworkingMessage.OnReceivedRoomListUpdate); + break; + } + + case EventCode.AppStats: + // Debug.LogInfo("Received stats!"); + this.PlayersInRoomsCount = (int)photonEvent[ParameterCode.PeerCount]; + this.PlayersOnMasterCount = (int)photonEvent[ParameterCode.MasterPeerCount]; + this.RoomsCount = (int)photonEvent[ParameterCode.GameCount]; + break; + + case EventCode.Join: + + // save the IsInactive Property to be able to detect if activity state changed + bool wasInactive = false; + + // actorNr is fetched out of event above + Hashtable actorProperties = (Hashtable)photonEvent[ParameterCode.PlayerProperties]; + if (originatingPlayer == null) + { + bool isLocal = this.LocalPlayer.ID == actorNr; + this.AddNewPlayer(actorNr, new PhotonPlayer(isLocal, actorNr, actorProperties)); + this.ResetPhotonViewsOnSerialize(); // This sets the correct OnSerializeState for Reliable OnSerialize + } + else + { + wasInactive = originatingPlayer.IsInactive; + + originatingPlayer.InternalCacheProperties(actorProperties); + originatingPlayer.IsInactive = false; + } + + if (actorNr == this.LocalPlayer.ID) + { + // in this player's 'own' join event, we get a complete list of players in the room, so check if we know all players + int[] actorsInRoom = (int[])photonEvent[ParameterCode.ActorList]; + this.UpdatedActorList(actorsInRoom); + + // joinWithCreateOnDemand can turn an OpJoin into creating the room. Then actorNumber is 1 and callback: OnCreatedRoom() + if (this.lastJoinType == JoinType.JoinOrCreateRoom && this.LocalPlayer.ID == 1) + { + SendMonoMessage(PhotonNetworkingMessage.OnCreatedRoom); + } + SendMonoMessage(PhotonNetworkingMessage.OnJoinedRoom); //Always send OnJoinedRoom + + } + else + { + SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerConnected, this.mActors[actorNr]); + + if (wasInactive) + { + SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerActivityChanged, this.mActors[actorNr]); + } + + } + break; + + case EventCode.Leave: + this.HandleEventLeave(actorNr, photonEvent); + break; + + case EventCode.PropertiesChanged: + int targetActorNr = (int)photonEvent[ParameterCode.TargetActorNr]; + Hashtable gameProperties = null; + Hashtable actorProps = null; + if (targetActorNr == 0) + { + gameProperties = (Hashtable)photonEvent[ParameterCode.Properties]; + } + else + { + actorProps = (Hashtable)photonEvent[ParameterCode.Properties]; + } + + this.ReadoutProperties(gameProperties, actorProps, targetActorNr); + break; + + case PunEvent.RPC: + //ts: each event now contains a single RPC. execute this + // Debug.Log("Ev RPC from: " + originatingPlayer); + this.ExecuteRpc(photonEvent[ParameterCode.Data] as Hashtable, originatingPlayer); + break; + + case PunEvent.SendSerialize: + case PunEvent.SendSerializeReliable: + Hashtable serializeData = (Hashtable)photonEvent[ParameterCode.Data]; + //Debug.Log(serializeData.ToStringFull()); + + int remoteUpdateServerTimestamp = (int)serializeData[(byte)0]; + short remoteLevelPrefix = -1; + byte initialDataIndex = 10; + int headerLength = 1; + if (serializeData.ContainsKey((byte)1)) + { + remoteLevelPrefix = (short)serializeData[(byte)1]; + headerLength = 2; + } + + for (byte s = initialDataIndex; s - initialDataIndex < serializeData.Count - headerLength; s++) + { + this.OnSerializeRead(serializeData[s] as object[], originatingPlayer, remoteUpdateServerTimestamp, remoteLevelPrefix); + } + break; + + case PunEvent.Instantiation: + this.DoInstantiate((Hashtable)photonEvent[ParameterCode.Data], originatingPlayer, null); + break; + + case PunEvent.CloseConnection: + // MasterClient "requests" a disconnection from us + if (originatingPlayer == null || !originatingPlayer.IsMasterClient) + { + Debug.LogError("Error: Someone else(" + originatingPlayer + ") then the masterserver requests a disconnect!"); + } + else + { + PhotonNetwork.LeaveRoom(); + } + + break; + + case PunEvent.DestroyPlayer: + Hashtable evData = (Hashtable)photonEvent[ParameterCode.Data]; + int targetPlayerId = (int)evData[(byte)0]; + if (targetPlayerId >= 0) + { + this.DestroyPlayerObjects(targetPlayerId, true); + } + else + { + if (this.DebugOut >= DebugLevel.INFO) Debug.Log("Ev DestroyAll! By PlayerId: " + actorNr); + this.DestroyAll(true); + } + break; + + case PunEvent.Destroy: + evData = (Hashtable)photonEvent[ParameterCode.Data]; + int instantiationId = (int)evData[(byte)0]; + // Debug.Log("Ev Destroy for viewId: " + instantiationId + " sent by owner: " + (instantiationId / PhotonNetwork.MAX_VIEW_IDS == actorNr) + " this client is owner: " + (instantiationId / PhotonNetwork.MAX_VIEW_IDS == this.LocalPlayer.ID)); + + + PhotonView pvToDestroy = null; + if (this.photonViewList.TryGetValue(instantiationId, out pvToDestroy)) + { + this.RemoveInstantiatedGO(pvToDestroy.gameObject, true); + } + else + { + if (this.DebugOut >= DebugLevel.ERROR) Debug.LogError("Ev Destroy Failed. Could not find PhotonView with instantiationId " + instantiationId + ". Sent by actorNr: " + actorNr); + } + + break; + + case PunEvent.AssignMaster: + evData = (Hashtable)photonEvent[ParameterCode.Data]; + int newMaster = (int)evData[(byte)1]; + this.SetMasterClient(newMaster, false); + break; + + case EventCode.LobbyStats: + //Debug.Log("LobbyStats EV: " + photonEvent.ToStringFull()); + + string[] names = photonEvent[ParameterCode.LobbyName] as string[]; + byte[] types = photonEvent[ParameterCode.LobbyType] as byte[]; + int[] peers = photonEvent[ParameterCode.PeerCount] as int[]; + int[] rooms = photonEvent[ParameterCode.GameCount] as int[]; + + this.LobbyStatistics.Clear(); + for (int i = 0; i < names.Length; i++) + { + TypedLobbyInfo info = new TypedLobbyInfo(); + info.Name = names[i]; + info.Type = (LobbyType)types[i]; + info.PlayerCount = peers[i]; + info.RoomCount = rooms[i]; + + this.LobbyStatistics.Add(info); + } + + SendMonoMessage(PhotonNetworkingMessage.OnLobbyStatisticsUpdate); + break; + + case EventCode.ErrorInfo: + if (PhotonNetwork.OnEventCall != null) + { + object content = photonEvent[ParameterCode.Data]; + PhotonNetwork.OnEventCall(photonEvent.Code, content, actorNr); + } + else + { + Debug.LogWarning("Warning: Unhandled Event ErrorInfo (251). Set PhotonNetwork.OnEventCall to the method PUN should call for this event."); + } + break; + + case EventCode.AuthEvent: + if (this.AuthValues == null) + { + this.AuthValues = new AuthenticationValues(); + } + + this.AuthValues.Token = photonEvent[ParameterCode.Secret] as string; + this.tokenCache = this.AuthValues.Token; + break; + + + default: + if (photonEvent.Code < 200) + { + if (PhotonNetwork.OnEventCall != null) + { + object content = photonEvent[ParameterCode.Data]; + PhotonNetwork.OnEventCall(photonEvent.Code, content, actorNr); + } + else + { + Debug.LogWarning("Warning: Unhandled event " + photonEvent + ". Set PhotonNetwork.OnEventCall."); + } + } + break; + } + + //this.externalListener.OnEvent(photonEvent); + } + + public void OnMessage(object messages) + { + // not used here + } + + #endregion + + + private void SetupEncryption(Dictionary encryptionData) + { + // this should not be called when authentication is done per server. this mode does not support the required "key-exchange via token" + if (this.AuthMode == AuthModeOption.Auth) + { + if (DebugOut == DebugLevel.ERROR) + { + UnityEngine.Debug.LogWarning("SetupEncryption() called but ignored. Not XB1 compiled. EncryptionData: " + encryptionData.ToStringFull()); + return; + } + } + + + // for AuthOnce and AuthOnceWss, we can keep the same secret across machines (for the session, basically) + if (DebugOut == DebugLevel.INFO) + { + UnityEngine.Debug.Log("SetupEncryption() got called. "+encryptionData.ToStringFull()); + } + + var mode = (EncryptionMode)(byte)encryptionData[EncryptionDataParameters.Mode]; + switch (mode) + { + case EncryptionMode.PayloadEncryption: + byte[] secret = (byte[])encryptionData[EncryptionDataParameters.Secret1]; + this.InitPayloadEncryption(secret); + break; + case EncryptionMode.DatagramEncryption: + { + byte[] secret1 = (byte[])encryptionData[EncryptionDataParameters.Secret1]; + byte[] secret2 = (byte[])encryptionData[EncryptionDataParameters.Secret2]; + this.InitDatagramEncryption(secret1, secret2); + } + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + + protected internal void UpdatedActorList(int[] actorsInRoom) + { + for (int i = 0; i < actorsInRoom.Length; i++) + { + int actorNrToCheck = actorsInRoom[i]; + if (this.LocalPlayer.ID != actorNrToCheck && !this.mActors.ContainsKey(actorNrToCheck)) + { + this.AddNewPlayer(actorNrToCheck, new PhotonPlayer(false, actorNrToCheck, string.Empty)); + } + } + } + + private void SendVacantViewIds() + { + Debug.Log("SendVacantViewIds()"); + List vacantViews = new List(); + foreach (PhotonView view in this.photonViewList.Values) + { + if (!view.isOwnerActive) + { + vacantViews.Add(view.viewID); + } + } + + Debug.Log("Sending vacant view IDs. Length: " + vacantViews.Count); + //this.OpRaiseEvent(PunEvent.VacantViewIds, true, vacantViews.ToArray()); + this.OpRaiseEvent(PunEvent.VacantViewIds, vacantViews.ToArray(), true, null); + } + + public static void SendMonoMessage(PhotonNetworkingMessage methodString, params object[] parameters) + { + HashSet objectsToCall; + if (PhotonNetwork.SendMonoMessageTargets != null) + { + objectsToCall = PhotonNetwork.SendMonoMessageTargets; + } + else + { + objectsToCall = PhotonNetwork.FindGameObjectsWithComponent(PhotonNetwork.SendMonoMessageTargetType); + } + + string methodName = methodString.ToString(); + object callParameter = (parameters != null && parameters.Length == 1) ? parameters[0] : parameters; + foreach (GameObject gameObject in objectsToCall) + { + if (gameObject!=null) + { + gameObject.SendMessage(methodName, callParameter, SendMessageOptions.DontRequireReceiver); + } + } + } + + // PHOTONVIEW/RPC related + + /// + /// Executes a received RPC event + /// + protected internal void ExecuteRpc(Hashtable rpcData, PhotonPlayer sender) + { + if (rpcData == null || !rpcData.ContainsKey((byte)0)) + { + Debug.LogError("Malformed RPC; this should never occur. Content: " + SupportClassPun.DictionaryToString(rpcData)); + return; + } + + // ts: updated with "flat" event data + int netViewID = (int)rpcData[(byte)0]; // LIMITS PHOTONVIEWS&PLAYERS + int otherSidePrefix = 0; // by default, the prefix is 0 (and this is not being sent) + if (rpcData.ContainsKey((byte)1)) + { + otherSidePrefix = (short)rpcData[(byte)1]; + } + + + string inMethodName; + if (rpcData.ContainsKey((byte)5)) + { + int rpcIndex = (byte)rpcData[(byte)5]; // LIMITS RPC COUNT + if (rpcIndex > PhotonNetwork.PhotonServerSettings.RpcList.Count - 1) + { + Debug.LogError("Could not find RPC with index: " + rpcIndex + ". Going to ignore! Check PhotonServerSettings.RpcList"); + return; + } + else + { + inMethodName = PhotonNetwork.PhotonServerSettings.RpcList[rpcIndex]; + } + } + else + { + inMethodName = (string)rpcData[(byte)3]; + } + + object[] inMethodParameters = null; + if (rpcData.ContainsKey((byte)4)) + { + inMethodParameters = (object[])rpcData[(byte)4]; + } + + if (inMethodParameters == null) + { + inMethodParameters = new object[0]; + } + + PhotonView photonNetview = this.GetPhotonView(netViewID); + if (photonNetview == null) + { + int viewOwnerId = netViewID/PhotonNetwork.MAX_VIEW_IDS; + bool owningPv = (viewOwnerId == this.LocalPlayer.ID); + bool ownerSent = (viewOwnerId == sender.ID); + + if (owningPv) + { + Debug.LogWarning("Received RPC \"" + inMethodName + "\" for viewID " + netViewID + " but this PhotonView does not exist! View was/is ours." + (ownerSent ? " Owner called." : " Remote called.") + " By: " + sender.ID); + } + else + { + Debug.LogWarning("Received RPC \"" + inMethodName + "\" for viewID " + netViewID + " but this PhotonView does not exist! Was remote PV." + (ownerSent ? " Owner called." : " Remote called.") + " By: " + sender.ID + " Maybe GO was destroyed but RPC not cleaned up."); + } + return; + } + + if (photonNetview.prefix != otherSidePrefix) + { + Debug.LogError("Received RPC \"" + inMethodName + "\" on viewID " + netViewID + " with a prefix of " + otherSidePrefix + ", our prefix is " + photonNetview.prefix + ". The RPC has been ignored."); + return; + } + + // Get method name + if (string.IsNullOrEmpty(inMethodName)) + { + Debug.LogError("Malformed RPC; this should never occur. Content: " + SupportClassPun.DictionaryToString(rpcData)); + return; + } + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + Debug.Log("Received RPC: " + inMethodName); + + + // SetReceiving filtering + if (photonNetview.group != 0 && !allowedReceivingGroups.Contains(photonNetview.group)) + { + return; // Ignore group + } + + Type[] argTypes = new Type[0]; + if (inMethodParameters.Length > 0) + { + argTypes = new Type[inMethodParameters.Length]; + int i = 0; + for (int index = 0; index < inMethodParameters.Length; index++) + { + object objX = inMethodParameters[index]; + if (objX == null) + { + argTypes[i] = null; + } + else + { + argTypes[i] = objX.GetType(); + } + + i++; + } + } + + int receivers = 0; + int foundMethods = 0; + if (!PhotonNetwork.UseRpcMonoBehaviourCache || photonNetview.RpcMonoBehaviours == null || photonNetview.RpcMonoBehaviours.Length == 0) + { + photonNetview.RefreshRpcMonoBehaviourCache(); + } + + for (int componentsIndex = 0; componentsIndex < photonNetview.RpcMonoBehaviours.Length; componentsIndex++) + { + MonoBehaviour monob = photonNetview.RpcMonoBehaviours[componentsIndex]; + if (monob == null) + { + Debug.LogError("ERROR You have missing MonoBehaviours on your gameobjects!"); + continue; + } + + Type type = monob.GetType(); + + // Get [PunRPC] methods from cache + List cachedRPCMethods = null; + bool methodsOfTypeInCache = this.monoRPCMethodsCache.TryGetValue(type, out cachedRPCMethods); + + if (!methodsOfTypeInCache) + { + List entries = SupportClassPun.GetMethods(type, typeof(PunRPC)); + + this.monoRPCMethodsCache[type] = entries; + cachedRPCMethods = entries; + } + + if (cachedRPCMethods == null) + { + continue; + } + + // Check cache for valid methodname+arguments + for (int index = 0; index < cachedRPCMethods.Count; index++) + { + MethodInfo mInfo = cachedRPCMethods[index]; + if (mInfo.Name.Equals(inMethodName)) + { + foundMethods++; + ParameterInfo[] pArray = mInfo.GetCachedParemeters(); + + if (pArray.Length == argTypes.Length) + { + // Normal, PhotonNetworkMessage left out + if (this.CheckTypeMatch(pArray, argTypes)) + { + receivers++; + object result = mInfo.Invoke((object)monob, inMethodParameters); + if (PhotonNetwork.StartRpcsAsCoroutine && mInfo.ReturnType == typeof(IEnumerator)) + { + monob.StartCoroutine((IEnumerator)result); + } + } + } + else if ((pArray.Length - 1) == argTypes.Length) + { + // Check for PhotonNetworkMessage being the last + if (this.CheckTypeMatch(pArray, argTypes)) + { + if (pArray[pArray.Length - 1].ParameterType == typeof(PhotonMessageInfo)) + { + receivers++; + + int sendTime = (int)rpcData[(byte)2]; + object[] deParamsWithInfo = new object[inMethodParameters.Length + 1]; + inMethodParameters.CopyTo(deParamsWithInfo, 0); + deParamsWithInfo[deParamsWithInfo.Length - 1] = new PhotonMessageInfo(sender, sendTime, photonNetview); + + object result = mInfo.Invoke((object)monob, deParamsWithInfo); + if (PhotonNetwork.StartRpcsAsCoroutine && mInfo.ReturnType == typeof(IEnumerator)) + { + monob.StartCoroutine((IEnumerator)result); + } + } + } + } + else if (pArray.Length == 1 && pArray[0].ParameterType.IsArray) + { + receivers++; + object result = mInfo.Invoke((object)monob, new object[] { inMethodParameters }); + if (PhotonNetwork.StartRpcsAsCoroutine && mInfo.ReturnType == typeof(IEnumerator)) + { + monob.StartCoroutine((IEnumerator)result); + } + } + } + } + } + + // Error handling + if (receivers != 1) + { + string argsString = string.Empty; + for (int index = 0; index < argTypes.Length; index++) + { + Type ty = argTypes[index]; + if (argsString != string.Empty) + { + argsString += ", "; + } + + if (ty == null) + { + argsString += "null"; + } + else + { + argsString += ty.Name; + } + } + + if (receivers == 0) + { + if (foundMethods == 0) + { + Debug.LogError("PhotonView with ID " + netViewID + " has no method \"" + inMethodName + "\" marked with the [PunRPC](C#) or @PunRPC(JS) property! Args: " + argsString); + } + else + { + Debug.LogError("PhotonView with ID " + netViewID + " has no method \"" + inMethodName + "\" that takes " + argTypes.Length + " argument(s): " + argsString); + } + } + else + { + Debug.LogError("PhotonView with ID " + netViewID + " has " + receivers + " methods \"" + inMethodName + "\" that takes " + argTypes.Length + " argument(s): " + argsString + ". Should be just one?"); + } + } + } + + /// + /// Check if all types match with parameters. We can have more paramters then types (allow last RPC type to be different). + /// + /// + /// + /// If the types-array has matching parameters (of method) in the parameters array (which may be longer). + private bool CheckTypeMatch(ParameterInfo[] methodParameters, Type[] callParameterTypes) + { + if (methodParameters.Length < callParameterTypes.Length) + { + return false; + } + + for (int index = 0; index < callParameterTypes.Length; index++) + { + #if NETFX_CORE + TypeInfo methodParamTI = methodParameters[index].ParameterType.GetTypeInfo(); + TypeInfo callParamTI = callParameterTypes[index].GetTypeInfo(); + + if (callParameterTypes[index] != null && !methodParamTI.IsAssignableFrom(callParamTI) && !(callParamTI.IsEnum && System.Enum.GetUnderlyingType(methodParamTI.AsType()).GetTypeInfo().IsAssignableFrom(callParamTI))) + { + return false; + } + #else + Type type = methodParameters[index].ParameterType; + if (callParameterTypes[index] != null && !type.IsAssignableFrom(callParameterTypes[index]) && !(type.IsEnum && System.Enum.GetUnderlyingType(type).IsAssignableFrom(callParameterTypes[index]))) + { + return false; + } + #endif + } + + return true; + } + + internal Hashtable SendInstantiate(string prefabName, Vector3 position, Quaternion rotation, byte group, int[] viewIDs, object[] data, bool isGlobalObject) + { + // first viewID is now also the gameobject's instantiateId + int instantiateId = viewIDs[0]; // LIMITS PHOTONVIEWS&PLAYERS + + //TODO: reduce hashtable key usage by using a parameter array for the various values + Hashtable instantiateEvent = new Hashtable(); // This players info is sent via ActorID + instantiateEvent[(byte)0] = prefabName; + + if (position != Vector3.zero) + { + instantiateEvent[(byte)1] = position; + } + + if (rotation != Quaternion.identity) + { + instantiateEvent[(byte)2] = rotation; + } + + if (group != 0) + { + instantiateEvent[(byte)3] = group; + } + + // send the list of viewIDs only if there are more than one. else the instantiateId is the viewID + if (viewIDs.Length > 1) + { + instantiateEvent[(byte)4] = viewIDs; // LIMITS PHOTONVIEWS&PLAYERS + } + + if (data != null) + { + instantiateEvent[(byte)5] = data; + } + + if (this.currentLevelPrefix > 0) + { + instantiateEvent[(byte)8] = this.currentLevelPrefix; // photonview's / object's level prefix + } + + instantiateEvent[(byte)6] = PhotonNetwork.ServerTimestamp; + instantiateEvent[(byte)7] = instantiateId; + + + RaiseEventOptions options = new RaiseEventOptions(); + options.CachingOption = (isGlobalObject) ? EventCaching.AddToRoomCacheGlobal : EventCaching.AddToRoomCache; + + this.OpRaiseEvent(PunEvent.Instantiation, instantiateEvent, true, options); + return instantiateEvent; + } + + internal GameObject DoInstantiate(Hashtable evData, PhotonPlayer photonPlayer, GameObject resourceGameObject) + { + // some values always present: + string prefabName = (string)evData[(byte)0]; + int serverTime = (int)evData[(byte)6]; + int instantiationId = (int)evData[(byte)7]; + + Vector3 position; + if (evData.ContainsKey((byte)1)) + { + position = (Vector3)evData[(byte)1]; + } + else + { + position = Vector3.zero; + } + + Quaternion rotation = Quaternion.identity; + if (evData.ContainsKey((byte)2)) + { + rotation = (Quaternion)evData[(byte)2]; + } + + byte group = 0; + if (evData.ContainsKey((byte)3)) + { + group = (byte)evData[(byte)3]; + } + + short objLevelPrefix = 0; + if (evData.ContainsKey((byte)8)) + { + objLevelPrefix = (short)evData[(byte)8]; + } + + int[] viewsIDs; + if (evData.ContainsKey((byte)4)) + { + viewsIDs = (int[])evData[(byte)4]; + } + else + { + viewsIDs = new int[1] { instantiationId }; + } + + object[] incomingInstantiationData; + if (evData.ContainsKey((byte)5)) + { + incomingInstantiationData = (object[])evData[(byte)5]; + } + else + { + incomingInstantiationData = null; + } + + // SetReceiving filtering + if (group != 0 && !this.allowedReceivingGroups.Contains(group)) + { + return null; // Ignore group + } + + if (ObjectPool != null) + { + GameObject go = ObjectPool.Instantiate(prefabName, position, rotation); + + PhotonView[] photonViews = go.GetPhotonViewsInChildren(); + if (photonViews.Length != viewsIDs.Length) + { + throw new Exception("Error in Instantiation! The resource's PhotonView count is not the same as in incoming data."); + } + for (int i = 0; i < photonViews.Length; i++) + { + photonViews[i].didAwake = false; + photonViews[i].viewID = 0; + + photonViews[i].prefix = objLevelPrefix; + photonViews[i].instantiationId = instantiationId; + photonViews[i].isRuntimeInstantiated = true; + photonViews[i].instantiationDataField = incomingInstantiationData; + + photonViews[i].didAwake = true; + photonViews[i].viewID = viewsIDs[i]; // with didAwake true and viewID == 0, this will also register the view + } + + // Send OnPhotonInstantiate callback to newly created GO. + // GO will be enabled when instantiated from Prefab and it does not matter if the script is enabled or disabled. + go.SendMessage(OnPhotonInstantiateString, new PhotonMessageInfo(photonPlayer, serverTime, null), SendMessageOptions.DontRequireReceiver); + return go; + } + else + { + // load prefab, if it wasn't loaded before (calling methods might do this) + if (resourceGameObject == null) + { + if (!NetworkingPeer.UsePrefabCache || !NetworkingPeer.PrefabCache.TryGetValue(prefabName, out resourceGameObject)) + { + resourceGameObject = (GameObject)Resources.Load(prefabName, typeof (GameObject)); + if (NetworkingPeer.UsePrefabCache) + { + NetworkingPeer.PrefabCache.Add(prefabName, resourceGameObject); + } + } + + if (resourceGameObject == null) + { + Debug.LogError("PhotonNetwork error: Could not Instantiate the prefab [" + prefabName + "]. Please verify you have this gameobject in a Resources folder."); + return null; + } + } + + // now modify the loaded "blueprint" object before it becomes a part of the scene (by instantiating it) + PhotonView[] resourcePVs = resourceGameObject.GetPhotonViewsInChildren(); + if (resourcePVs.Length != viewsIDs.Length) + { + throw new Exception("Error in Instantiation! The resource's PhotonView count is not the same as in incoming data."); + } + + for (int i = 0; i < viewsIDs.Length; i++) + { + // NOTE instantiating the loaded resource will keep the viewID but would not copy instantiation data, so it's set below + // so we only set the viewID and instantiationId now. the instantiationData can be fetched + resourcePVs[i].viewID = viewsIDs[i]; + resourcePVs[i].prefix = objLevelPrefix; + resourcePVs[i].instantiationId = instantiationId; + resourcePVs[i].isRuntimeInstantiated = true; + } + + this.StoreInstantiationData(instantiationId, incomingInstantiationData); + + // load the resource and set it's values before instantiating it: + GameObject go = (GameObject)GameObject.Instantiate(resourceGameObject, position, rotation); + + for (int i = 0; i < viewsIDs.Length; i++) + { + // NOTE instantiating the loaded resource will keep the viewID but would not copy instantiation data, so it's set below + // so we only set the viewID and instantiationId now. the instantiationData can be fetched + resourcePVs[i].viewID = 0; + resourcePVs[i].prefix = -1; + resourcePVs[i].prefixBackup = -1; + resourcePVs[i].instantiationId = -1; + resourcePVs[i].isRuntimeInstantiated = false; + } + + this.RemoveInstantiationData(instantiationId); + + // Send OnPhotonInstantiate callback to newly created GO. + // GO will be enabled when instantiated from Prefab and it does not matter if the script is enabled or disabled. + go.SendMessage(OnPhotonInstantiateString, new PhotonMessageInfo(photonPlayer, serverTime, null), SendMessageOptions.DontRequireReceiver); + return go; + } + } + + private Dictionary tempInstantiationData = new Dictionary(); + + private void StoreInstantiationData(int instantiationId, object[] instantiationData) + { + // Debug.Log("StoreInstantiationData() instantiationId: " + instantiationId + " tempInstantiationData.Count: " + tempInstantiationData.Count); + tempInstantiationData[instantiationId] = instantiationData; + } + + public object[] FetchInstantiationData(int instantiationId) + { + object[] data = null; + if (instantiationId == 0) + { + return null; + } + + tempInstantiationData.TryGetValue(instantiationId, out data); + // Debug.Log("FetchInstantiationData() instantiationId: " + instantiationId + " tempInstantiationData.Count: " + tempInstantiationData.Count); + return data; + } + + private void RemoveInstantiationData(int instantiationId) + { + tempInstantiationData.Remove(instantiationId); + } + + + /// + /// Destroys all Instantiates and RPCs locally and (if not localOnly) sends EvDestroy(player) and clears related events in the server buffer. + /// + public void DestroyPlayerObjects(int playerId, bool localOnly) + { + if (playerId <= 0) + { + Debug.LogError("Failed to Destroy objects of playerId: " + playerId); + return; + } + + if (!localOnly) + { + // clean server's Instantiate and RPC buffers + this.OpRemoveFromServerInstantiationsOfPlayer(playerId); + this.OpCleanRpcBuffer(playerId); + + // send Destroy(player) to anyone else + this.SendDestroyOfPlayer(playerId); + } + + // locally cleaning up that player's objects + HashSet playersGameObjects = new HashSet(); + foreach (PhotonView view in this.photonViewList.Values) + { + if (view!=null && view.CreatorActorNr == playerId) + { + playersGameObjects.Add(view.gameObject); + } + } + + // any non-local work is already done, so with the list of that player's objects, we can clean up (locally only) + foreach (GameObject gameObject in playersGameObjects) + { + this.RemoveInstantiatedGO(gameObject, true); + } + + // with ownership transfer, some objects might lose their owner. + // in that case, the creator becomes the owner again. every client can apply this. done below. + foreach (PhotonView view in this.photonViewList.Values) + { + if (view.ownerId == playerId) + { + view.ownerId = view.CreatorActorNr; + //Debug.Log("Creator is: " + view.ownerId); + } + } + } + + public void DestroyAll(bool localOnly) + { + if (!localOnly) + { + this.OpRemoveCompleteCache(); + this.SendDestroyOfAll(); + } + + this.LocalCleanupAnythingInstantiated(true); + } + + /// Removes GameObject and the PhotonViews on it from local lists and optionally updates remotes. GameObject gets destroyed at end. + /// + /// This method might fail and quit early due to several tests. + /// + /// GameObject to cleanup. + /// For localOnly, tests of control are skipped and the server is not updated. + protected internal void RemoveInstantiatedGO(GameObject go, bool localOnly) + { + if (go == null) + { + Debug.LogError("Failed to 'network-remove' GameObject because it's null."); + return; + } + + // Don't remove the GO if it doesn't have any PhotonView + PhotonView[] views = go.GetComponentsInChildren(true); + if (views == null || views.Length <= 0) + { + Debug.LogError("Failed to 'network-remove' GameObject because has no PhotonView components: " + go); + return; + } + + PhotonView viewZero = views[0]; + int creatorId = viewZero.CreatorActorNr; // creatorId of obj is needed to delete EvInstantiate (only if it's from that user) + int instantiationId = viewZero.instantiationId; // actual, live InstantiationIds start with 1 and go up + + // Don't remove GOs that are owned by others (unless this is the master and the remote player left) + if (!localOnly) + { + if (!viewZero.isMine) + { + Debug.LogError("Failed to 'network-remove' GameObject. Client is neither owner nor masterClient taking over for owner who left: " + viewZero); + return; + } + + // Don't remove the Instantiation from the server, if it doesn't have a proper ID + if (instantiationId < 1) + { + Debug.LogError("Failed to 'network-remove' GameObject because it is missing a valid InstantiationId on view: " + viewZero + ". Not Destroying GameObject or PhotonViews!"); + return; + } + } + + + // cleanup instantiation (event and local list) + if (!localOnly) + { + this.ServerCleanInstantiateAndDestroy(instantiationId, creatorId, viewZero.isRuntimeInstantiated); // server cleaning + } + + + // cleanup PhotonViews and their RPCs events (if not localOnly) + for (int j = views.Length - 1; j >= 0; j--) + { + PhotonView view = views[j]; + if (view == null) + { + continue; + } + + // we only destroy/clean PhotonViews that were created by PhotonNetwork.Instantiate (and those have an instantiationId!) + if (view.instantiationId >= 1) + { + this.LocalCleanPhotonView(view); + } + if (!localOnly) + { + this.OpCleanRpcBuffer(view); + } + } + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + { + Debug.Log("Network destroy Instantiated GO: " + go.name); + } + + + if (this.ObjectPool != null) + { + PhotonView[] photonViews = go.GetPhotonViewsInChildren(); + for (int i = 0; i < photonViews.Length; i++) + { + photonViews[i].viewID = 0; // marks the PV as not being in use currently. + } + this.ObjectPool.Destroy(go); + } + else + { + GameObject.Destroy(go); + } + } + + /// + /// Removes an instantiation event from the server's cache. Needs id and actorNr of player who instantiated. + /// + private void ServerCleanInstantiateAndDestroy(int instantiateId, int creatorId, bool isRuntimeInstantiated) + { + Hashtable removeFilter = new Hashtable(); + removeFilter[(byte)7] = instantiateId; + + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.RemoveFromRoomCache, TargetActors = new int[] { creatorId } }; + this.OpRaiseEvent(PunEvent.Instantiation, removeFilter, true, options); + //this.OpRaiseEvent(PunEvent.Instantiation, removeFilter, true, 0, new int[] { actorNr }, EventCaching.RemoveFromRoomCache); + + Hashtable evData = new Hashtable(); + evData[(byte)0] = instantiateId; + options = null; + if (!isRuntimeInstantiated) + { + // if the view got loaded with the scene, the EvDestroy must be cached (there is no Instantiate-msg which we can remove) + // reason: joining players will load the obj and have to destroy it (too) + options = new RaiseEventOptions(); + options.CachingOption = EventCaching.AddToRoomCacheGlobal; + Debug.Log("Destroying GO as global. ID: " + instantiateId); + } + this.OpRaiseEvent(PunEvent.Destroy, evData, true, options); + } + + private void SendDestroyOfPlayer(int actorNr) + { + Hashtable evData = new Hashtable(); + evData[(byte)0] = actorNr; + + this.OpRaiseEvent(PunEvent.DestroyPlayer, evData, true, null); + //this.OpRaiseEvent(PunEvent.DestroyPlayer, evData, true, 0, EventCaching.DoNotCache, ReceiverGroup.Others); + } + + private void SendDestroyOfAll() + { + Hashtable evData = new Hashtable(); + evData[(byte)0] = -1; + + + this.OpRaiseEvent(PunEvent.DestroyPlayer, evData, true, null); + //this.OpRaiseEvent(PunEvent.DestroyPlayer, evData, true, 0, EventCaching.DoNotCache, ReceiverGroup.Others); + } + + private void OpRemoveFromServerInstantiationsOfPlayer(int actorNr) + { + // removes all "Instantiation" events of player actorNr. this is not an event for anyone else + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.RemoveFromRoomCache, TargetActors = new int[] { actorNr } }; + this.OpRaiseEvent(PunEvent.Instantiation, null, true, options); + //this.OpRaiseEvent(PunEvent.Instantiation, null, true, 0, new int[] { actorNr }, EventCaching.RemoveFromRoomCache); + } + + internal protected void RequestOwnership(int viewID, int fromOwner) + { + Debug.Log("RequestOwnership(): " + viewID + " from: " + fromOwner + " Time: " + Environment.TickCount % 1000); + //PhotonNetwork.networkingPeer.OpRaiseEvent(PunEvent.OwnershipRequest, true, new int[] { viewID, fromOwner }, 0, EventCaching.DoNotCache, null, ReceiverGroup.All, 0); + this.OpRaiseEvent(PunEvent.OwnershipRequest, new int[] {viewID, fromOwner}, true, new RaiseEventOptions() { Receivers = ReceiverGroup.All }); // All sends to all via server (including self) + } + + internal protected void TransferOwnership(int viewID, int playerID) + { + Debug.Log("TransferOwnership() view " + viewID + " to: " + playerID + " Time: " + Environment.TickCount % 1000); + //PhotonNetwork.networkingPeer.OpRaiseEvent(PunEvent.OwnershipTransfer, true, new int[] {viewID, playerID}, 0, EventCaching.DoNotCache, null, ReceiverGroup.All, 0); + this.OpRaiseEvent(PunEvent.OwnershipTransfer, new int[] { viewID, playerID }, true, new RaiseEventOptions() { Receivers = ReceiverGroup.All }); // All sends to all via server (including self) + } + + public bool LocalCleanPhotonView(PhotonView view) + { + view.removedFromLocalViewList = true; + return this.photonViewList.Remove(view.viewID); + } + + public PhotonView GetPhotonView(int viewID) + { + PhotonView result = null; + this.photonViewList.TryGetValue(viewID, out result); + + if (result == null) + { + PhotonView[] views = GameObject.FindObjectsOfType(typeof(PhotonView)) as PhotonView[]; + + for (int i = 0; i < views.Length; i++) + { + PhotonView view = views[i]; + if (view.viewID == viewID) + { + if (view.didAwake) + { + Debug.LogWarning("Had to lookup view that wasn't in photonViewList: " + view); + } + return view; + } + } + } + + return result; + } + + public void RegisterPhotonView(PhotonView netView) + { + if (!Application.isPlaying) + { + this.photonViewList = new Dictionary(); + return; + } + + if (netView.viewID == 0) + { + // don't register views with ID 0 (not initialized). they register when a ID is assigned later on + Debug.Log("PhotonView register is ignored, because viewID is 0. No id assigned yet to: " + netView); + return; + } + + PhotonView listedView = null; + bool isViewListed = this.photonViewList.TryGetValue(netView.viewID, out listedView); + if (isViewListed) + { + // if some other view is in the list already, we got a problem. it might be undestructible. print out error + if (netView != listedView) + { + Debug.LogError(string.Format("PhotonView ID duplicate found: {0}. New: {1} old: {2}. Maybe one wasn't destroyed on scene load?! Check for 'DontDestroyOnLoad'. Destroying old entry, adding new.", netView.viewID, netView, listedView)); + } + else + { + return; + } + + this.RemoveInstantiatedGO(listedView.gameObject, true); + } + + // Debug.Log("adding view to known list: " + netView); + this.photonViewList.Add(netView.viewID, netView); + //Debug.LogError("view being added. " + netView); // Exit Games internal log + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + { + Debug.Log("Registered PhotonView: " + netView.viewID); + } + } + + ///// + ///// Will remove the view from list of views (by its ID). + ///// + //public void RemovePhotonView(PhotonView netView) + //{ + // if (!Application.isPlaying) + // { + // this.photonViewList = new Dictionary(); + // return; + // } + + // //PhotonView removedView = null; + // //this.photonViewList.TryGetValue(netView.viewID, out removedView); + // //if (removedView != netView) + // //{ + // // Debug.LogError("Detected two differing PhotonViews with same viewID: " + netView.viewID); + // //} + + // this.photonViewList.Remove(netView.viewID); + + // //if (this.DebugOut >= DebugLevel.ALL) + // //{ + // // this.DebugReturn(DebugLevel.ALL, "Removed PhotonView: " + netView.viewID); + // //} + //} + + /// + /// Removes the RPCs of someone else (to be used as master). + /// This won't clean any local caches. It just tells the server to forget a player's RPCs and instantiates. + /// + /// + public void OpCleanRpcBuffer(int actorNumber) + { + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.RemoveFromRoomCache, TargetActors = new int[] { actorNumber } }; + this.OpRaiseEvent(PunEvent.RPC, null, true, options); + //this.OpRaiseEvent(PunEvent.RPC, null, true, 0, new int[] { actorNumber }, EventCaching.RemoveFromRoomCache); + } + + /// + /// Instead removing RPCs or Instantiates, this removed everything cached by the actor. + /// + /// + public void OpRemoveCompleteCacheOfPlayer(int actorNumber) + { + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.RemoveFromRoomCache, TargetActors = new int[] { actorNumber } }; + this.OpRaiseEvent(0, null, true, options); + //this.OpRaiseEvent(0, null, true, 0, new int[] { actorNumber }, EventCaching.RemoveFromRoomCache); + } + + + public void OpRemoveCompleteCache() + { + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.RemoveFromRoomCache, Receivers = ReceiverGroup.MasterClient }; + this.OpRaiseEvent(0, null, true, options); + //this.OpRaiseEvent(0, null, true, 0, EventCaching.RemoveFromRoomCache, ReceiverGroup.MasterClient); // TODO: check who gets this event? + } + + /// This clears the cache of any player/actor who's no longer in the room (making it a simple clean-up option for a new master) + private void RemoveCacheOfLeftPlayers() + { + Dictionary opParameters = new Dictionary(); + opParameters[ParameterCode.Code] = (byte)0; // any event + opParameters[ParameterCode.Cache] = (byte)EventCaching.RemoveFromRoomCacheForActorsLeft; // option to clear the room cache of all events of players who left + + this.OpCustom((byte)OperationCode.RaiseEvent, opParameters, true, 0); + } + + // Remove RPCs of view (if they are local player's RPCs) + public void CleanRpcBufferIfMine(PhotonView view) + { + if (view.ownerId != this.LocalPlayer.ID && !LocalPlayer.IsMasterClient) + { + Debug.LogError("Cannot remove cached RPCs on a PhotonView thats not ours! " + view.owner + " scene: " + view.isSceneView); + return; + } + + this.OpCleanRpcBuffer(view); + } + + /// Cleans server RPCs for PhotonView (without any further checks). + public void OpCleanRpcBuffer(PhotonView view) + { + Hashtable rpcFilterByViewId = new Hashtable(); + rpcFilterByViewId[(byte)0] = view.viewID; + + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.RemoveFromRoomCache }; + this.OpRaiseEvent(PunEvent.RPC, rpcFilterByViewId, true, options); + //this.OpRaiseEvent(PunEvent.RPC, rpcFilterByViewId, true, 0, EventCaching.RemoveFromRoomCache, ReceiverGroup.Others); + } + + public void RemoveRPCsInGroup(int group) + { + foreach (PhotonView view in this.photonViewList.Values) + { + if (view.group == group) + { + this.CleanRpcBufferIfMine(view); + } + } + } + + public void SetLevelPrefix(short prefix) + { + this.currentLevelPrefix = prefix; + // TODO: should we really change the prefix for existing PVs?! better keep it! + //foreach (PhotonView view in this.photonViewList.Values) + //{ + // view.prefix = prefix; + //} + } + + + /// RPC Hashtable Structure + /// (byte)0 -> (int) ViewId (combined from actorNr and actor-unique-id) + /// (byte)1 -> (short) prefix (level) + /// (byte)2 -> (int) server timestamp + /// (byte)3 -> (string) methodname + /// (byte)4 -> (object[]) parameters + /// (byte)5 -> (byte) method shortcut (alternative to name) + /// + /// This is sent as event (code: 200) which will contain a sender (origin of this RPC). + + internal void RPC(PhotonView view, string methodName, PhotonTargets target, PhotonPlayer player, bool encrypt, params object[] parameters) + { + if (this.blockSendingGroups.Contains(view.group)) + { + return; // Block sending on this group + } + + if (view.viewID < 1) + { + Debug.LogError("Illegal view ID:" + view.viewID + " method: " + methodName + " GO:" + view.gameObject.name); + } + + if (PhotonNetwork.logLevel >= PhotonLogLevel.Full) + { + Debug.Log("Sending RPC \"" + methodName + "\" to target: " + target + " or player:" + player + "."); + } + + + //ts: changed RPCs to a one-level hashtable as described in internal.txt + Hashtable rpcEvent = new Hashtable(); + rpcEvent[(byte)0] = (int)view.viewID; // LIMITS NETWORKVIEWS&PLAYERS + if (view.prefix > 0) + { + rpcEvent[(byte)1] = (short)view.prefix; + } + rpcEvent[(byte)2] = PhotonNetwork.ServerTimestamp; + + + // send name or shortcut (if available) + int shortcut = 0; + if (rpcShortcuts.TryGetValue(methodName, out shortcut)) + { + rpcEvent[(byte)5] = (byte)shortcut; // LIMITS RPC COUNT + } + else + { + rpcEvent[(byte)3] = methodName; + } + + if (parameters != null && parameters.Length > 0) + { + rpcEvent[(byte)4] = (object[])parameters; + } + + + // if sent to target player, this overrides the target + if (player != null) + { + if (this.LocalPlayer.ID == player.ID) + { + this.ExecuteRpc(rpcEvent, player); + } + else + { + RaiseEventOptions options = new RaiseEventOptions() { TargetActors = new int[] { player.ID }, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + } + + return; + } + + // send to a specific set of players + if (target == PhotonTargets.All) + { + RaiseEventOptions options = new RaiseEventOptions() { InterestGroup = (byte)view.group, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + + // Execute local + this.ExecuteRpc(rpcEvent, this.LocalPlayer); + } + else if (target == PhotonTargets.Others) + { + RaiseEventOptions options = new RaiseEventOptions() { InterestGroup = (byte)view.group, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + } + else if (target == PhotonTargets.AllBuffered) + { + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.AddToRoomCache, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + + // Execute local + this.ExecuteRpc(rpcEvent, this.LocalPlayer); + } + else if (target == PhotonTargets.OthersBuffered) + { + RaiseEventOptions options = new RaiseEventOptions() { CachingOption = EventCaching.AddToRoomCache, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + } + else if (target == PhotonTargets.MasterClient) + { + if (this.mMasterClientId == this.LocalPlayer.ID) + { + this.ExecuteRpc(rpcEvent, this.LocalPlayer); + } + else + { + RaiseEventOptions options = new RaiseEventOptions() { Receivers = ReceiverGroup.MasterClient, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + } + } + else if (target == PhotonTargets.AllViaServer) + { + RaiseEventOptions options = new RaiseEventOptions() { InterestGroup = (byte)view.group, Receivers = ReceiverGroup.All, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + if (PhotonNetwork.offlineMode) + { + this.ExecuteRpc(rpcEvent, this.LocalPlayer); + } + } + else if (target == PhotonTargets.AllBufferedViaServer) + { + RaiseEventOptions options = new RaiseEventOptions() { InterestGroup = (byte)view.group, Receivers = ReceiverGroup.All, CachingOption = EventCaching.AddToRoomCache, Encrypt = encrypt }; + this.OpRaiseEvent(PunEvent.RPC, rpcEvent, true, options); + if (PhotonNetwork.offlineMode) + { + this.ExecuteRpc(rpcEvent, this.LocalPlayer); + } + } + else + { + Debug.LogError("Unsupported target enum: " + target); + } + } + + + public void SetInterestGroups(byte[] disableGroups, byte[] enableGroups) + { + if (disableGroups != null) + { + if (disableGroups.Length == 0) + { + // a byte[0] should disable ALL groups in one step and before any groups are enabled. we do this locally, too. + this.allowedReceivingGroups.Clear(); + } + else + { + for (int index = 0; index < disableGroups.Length; index++) + { + byte g = disableGroups[index]; + if (g <= 0) + { + Debug.LogError("Error: PhotonNetwork.SetInterestGroups was called with an illegal group number: " + g + ". The group number should be at least 1."); + continue; + } + + if (this.allowedReceivingGroups.Contains(g)) + { + this.allowedReceivingGroups.Remove(g); + } + } + } + } + + if (enableGroups != null) + { + if (enableGroups.Length == 0) + { + // a byte[0] should enable ALL groups in one step. we do this locally, too. + for (byte index = 0; index <= byte.MaxValue; index++) + { + this.allowedReceivingGroups.Add(index); + } + } + else + { + for (int index = 0; index < enableGroups.Length; index++) + { + byte g = enableGroups[index]; + if (g <= 0) + { + Debug.LogError("Error: PhotonNetwork.SetInterestGroups was called with an illegal group number: " + g + ". The group number should be at least 1."); + continue; + } + + this.allowedReceivingGroups.Add(g); + } + } + } + + this.OpChangeGroups(disableGroups, enableGroups); + } + + + // SetSending + public void SetSendingEnabled(byte group, bool enabled) + { + if (!enabled) + { + this.blockSendingGroups.Add(group); // can be added to HashSet no matter if already in it + } + else + { + this.blockSendingGroups.Remove(group); + } + } + + + public void SetSendingEnabled(byte[] disableGroups, byte[] enableGroups) + { + if (disableGroups != null) + { + for (int index = 0; index < disableGroups.Length; index++) + { + byte g = disableGroups[index]; + this.blockSendingGroups.Add(g); + } + } + + if (enableGroups != null) + { + for (int index = 0; index < enableGroups.Length; index++) + { + byte g = enableGroups[index]; + this.blockSendingGroups.Remove(g); + } + } + } + + + public void NewSceneLoaded() + { + if (this.loadingLevelAndPausedNetwork) + { + this.loadingLevelAndPausedNetwork = false; + PhotonNetwork.isMessageQueueRunning = true; + } + // Debug.Log("OnLevelWasLoaded photonViewList.Count: " + photonViewList.Count); // Exit Games internal log + + List removeKeys = new List(); + foreach (KeyValuePair kvp in this.photonViewList) + { + PhotonView view = kvp.Value; + if (view == null) + { + removeKeys.Add(kvp.Key); + } + } + + for (int index = 0; index < removeKeys.Count; index++) + { + int key = removeKeys[index]; + this.photonViewList.Remove(key); + } + + if (removeKeys.Count > 0) + { + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + Debug.Log("New level loaded. Removed " + removeKeys.Count + " scene view IDs from last level."); + } + } + + /// + /// Defines how many OnPhotonSerialize()-calls might get summarized in one message. + /// + /// + /// A low number increases overhead, a high number might mean fragmentation. + /// + public static int ObjectsInOneUpdate = 10; + + // cache the RaiseEventOptions to prevent redundant Memory Allocation + RaiseEventOptions options = new RaiseEventOptions(); + + // this is called by Update() and in Unity that means it's single threaded. + public void RunViewUpdate() + { + if (!PhotonNetwork.connected || PhotonNetwork.offlineMode || this.mActors == null) + { + return; + } + + // no need to send OnSerialize messages while being alone (these are not buffered anyway) + if (this.mActors.Count <= 1) + { + #if !PHOTON_DEVELOP + return; + #endif + } + + + /* Format of the data hashtable: + * Hasthable dataPergroup* + * [(byte)0] = PhotonNetwork.ServerTimestamp; + * [(byte)1] = currentLevelPrefix; OPTIONAL! + * + * [(byte)10] = data 1 + * [(byte)11] = data 2 ... + * + * We only combine updates for XY objects into one RaiseEvent to avoid fragmentation + */ + + int countOfUpdatesToSend = 0; + + + // we got updates to send. every group is send it's own message and unreliable and reliable are split as well + options.InterestGroup = 0; + + #if PHOTON_DEVELOP + options.Receivers = ReceiverGroup.All; + #endif + + var enumerator = this.photonViewList.GetEnumerator(); // replacing foreach (PhotonView view in this.photonViewList.Values) for memory allocation improvement + while (enumerator.MoveNext()) + { + PhotonView view = enumerator.Current.Value; + + // a client only sends updates for active, synchronized PhotonViews that are under it's control (isMine) + if (view.synchronization == ViewSynchronization.Off || view.isMine == false || view.gameObject.activeInHierarchy == false) + { + continue; + } + + if (this.blockSendingGroups.Contains(view.group)) + { + continue; // Block sending on this group + } + + + // call the PhotonView's serialize method(s) + object[] evData = this.OnSerializeWrite(view); + if (evData == null) + { + continue; + } + + if (view.synchronization == ViewSynchronization.ReliableDeltaCompressed || view.mixedModeIsReliable) + { + Hashtable groupHashtable = null; + bool found = this.dataPerGroupReliable.TryGetValue(view.group, out groupHashtable); + if (!found) + { + groupHashtable = new Hashtable(NetworkingPeer.ObjectsInOneUpdate); + this.dataPerGroupReliable[view.group] = groupHashtable; + } + + groupHashtable.Add((byte)(groupHashtable.Count+10), evData); + countOfUpdatesToSend++; + + // if any group has XY elements, we should send it right away (to avoid bigger messages which need fragmentation and reliable transfer). + if (groupHashtable.Count >= NetworkingPeer.ObjectsInOneUpdate) + { + countOfUpdatesToSend -= groupHashtable.Count; + + options.InterestGroup = (byte)view.group; + groupHashtable[(byte)0] = PhotonNetwork.ServerTimestamp; + if (this.currentLevelPrefix >= 0) + { + groupHashtable[(byte)1] = this.currentLevelPrefix; + } + + this.OpRaiseEvent(PunEvent.SendSerializeReliable, groupHashtable, true, options); + //Debug.Log("SendSerializeReliable (10) " + PhotonNetwork.networkingPeer.ByteCountLastOperation); + groupHashtable.Clear(); + } + } + else + { + Hashtable groupHashtable = null; + bool found = this.dataPerGroupUnreliable.TryGetValue(view.group, out groupHashtable); + if (!found) + { + groupHashtable = new Hashtable(NetworkingPeer.ObjectsInOneUpdate); + this.dataPerGroupUnreliable[view.group] = groupHashtable; + } + + groupHashtable.Add((byte)(groupHashtable.Count+10), evData); + countOfUpdatesToSend++; + + // if any group has XY elements, we should send it right away (to avoid bigger messages which need fragmentation and reliable transfer). + if (groupHashtable.Count >= NetworkingPeer.ObjectsInOneUpdate) + { + countOfUpdatesToSend -= groupHashtable.Count; + + options.InterestGroup = (byte)view.group; + groupHashtable[(byte)0] = PhotonNetwork.ServerTimestamp; + if (this.currentLevelPrefix >= 0) + { + groupHashtable[(byte)1] = this.currentLevelPrefix; + } + + this.OpRaiseEvent(PunEvent.SendSerialize, groupHashtable, false, options); + groupHashtable.Clear(); + //Debug.Log("SendSerializeUnreliable (10) " + PhotonNetwork.networkingPeer.ByteCountLastOperation); + } + } + } // all views serialized + + + // if we didn't produce anything to send, don't do it + if (countOfUpdatesToSend == 0) + { + return; + } + + + foreach (int groupId in this.dataPerGroupReliable.Keys) + { + options.InterestGroup = (byte)groupId; + Hashtable groupHashtable = this.dataPerGroupReliable[groupId]; + if (groupHashtable.Count == 0) + { + continue; + } + + groupHashtable[(byte)0] = PhotonNetwork.ServerTimestamp; + if (this.currentLevelPrefix >= 0) + { + groupHashtable[(byte)1] = this.currentLevelPrefix; + } + + this.OpRaiseEvent(PunEvent.SendSerializeReliable, groupHashtable, true, options); + groupHashtable.Clear(); + } + foreach (int groupId in this.dataPerGroupUnreliable.Keys) + { + options.InterestGroup = (byte)groupId; + Hashtable groupHashtable = this.dataPerGroupUnreliable[groupId]; + if (groupHashtable.Count == 0) + { + continue; + } + + groupHashtable[(byte)0] = PhotonNetwork.ServerTimestamp; + if (this.currentLevelPrefix >= 0) + { + groupHashtable[(byte)1] = this.currentLevelPrefix; + } + + this.OpRaiseEvent(PunEvent.SendSerialize, groupHashtable, false, options); + groupHashtable.Clear(); + } + } + + + // calls OnPhotonSerializeView (through ExecuteOnSerialize) + // the content created here is consumed by receivers in: ReadOnSerialize + private object[] OnSerializeWrite(PhotonView view) + { + if (view.synchronization == ViewSynchronization.Off) + { + return null; + } + + + // each view creates a list of values that should be sent + PhotonMessageInfo info = new PhotonMessageInfo(this.LocalPlayer, PhotonNetwork.ServerTimestamp, view); + this.pStream.ResetWriteStream(); + this.pStream.SendNext(null); + this.pStream.SendNext(null); + this.pStream.SendNext(null); + view.SerializeView(this.pStream, info); + + // check if there are actual values to be sent (after the "header" of viewId, (bool)compressed and (int[])nullValues) + if (this.pStream.Count <= SyncFirstValue) + { + return null; + } + + + object[] currentValues = this.pStream.ToArray(); + currentValues[0] = view.viewID; + currentValues[1] = false; + currentValues[2] = null; + + if (view.synchronization == ViewSynchronization.Unreliable) + { + return currentValues; + } + + + // ViewSynchronization: Off, Unreliable, UnreliableOnChange, ReliableDeltaCompressed + if (view.synchronization == ViewSynchronization.UnreliableOnChange) + { + if (AlmostEquals(currentValues, view.lastOnSerializeDataSent)) + { + if (view.mixedModeIsReliable) + { + return null; + } + + view.mixedModeIsReliable = true; + view.lastOnSerializeDataSent = currentValues; + } + else + { + view.mixedModeIsReliable = false; + view.lastOnSerializeDataSent = currentValues; + } + + return currentValues; + } + + if (view.synchronization == ViewSynchronization.ReliableDeltaCompressed) + { + // compress content of data set (by comparing to view.lastOnSerializeDataSent) + // the "original" dataArray is NOT modified by DeltaCompressionWrite + object[] dataToSend = this.DeltaCompressionWrite(view.lastOnSerializeDataSent, currentValues); + + // cache the values that were written this time (not the compressed values) + view.lastOnSerializeDataSent = currentValues; + + return dataToSend; + } + + return null; + } + + /// + /// Reads updates created by OnSerializeWrite + /// + private void OnSerializeRead(object[] data, PhotonPlayer sender, int networkTime, short correctPrefix) + { + // read view ID from key (byte)0: a int-array (PUN 1.17++) + int viewID = (int)data[SyncViewId]; + + + // debug: + //LogObjectArray(data); + + PhotonView view = this.GetPhotonView(viewID); + if (view == null) + { + Debug.LogWarning("Received OnSerialization for view ID " + viewID + ". We have no such PhotonView! Ignored this if you're leaving a room. State: " + this.State); + return; + } + + if (view.prefix > 0 && correctPrefix != view.prefix) + { + Debug.LogError("Received OnSerialization for view ID " + viewID + " with prefix " + correctPrefix + ". Our prefix is " + view.prefix); + return; + } + + // SetReceiving filtering + if (view.group != 0 && !this.allowedReceivingGroups.Contains(view.group)) + { + return; // Ignore group + } + + + + + if (view.synchronization == ViewSynchronization.ReliableDeltaCompressed) + { + object[] uncompressed = this.DeltaCompressionRead(view.lastOnSerializeDataReceived, data); + //LogObjectArray(uncompressed,"uncompressed "); + if (uncompressed == null) + { + // Skip this packet as we haven't got received complete-copy of this view yet. + if (PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("Skipping packet for " + view.name + " [" + view.viewID + "] as we haven't received a full packet for delta compression yet. This is OK if it happens for the first few frames after joining a game."); + } + return; + } + + // store last received values (uncompressed) for delta-compression usage + view.lastOnSerializeDataReceived = uncompressed; + data = uncompressed; + } + + // This is when joining late to assign ownership to the sender + // this has nothing to do with reading the actual synchronization update. + // We don't do anything is OwnerShip Was Touched, which means we got the infos already. We only possibly act if ownership was never transfered. + // We do override OwnerShipWasTransfered if owner is the masterClient. + if (sender.ID != view.ownerId && (!view.OwnerShipWasTransfered || view.ownerId == 0) && view.currentMasterID == -1 ) + { + // obviously the owner changed and we didn't yet notice. + //Debug.Log("Adjusting owner to sender of updates. From: " + view.ownerId + " to: " + sender.ID); + view.ownerId = sender.ID; + } + + this.readStream.SetReadStream(data, 3); + PhotonMessageInfo info = new PhotonMessageInfo(sender, networkTime, view); + + view.DeserializeView(this.readStream, info); + } + + + // compresses currentContent by using NULL as value if currentContent equals previousContent + // skips initial indexes, as defined by SyncFirstValue + // to conserve memory, the previousContent is re-used as buffer for the result! duplicate the values before using this, if needed + // returns null, if nothing must be sent (current content might be null, which also returns null) + // SyncFirstValue should be the index of the first actual data-value (3 in PUN's case, as 0=viewId, 1=(bool)compressed, 2=(int[])values that are now null) + public const int SyncViewId = 0; + public const int SyncCompressed = 1; + public const int SyncNullValues = 2; + public const int SyncFirstValue = 3; + + private object[] DeltaCompressionWrite(object[] previousContent, object[] currentContent) + { + if (currentContent == null || previousContent == null || previousContent.Length != currentContent.Length) + { + return currentContent; // the current data needs to be sent (which might be null) + } + + if (currentContent.Length <= SyncFirstValue) + { + return null; // this send doesn't contain values (except the "headers"), so it's not being sent + } + + + object[] compressedContent = previousContent; // the previous content is no longer needed, once we compared the values! + compressedContent[SyncCompressed] = false; + int compressedValues = 0; + + Queue valuesThatAreChangedToNull = null; + for (int index = SyncFirstValue; index < currentContent.Length; index++) + { + object newObj = currentContent[index]; + object oldObj = previousContent[index]; + if (this.AlmostEquals(newObj, oldObj)) + { + // compress (by using null, instead of value, which is same as before) + compressedValues++; + compressedContent[index] = null; + } + else + { + compressedContent[index] = newObj; + + // value changed, we don't replace it with null + // new value is null (like a compressed value): we have to mark it so it STAYS null instead of being replaced with previous value + if (newObj == null) + { + if (valuesThatAreChangedToNull == null) + { + valuesThatAreChangedToNull = new Queue(currentContent.Length); + } + valuesThatAreChangedToNull.Enqueue(index); + } + } + } + + // Only send the list of compressed fields if we actually compressed 1 or more fields. + if (compressedValues > 0) + { + if (compressedValues == currentContent.Length - SyncFirstValue) + { + // all values are compressed to null, we have nothing to send + return null; + } + + compressedContent[SyncCompressed] = true; + if (valuesThatAreChangedToNull != null) + { + compressedContent[SyncNullValues] = valuesThatAreChangedToNull.ToArray(); // data that is actually null (not just cause we didn't want to send it) + } + } + + compressedContent[SyncViewId] = currentContent[SyncViewId]; + return compressedContent; // some data was compressed but we need to send something + } + + private object[] DeltaCompressionRead(object[] lastOnSerializeDataReceived, object[] incomingData) + { + if ((bool)incomingData[SyncCompressed] == false) + { + // index 1 marks "compressed" as being true. + return incomingData; + } + + // Compression was applied (as data[1] == true) + // we need a previous "full" list of values to restore values that are null in this msg. else, ignore this + if (lastOnSerializeDataReceived == null) + { + return null; + } + + + int[] indexesThatAreChangedToNull = incomingData[(byte)2] as int[]; + for (int index = SyncFirstValue; index < incomingData.Length; index++) + { + if (indexesThatAreChangedToNull != null && indexesThatAreChangedToNull.Contains(index)) + { + continue; // if a value was set to null in this update, we don't need to fetch it from an earlier update + } + if (incomingData[index] == null) + { + // we replace null values in this received msg unless a index is in the "changed to null" list + object lastValue = lastOnSerializeDataReceived[index]; + incomingData[index] = lastValue; + } + } + + return incomingData; + } + + + // startIndex should be the index of the first actual data-value (3 in PUN's case, as 0=viewId, 1=(bool)compressed, 2=(int[])values that are now null) + // returns the incomingData with modified content. any object being null (means: value unchanged) gets replaced with a previously sent value. incomingData is being modified + + + private bool AlmostEquals(object[] lastData, object[] currentContent) + { + if (lastData == null && currentContent == null) + { + return true; + } + + if (lastData == null || currentContent == null || (lastData.Length != currentContent.Length)) + { + return false; + } + + for (int index = 0; index < currentContent.Length; index++) + { + object newObj = currentContent[index]; + object oldObj = lastData[index]; + if (!this.AlmostEquals(newObj, oldObj)) + { + return false; + } + } + + return true; + } + + /// + /// Returns true if both objects are almost identical. + /// Used to check whether two objects are similar enough to skip an update. + /// + bool AlmostEquals(object one, object two) + { + if (one == null || two == null) + { + return one == null && two == null; + } + + if (!one.Equals(two)) + { + // if A is not B, lets check if A is almost B + if (one is Vector3) + { + Vector3 a = (Vector3)one; + Vector3 b = (Vector3)two; + if (a.AlmostEquals(b, PhotonNetwork.precisionForVectorSynchronization)) + { + return true; + } + } + else if (one is Vector2) + { + Vector2 a = (Vector2)one; + Vector2 b = (Vector2)two; + if (a.AlmostEquals(b, PhotonNetwork.precisionForVectorSynchronization)) + { + return true; + } + } + else if (one is Quaternion) + { + Quaternion a = (Quaternion)one; + Quaternion b = (Quaternion)two; + if (a.AlmostEquals(b, PhotonNetwork.precisionForQuaternionSynchronization)) + { + return true; + } + } + else if (one is float) + { + float a = (float)one; + float b = (float)two; + if (a.AlmostEquals(b, PhotonNetwork.precisionForFloatSynchronization)) + { + return true; + } + } + + // one does not equal two + return false; + } + + return true; + } + + internal protected static bool GetMethod(MonoBehaviour monob, string methodType, out MethodInfo mi) + { + mi = null; + + if (monob == null || string.IsNullOrEmpty(methodType)) + { + return false; + } + + List methods = SupportClassPun.GetMethods(monob.GetType(), null); + for (int index = 0; index < methods.Count; index++) + { + MethodInfo methodInfo = methods[index]; + if (methodInfo.Name.Equals(methodType)) + { + mi = methodInfo; + return true; + } + } + + return false; + } + + /// Internally used to detect the current scene and load it if PhotonNetwork.automaticallySyncScene is enabled. + internal protected void LoadLevelIfSynced() + { + if (!PhotonNetwork.automaticallySyncScene || PhotonNetwork.isMasterClient || PhotonNetwork.room == null) + { + return; + } + + // check if "current level" is set in props + if (!PhotonNetwork.room.CustomProperties.ContainsKey(NetworkingPeer.CurrentSceneProperty)) + { + return; + } + + // if loaded level is not the one defined my master in props, load that level + object sceneId = PhotonNetwork.room.CustomProperties[NetworkingPeer.CurrentSceneProperty]; + if (sceneId is int) + { + if (SceneManagerHelper.ActiveSceneBuildIndex != (int)sceneId) + PhotonNetwork.LoadLevel((int)sceneId); + } + else if (sceneId is string) + { + if (SceneManagerHelper.ActiveSceneName != (string)sceneId) + PhotonNetwork.LoadLevel((string)sceneId); + } + } + + protected internal void SetLevelInPropsIfSynced(object levelId) + { + if (!PhotonNetwork.automaticallySyncScene || !PhotonNetwork.isMasterClient || PhotonNetwork.room == null) + { + return; + } + if (levelId == null) + { + Debug.LogError("Parameter levelId can't be null!"); + return; + } + + // check if "current level" is already set in props + if (PhotonNetwork.room.CustomProperties.ContainsKey(NetworkingPeer.CurrentSceneProperty)) + { + object levelIdInProps = PhotonNetwork.room.CustomProperties[NetworkingPeer.CurrentSceneProperty]; + if (levelIdInProps is int && SceneManagerHelper.ActiveSceneBuildIndex == (int)levelIdInProps) + { + return; + } + if (levelIdInProps is string && SceneManagerHelper.ActiveSceneName != null && SceneManagerHelper.ActiveSceneName.Equals((string)levelIdInProps)) + { + return; + } + } + + // current level is not yet in props, so this client has to set it + Hashtable setScene = new Hashtable(); + if (levelId is int) setScene[NetworkingPeer.CurrentSceneProperty] = (int)levelId; + else if (levelId is string) setScene[NetworkingPeer.CurrentSceneProperty] = (string)levelId; + else Debug.LogError("Parameter levelId must be int or string!"); + + PhotonNetwork.room.SetCustomProperties(setScene); + this.SendOutgoingCommands(); // send immediately! because: in most cases the client will begin to load and not send for a while + } + + public void SetApp(string appId, string gameVersion) + { + this.AppId = appId.Trim(); + + if (!string.IsNullOrEmpty(gameVersion)) + { + PhotonNetwork.gameVersion = gameVersion.Trim(); + } + } + + + public bool WebRpc(string uriPath, object parameters) + { + Dictionary opParameters = new Dictionary(); + opParameters.Add(ParameterCode.UriPath, uriPath); + opParameters.Add(ParameterCode.WebRpcParameters, parameters); + + return this.OpCustom(OperationCode.WebRpc, opParameters, true); + + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs.meta new file mode 100644 index 0000000..266e935 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/NetworkingPeer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6389c32085f1ef04f88e046b96ab6fc6 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonClasses.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonClasses.cs new file mode 100644 index 0000000..7b0100b --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonClasses.cs @@ -0,0 +1,1542 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +#pragma warning disable 1587 +/// \file +/// Wraps up smaller classes that don't need their own file. +/// +/// +/// \defgroup publicApi Public API +/// \brief Groups the most important classes that you need to understand early on. +/// +/// \defgroup optionalGui Optional Gui Elements +/// \brief Useful GUI elements for PUN. +#pragma warning restore 1587 + +#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_4_OR_NEWER +#define UNITY_MIN_5_3 +#endif + +using System; +using System.Collections.Generic; +using ExitGames.Client.Photon; +using UnityEngine; + +using Hashtable = ExitGames.Client.Photon.Hashtable; +using SupportClassPun = ExitGames.Client.Photon.SupportClass; + + +/// Defines the OnPhotonSerializeView method to make it easy to implement correctly for observable scripts. +/// \ingroup publicApi +public interface IPunObservable +{ + /// + /// Called by PUN several times per second, so that your script can write and read synchronization data for the PhotonView. + /// + /// + /// This method will be called in scripts that are assigned as Observed component of a PhotonView.
+ /// PhotonNetwork.sendRateOnSerialize affects how often this method is called.
+ /// PhotonNetwork.sendRate affects how often packages are sent by this client.
+ /// + /// Implementing this method, you can customize which data a PhotonView regularly synchronizes. + /// Your code defines what is being sent (content) and how your data is used by receiving clients. + /// + /// Unlike other callbacks, OnPhotonSerializeView only gets called when it is assigned + /// to a PhotonView as PhotonView.observed script. + /// + /// To make use of this method, the PhotonStream is essential. It will be in "writing" mode" on the + /// client that controls a PhotonView (PhotonStream.isWriting == true) and in "reading mode" on the + /// remote clients that just receive that the controlling client sends. + /// + /// If you skip writing any value into the stream, PUN will skip the update. Used carefully, this can + /// conserve bandwidth and messages (which have a limit per room/second). + /// + /// Note that OnPhotonSerializeView is not called on remote clients when the sender does not send + /// any update. This can't be used as "x-times per second Update()". + ///
+ /// \ingroup publicApi + void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info); +} + +/// +/// This interface is used as definition of all callback methods of PUN, except OnPhotonSerializeView. Preferably, implement them individually. +/// +/// +/// This interface is available for completeness, more than for actually implementing it in a game. +/// You can implement each method individually in any MonoMehaviour, without implementing IPunCallbacks. +/// +/// PUN calls all callbacks by name. Don't use implement callbacks with fully qualified name. +/// Example: IPunCallbacks.OnConnectedToPhoton won't get called by Unity's SendMessage(). +/// +/// PUN will call these methods on any script that implements them, analog to Unity's events and callbacks. +/// The situation that triggers the call is described per method. +/// +/// OnPhotonSerializeView is NOT called like these callbacks! It's usage frequency is much higher and it is implemented in: IPunObservable. +/// +/// \ingroup publicApi +public interface IPunCallbacks +{ + /// + /// Called when the initial connection got established but before you can use the server. OnJoinedLobby() or OnConnectedToMaster() are called when PUN is ready. + /// + /// + /// This callback is only useful to detect if the server can be reached at all (technically). + /// Most often, it's enough to implement OnFailedToConnectToPhoton() and OnDisconnectedFromPhoton(). + /// + /// OnJoinedLobby() or OnConnectedToMaster() are called when PUN is ready. + /// + /// When this is called, the low level connection is established and PUN will send your AppId, the user, etc in the background. + /// This is not called for transitions from the masterserver to game servers. + /// + void OnConnectedToPhoton(); + + /// + /// Called when the local user/client left a room. + /// + /// + /// When leaving a room, PUN brings you back to the Master Server. + /// Before you can use lobbies and join or create rooms, OnJoinedLobby() or OnConnectedToMaster() will get called again. + /// + void OnLeftRoom(); + + /// + /// Called after switching to a new MasterClient when the current one leaves. + /// + /// + /// This is not called when this client enters a room. + /// The former MasterClient is still in the player list when this method get called. + /// + void OnMasterClientSwitched(PhotonPlayer newMasterClient); + + /// + /// Called when a CreateRoom() call failed. The parameter provides ErrorCode and message (as array). + /// + /// + /// Most likely because the room name is already in use (some other client was faster than you). + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// codeAndMsg[0] is short ErrorCode and codeAndMsg[1] is a string debug msg. + void OnPhotonCreateRoomFailed(object[] codeAndMsg); + + /// + /// Called when a JoinRoom() call failed. The parameter provides ErrorCode and message (as array). + /// + /// + /// Most likely error is that the room does not exist or the room is full (some other client was faster than you). + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// codeAndMsg[0] is short ErrorCode and codeAndMsg[1] is string debug msg. + void OnPhotonJoinRoomFailed(object[] codeAndMsg); + + /// + /// Called when this client created a room and entered it. OnJoinedRoom() will be called as well. + /// + /// + /// This callback is only called on the client which created a room (see PhotonNetwork.CreateRoom). + /// + /// As any client might close (or drop connection) anytime, there is a chance that the + /// creator of a room does not execute OnCreatedRoom. + /// + /// If you need specific room properties or a "start signal", it is safer to implement + /// OnMasterClientSwitched() and to make the new MasterClient check the room's state. + /// + void OnCreatedRoom(); + + /// + /// Called on entering a lobby on the Master Server. The actual room-list updates will call OnReceivedRoomListUpdate(). + /// + /// + /// Note: When PhotonNetwork.autoJoinLobby is false, OnConnectedToMaster() will be called and the room list won't become available. + /// + /// While in the lobby, the roomlist is automatically updated in fixed intervals (which you can't modify). + /// The room list gets available when OnReceivedRoomListUpdate() gets called after OnJoinedLobby(). + /// + void OnJoinedLobby(); + + /// + /// Called after leaving a lobby. + /// + /// + /// When you leave a lobby, [CreateRoom](@ref PhotonNetwork.CreateRoom) and [JoinRandomRoom](@ref PhotonNetwork.JoinRandomRoom) + /// automatically refer to the default lobby. + /// + void OnLeftLobby(); + + /// + /// Called if a connect call to the Photon server failed before the connection was established, followed by a call to OnDisconnectedFromPhoton(). + /// + /// + /// This is called when no connection could be established at all. + /// It differs from OnConnectionFail, which is called when an existing connection fails. + /// + void OnFailedToConnectToPhoton(DisconnectCause cause); + + /// + /// Called when something causes the connection to fail (after it was established), followed by a call to OnDisconnectedFromPhoton(). + /// + /// + /// If the server could not be reached in the first place, OnFailedToConnectToPhoton is called instead. + /// The reason for the error is provided as DisconnectCause. + /// + void OnConnectionFail(DisconnectCause cause); + + /// + /// Called after disconnecting from the Photon server. + /// + /// + /// In some cases, other callbacks are called before OnDisconnectedFromPhoton is called. + /// Examples: OnConnectionFail() and OnFailedToConnectToPhoton(). + /// + void OnDisconnectedFromPhoton(); + + /// + /// Called on all scripts on a GameObject (and children) that have been Instantiated using PhotonNetwork.Instantiate. + /// + /// + /// PhotonMessageInfo parameter provides info about who created the object and when (based off PhotonNetworking.time). + /// + void OnPhotonInstantiate(PhotonMessageInfo info); + + /// + /// Called for any update of the room-listing while in a lobby (PhotonNetwork.insideLobby) on the Master Server. + /// + /// + /// PUN provides the list of rooms by PhotonNetwork.GetRoomList().
+ /// Each item is a RoomInfo which might include custom properties (provided you defined those as lobby-listed when creating a room). + /// + /// Not all types of lobbies provide a listing of rooms to the client. Some are silent and specialized for server-side matchmaking. + ///
+ void OnReceivedRoomListUpdate(); + + /// + /// Called when entering a room (by creating or joining it). Called on all clients (including the Master Client). + /// + /// + /// This method is commonly used to instantiate player characters. + /// If a match has to be started "actively", you can call an [PunRPC](@ref PhotonView.RPC) triggered by a user's button-press or a timer. + /// + /// When this is called, you can usually already access the existing players in the room via PhotonNetwork.playerList. + /// Also, all custom properties should be already available as Room.customProperties. Check Room.playerCount to find out if + /// enough players are in the room to start playing. + /// + void OnJoinedRoom(); + + /// + /// Called when a remote player entered the room. This PhotonPlayer is already added to the playerlist at this time. + /// + /// + /// If your game starts with a certain number of players, this callback can be useful to check the + /// Room.playerCount and find out if you can start. + /// + void OnPhotonPlayerConnected(PhotonPlayer newPlayer); + + /// + /// Called when a remote player left the room. This PhotonPlayer is already removed from the playerlist at this time. + /// + /// + /// When your client calls PhotonNetwork.leaveRoom, PUN will call this method on the remaining clients. + /// When a remote client drops connection or gets closed, this callback gets executed. after a timeout + /// of several seconds. + /// + void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer); + + /// + /// Called when a JoinRandom() call failed. The parameter provides ErrorCode and message. + /// + /// + /// Most likely all rooms are full or no rooms are available.
+ /// When using multiple lobbies (via JoinLobby or TypedLobby), another lobby might have more/fitting rooms.
+ /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + ///
+ /// codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg. + void OnPhotonRandomJoinFailed(object[] codeAndMsg); + + /// + /// Called after the connection to the master is established and authenticated but only when PhotonNetwork.autoJoinLobby is false. + /// + /// + /// If you set PhotonNetwork.autoJoinLobby to true, OnJoinedLobby() will be called instead of this. + /// + /// You can join rooms and create them even without being in a lobby. The default lobby is used in that case. + /// The list of available rooms won't become available unless you join a lobby via PhotonNetwork.joinLobby. + /// + void OnConnectedToMaster(); + + /// + /// Because the concurrent user limit was (temporarily) reached, this client is rejected by the server and disconnecting. + /// + /// + /// When this happens, the user might try again later. You can't create or join rooms in OnPhotonMaxCcuReached(), cause the client will be disconnecting. + /// You can raise the CCU limits with a new license (when you host yourself) or extended subscription (when using the Photon Cloud). + /// The Photon Cloud will mail you when the CCU limit was reached. This is also visible in the Dashboard (webpage). + /// + void OnPhotonMaxCccuReached(); + + /// + /// Called when a room's custom properties changed. The propertiesThatChanged contains all that was set via Room.SetCustomProperties. + /// + /// + /// Since v1.25 this method has one parameter: Hashtable propertiesThatChanged.
+ /// Changing properties must be done by Room.SetCustomProperties, which causes this callback locally, too. + ///
+ /// + void OnPhotonCustomRoomPropertiesChanged(Hashtable propertiesThatChanged); + + /// + /// Called when custom player-properties are changed. Player and the changed properties are passed as object[]. + /// + /// + /// Since v1.25 this method has one parameter: object[] playerAndUpdatedProps, which contains two entries.
+ /// [0] is the affected PhotonPlayer.
+ /// [1] is the Hashtable of properties that changed.
+ /// + /// We are using a object[] due to limitations of Unity's GameObject.SendMessage (which has only one optional parameter). + /// + /// Changing properties must be done by PhotonPlayer.SetCustomProperties, which causes this callback locally, too. + /// + /// Example:
+    /// void OnPhotonPlayerPropertiesChanged(object[] playerAndUpdatedProps) {
+    ///     PhotonPlayer player = playerAndUpdatedProps[0] as PhotonPlayer;
+    ///     Hashtable props = playerAndUpdatedProps[1] as Hashtable;
+    ///     //...
+    /// }
+ ///
+ /// Contains PhotonPlayer and the properties that changed See remarks. + void OnPhotonPlayerPropertiesChanged(object[] playerAndUpdatedProps); + + /// + /// Called when the server sent the response to a FindFriends request and updated PhotonNetwork.Friends. + /// + /// + /// The friends list is available as PhotonNetwork.Friends, listing name, online state and + /// the room a user is in (if any). + /// + void OnUpdatedFriendList(); + + /// + /// Called when the custom authentication failed. Followed by disconnect! + /// + /// + /// Custom Authentication can fail due to user-input, bad tokens/secrets. + /// If authentication is successful, this method is not called. Implement OnJoinedLobby() or OnConnectedToMaster() (as usual). + /// + /// During development of a game, it might also fail due to wrong configuration on the server side. + /// In those cases, logging the debugMessage is very important. + /// + /// Unless you setup a custom authentication service for your app (in the [Dashboard](https://www.photonengine.com/dashboard)), + /// this won't be called! + /// + /// Contains a debug message why authentication failed. This has to be fixed during development time. + void OnCustomAuthenticationFailed(string debugMessage); + + /// + /// Called when your Custom Authentication service responds with additional data. + /// + /// + /// Custom Authentication services can include some custom data in their response. + /// When present, that data is made available in this callback as Dictionary. + /// While the keys of your data have to be strings, the values can be either string or a number (in Json). + /// You need to make extra sure, that the value type is the one you expect. Numbers become (currently) int64. + /// + /// Example: void OnCustomAuthenticationResponse(Dictionary<string, object> data) { ... } + /// + /// + void OnCustomAuthenticationResponse(Dictionary data); + + /// + /// Called by PUN when the response to a WebRPC is available. See PhotonNetwork.WebRPC. + /// + /// + /// Important: The response.ReturnCode is 0 if Photon was able to reach your web-service.
+ /// The content of the response is what your web-service sent. You can create a WebRpcResponse from it.
+ /// Example: WebRpcResponse webResponse = new WebRpcResponse(operationResponse);
+ /// + /// Please note: Class OperationResponse is in a namespace which needs to be "used":
+ /// using ExitGames.Client.Photon; // includes OperationResponse (and other classes) + /// + /// The OperationResponse.ReturnCode by Photon is:
+    ///  0 for "OK"
+    /// -3 for "Web-Service not configured" (see Dashboard / WebHooks)
+    /// -5 for "Web-Service does now have RPC path/name" (at least for Azure)
+ ///
+ void OnWebRpcResponse(OperationResponse response); + + /// + /// Called when another player requests ownership of a PhotonView from you (the current owner). + /// + /// + /// The parameter viewAndPlayer contains: + /// + /// PhotonView view = viewAndPlayer[0] as PhotonView; + /// + /// PhotonPlayer requestingPlayer = viewAndPlayer[1] as PhotonPlayer; + /// + /// The PhotonView is viewAndPlayer[0] and the requesting player is viewAndPlayer[1]. + void OnOwnershipRequest(object[] viewAndPlayer); + + /// + /// Called when the Master Server sent an update for the Lobby Statistics, updating PhotonNetwork.LobbyStatistics. + /// + /// + /// This callback has two preconditions: + /// EnableLobbyStatistics must be set to true, before this client connects. + /// And the client has to be connected to the Master Server, which is providing the info about lobbies. + /// + void OnLobbyStatisticsUpdate(); + + /// + /// Called when a remote Photon Player activity changed. This will be called ONLY if PlayerTtl is greater than 0. + /// + /// + /// Use PhotonPlayer.IsInactive to check a player's current activity state. + /// + /// Example: void OnPhotonPlayerActivityChanged(PhotonPlayer otherPlayer) {...} + /// + /// This callback has precondition: + /// PlayerTtl must be greater than 0. + /// + void OnPhotonPlayerActivityChanged(PhotonPlayer otherPlayer); + + /// + /// Called when ownership of a PhotonView is transfered to another player. + /// + /// + /// The parameter viewAndPlayers contains: + /// + /// PhotonView view = viewAndPlayers[0] as PhotonView; + /// + /// PhotonPlayer newOwner = viewAndPlayers[1] as PhotonPlayer; + /// + /// PhotonPlayer oldOwner = viewAndPlayers[2] as PhotonPlayer; + /// + /// void OnOwnershipTransfered(object[] viewAndPlayers) {} // + void OnOwnershipTransfered(object[] viewAndPlayers); +} + +/// +/// Defines all the methods that a Object Pool must implement, so that PUN can use it. +/// +/// +/// To use a Object Pool for instantiation, you can set PhotonNetwork.ObjectPool. +/// That is used for all objects, as long as ObjectPool is not null. +/// The pool has to return a valid non-null GameObject when PUN calls Instantiate. +/// Also, the position and rotation must be applied. +/// +/// Please note that pooled GameObjects don't get the usual Awake and Start calls. +/// OnEnable will be called (by your pool) but the networking values are not updated yet +/// when that happens. OnEnable will have outdated values for PhotonView (isMine, etc.). +/// You might have to adjust scripts. +/// +/// PUN will call OnPhotonInstantiate (see IPunCallbacks). This should be used to +/// setup the re-used object with regards to networking values / ownership. +/// +public interface IPunPrefabPool +{ + /// + /// This is called when PUN wants to create a new instance of an entity prefab. Must return valid GameObject with PhotonView. + /// + /// The id of this prefab. + /// The position we want the instance instantiated at. + /// The rotation we want the instance to take. + /// The newly instantiated object, or null if a prefab with was not found. + GameObject Instantiate(string prefabId, Vector3 position, Quaternion rotation); + + /// + /// This is called when PUN wants to destroy the instance of an entity prefab. + /// + /// + /// A pool needs some way to find out which type of GameObject got returned via Destroy(). + /// It could be a tag or name or anything similar. + /// + /// The instance to destroy. + void Destroy(GameObject gameObject); +} + + +namespace Photon +{ + using Hashtable = ExitGames.Client.Photon.Hashtable; + + /// + /// This class adds the property photonView, while logging a warning when your game still uses the networkView. + /// + public class MonoBehaviour : UnityEngine.MonoBehaviour + { + /// Cache field for the PhotonView on this GameObject. + private PhotonView pvCache = null; + + /// A cached reference to a PhotonView on this GameObject. + /// + /// If you intend to work with a PhotonView in a script, it's usually easier to write this.photonView. + /// + /// If you intend to remove the PhotonView component from the GameObject but keep this Photon.MonoBehaviour, + /// avoid this reference or modify this code to use PhotonView.Get(obj) instead. + /// + public PhotonView photonView + { + get + { + if (pvCache == null) + { + pvCache = PhotonView.Get(this); + } + return pvCache; + } + } + + #if !UNITY_MIN_5_3 + /// + /// This property is only here to notify developers when they use the outdated value. + /// + /// + /// If Unity 5.x logs a compiler warning "Use the new keyword if hiding was intended" or + /// "The new keyword is not required", you may suffer from an Editor issue. + /// Try to modify networkView with a if-def condition: + /// + /// #if UNITY_EDITOR + /// new + /// #endif + /// public PhotonView networkView + /// + [Obsolete("Use a photonView")] + public new PhotonView networkView + { + get + { + Debug.LogWarning("Why are you still using networkView? should be PhotonView?"); + return PhotonView.Get(this); + } + } + #endif + } + + + /// + /// This class provides a .photonView and all callbacks/events that PUN can call. Override the events/methods you want to use. + /// + /// + /// By extending this class, you can implement individual methods as override. + /// + /// Visual Studio and MonoDevelop should provide the list of methods when you begin typing "override". + /// Your implementation does not have to call "base.method()". + /// + /// This class implements IPunCallbacks, which is used as definition of all PUN callbacks. + /// Don't implement IPunCallbacks in your classes. Instead, implent PunBehaviour or individual methods. + /// + /// \ingroup publicApi + // the documentation for the interface methods becomes inherited when Doxygen builds it. + public class PunBehaviour : Photon.MonoBehaviour, IPunCallbacks + { + /// + /// Called when the initial connection got established but before you can use the server. OnJoinedLobby() or OnConnectedToMaster() are called when PUN is ready. + /// + /// + /// This callback is only useful to detect if the server can be reached at all (technically). + /// Most often, it's enough to implement OnFailedToConnectToPhoton() and OnDisconnectedFromPhoton(). + /// + /// OnJoinedLobby() or OnConnectedToMaster() are called when PUN is ready. + /// + /// When this is called, the low level connection is established and PUN will send your AppId, the user, etc in the background. + /// This is not called for transitions from the masterserver to game servers. + /// + public virtual void OnConnectedToPhoton() + { + } + + /// + /// Called when the local user/client left a room. + /// + /// + /// When leaving a room, PUN brings you back to the Master Server. + /// Before you can use lobbies and join or create rooms, OnJoinedLobby() or OnConnectedToMaster() will get called again. + /// + public virtual void OnLeftRoom() + { + } + + /// + /// Called after switching to a new MasterClient when the current one leaves. + /// + /// + /// This is not called when this client enters a room. + /// The former MasterClient is still in the player list when this method get called. + /// + public virtual void OnMasterClientSwitched(PhotonPlayer newMasterClient) + { + } + + /// + /// Called when a CreateRoom() call failed. The parameter provides ErrorCode and message (as array). + /// + /// + /// Most likely because the room name is already in use (some other client was faster than you). + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// codeAndMsg[0] is a short ErrorCode and codeAndMsg[1] is a string debug msg. + public virtual void OnPhotonCreateRoomFailed(object[] codeAndMsg) + { + } + + /// + /// Called when a JoinRoom() call failed. The parameter provides ErrorCode and message (as array). + /// + /// + /// Most likely error is that the room does not exist or the room is full (some other client was faster than you). + /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + /// + /// codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg. + public virtual void OnPhotonJoinRoomFailed(object[] codeAndMsg) + { + } + + /// + /// Called when this client created a room and entered it. OnJoinedRoom() will be called as well. + /// + /// + /// This callback is only called on the client which created a room (see PhotonNetwork.CreateRoom). + /// + /// As any client might close (or drop connection) anytime, there is a chance that the + /// creator of a room does not execute OnCreatedRoom. + /// + /// If you need specific room properties or a "start signal", it is safer to implement + /// OnMasterClientSwitched() and to make the new MasterClient check the room's state. + /// + public virtual void OnCreatedRoom() + { + } + + /// + /// Called on entering a lobby on the Master Server. The actual room-list updates will call OnReceivedRoomListUpdate(). + /// + /// + /// Note: When PhotonNetwork.autoJoinLobby is false, OnConnectedToMaster() will be called and the room list won't become available. + /// + /// While in the lobby, the roomlist is automatically updated in fixed intervals (which you can't modify). + /// The room list gets available when OnReceivedRoomListUpdate() gets called after OnJoinedLobby(). + /// + public virtual void OnJoinedLobby() + { + } + + /// + /// Called after leaving a lobby. + /// + /// + /// When you leave a lobby, [CreateRoom](@ref PhotonNetwork.CreateRoom) and [JoinRandomRoom](@ref PhotonNetwork.JoinRandomRoom) + /// automatically refer to the default lobby. + /// + public virtual void OnLeftLobby() + { + } + + /// + /// Called if a connect call to the Photon server failed before the connection was established, followed by a call to OnDisconnectedFromPhoton(). + /// + /// + /// This is called when no connection could be established at all. + /// It differs from OnConnectionFail, which is called when an existing connection fails. + /// + public virtual void OnFailedToConnectToPhoton(DisconnectCause cause) + { + } + + /// + /// Called after disconnecting from the Photon server. + /// + /// + /// In some cases, other callbacks are called before OnDisconnectedFromPhoton is called. + /// Examples: OnConnectionFail() and OnFailedToConnectToPhoton(). + /// + public virtual void OnDisconnectedFromPhoton() + { + } + + /// + /// Called when something causes the connection to fail (after it was established), followed by a call to OnDisconnectedFromPhoton(). + /// + /// + /// If the server could not be reached in the first place, OnFailedToConnectToPhoton is called instead. + /// The reason for the error is provided as DisconnectCause. + /// + public virtual void OnConnectionFail(DisconnectCause cause) + { + } + + /// + /// Called on all scripts on a GameObject (and children) that have been Instantiated using PhotonNetwork.Instantiate. + /// + /// + /// PhotonMessageInfo parameter provides info about who created the object and when (based off PhotonNetworking.time). + /// + public virtual void OnPhotonInstantiate(PhotonMessageInfo info) + { + } + + /// + /// Called for any update of the room-listing while in a lobby (PhotonNetwork.insideLobby) on the Master Server. + /// + /// + /// PUN provides the list of rooms by PhotonNetwork.GetRoomList().
+ /// Each item is a RoomInfo which might include custom properties (provided you defined those as lobby-listed when creating a room). + /// + /// Not all types of lobbies provide a listing of rooms to the client. Some are silent and specialized for server-side matchmaking. + ///
+ public virtual void OnReceivedRoomListUpdate() + { + } + + /// + /// Called when entering a room (by creating or joining it). Called on all clients (including the Master Client). + /// + /// + /// This method is commonly used to instantiate player characters. + /// If a match has to be started "actively", you can call an [PunRPC](@ref PhotonView.RPC) triggered by a user's button-press or a timer. + /// + /// When this is called, you can usually already access the existing players in the room via PhotonNetwork.playerList. + /// Also, all custom properties should be already available as Room.customProperties. Check Room.playerCount to find out if + /// enough players are in the room to start playing. + /// + public virtual void OnJoinedRoom() + { + } + + /// + /// Called when a remote player entered the room. This PhotonPlayer is already added to the playerlist at this time. + /// + /// + /// If your game starts with a certain number of players, this callback can be useful to check the + /// Room.playerCount and find out if you can start. + /// + public virtual void OnPhotonPlayerConnected(PhotonPlayer newPlayer) + { + } + + /// + /// Called when a remote player left the room. This PhotonPlayer is already removed from the playerlist at this time. + /// + /// + /// When your client calls PhotonNetwork.leaveRoom, PUN will call this method on the remaining clients. + /// When a remote client drops connection or gets closed, this callback gets executed. after a timeout + /// of several seconds. + /// + public virtual void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer) + { + } + + /// + /// Called when a JoinRandom() call failed. The parameter provides ErrorCode and message. + /// + /// + /// Most likely all rooms are full or no rooms are available.
+ /// When using multiple lobbies (via JoinLobby or TypedLobby), another lobby might have more/fitting rooms.
+ /// PUN logs some info if the PhotonNetwork.logLevel is >= PhotonLogLevel.Informational. + ///
+ /// codeAndMsg[0] is short ErrorCode. codeAndMsg[1] is string debug msg. + public virtual void OnPhotonRandomJoinFailed(object[] codeAndMsg) + { + } + + /// + /// Called after the connection to the master is established and authenticated but only when PhotonNetwork.autoJoinLobby is false. + /// + /// + /// If you set PhotonNetwork.autoJoinLobby to true, OnJoinedLobby() will be called instead of this. + /// + /// You can join rooms and create them even without being in a lobby. The default lobby is used in that case. + /// The list of available rooms won't become available unless you join a lobby via PhotonNetwork.joinLobby. + /// + public virtual void OnConnectedToMaster() + { + } + + /// + /// Because the concurrent user limit was (temporarily) reached, this client is rejected by the server and disconnecting. + /// + /// + /// When this happens, the user might try again later. You can't create or join rooms in OnPhotonMaxCcuReached(), cause the client will be disconnecting. + /// You can raise the CCU limits with a new license (when you host yourself) or extended subscription (when using the Photon Cloud). + /// The Photon Cloud will mail you when the CCU limit was reached. This is also visible in the Dashboard (webpage). + /// + public virtual void OnPhotonMaxCccuReached() + { + } + + /// + /// Called when a room's custom properties changed. The propertiesThatChanged contains all that was set via Room.SetCustomProperties. + /// + /// + /// Since v1.25 this method has one parameter: Hashtable propertiesThatChanged.
+ /// Changing properties must be done by Room.SetCustomProperties, which causes this callback locally, too. + ///
+ /// + public virtual void OnPhotonCustomRoomPropertiesChanged(Hashtable propertiesThatChanged) + { + } + + /// + /// Called when custom player-properties are changed. Player and the changed properties are passed as object[]. + /// + /// + /// Since v1.25 this method has one parameter: object[] playerAndUpdatedProps, which contains two entries.
+ /// [0] is the affected PhotonPlayer.
+ /// [1] is the Hashtable of properties that changed.
+ /// + /// We are using a object[] due to limitations of Unity's GameObject.SendMessage (which has only one optional parameter). + /// + /// Changing properties must be done by PhotonPlayer.SetCustomProperties, which causes this callback locally, too. + /// + /// Example:
+        /// void OnPhotonPlayerPropertiesChanged(object[] playerAndUpdatedProps) {
+        ///     PhotonPlayer player = playerAndUpdatedProps[0] as PhotonPlayer;
+        ///     Hashtable props = playerAndUpdatedProps[1] as Hashtable;
+        ///     //...
+        /// }
+ ///
+ /// Contains PhotonPlayer and the properties that changed See remarks. + public virtual void OnPhotonPlayerPropertiesChanged(object[] playerAndUpdatedProps) + { + } + + /// + /// Called when the server sent the response to a FindFriends request and updated PhotonNetwork.Friends. + /// + /// + /// The friends list is available as PhotonNetwork.Friends, listing name, online state and + /// the room a user is in (if any). + /// + public virtual void OnUpdatedFriendList() + { + } + + /// + /// Called when the custom authentication failed. Followed by disconnect! + /// + /// + /// Custom Authentication can fail due to user-input, bad tokens/secrets. + /// If authentication is successful, this method is not called. Implement OnJoinedLobby() or OnConnectedToMaster() (as usual). + /// + /// During development of a game, it might also fail due to wrong configuration on the server side. + /// In those cases, logging the debugMessage is very important. + /// + /// Unless you setup a custom authentication service for your app (in the [Dashboard](https://www.photonengine.com/dashboard)), + /// this won't be called! + /// + /// Contains a debug message why authentication failed. This has to be fixed during development time. + public virtual void OnCustomAuthenticationFailed(string debugMessage) + { + } + + /// + /// Called when your Custom Authentication service responds with additional data. + /// + /// + /// Custom Authentication services can include some custom data in their response. + /// When present, that data is made available in this callback as Dictionary. + /// While the keys of your data have to be strings, the values can be either string or a number (in Json). + /// You need to make extra sure, that the value type is the one you expect. Numbers become (currently) int64. + /// + /// Example: void OnCustomAuthenticationResponse(Dictionary<string, object> data) { ... } + /// + /// + public virtual void OnCustomAuthenticationResponse(Dictionary data) + { + } + + /// + /// Called by PUN when the response to a WebRPC is available. See PhotonNetwork.WebRPC. + /// + /// + /// Important: The response.ReturnCode is 0 if Photon was able to reach your web-service. + /// The content of the response is what your web-service sent. You can create a WebResponse instance from it. + /// Example: WebRpcResponse webResponse = new WebRpcResponse(operationResponse); + /// + /// Please note: Class OperationResponse is in a namespace which needs to be "used": + /// using ExitGames.Client.Photon; // includes OperationResponse (and other classes) + /// + /// The OperationResponse.ReturnCode by Photon is:
+        ///  0 for "OK"
+        /// -3 for "Web-Service not configured" (see Dashboard / WebHooks)
+        /// -5 for "Web-Service does now have RPC path/name" (at least for Azure)
+ ///
+ public virtual void OnWebRpcResponse(OperationResponse response) + { + } + + /// + /// Called when another player requests ownership of a PhotonView from you (the current owner). + /// + /// + /// The parameter viewAndPlayer contains: + /// + /// PhotonView view = viewAndPlayer[0] as PhotonView; + /// + /// PhotonPlayer requestingPlayer = viewAndPlayer[1] as PhotonPlayer; + /// + /// The PhotonView is viewAndPlayer[0] and the requesting player is viewAndPlayer[1]. + public virtual void OnOwnershipRequest(object[] viewAndPlayer) + { + } + + /// + /// Called when the Master Server sent an update for the Lobby Statistics, updating PhotonNetwork.LobbyStatistics. + /// + /// + /// This callback has two preconditions: + /// EnableLobbyStatistics must be set to true, before this client connects. + /// And the client has to be connected to the Master Server, which is providing the info about lobbies. + /// + public virtual void OnLobbyStatisticsUpdate() + { + } + + /// + /// Called when a remote Photon Player activity changed. This will be called ONLY if PlayerTtl is greater than 0. + /// + /// + /// Use PhotonPlayer.IsInactive to check a player's current activity state. + /// + /// Example: void OnPhotonPlayerActivityChanged(PhotonPlayer otherPlayer) {...} + /// + /// This callback has precondition: + /// PlayerTtl must be greater than 0. + /// + public virtual void OnPhotonPlayerActivityChanged(PhotonPlayer otherPlayer) + { + } + + /// + /// Called when ownership of a PhotonView is transfered to another player. + /// + /// + /// The parameter viewAndPlayers contains: + /// + /// PhotonView view = viewAndPlayers[0] as PhotonView; + /// + /// PhotonPlayer newOwner = viewAndPlayers[1] as PhotonPlayer; + /// + /// PhotonPlayer oldOwner = viewAndPlayers[2] as PhotonPlayer; + /// + /// void OnOwnershipTransfered(object[] viewAndPlayers) {} // + public virtual void OnOwnershipTransfered(object[] viewAndPlayers) + { + } + } +} + + +/// +/// Container class for info about a particular message, RPC or update. +/// +/// \ingroup publicApi +public struct PhotonMessageInfo +{ + private readonly int timeInt; + public readonly PhotonPlayer sender; + public readonly PhotonView photonView; + + public PhotonMessageInfo(PhotonPlayer player, int timestamp, PhotonView view) + { + this.sender = player; + this.timeInt = timestamp; + this.photonView = view; + } + + public double timestamp + { + get + { + uint u = (uint)this.timeInt; + double t = u; + return t / 1000; + } + } + + public override string ToString() + { + return string.Format("[PhotonMessageInfo: Sender='{1}' Senttime={0}]", this.timestamp, this.sender); + } +} + + + +/// Defines Photon event-codes as used by PUN. +internal class PunEvent +{ + public const byte RPC = 200; + public const byte SendSerialize = 201; + public const byte Instantiation = 202; + public const byte CloseConnection = 203; + public const byte Destroy = 204; + public const byte RemoveCachedRPCs = 205; + public const byte SendSerializeReliable = 206; // TS: added this but it's not really needed anymore + public const byte DestroyPlayer = 207; // TS: added to make others remove all GOs of a player + public const byte AssignMaster = 208; // TS: added to assign someone master client (overriding the current) + public const byte OwnershipRequest = 209; + public const byte OwnershipTransfer = 210; + public const byte VacantViewIds = 211; +} + +/// +/// This container is used in OnPhotonSerializeView() to either provide incoming data of a PhotonView or for you to provide it. +/// +/// +/// The isWriting property will be true if this client is the "owner" of the PhotonView (and thus the GameObject). +/// Add data to the stream and it's sent via the server to the other players in a room. +/// On the receiving side, isWriting is false and the data should be read. +/// +/// Send as few data as possible to keep connection quality up. An empty PhotonStream will not be sent. +/// +/// Use either Serialize() for reading and writing or SendNext() and ReceiveNext(). The latter two are just explicit read and +/// write methods but do about the same work as Serialize(). It's a matter of preference which methods you use. +/// +/// +/// \ingroup publicApi +public class PhotonStream +{ + bool write = false; + private Queue writeData; + private object[] readData; + internal byte currentItem = 0; //Used to track the next item to receive. + + /// + /// Creates a stream and initializes it. Used by PUN internally. + /// + public PhotonStream(bool write, object[] incomingData) + { + this.write = write; + if (incomingData == null) + { + this.writeData = new Queue(10); + } + else + { + this.readData = incomingData; + } + } + + public void SetReadStream(object[] incomingData, byte pos = 0) + { + this.readData = incomingData; + this.currentItem = pos; + this.write = false; + } + + internal void ResetWriteStream() + { + writeData.Clear(); + } + + /// If true, this client should add data to the stream to send it. + public bool isWriting + { + get { return this.write; } + } + + /// If true, this client should read data send by another client. + public bool isReading + { + get { return !this.write; } + } + + /// Count of items in the stream. + public int Count + { + get + { + return (this.isWriting) ? this.writeData.Count : this.readData.Length; + } + } + + /// Read next piece of data from the stream when isReading is true. + public object ReceiveNext() + { + if (this.write) + { + Debug.LogError("Error: you cannot read this stream that you are writing!"); + return null; + } + + object obj = this.readData[this.currentItem]; + this.currentItem++; + return obj; + } + + /// Read next piece of data from the stream without advancing the "current" item. + public object PeekNext() + { + if (this.write) + { + Debug.LogError("Error: you cannot read this stream that you are writing!"); + return null; + } + + object obj = this.readData[this.currentItem]; + //this.currentItem++; + return obj; + } + + /// Add another piece of data to send it when isWriting is true. + public void SendNext(object obj) + { + if (!this.write) + { + Debug.LogError("Error: you cannot write/send to this stream that you are reading!"); + return; + } + + this.writeData.Enqueue(obj); + } + + /// Turns the stream into a new object[]. + public object[] ToArray() + { + return this.isWriting ? this.writeData.ToArray() : this.readData; + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref bool myBool) + { + if (this.write) + { + this.writeData.Enqueue(myBool); + } + else + { + if (this.readData.Length > currentItem) + { + myBool = (bool)this.readData[currentItem]; + this.currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref int myInt) + { + if (write) + { + this.writeData.Enqueue(myInt); + } + else + { + if (this.readData.Length > currentItem) + { + myInt = (int)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref string value) + { + if (write) + { + this.writeData.Enqueue(value); + } + else + { + if (this.readData.Length > currentItem) + { + value = (string)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref char value) + { + if (write) + { + this.writeData.Enqueue(value); + } + else + { + if (this.readData.Length > currentItem) + { + value = (char)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref short value) + { + if (write) + { + this.writeData.Enqueue(value); + } + else + { + if (this.readData.Length > currentItem) + { + value = (short)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref float obj) + { + if (write) + { + this.writeData.Enqueue(obj); + } + else + { + if (this.readData.Length > currentItem) + { + obj = (float)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref PhotonPlayer obj) + { + if (write) + { + this.writeData.Enqueue(obj); + } + else + { + if (this.readData.Length > currentItem) + { + obj = (PhotonPlayer)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref Vector3 obj) + { + if (write) + { + this.writeData.Enqueue(obj); + } + else + { + if (this.readData.Length > currentItem) + { + obj = (Vector3)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref Vector2 obj) + { + if (write) + { + this.writeData.Enqueue(obj); + } + else + { + if (this.readData.Length > currentItem) + { + obj = (Vector2)this.readData[currentItem]; + currentItem++; + } + } + } + + /// + /// Will read or write the value, depending on the stream's isWriting value. + /// + public void Serialize(ref Quaternion obj) + { + if (write) + { + this.writeData.Enqueue(obj); + } + else + { + if (this.readData.Length > currentItem) + { + obj = (Quaternion)this.readData[currentItem]; + currentItem++; + } + } + } +} + + +#if UNITY_5_0 || !UNITY_5 && !UNITY_2017 +/// Empty implementation of the upcoming HelpURL of Unity 5.1. This one is only for compatibility of attributes. +/// http://feedback.unity3d.com/suggestions/override-component-documentation-slash-help-link +public class HelpURL : Attribute +{ + public HelpURL(string url) + { + } +} +#endif + + +#if !UNITY_MIN_5_3 +// in Unity 5.3 and up, we have to use a SceneManager. This section re-implements it for older Unity versions + +#if UNITY_EDITOR +namespace UnityEditor.SceneManagement +{ + /// Minimal implementation of the EditorSceneManager for older Unity, up to v5.2. + public class EditorSceneManager + { + public static int loadedSceneCount + { + get { return string.IsNullOrEmpty(UnityEditor.EditorApplication.currentScene) ? -1 : 1; } + } + + public static void OpenScene(string name) + { + UnityEditor.EditorApplication.OpenScene(name); + } + + public static void SaveOpenScenes() + { + UnityEditor.EditorApplication.SaveScene(); + } + + public static void SaveCurrentModifiedScenesIfUserWantsTo() + { + UnityEditor.EditorApplication.SaveCurrentSceneIfUserWantsTo(); + } + } +} +#endif + +namespace UnityEngine.SceneManagement +{ + /// Minimal implementation of the SceneManager for older Unity, up to v5.2. + public class SceneManager + { + public static void LoadScene(string name) + { + Application.LoadLevel(name); + } + + public static void LoadScene(int buildIndex) + { + Application.LoadLevel(buildIndex); + } + } +} + +#endif + + +public class SceneManagerHelper +{ + public static string ActiveSceneName + { + get + { + #if UNITY_MIN_5_3 + UnityEngine.SceneManagement.Scene s = UnityEngine.SceneManagement.SceneManager.GetActiveScene(); + return s.name; + #else + return Application.loadedLevelName; + #endif + } + } + + public static int ActiveSceneBuildIndex + { + get + { + #if UNITY_MIN_5_3 + return UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex; + #else + return Application.loadedLevel; + #endif + } + } + + +#if UNITY_EDITOR + public static string EditorActiveSceneName + { + get + { + #if UNITY_MIN_5_3 + return UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene().name; + #else + return System.IO.Path.GetFileNameWithoutExtension(UnityEditor.EditorApplication.currentScene); + #endif + } + } +#endif +} + + +/// Reads an operation response of a WebRpc and provides convenient access to most common values. +/// +/// See method PhotonNetwork.WebRpc.
+/// Create a WebRpcResponse to access common result values.
+/// The operationResponse.OperationCode should be: OperationCode.WebRpc.
+///
+public class WebRpcResponse +{ + /// Name of the WebRpc that was called. + public string Name { get; private set; } + /// ReturnCode of the WebService that answered the WebRpc. + /// + /// 0 is commonly used to signal success.
+ /// -1 tells you: Got no ReturnCode from WebRpc service.
+ /// Other ReturnCodes are defined by the individual WebRpc and service. + ///
+ public int ReturnCode { get; private set; } + /// Might be empty or null. + public string DebugMessage { get; private set; } + /// Other key/values returned by the webservice that answered the WebRpc. + public Dictionary Parameters { get; private set; } + + /// An OperationResponse for a WebRpc is needed to read it's values. + public WebRpcResponse(OperationResponse response) + { + object value; + response.Parameters.TryGetValue(ParameterCode.UriPath, out value); + this.Name = value as string; + + response.Parameters.TryGetValue(ParameterCode.WebRpcReturnCode, out value); + this.ReturnCode = (value != null) ? (byte)value : -1; + + response.Parameters.TryGetValue(ParameterCode.WebRpcParameters, out value); + this.Parameters = value as Dictionary; + + response.Parameters.TryGetValue(ParameterCode.WebRpcReturnMessage, out value); + this.DebugMessage = value as string; + } + + /// Turns the response into an easier to read string. + /// String resembling the result. + public string ToStringFull() + { + return string.Format("{0}={2}: {1} \"{3}\"", Name, SupportClassPun.DictionaryToString(Parameters), ReturnCode, DebugMessage); + } +} + +/** +public class PBitStream +{ + List streamBytes; + private int currentByte; + private int totalBits = 0; + + public int ByteCount + { + get { return BytesForBits(this.totalBits); } + } + + public int BitCount + { + get { return this.totalBits; } + private set { this.totalBits = value; } + } + + public PBitStream() + { + this.streamBytes = new List(1); + } + + public PBitStream(int bitCount) + { + this.streamBytes = new List(BytesForBits(bitCount)); + } + + public PBitStream(IEnumerable bytes, int bitCount) + { + this.streamBytes = new List(bytes); + this.BitCount = bitCount; + } + + public static int BytesForBits(int bitCount) + { + if (bitCount <= 0) + { + return 0; + } + + return ((bitCount - 1) / 8) + 1; + } + + public void Add(bool val) + { + int bytePos = this.totalBits / 8; + if (bytePos > this.streamBytes.Count-1 || this.totalBits == 0) + { + this.streamBytes.Add(0); + } + + if (val) + { + int currentByteBit = 7 - (this.totalBits % 8); + this.streamBytes[bytePos] |= (byte)(1 << currentByteBit); + } + + this.totalBits++; + } + + public byte[] ToBytes() + { + return this.streamBytes.ToArray(); + } + + public int Position { get; set; } + + public bool GetNext() + { + if (this.Position > this.totalBits) + { + throw new Exception("End of PBitStream reached. Can't read more."); + } + + return Get(this.Position++); + } + + public bool Get(int bitIndex) + { + int byteIndex = bitIndex / 8; + int bitInByIndex = 7 - (bitIndex % 8); + return ((this.streamBytes[byteIndex] & (byte)(1 << bitInByIndex)) > 0); + } + + public void Set(int bitIndex, bool value) + { + int byteIndex = bitIndex / 8; + int bitInByIndex = 7 - (bitIndex % 8); + this.streamBytes[byteIndex] |= (byte)(1 << bitInByIndex); + } +} +**/ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonClasses.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonClasses.cs.meta new file mode 100644 index 0000000..94dc773 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonClasses.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f40f16a0227e5c14293e269c875c0f9b +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs new file mode 100644 index 0000000..704dd38 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs @@ -0,0 +1,330 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Networking +// +// -------------------------------------------------------------------------------------------------------------------- + +#if UNITY_5 && (!UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 && !UNITY_5_3) || UNITY_2017 +#define UNITY_MIN_5_4 +#endif + +using System; +using System.Collections; +using System.Diagnostics; +using ExitGames.Client.Photon; +using UnityEngine; +using Debug = UnityEngine.Debug; +using Hashtable = ExitGames.Client.Photon.Hashtable; +using SupportClassPun = ExitGames.Client.Photon.SupportClass; + +#if UNITY_5_5_OR_NEWER +using UnityEngine.Profiling; +#endif + +/// +/// Internal Monobehaviour that allows Photon to run an Update loop. +/// +internal class PhotonHandler : MonoBehaviour +{ + public static PhotonHandler SP; + + public int updateInterval; // time [ms] between consecutive SendOutgoingCommands calls + + public int updateIntervalOnSerialize; // time [ms] between consecutive RunViewUpdate calls (sending syncs, etc) + + private int nextSendTickCount = 0; + + private int nextSendTickCountOnSerialize = 0; + + private static bool sendThreadShouldRun; + + private static Stopwatch timerToStopConnectionInBackground; + + protected internal static bool AppQuits; + + protected internal static Type PingImplementation = null; + + protected void Awake() + { + if (SP != null && SP != this && SP.gameObject != null) + { + GameObject.DestroyImmediate(SP.gameObject); + } + + SP = this; + DontDestroyOnLoad(this.gameObject); + + this.updateInterval = 1000 / PhotonNetwork.sendRate; + this.updateIntervalOnSerialize = 1000 / PhotonNetwork.sendRateOnSerialize; + + PhotonHandler.StartFallbackSendAckThread(); + } + + + #if UNITY_MIN_5_4 + + protected void Start() + { + UnityEngine.SceneManagement.SceneManager.sceneLoaded += (scene, loadingMode) => + { + PhotonNetwork.networkingPeer.NewSceneLoaded(); + PhotonNetwork.networkingPeer.SetLevelInPropsIfSynced(SceneManagerHelper.ActiveSceneName); + }; + } + + #else + + /// Called by Unity after a new level was loaded. + protected void OnLevelWasLoaded(int level) + { + PhotonNetwork.networkingPeer.NewSceneLoaded(); + PhotonNetwork.networkingPeer.SetLevelInPropsIfSynced(SceneManagerHelper.ActiveSceneName); + } + + #endif + + + /// Called by Unity when the application is closed. Disconnects. + protected void OnApplicationQuit() + { + PhotonHandler.AppQuits = true; + PhotonHandler.StopFallbackSendAckThread(); + PhotonNetwork.Disconnect(); + } + + /// + /// Called by Unity when the application gets paused (e.g. on Android when in background). + /// + /// + /// Sets a disconnect timer when PhotonNetwork.BackgroundTimeout > 0.1f. See PhotonNetwork.BackgroundTimeout. + /// + /// Some versions of Unity will give false values for pause on Android (and possibly on other platforms). + /// + /// If the app pauses. + protected void OnApplicationPause(bool pause) + { + if (PhotonNetwork.BackgroundTimeout > 0.1f) + { + if (timerToStopConnectionInBackground == null) + { + timerToStopConnectionInBackground = new Stopwatch(); + } + timerToStopConnectionInBackground.Reset(); + + if (pause) + { + timerToStopConnectionInBackground.Start(); + } + else + { + timerToStopConnectionInBackground.Stop(); + } + } + } + + /// Called by Unity when the play mode ends. Used to cleanup. + protected void OnDestroy() + { + //Debug.Log("OnDestroy on PhotonHandler."); + PhotonHandler.StopFallbackSendAckThread(); + //PhotonNetwork.Disconnect(); + } + + protected void Update() + { + if (PhotonNetwork.networkingPeer == null) + { + Debug.LogError("NetworkPeer broke!"); + return; + } + + if (PhotonNetwork.connectionStateDetailed == ClientState.PeerCreated || PhotonNetwork.connectionStateDetailed == ClientState.Disconnected || PhotonNetwork.offlineMode) + { + return; + } + + // the messageQueue might be paused. in that case a thread will send acknowledgements only. nothing else to do here. + if (!PhotonNetwork.isMessageQueueRunning) + { + return; + } + + bool doDispatch = true; + while (PhotonNetwork.isMessageQueueRunning && doDispatch) + { + // DispatchIncomingCommands() returns true of it found any command to dispatch (event, result or state change) + Profiler.BeginSample("DispatchIncomingCommands"); + doDispatch = PhotonNetwork.networkingPeer.DispatchIncomingCommands(); + Profiler.EndSample(); + } + + int currentMsSinceStart = (int)(Time.realtimeSinceStartup * 1000); // avoiding Environment.TickCount, which could be negative on long-running platforms + if (PhotonNetwork.isMessageQueueRunning && currentMsSinceStart > this.nextSendTickCountOnSerialize) + { + PhotonNetwork.networkingPeer.RunViewUpdate(); + this.nextSendTickCountOnSerialize = currentMsSinceStart + this.updateIntervalOnSerialize; + this.nextSendTickCount = 0; // immediately send when synchronization code was running + } + + currentMsSinceStart = (int)(Time.realtimeSinceStartup * 1000); + if (currentMsSinceStart > this.nextSendTickCount) + { + bool doSend = true; + while (PhotonNetwork.isMessageQueueRunning && doSend) + { + // Send all outgoing commands + Profiler.BeginSample("SendOutgoingCommands"); + doSend = PhotonNetwork.networkingPeer.SendOutgoingCommands(); + Profiler.EndSample(); + } + + this.nextSendTickCount = currentMsSinceStart + this.updateInterval; + } + } + + protected void OnJoinedRoom() + { + PhotonNetwork.networkingPeer.LoadLevelIfSynced(); + } + + protected void OnCreatedRoom() + { + PhotonNetwork.networkingPeer.SetLevelInPropsIfSynced(SceneManagerHelper.ActiveSceneName); + } + + public static void StartFallbackSendAckThread() + { + #if !UNITY_WEBGL + if (sendThreadShouldRun) + { + return; + } + + sendThreadShouldRun = true; + SupportClassPun.StartBackgroundCalls(FallbackSendAckThread); // thread will call this every 100ms until method returns false + #endif + } + + public static void StopFallbackSendAckThread() + { + #if !UNITY_WEBGL + sendThreadShouldRun = false; + #endif + } + + /// A thread which runs independent from the Update() calls. Keeps connections online while loading or in background. See PhotonNetwork.BackgroundTimeout. + public static bool FallbackSendAckThread() + { + if (sendThreadShouldRun && !PhotonNetwork.offlineMode && PhotonNetwork.networkingPeer != null) + { + // check if the client should disconnect after some seconds in background + if (timerToStopConnectionInBackground != null && PhotonNetwork.BackgroundTimeout > 0.1f) + { + if (timerToStopConnectionInBackground.ElapsedMilliseconds > PhotonNetwork.BackgroundTimeout * 1000) + { + if (PhotonNetwork.connected) + { + PhotonNetwork.Disconnect(); + } + timerToStopConnectionInBackground.Stop(); + timerToStopConnectionInBackground.Reset(); + return sendThreadShouldRun; + } + } + + if (!PhotonNetwork.isMessageQueueRunning || PhotonNetwork.networkingPeer.ConnectionTime - PhotonNetwork.networkingPeer.LastSendOutgoingTime > 200) + { + PhotonNetwork.networkingPeer.SendAcksOnly(); + } + } + + return sendThreadShouldRun; + } + + + #region Photon Cloud Ping Evaluation + + + private const string PlayerPrefsKey = "PUNCloudBestRegion"; + + internal static CloudRegionCode BestRegionCodeInPreferences + { + get + { + string prefsRegionCode = PlayerPrefs.GetString(PlayerPrefsKey, ""); + if (!string.IsNullOrEmpty(prefsRegionCode)) + { + CloudRegionCode loadedRegion = Region.Parse(prefsRegionCode); + return loadedRegion; + } + + return CloudRegionCode.none; + } + set + { + if (value == CloudRegionCode.none) + { + PlayerPrefs.DeleteKey(PlayerPrefsKey); + } + else + { + PlayerPrefs.SetString(PlayerPrefsKey, value.ToString()); + } + } + } + + + internal protected static void PingAvailableRegionsAndConnectToBest() + { + SP.StartCoroutine(SP.PingAvailableRegionsCoroutine(true)); + } + + + internal IEnumerator PingAvailableRegionsCoroutine(bool connectToBest) + { + while (PhotonNetwork.networkingPeer.AvailableRegions == null) + { + if (PhotonNetwork.connectionStateDetailed != ClientState.ConnectingToNameServer && PhotonNetwork.connectionStateDetailed != ClientState.ConnectedToNameServer) + { + Debug.LogError("Call ConnectToNameServer to ping available regions."); + yield break; // break if we don't connect to the nameserver at all + } + + Debug.Log("Waiting for AvailableRegions. State: " + PhotonNetwork.connectionStateDetailed + " Server: " + PhotonNetwork.Server + " PhotonNetwork.networkingPeer.AvailableRegions " + (PhotonNetwork.networkingPeer.AvailableRegions != null)); + yield return new WaitForSeconds(0.25f); // wait until pinging finished (offline mode won't ping) + } + + if (PhotonNetwork.networkingPeer.AvailableRegions == null || PhotonNetwork.networkingPeer.AvailableRegions.Count == 0) + { + Debug.LogError("No regions available. Are you sure your appid is valid and setup?"); + yield break; // break if we don't get regions at all + } + + PhotonPingManager pingManager = new PhotonPingManager(); + foreach (Region region in PhotonNetwork.networkingPeer.AvailableRegions) + { + SP.StartCoroutine(pingManager.PingSocket(region)); + } + + while (!pingManager.Done) + { + yield return new WaitForSeconds(0.1f); // wait until pinging finished (offline mode won't ping) + } + + + Region best = pingManager.BestRegion; + PhotonHandler.BestRegionCodeInPreferences = best.Code; + + Debug.Log("Found best region: '" + best.Code + "' ping: " + best.Ping + ". Calling ConnectToRegionMaster() is: " + connectToBest); + + if (connectToBest) + { + PhotonNetwork.networkingPeer.ConnectToRegionMaster(best.Code); + } + } + + + + #endregion + +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs.meta new file mode 100644 index 0000000..97b4d82 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 177bddf229f8d8445a70c0652f03b7df +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonLagSimulationGui.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonLagSimulationGui.cs new file mode 100644 index 0000000..9f54972 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonLagSimulationGui.cs @@ -0,0 +1,97 @@ +#pragma warning disable 1587 +/// \file +/// Part of the [Optional GUI](@ref optionalGui). +#pragma warning restore 1587 + + +using ExitGames.Client.Photon; +using UnityEngine; + + +/// +/// This MonoBehaviour is a basic GUI for the Photon client's network-simulation feature. +/// It can modify lag (fixed delay), jitter (random lag) and packet loss. +/// +/// \ingroup optionalGui +public class PhotonLagSimulationGui : MonoBehaviour +{ + /// Positioning rect for window. + public Rect WindowRect = new Rect(0, 100, 120, 100); + + /// Unity GUI Window ID (must be unique or will cause issues). + public int WindowId = 101; + + /// Shows or hides GUI (does not affect settings). + public bool Visible = true; + + /// The peer currently in use (to set the network simulation). + public PhotonPeer Peer { get; set; } + + public void Start() + { + this.Peer = PhotonNetwork.networkingPeer; + } + + public void OnGUI() + { + if (!this.Visible) + { + return; + } + + if (this.Peer == null) + { + this.WindowRect = GUILayout.Window(this.WindowId, this.WindowRect, this.NetSimHasNoPeerWindow, "Netw. Sim."); + } + else + { + this.WindowRect = GUILayout.Window(this.WindowId, this.WindowRect, this.NetSimWindow, "Netw. Sim."); + } + } + + private void NetSimHasNoPeerWindow(int windowId) + { + GUILayout.Label("No peer to communicate with. "); + } + + private void NetSimWindow(int windowId) + { + GUILayout.Label(string.Format("Rtt:{0,4} +/-{1,3}", this.Peer.RoundTripTime, this.Peer.RoundTripTimeVariance)); + + bool simEnabled = this.Peer.IsSimulationEnabled; + bool newSimEnabled = GUILayout.Toggle(simEnabled, "Simulate"); + if (newSimEnabled != simEnabled) + { + this.Peer.IsSimulationEnabled = newSimEnabled; + } + + float inOutLag = this.Peer.NetworkSimulationSettings.IncomingLag; + GUILayout.Label("Lag " + inOutLag); + inOutLag = GUILayout.HorizontalSlider(inOutLag, 0, 500); + + this.Peer.NetworkSimulationSettings.IncomingLag = (int)inOutLag; + this.Peer.NetworkSimulationSettings.OutgoingLag = (int)inOutLag; + + float inOutJitter = this.Peer.NetworkSimulationSettings.IncomingJitter; + GUILayout.Label("Jit " + inOutJitter); + inOutJitter = GUILayout.HorizontalSlider(inOutJitter, 0, 100); + + this.Peer.NetworkSimulationSettings.IncomingJitter = (int)inOutJitter; + this.Peer.NetworkSimulationSettings.OutgoingJitter = (int)inOutJitter; + + float loss = this.Peer.NetworkSimulationSettings.IncomingLossPercentage; + GUILayout.Label("Loss " + loss); + loss = GUILayout.HorizontalSlider(loss, 0, 10); + + this.Peer.NetworkSimulationSettings.IncomingLossPercentage = (int)loss; + this.Peer.NetworkSimulationSettings.OutgoingLossPercentage = (int)loss; + + // if anything was clicked, the height of this window is likely changed. reduce it to be layouted again next frame + if (GUI.changed) + { + this.WindowRect.height = 100; + } + + GUI.DragWindow(); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonLagSimulationGui.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonLagSimulationGui.cs.meta new file mode 100644 index 0000000..5a7173b --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonLagSimulationGui.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5867a53c8db0e6745818285bb6b6e1b9 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonNetwork.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonNetwork.cs new file mode 100644 index 0000000..125adcf --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonNetwork.cs @@ -0,0 +1,3339 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Networking +// +// -------------------------------------------------------------------------------------------------------------------- + + +using System.Diagnostics; +using UnityEngine; +using System; +using System.Collections.Generic; +using ExitGames.Client.Photon; +using UnityEngine.SceneManagement; +using Debug = UnityEngine.Debug; +using Hashtable = ExitGames.Client.Photon.Hashtable; + +#if UNITY_EDITOR +using UnityEditor; +using System.IO; +#endif + + +/// +/// The main class to use the PhotonNetwork plugin. +/// This class is static. +/// +/// \ingroup publicApi +public static class PhotonNetwork +{ + /// Version number of PUN. Also used in GameVersion to separate client version from each other. + public const string versionPUN = "1.86.1"; + + /// Version string for your this build. Can be used to separate incompatible clients. Sent during connect. + /// This is only sent when you connect so that is also the place you set it usually (e.g. in ConnectUsingSettings). + public static string gameVersion { get; set; } + + /// + /// This Monobehaviour allows Photon to run an Update loop. + /// + internal static readonly PhotonHandler photonMono; + + /// + /// Photon peer class that implements LoadBalancing in PUN. + /// Primary use is internal (by PUN itself). + /// + internal static NetworkingPeer networkingPeer; + + /// + /// The maximum number of assigned PhotonViews per player (or scene). See the [General Documentation](@ref general) topic "Limitations" on how to raise this limitation. + /// + public static readonly int MAX_VIEW_IDS = 1000; // VIEW & PLAYER LIMIT CAN BE EASILY CHANGED, SEE DOCS + + + /// Name of the PhotonServerSettings file (used to load and by PhotonEditor to save new files). + internal const string serverSettingsAssetFile = "PhotonServerSettings"; + + /// Path to the PhotonServerSettings file (used by PhotonEditor). + internal const string serverSettingsAssetPath = "Assets/Photon Unity Networking/Resources/" + PhotonNetwork.serverSettingsAssetFile + ".asset"; + + + /// Serialized server settings, written by the Setup Wizard for use in ConnectUsingSettings. + public static ServerSettings PhotonServerSettings = (ServerSettings)Resources.Load(PhotonNetwork.serverSettingsAssetFile, typeof(ServerSettings)); + + /// Currently used server address (no matter if master or game server). + public static string ServerAddress { get { return (networkingPeer != null) ? networkingPeer.ServerAddress : ""; } } + + /// Currently used Cloud Region (if any). As long as the client is not on a Master Server or Game Server, the region is not yet defined. + public static CloudRegionCode CloudRegion { get { return (networkingPeer != null && connected && Server!=ServerConnection.NameServer) ? networkingPeer.CloudRegion : CloudRegionCode.none; } } + + /// + /// False until you connected to Photon initially. True in offline mode, while connected to any server and even while switching servers. + /// + public static bool connected + { + get + { + if (offlineMode) + { + return true; + } + + if (networkingPeer == null) + { + return false; + } + + return !networkingPeer.IsInitialConnect && networkingPeer.State != ClientState.PeerCreated && networkingPeer.State != ClientState.Disconnected && networkingPeer.State != ClientState.Disconnecting && networkingPeer.State != ClientState.ConnectingToNameServer; + } + } + + /// + /// True when you called ConnectUsingSettings (or similar) until the low level connection to Photon gets established. + /// + public static bool connecting + { + get { return networkingPeer.IsInitialConnect && !offlineMode; } + } + + /// + /// A refined version of connected which is true only if your connection to the server is ready to accept operations like join, leave, etc. + /// + public static bool connectedAndReady + { + get + { + // connected property will check offlineMode and networkingPeer being null + if (!connected) + { + return false; + } + + if (offlineMode) + { + return true; + } + + switch (connectionStateDetailed) + { + case ClientState.PeerCreated: + case ClientState.Disconnected: + case ClientState.Disconnecting: + case ClientState.Authenticating: + case ClientState.ConnectingToGameserver: + case ClientState.ConnectingToMasterserver: + case ClientState.ConnectingToNameServer: + case ClientState.Joining: + return false; // we are not ready to execute any operations + } + + return true; + } + } + + /// + /// Simplified connection state + /// + public static ConnectionState connectionState + { + get + { + if (offlineMode) + { + return ConnectionState.Connected; + } + + if (networkingPeer == null) + { + return ConnectionState.Disconnected; + } + + switch (networkingPeer.PeerState) + { + case PeerStateValue.Disconnected: + return ConnectionState.Disconnected; + case PeerStateValue.Connecting: + return ConnectionState.Connecting; + case PeerStateValue.Connected: + return ConnectionState.Connected; + case PeerStateValue.Disconnecting: + return ConnectionState.Disconnecting; + case PeerStateValue.InitializingApplication: + return ConnectionState.InitializingApplication; + } + + return ConnectionState.Disconnected; + } + } + + /// + /// Detailed connection state (ignorant of PUN, so it can be "disconnected" while switching servers). + /// + /// + /// In OfflineMode, this is ClientState.Joined (after create/join) or it is ConnectedToMaster in all other cases. + /// + public static ClientState connectionStateDetailed + { + get + { + if (offlineMode) + { + return (offlineModeRoom != null) ? ClientState.Joined : ClientState.ConnectedToMaster; + } + + if (networkingPeer == null) + { + return ClientState.Disconnected; + } + + return networkingPeer.State; + } + } + + /// The server (type) this client is currently connected or connecting to. + /// Photon uses 3 different roles of servers: Name Server, Master Server and Game Server. + public static ServerConnection Server { get { return (PhotonNetwork.networkingPeer != null) ? PhotonNetwork.networkingPeer.Server : ServerConnection.NameServer; } } + + /// + /// A user's authentication values used during connect. + /// + /// + /// Set these before calling Connect if you want custom authentication. + /// These values set the userId, if and how that userId gets verified (server-side), etc.. + /// + /// If authentication fails for any values, PUN will call your implementation of OnCustomAuthenticationFailed(string debugMsg). + /// See: PhotonNetworkingMessage.OnCustomAuthenticationFailed + /// + public static AuthenticationValues AuthValues + { + get { return (networkingPeer != null) ? networkingPeer.AuthValues : null; } + set { if (networkingPeer != null) networkingPeer.AuthValues = value; } + } + + /// + /// Get the room we're currently in. Null if we aren't in any room. + /// + public static Room room + { + get + { + if (isOfflineMode) + { + return offlineModeRoom; + } + + return networkingPeer.CurrentRoom; + } + } + + /// If true, Instantiate methods will check if you are in a room and fail if you are not. + /// + /// Instantiating anything outside of a specific room is very likely to break things. + /// Turn this off only if you know what you do. + public static bool InstantiateInRoomOnly = true; + + /// + /// Network log level. Controls how verbose PUN is. + /// + public static PhotonLogLevel logLevel = PhotonLogLevel.ErrorsOnly; + + /// + /// The local PhotonPlayer. Always available and represents this player. + /// CustomProperties can be set before entering a room and will be synced as well. + /// + public static PhotonPlayer player + { + get + { + if (networkingPeer == null) + { + return null; // Surpress ExitApplication errors + } + + return networkingPeer.LocalPlayer; + } + } + + /// + /// The Master Client of the current room or null (outside of rooms). + /// + /// + /// Can be used as "authoritative" client/player to make descisions, run AI or other. + /// + /// If the current Master Client leaves the room (leave/disconnect), the server will quickly assign someone else. + /// If the current Master Client times out (closed app, lost connection, etc), messages sent to this client are + /// effectively lost for the others! A timeout can take 10 seconds in which no Master Client is active. + /// + /// Implement the method IPunCallbacks.OnMasterClientSwitched to be called when the Master Client switched. + /// + /// Use PhotonNetwork.SetMasterClient, to switch manually to some other player / client. + /// + /// With offlineMode == true, this always returns the PhotonNetwork.player. + /// + public static PhotonPlayer masterClient + { + get + { + if (offlineMode) + { + return PhotonNetwork.player; + } + + if (networkingPeer == null) + { + return null; + } + + return networkingPeer.GetPlayerWithId(networkingPeer.mMasterClientId); + } + } + + /// + /// Set to synchronize the player's nickname with everyone in the room(s) you enter. This sets PhotonNetwork.player.NickName. + /// + /// + /// The playerName is just a nickname and does not have to be unique or backed up with some account.
+ /// Set the value any time (e.g. before you connect) and it will be available to everyone you play with.
+ /// Access the names of players by: PhotonPlayer.NickName.
+ /// PhotonNetwork.otherPlayers is a list of other players - each contains the playerName the remote player set. + ///
+ public static string playerName + { + get + { + return networkingPeer.PlayerName; + } + + set + { + networkingPeer.PlayerName = value; + } + } + + /// The list of players in the current room, including the local player. + /// + /// This list is only valid, while the client is in a room. + /// It automatically gets updated when someone joins or leaves. + /// + /// This can be used to list all players in a room. + /// Each player's PhotonPlayer.customProperties are accessible (set and synchronized via + /// PhotonPlayer.SetCustomProperties). + /// + /// You can use a PhotonPlayer.TagObject to store an arbitrary object for reference. + /// That is not synchronized via the network. + /// + public static PhotonPlayer[] playerList + { + get + { + if (networkingPeer == null) + return new PhotonPlayer[0]; + + return networkingPeer.mPlayerListCopy; + } + } + + /// The list of players in the current room, excluding the local player. + /// + /// This list is only valid, while the client is in a room. + /// It automatically gets updated when someone joins or leaves. + /// + /// This can be used to list all other players in a room. + /// Each player's PhotonPlayer.customProperties are accessible (set and synchronized via + /// PhotonPlayer.SetCustomProperties). + /// + /// You can use a PhotonPlayer.TagObject to store an arbitrary object for reference. + /// That is not synchronized via the network. + /// + public static PhotonPlayer[] otherPlayers + { + get + { + if (networkingPeer == null) + return new PhotonPlayer[0]; + + return networkingPeer.mOtherPlayerListCopy; + } + } + + /// + /// Read-only list of friends, their online status and the room they are in. Null until initialized by a FindFriends call. + /// + /// + /// Do not modify this list! + /// It is internally handled by FindFriends and only available to read the values. + /// The value of FriendListAge tells you how old the data is in milliseconds. + /// + /// Don't get this list more often than useful (> 10 seconds). In best case, keep the list you fetch really short. + /// You could (e.g.) get the full list only once, then request a few updates only for friends who are online. + /// After a while (e.g. 1 minute), you can get the full list again (to update online states). + /// + public static List Friends { get; internal set; } + + /// + /// Age of friend list info (in milliseconds). It's 0 until a friend list is fetched. + /// + public static int FriendsListAge + { + get { return (networkingPeer != null) ? networkingPeer.FriendListAge : 0; } + } + + /// + /// The minimum difference that a Vector2 or Vector3(e.g. a transforms rotation) needs to change before we send it via a PhotonView's OnSerialize/ObservingComponent. + /// + /// + /// Note that this is the sqrMagnitude. E.g. to send only after a 0.01 change on the Y-axix, we use 0.01f*0.01f=0.0001f. As a remedy against float inaccuracy we use 0.000099f instead of 0.0001f. + /// + public static float precisionForVectorSynchronization = 0.000099f; + + /// + /// The minimum angle that a rotation needs to change before we send it via a PhotonView's OnSerialize/ObservingComponent. + /// + public static float precisionForQuaternionSynchronization = 1.0f; + + /// + /// The minimum difference between floats before we send it via a PhotonView's OnSerialize/ObservingComponent. + /// + public static float precisionForFloatSynchronization = 0.01f; + + /// + /// While enabled, the MonoBehaviours on which we call RPCs are cached, avoiding costly GetComponents() calls. + /// + /// + /// RPCs are called on the MonoBehaviours of a target PhotonView. Those have to be found via GetComponents. + /// + /// When set this to true, the list of MonoBehaviours gets cached in each PhotonView. + /// You can use photonView.RefreshRpcMonoBehaviourCache() to manually refresh a PhotonView's + /// list of MonoBehaviours on demand (when a new MonoBehaviour gets added to a networked GameObject, e.g.). + /// + public static bool UseRpcMonoBehaviourCache; + + /// + /// While enabled (true), Instantiate uses PhotonNetwork.PrefabCache to keep game objects in memory (improving instantiation of the same prefab). + /// + /// + /// Setting UsePrefabCache to false during runtime will not clear PrefabCache but will ignore it right away. + /// You could clean and modify the cache yourself. Read its comments. + /// + public static bool UsePrefabCache = true; + + /// + /// An Object Pool can be used to keep and reuse instantiated object instances. It replaced Unity's default Instantiate and Destroy methods. + /// + /// + /// To use a GameObject pool, implement IPunPrefabPool and assign it here. + /// Prefabs are identified by name. + /// + public static IPunPrefabPool PrefabPool { get { return networkingPeer.ObjectPool; } set { networkingPeer.ObjectPool = value; }} + + /// + /// Keeps references to GameObjects for frequent instantiation (out of memory instead of loading the Resources). + /// + /// + /// You should be able to modify the cache anytime you like, except while Instantiate is used. Best do it only in the main-Thread. + /// + public static Dictionary PrefabCache = new Dictionary(); + + /// + /// If not null, this is the (exclusive) list of GameObjects that get called by PUN SendMonoMessage(). + /// + /// + /// For all callbacks defined in PhotonNetworkingMessage, PUN will use SendMonoMessage and + /// call FindObjectsOfType() to find all scripts and GameObjects that might want a callback by PUN. + /// + /// PUN callbacks are not very frequent (in-game, property updates are most frequent) but + /// FindObjectsOfType is time consuming and with a large number of GameObjects, performance might + /// suffer. + /// + /// Optionally, SendMonoMessageTargets can be used to supply a list of target GameObjects. This + /// skips the FindObjectsOfType() but any GameObject that needs callbacks will have to Add itself + /// to this list. + /// + /// If null, the default behaviour is to do a SendMessage on each GameObject with a MonoBehaviour. + /// + public static HashSet SendMonoMessageTargets; + + + /// + /// Defines which classes can contain PUN Callback implementations. + /// + /// + /// This provides the option to optimize your runtime for speed.
+ /// The more specific this Type is, the fewer classes will be checked with reflection for callback methods. + ///
+ public static Type SendMonoMessageTargetType = typeof(MonoBehaviour); + + /// + /// Can be used to skip starting RPCs as Coroutine, which can be a performance issue. + /// + public static bool StartRpcsAsCoroutine = true; + + /// + /// Offline mode can be set to re-use your multiplayer code in singleplayer game modes. + /// When this is on PhotonNetwork will not create any connections and there is near to + /// no overhead. Mostly usefull for reusing RPC's and PhotonNetwork.Instantiate + /// + public static bool offlineMode + { + get + { + return isOfflineMode; + } + + set + { + if (value == isOfflineMode) + { + return; + } + + if (value && connected) + { + Debug.LogError("Can't start OFFLINE mode while connected!"); + return; + } + + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + networkingPeer.Disconnect(); // Cleanup (also calls OnLeftRoom to reset stuff) + } + isOfflineMode = value; + if (isOfflineMode) + { + networkingPeer.ChangeLocalID(-1); + NetworkingPeer.SendMonoMessage(PhotonNetworkingMessage.OnConnectedToMaster); + } + else + { + offlineModeRoom = null; + networkingPeer.ChangeLocalID(-1); + } + } + } + + private static bool isOfflineMode = false; + private static Room offlineModeRoom = null; + + + /// Only used in Unity Networking. In PUN, set the number of players in PhotonNetwork.CreateRoom. + [Obsolete("Used for compatibility with Unity networking only.")] + public static int maxConnections; + + /// Defines if all clients in a room should load the same level as the Master Client (if that used PhotonNetwork.LoadLevel). + /// + /// To synchronize the loaded level, the Master Client should use PhotonNetwork.LoadLevel. + /// All clients will load the new scene when they get the update or when they join. + /// + /// Internally, a Custom Room Property is set for the loaded scene. When a client reads that + /// and is not in the same scene yet, it will immediately pause the Message Queue + /// (PhotonNetwork.isMessageQueueRunning = false) and load. When the scene finished loading, + /// PUN will automatically re-enable the Message Queue. + /// + public static bool automaticallySyncScene + { + get + { + return _mAutomaticallySyncScene; + } + set + { + _mAutomaticallySyncScene = value; + if (_mAutomaticallySyncScene && room != null) + { + networkingPeer.LoadLevelIfSynced(); + } + } + } + + private static bool _mAutomaticallySyncScene = false; + + /// + /// This setting defines per room, if network-instantiated GameObjects (with PhotonView) get cleaned up when the creator of it leaves. + /// + /// + /// This setting is done per room. It can't be changed in the room and it will override the settings of individual clients. + /// + /// If room.AutoCleanUp is enabled in a room, the PUN clients will destroy a player's GameObjects on leave. + /// This includes GameObjects manually instantiated (via RPCs, e.g.). + /// When enabled, the server will clean RPCs, instantiated GameObjects and PhotonViews of the leaving player, too. and + /// Players who join after someone left, won't get the events of that player anymore. + /// + /// Under the hood, this setting is stored as a Custom Room Property. + /// Enabled by default. + /// + public static bool autoCleanUpPlayerObjects + { + get + { + return m_autoCleanUpPlayerObjects; + } + set + { + if (room != null) + Debug.LogError("Setting autoCleanUpPlayerObjects while in a room is not supported."); + else m_autoCleanUpPlayerObjects = value; + } + } + + private static bool m_autoCleanUpPlayerObjects = true; + + /// + /// Set in PhotonServerSettings asset. Defines if the PhotonNetwork should join the "lobby" when connected to the Master server. + /// + /// + /// If this is false, OnConnectedToMaster() will be called when connection to the Master is available. + /// OnJoinedLobby() will NOT be called if this is false. + /// + /// Enabled by default. + /// + /// The room listing will not become available. + /// Rooms can be created and joined (randomly) without joining the lobby (and getting sent the room list). + /// + public static bool autoJoinLobby + { + get + { + return PhotonNetwork.PhotonServerSettings.JoinLobby; + } + set + { + PhotonNetwork.PhotonServerSettings.JoinLobby = value; + } + } + + + /// + /// Set in PhotonServerSettings asset. Enable to get a list of active lobbies from the Master Server. + /// + /// + /// Lobby Statistics can be useful if a game uses multiple lobbies and you want + /// to show activity of each to players. + /// + /// This value is stored in PhotonServerSettings. + /// + /// PhotonNetwork.LobbyStatistics is updated when you connect to the Master Server. + /// There is also a callback PunBehaviour. + /// + public static bool EnableLobbyStatistics + { + get + { + return PhotonNetwork.PhotonServerSettings.EnableLobbyStatistics; + } + set + { + PhotonNetwork.PhotonServerSettings.EnableLobbyStatistics = value; + } + } + + /// + /// If turned on, the Master Server will provide information about active lobbies for this application. + /// + /// + /// Lobby Statistics can be useful if a game uses multiple lobbies and you want + /// to show activity of each to players. Per lobby, you get: name, type, room- and player-count. + /// + /// PhotonNetwork.LobbyStatistics is updated when you connect to the Master Server. + /// There is also a callback PunBehaviour.OnLobbyStatisticsUpdate, which you should implement + /// to update your UI (e.g.). + /// + /// Lobby Statistics are not turned on by default. + /// Enable them in the PhotonServerSettings file of the project. + /// + public static List LobbyStatistics + { + get { return PhotonNetwork.networkingPeer.LobbyStatistics; } + // only available to reset the state conveniently. done by state updates of PUN + private set { PhotonNetwork.networkingPeer.LobbyStatistics = value; } + } + + + /// True while this client is in a lobby. + /// + /// Implement IPunCallbacks.OnReceivedRoomListUpdate() for a notification when the list of rooms + /// becomes available or updated. + /// + /// You are automatically leaving any lobby when you join a room! + /// Lobbies only exist on the Master Server (whereas rooms are handled by Game Servers). + /// + public static bool insideLobby + { + get + { + return networkingPeer.insideLobby; + } + } + + /// + /// The lobby that will be used when PUN joins a lobby or creates a game. + /// + /// + /// The default lobby uses an empty string as name. + /// PUN will enter a lobby on the Master Server if autoJoinLobby is set to true. + /// So when you connect or leave a room, PUN automatically gets you into a lobby again. + /// + /// Check PhotonNetwork.insideLobby if the client is in a lobby. + /// (@ref masterServerAndLobby) + /// + public static TypedLobby lobby + { + get { return networkingPeer.lobby; } + set { networkingPeer.lobby = value; } + } + + /// + /// Defines how many times per second PhotonNetwork should send a package. If you change + /// this, do not forget to also change 'sendRateOnSerialize'. + /// + /// + /// Less packages are less overhead but more delay. + /// Setting the sendRate to 50 will create up to 50 packages per second (which is a lot!). + /// Keep your target platform in mind: mobile networks are slower and less reliable. + /// + public static int sendRate + { + get + { + return 1000 / sendInterval; + } + + set + { + sendInterval = 1000 / value; + if (photonMono != null) + { + photonMono.updateInterval = sendInterval; + } + + if (value < sendRateOnSerialize) + { + // sendRateOnSerialize needs to be <= sendRate + sendRateOnSerialize = value; + } + } + } + + /// + /// Defines how many times per second OnPhotonSerialize should be called on PhotonViews. + /// + /// + /// Choose this value in relation to PhotonNetwork.sendRate. OnPhotonSerialize will create updates and messages to be sent.
+ /// A lower rate takes up less performance but will cause more lag. + ///
+ public static int sendRateOnSerialize + { + get + { + return 1000 / sendIntervalOnSerialize; + } + + set + { + if (value > sendRate) + { + Debug.LogError("Error: Can not set the OnSerialize rate higher than the overall SendRate."); + value = sendRate; + } + + sendIntervalOnSerialize = 1000 / value; + if (photonMono != null) + { + photonMono.updateIntervalOnSerialize = sendIntervalOnSerialize; + } + } + } + + private static int sendInterval = 50; // in miliseconds. + + private static int sendIntervalOnSerialize = 100; // in miliseconds. I.e. 100 = 100ms which makes 10 times/second + + /// + /// Can be used to pause dispatching of incoming evtents (RPCs, Instantiates and anything else incoming). + /// + /// + /// While IsMessageQueueRunning == false, the OnPhotonSerializeView calls are not done and nothing is sent by + /// a client. Also, incoming messages will be queued until you re-activate the message queue. + /// + /// This can be useful if you first want to load a level, then go on receiving data of PhotonViews and RPCs. + /// The client will go on receiving and sending acknowledgements for incoming packages and your RPCs/Events. + /// This adds "lag" and can cause issues when the pause is longer, as all incoming messages are just queued. + /// + public static bool isMessageQueueRunning + { + get + { + return m_isMessageQueueRunning; + } + + set + { + if (value) PhotonHandler.StartFallbackSendAckThread(); + networkingPeer.IsSendingOnlyAcks = !value; + m_isMessageQueueRunning = value; + } + } + + /// Backup for property isMessageQueueRunning. + private static bool m_isMessageQueueRunning = true; + + /// + /// Used once per dispatch to limit unreliable commands per channel (so after a pause, many channels can still cause a lot of unreliable commands) + /// + public static int unreliableCommandsLimit + { + get + { + return networkingPeer.LimitOfUnreliableCommands; + } + + set + { + networkingPeer.LimitOfUnreliableCommands = value; + } + } + + /// + /// Photon network time, synched with the server. + /// + /// + /// v1.55
+ /// This time value depends on the server's Environment.TickCount. It is different per server + /// but inside a Room, all clients should have the same value (Rooms are on one server only).
+ /// This is not a DateTime!
+ /// + /// Use this value with care:
+ /// It can start with any positive value.
+ /// It will "wrap around" from 4294967.295 to 0! + ///
+ public static double time + { + get + { + uint u = (uint)ServerTimestamp; + double t = u; + return t / 1000; + } + } + + /// + /// The current server's millisecond timestamp. + /// + /// + /// This can be useful to sync actions and events on all clients in one room. + /// The timestamp is based on the server's Environment.TickCount. + /// + /// It will overflow from a positive to a negative value every so often, so + /// be careful to use only time-differences to check the time delta when things + /// happen. + /// + /// This is the basis for PhotonNetwork.time. + /// + public static int ServerTimestamp + { + get + { + if (offlineMode) + { + if (UsePreciseTimer && startupStopwatch != null && startupStopwatch.IsRunning) + { + return (int)startupStopwatch.ElapsedMilliseconds; + } + return Environment.TickCount; + } + + return networkingPeer.ServerTimeInMilliSeconds; + } + } + + /// If true, PUN will use a Stopwatch to measure time since start/connect. This is more precise than the Environment.TickCount used by default. + private static bool UsePreciseTimer = false; + static Stopwatch startupStopwatch; + + /// + /// Defines how many seconds PUN keeps the connection, after Unity's OnApplicationPause(true) call. Default: 60 seconds. + /// + /// + /// It's best practice to disconnect inactive apps/connections after a while but to also allow users to take calls, etc.. + /// We think a reasonable backgroung timeout is 60 seconds. + /// + /// To handle the timeout, implement: OnDisconnectedFromPhoton(), as usual. + /// Your application will "notice" the background disconnect when it becomes active again (running the Update() loop). + /// + /// If you need to separate this case from others, you need to track if the app was in the background + /// (there is no special callback by PUN). + /// + /// A value below 0.1 seconds will disable this timeout (careful: connections can be kept indefinitely). + /// + /// + /// Info: + /// PUN is running a "fallback thread" to send ACKs to the server, even when Unity is not calling Update() regularly. + /// This helps keeping the connection while loading scenes and assets and when the app is in the background. + /// + /// Note: + /// Some platforms (e.g. iOS) don't allow to keep a connection while the app is in background. + /// In those cases, this value does not change anything, the app immediately loses connection in background. + /// + /// Unity's OnApplicationPause() callback is broken in some exports (Android) of some Unity versions. + /// Make sure OnApplicationPause() gets the callbacks you'd expect on the platform you target! + /// Check PhotonHandler.OnApplicationPause(bool pause), to see the implementation. + /// + public static float BackgroundTimeout = 60.0f; + + /// + /// Are we the master client? + /// + public static bool isMasterClient + { + get + { + if (offlineMode) + { + return true; + } + else + { + return networkingPeer.mMasterClientId == player.ID; + } + } + } + + /// Is true while being in a room (connectionStateDetailed == ClientState.Joined). + /// + /// Many actions can only be executed in a room, like Instantiate or Leave, etc. + /// You can join a room in offline mode, too. + /// + public static bool inRoom + { + get + { + // in offline mode, you can be in a room too and connectionStateDetailed then returns Joined like on online mode! + return connectionStateDetailed == ClientState.Joined; + } + } + + /// + /// True if we are in a room (client) and NOT the room's masterclient + /// + public static bool isNonMasterClientInRoom + { + get + { + return !isMasterClient && room != null; + } + } + + /// + /// The count of players currently looking for a room (available on MasterServer in 5sec intervals). + /// + public static int countOfPlayersOnMaster + { + get + { + return networkingPeer.PlayersOnMasterCount; + } + } + + /// + /// Count of users currently playing your app in some room (sent every 5sec by Master Server). Use playerList.Count to get the count of players in the room you're in! + /// + public static int countOfPlayersInRooms + { + get + { + return networkingPeer.PlayersInRoomsCount; + } + } + + /// + /// The count of players currently using this application (available on MasterServer in 5sec intervals). + /// + public static int countOfPlayers + { + get + { + return networkingPeer.PlayersInRoomsCount + networkingPeer.PlayersOnMasterCount; + } + } + + /// + /// The count of rooms currently in use (available on MasterServer in 5sec intervals). + /// + /// + /// While inside the lobby you can also check the count of listed rooms as: PhotonNetwork.GetRoomList().Length. + /// Since PUN v1.25 this is only based on the statistic event Photon sends (counting all rooms). + /// + public static int countOfRooms + { + get + { + return networkingPeer.RoomsCount; + } + } + + /// + /// Enables or disables the collection of statistics about this client's traffic. + /// + /// + /// If you encounter issues with clients, the traffic stats are a good starting point to find solutions. + /// Only with enabled stats, you can use GetVitalStats + /// + public static bool NetworkStatisticsEnabled + { + get + { + return networkingPeer.TrafficStatsEnabled; + } + + set + { + networkingPeer.TrafficStatsEnabled = value; + } + } + + /// + /// Count of commands that got repeated (due to local repeat-timing before an ACK was received). + /// + /// + /// If this value increases a lot, there is a good chance that a timeout disconnect will happen due to bad conditions. + /// + public static int ResentReliableCommands + { + get { return networkingPeer.ResentReliableCommands; } + } + + /// Crc checks can be useful to detect and avoid issues with broken datagrams. Can be enabled while not connected. + public static bool CrcCheckEnabled + { + get { return networkingPeer.CrcEnabled; } + set + { + if (!connected && !connecting) + { + networkingPeer.CrcEnabled = value; + } + else + { + Debug.Log("Can't change CrcCheckEnabled while being connected. CrcCheckEnabled stays " + networkingPeer.CrcEnabled); + } + } + } + + /// If CrcCheckEnabled, this counts the incoming packages that don't have a valid CRC checksum and got rejected. + public static int PacketLossByCrcCheck + { + get { return networkingPeer.PacketLossByCrc; } + } + + /// Defines the number of times a reliable message can be resent before not getting an ACK for it will trigger a disconnect. Default: 5. + /// Less resends mean quicker disconnects, while more can lead to much more lag without helping. Min: 3. Max: 10. + public static int MaxResendsBeforeDisconnect + { + get { return networkingPeer.SentCountAllowance; } + set + { + if (value < 3) value = 3; + if (value > 10) value = 10; + networkingPeer.SentCountAllowance = value; + } + } + + /// In case of network loss, reliable messages can be repeated quickly up to 3 times. + /// + /// When reliable messages get lost more than once, subsequent repeats are delayed a bit + /// to allow the network to recover.
+ /// With this option, the repeats 2 and 3 can be sped up. This can help avoid timeouts but + /// also it increases the speed in which gaps are closed.
+ /// When you set this, increase PhotonNetwork.MaxResendsBeforeDisconnect to 6 or 7. + ///
+ public static int QuickResends + { + get { return networkingPeer.QuickResendAttempts; } + set + { + if (value < 0) value = 0; + if (value > 3) value = 3; + networkingPeer.QuickResendAttempts = (byte)value; + } + } + + /// + /// Defines the delegate usable in OnEventCall. + /// + /// Any eventCode < 200 will be forwarded to your delegate(s). + /// The code assigend to the incoming event. + /// The content the sender put into the event. + /// The ID of the player who sent the event. It might be 0, if the "room" sent the event. + public delegate void EventCallback(byte eventCode, object content, int senderId); + + /// Register your RaiseEvent handling methods here by using "+=". + /// Any eventCode < 200 will be forwarded to your delegate(s). + /// + public static EventCallback OnEventCall; + + + internal static int lastUsedViewSubId = 0; // each player only needs to remember it's own (!) last used subId to speed up assignment + internal static int lastUsedViewSubIdStatic = 0; // per room, the master is able to instantiate GOs. the subId for this must be unique too + internal static List manuallyAllocatedViewIds = new List(); + + /// + /// Static constructor used for basic setup. + /// + static PhotonNetwork() + { + #if UNITY_EDITOR + if (PhotonServerSettings == null) + { + // create PhotonServerSettings + CreateSettings(); + } + + if (!EditorApplication.isPlaying && !EditorApplication.isPlayingOrWillChangePlaymode) + { + //Debug.Log(string.Format("PhotonNetwork.ctor() Not playing {0} {1}", UnityEditor.EditorApplication.isPlaying, UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode)); + return; + } + + // This can happen when you recompile a script IN play made + // This helps to surpress some errors, but will not fix breaking + PhotonHandler[] photonHandlers = GameObject.FindObjectsOfType(typeof(PhotonHandler)) as PhotonHandler[]; + if (photonHandlers != null && photonHandlers.Length > 0) + { + Debug.LogWarning("Unity recompiled. Connection gets closed and replaced. You can connect as 'new' client."); + foreach (PhotonHandler photonHandler in photonHandlers) + { + //Debug.Log("Handler: " + photonHandler + " photonHandler.gameObject: " + photonHandler.gameObject); + photonHandler.gameObject.hideFlags = 0; + GameObject.DestroyImmediate(photonHandler.gameObject); + Component.DestroyImmediate(photonHandler); + } + } + #endif + + if (PhotonServerSettings != null) + { + Application.runInBackground = PhotonServerSettings.RunInBackground; + } + + // Set up a MonoBehaviour to run Photon, and hide it + GameObject photonGO = new GameObject(); + photonMono = (PhotonHandler)photonGO.AddComponent(); + photonGO.name = "PhotonMono"; + photonGO.hideFlags = HideFlags.HideInHierarchy; + + + // Set up the NetworkingPeer and use protocol of PhotonServerSettings + ConnectionProtocol protocol = PhotonNetwork.PhotonServerSettings.Protocol; + networkingPeer = new NetworkingPeer(string.Empty, protocol); + networkingPeer.QuickResendAttempts = 2; + networkingPeer.SentCountAllowance = 7; + + + #if UNITY_XBOXONE + networkingPeer.AuthMode = AuthModeOption.Auth; + #endif + + if (UsePreciseTimer) + { + Debug.Log("Using Stopwatch as precision timer for PUN."); + startupStopwatch = new Stopwatch(); + startupStopwatch.Start(); + networkingPeer.LocalMsTimestampDelegate = () => (int)startupStopwatch.ElapsedMilliseconds; + } + + // Local player + CustomTypes.Register(); + } + + /// + /// While offline, the network protocol can be switched (which affects the ports you can use to connect). + /// + /// + /// When you switch the protocol, make sure to also switch the port for the master server. Default ports are: + /// TCP: 4530 + /// UDP: 5055 + /// + /// This could look like this:
+ /// Connect(serverAddress, , appID, gameVersion) + /// + /// Or when you use ConnectUsingSettings(), the PORT in the settings can be switched like so:
+ /// PhotonNetwork.PhotonServerSettings.ServerPort = 4530; + /// + /// The current protocol can be read this way:
+ /// PhotonNetwork.networkingPeer.UsedProtocol + /// + /// This does not work with the native socket plugin of PUN+ on mobile! + ///
+ /// Network protocol to use as low level connection. UDP is default. TCP is not available on all platforms (see remarks). + public static void SwitchToProtocol(ConnectionProtocol cp) + { + // Debug.Log("SwitchToProtocol: " + cp + " PhotonNetwork.connected: " + PhotonNetwork.connected); + networkingPeer.TransportProtocol = cp; + } + + + /// Connect to Photon as configured in the editor (saved in PhotonServerSettings file). + /// + /// This method will disable offlineMode (which won't destroy any instantiated GOs) and it + /// will set isMessageQueueRunning to true. + /// + /// Your server configuration is created by the PUN Wizard and contains the AppId and + /// region for Photon Cloud games and the server address if you host Photon yourself. + /// These settings usually don't change often. + /// + /// To ignore the config file and connect anywhere call: PhotonNetwork.ConnectToMaster. + /// + /// To connect to the Photon Cloud, a valid AppId must be in the settings file (shown in the Photon Cloud Dashboard). + /// https://www.photonengine.com/dashboard + /// + /// Connecting to the Photon Cloud might fail due to: + /// - Invalid AppId (calls: OnFailedToConnectToPhoton(). check exact AppId value) + /// - Network issues (calls: OnFailedToConnectToPhoton()) + /// - Invalid region (calls: OnConnectionFail() with DisconnectCause.InvalidRegion) + /// - Subscription CCU limit reached (calls: OnConnectionFail() with DisconnectCause.MaxCcuReached. also calls: OnPhotonMaxCccuReached()) + /// + /// More about the connection limitations: + /// http://doc.exitgames.com/en/pun + /// + /// This client's version number. Users are separated from each other by gameversion (which allows you to make breaking changes). + public static bool ConnectUsingSettings(string gameVersion) + { + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + Debug.LogWarning("ConnectUsingSettings() failed. Can only connect while in state 'Disconnected'. Current state: " + networkingPeer.PeerState); + return false; + } + if (PhotonServerSettings == null) + { + Debug.LogError("Can't connect: Loading settings failed. ServerSettings asset must be in any 'Resources' folder as: " + serverSettingsAssetFile); + return false; + } + if (PhotonServerSettings.HostType == ServerSettings.HostingOption.NotSet) + { + Debug.LogError("You did not select a Hosting Type in your PhotonServerSettings. Please set it up or don't use ConnectUsingSettings()."); + return false; + } + + // only apply Settings if logLevel is default ( see ServerSettings.cs), else it means it's been set programmatically + if (PhotonNetwork.logLevel == PhotonLogLevel.ErrorsOnly) + { + PhotonNetwork.logLevel = PhotonServerSettings.PunLogging; + } + + // only apply Settings if logLevel is default ( see ServerSettings.cs), else it means it's been set programmatically + if (PhotonNetwork.networkingPeer.DebugOut == DebugLevel.ERROR) + { + PhotonNetwork.networkingPeer.DebugOut = PhotonServerSettings.NetworkLogging; + } + + + SwitchToProtocol(PhotonServerSettings.Protocol); + networkingPeer.SetApp(PhotonServerSettings.AppID, gameVersion); + + if (PhotonServerSettings.HostType == ServerSettings.HostingOption.OfflineMode) + { + offlineMode = true; + return true; + } + + if (offlineMode) + { + // someone can set offlineMode in code and then call ConnectUsingSettings() with non-offline settings. Warning for that case: + Debug.LogWarning("ConnectUsingSettings() disabled the offline mode. No longer offline."); + } + + offlineMode = false; // Cleanup offline mode + isMessageQueueRunning = true; + networkingPeer.IsInitialConnect = true; + + if (PhotonServerSettings.HostType == ServerSettings.HostingOption.SelfHosted) + { + networkingPeer.IsUsingNameServer = false; + networkingPeer.MasterServerAddress = (PhotonServerSettings.ServerPort == 0) ? PhotonServerSettings.ServerAddress : PhotonServerSettings.ServerAddress + ":" + PhotonServerSettings.ServerPort; + + return networkingPeer.Connect(networkingPeer.MasterServerAddress, ServerConnection.MasterServer); + } + + if (PhotonServerSettings.HostType == ServerSettings.HostingOption.BestRegion) + { + return ConnectToBestCloudServer(gameVersion); + } + + return networkingPeer.ConnectToRegionMaster(PhotonServerSettings.PreferredRegion); + } + + /// Connect to a Photon Master Server by address, port, appID and game(client) version. + /// + /// To connect to the Photon Cloud, a valid AppId must be in the settings file (shown in the Photon Cloud Dashboard). + /// https://www.photonengine.com/dashboard + /// + /// Connecting to the Photon Cloud might fail due to: + /// - Invalid AppId (calls: OnFailedToConnectToPhoton(). check exact AppId value) + /// - Network issues (calls: OnFailedToConnectToPhoton()) + /// - Invalid region (calls: OnConnectionFail() with DisconnectCause.InvalidRegion) + /// - Subscription CCU limit reached (calls: OnConnectionFail() with DisconnectCause.MaxCcuReached. also calls: OnPhotonMaxCccuReached()) + /// + /// More about the connection limitations: + /// http://doc.exitgames.com/en/pun + /// + /// The server's address (either your own or Photon Cloud address). + /// The server's port to connect to. + /// Your application ID (Photon Cloud provides you with a GUID for your game). + /// This client's version number. Users are separated by gameversion (which allows you to make breaking changes). + public static bool ConnectToMaster(string masterServerAddress, int port, string appID, string gameVersion) + { + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + Debug.LogWarning("ConnectToMaster() failed. Can only connect while in state 'Disconnected'. Current state: " + networkingPeer.PeerState); + return false; + } + + if (offlineMode) + { + offlineMode = false; // Cleanup offline mode + Debug.LogWarning("ConnectToMaster() disabled the offline mode. No longer offline."); + } + + if (!isMessageQueueRunning) + { + isMessageQueueRunning = true; + Debug.LogWarning("ConnectToMaster() enabled isMessageQueueRunning. Needs to be able to dispatch incoming messages."); + } + + networkingPeer.SetApp(appID, gameVersion); + networkingPeer.IsUsingNameServer = false; + networkingPeer.IsInitialConnect = true; + networkingPeer.MasterServerAddress = (port == 0) ? masterServerAddress : masterServerAddress + ":" + port; + + return networkingPeer.Connect(networkingPeer.MasterServerAddress, ServerConnection.MasterServer); + } + + /// Can be used to reconnect to the master server after a disconnect. + /// + /// After losing connection, you can use this to connect a client to the region Master Server again. + /// Cache the room name you're in and use ReJoin(roomname) to return to a game. + /// Common use case: Press the Lock Button on a iOS device and you get disconnected immediately. + /// + public static bool Reconnect() + { + if (string.IsNullOrEmpty(networkingPeer.MasterServerAddress)) + { + Debug.LogWarning("Reconnect() failed. It seems the client wasn't connected before?! Current state: " + networkingPeer.PeerState); + return false; + } + + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + Debug.LogWarning("Reconnect() failed. Can only connect while in state 'Disconnected'. Current state: " + networkingPeer.PeerState); + return false; + } + + if (offlineMode) + { + offlineMode = false; // Cleanup offline mode + Debug.LogWarning("Reconnect() disabled the offline mode. No longer offline."); + } + + if (!isMessageQueueRunning) + { + isMessageQueueRunning = true; + Debug.LogWarning("Reconnect() enabled isMessageQueueRunning. Needs to be able to dispatch incoming messages."); + } + + networkingPeer.IsUsingNameServer = false; + networkingPeer.IsInitialConnect = false; + return networkingPeer.ReconnectToMaster(); + } + + + /// When the client lost connection during gameplay, this method attempts to reconnect and rejoin the room. + /// + /// This method re-connects directly to the game server which was hosting the room PUN was in before. + /// If the room was shut down in the meantime, PUN will call OnPhotonJoinRoomFailed and return this client to the Master Server. + /// + /// Check the return value, if this client will attempt a reconnect and rejoin (if the conditions are met). + /// If ReconnectAndRejoin returns false, you can still attempt a Reconnect and ReJoin. + /// + /// Similar to PhotonNetwork.ReJoin, this requires you to use unique IDs per player (the UserID). + /// + /// False, if there is no known room or game server to return to. Then, this client does not attempt the ReconnectAndRejoin. + public static bool ReconnectAndRejoin() + { + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + Debug.LogWarning("ReconnectAndRejoin() failed. Can only connect while in state 'Disconnected'. Current state: " + networkingPeer.PeerState); + return false; + } + if (offlineMode) + { + offlineMode = false; // Cleanup offline mode + Debug.LogWarning("ReconnectAndRejoin() disabled the offline mode. No longer offline."); + } + + if (string.IsNullOrEmpty(networkingPeer.GameServerAddress)) + { + Debug.LogWarning("ReconnectAndRejoin() failed. It seems the client wasn't connected to a game server before (no address)."); + return false; + } + if (networkingPeer.enterRoomParamsCache == null) + { + Debug.LogWarning("ReconnectAndRejoin() failed. It seems the client doesn't have any previous room to re-join."); + return false; + } + + if (!isMessageQueueRunning) + { + isMessageQueueRunning = true; + Debug.LogWarning("ReconnectAndRejoin() enabled isMessageQueueRunning. Needs to be able to dispatch incoming messages."); + } + + networkingPeer.IsUsingNameServer = false; + networkingPeer.IsInitialConnect = false; + return networkingPeer.ReconnectAndRejoin(); + } + + + /// + /// Connect to the Photon Cloud region with the lowest ping (on platforms that support Unity's Ping). + /// + /// + /// Will save the result of pinging all cloud servers in PlayerPrefs. Calling this the first time can take +-2 seconds. + /// The ping result can be overridden via PhotonNetwork.OverrideBestCloudServer(..) + /// This call can take up to 2 seconds if it is the first time you are using this, all cloud servers will be pinged to check for the best region. + /// + /// The PUN Setup Wizard stores your appID in a settings file and applies a server address/port. + /// To connect to the Photon Cloud, a valid AppId must be in the settings file (shown in the Photon Cloud Dashboard). + /// https://www.photonengine.com/dashboard + /// + /// Connecting to the Photon Cloud might fail due to: + /// - Invalid AppId (calls: OnFailedToConnectToPhoton(). check exact AppId value) + /// - Network issues (calls: OnFailedToConnectToPhoton()) + /// - Invalid region (calls: OnConnectionFail() with DisconnectCause.InvalidRegion) + /// - Subscription CCU limit reached (calls: OnConnectionFail() with DisconnectCause.MaxCcuReached. also calls: OnPhotonMaxCccuReached()) + /// + /// More about the connection limitations: + /// http://doc.exitgames.com/en/pun + /// + /// This client's version number. Users are separated from each other by gameversion (which allows you to make breaking changes). + /// If this client is going to connect to cloud server based on ping. Even if true, this does not guarantee a connection but the attempt is being made. + public static bool ConnectToBestCloudServer(string gameVersion) + { + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + Debug.LogWarning("ConnectToBestCloudServer() failed. Can only connect while in state 'Disconnected'. Current state: " + networkingPeer.PeerState); + return false; + } + + if (PhotonServerSettings == null) + { + Debug.LogError("Can't connect: Loading settings failed. ServerSettings asset must be in any 'Resources' folder as: " + PhotonNetwork.serverSettingsAssetFile); + return false; + } + + if (PhotonServerSettings.HostType == ServerSettings.HostingOption.OfflineMode) + { + return PhotonNetwork.ConnectUsingSettings(gameVersion); + } + + networkingPeer.IsInitialConnect = true; + networkingPeer.SetApp(PhotonServerSettings.AppID, gameVersion); + + CloudRegionCode bestFromPrefs = PhotonHandler.BestRegionCodeInPreferences; + if (bestFromPrefs != CloudRegionCode.none) + { + Debug.Log("Best region found in PlayerPrefs. Connecting to: " + bestFromPrefs); + return networkingPeer.ConnectToRegionMaster(bestFromPrefs); + } + + bool couldConnect = PhotonNetwork.networkingPeer.ConnectToNameServer(); + return couldConnect; + } + + + /// + /// Connects to the Photon Cloud region of choice. + /// + public static bool ConnectToRegion(CloudRegionCode region, string gameVersion) + { + if (networkingPeer.PeerState != PeerStateValue.Disconnected) + { + Debug.LogWarning("ConnectToRegion() failed. Can only connect while in state 'Disconnected'. Current state: " + networkingPeer.PeerState); + return false; + } + + if (PhotonServerSettings == null) + { + Debug.LogError("Can't connect: ServerSettings asset must be in any 'Resources' folder as: " + PhotonNetwork.serverSettingsAssetFile); + return false; + } + + if (PhotonServerSettings.HostType == ServerSettings.HostingOption.OfflineMode) + { + return PhotonNetwork.ConnectUsingSettings(gameVersion); + } + + networkingPeer.IsInitialConnect = true; + networkingPeer.SetApp(PhotonServerSettings.AppID, gameVersion); + + if (region != CloudRegionCode.none) + { + Debug.Log("ConnectToRegion: " + region); + return networkingPeer.ConnectToRegionMaster(region); + } + + return false; + } + + /// Overwrites the region that is used for ConnectToBestCloudServer(string gameVersion). + /// + /// This will overwrite the result of pinging all cloud servers.
+ /// Use this to allow your users to save a manually selected region in the player preferences.
+ /// Note: You can also use PhotonNetwork.ConnectToRegion to (temporarily) connect to a specific region. + ///
+ public static void OverrideBestCloudServer(CloudRegionCode region) + { + PhotonHandler.BestRegionCodeInPreferences = region; + } + + /// Pings all cloud servers again to find the one with best ping (currently). + public static void RefreshCloudServerRating() + { + throw new NotImplementedException("not available at the moment"); + } + + + /// + /// Resets the traffic stats and re-enables them. + /// + public static void NetworkStatisticsReset() + { + networkingPeer.TrafficStatsReset(); + } + + + /// + /// Only available when NetworkStatisticsEnabled was used to gather some stats. + /// + /// A string with vital networking statistics. + public static string NetworkStatisticsToString() + { + if (networkingPeer == null || offlineMode) + { + return "Offline or in OfflineMode. No VitalStats available."; + } + + return networkingPeer.VitalStatsToString(false); + } + + /// + /// Used for compatibility with Unity networking only. Encryption is automatically initialized while connecting. + /// + [Obsolete("Used for compatibility with Unity networking only. Encryption is automatically initialized while connecting.")] + public static void InitializeSecurity() + { + return; + } + + /// + /// Helper function which is called inside this class to erify if certain functions can be used (e.g. RPC when not connected) + /// + /// + private static bool VerifyCanUseNetwork() + { + if (connected) + { + return true; + } + + Debug.LogError("Cannot send messages when not connected. Either connect to Photon OR use offline mode!"); + return false; + } + + /// + /// Makes this client disconnect from the photon server, a process that leaves any room and calls OnDisconnectedFromPhoton on completion. + /// + /// + /// When you disconnect, the client will send a "disconnecting" message to the server. This speeds up leave/disconnect + /// messages for players in the same room as you (otherwise the server would timeout this client's connection). + /// When used in offlineMode, the state-change and event-call OnDisconnectedFromPhoton are immediate. + /// Offline mode is set to false as well. + /// Once disconnected, the client can connect again. Use ConnectUsingSettings. + /// + public static void Disconnect() + { + if (offlineMode) + { + offlineMode = false; + offlineModeRoom = null; + networkingPeer.State = ClientState.Disconnecting; + networkingPeer.OnStatusChanged(StatusCode.Disconnect); + return; + } + + if (networkingPeer == null) + { + return; // Surpress error when quitting playmode in the editor + } + + networkingPeer.Disconnect(); + } + + /// + /// Requests the rooms and online status for a list of friends and saves the result in PhotonNetwork.Friends. + /// + /// + /// Works only on Master Server to find the rooms played by a selected list of users. + /// + /// The result will be stored in PhotonNetwork.Friends when available. + /// That list is initialized on first use of OpFindFriends (before that, it is null). + /// To refresh the list, call FindFriends again (in 5 seconds or 10 or 20). + /// + /// Users identify themselves by setting a unique userId in the PhotonNetwork.AuthValues. + /// See remarks of AuthenticationValues for info about how this is set and used. + /// + /// The list of friends must be fetched from some other source (not provided by Photon). + /// + /// + /// Internal: + /// The server response includes 2 arrays of info (each index matching a friend from the request): + /// ParameterCode.FindFriendsResponseOnlineList = bool[] of online states + /// ParameterCode.FindFriendsResponseRoomIdList = string[] of room names (empty string if not in a room) + /// + /// Array of friend (make sure to use unique playerName or AuthValues). + /// If the operation could be sent (requires connection, only one request is allowed at any time). Always false in offline mode. + public static bool FindFriends(string[] friendsToFind) + { + if (networkingPeer == null || isOfflineMode) + { + return false; + } + + return networkingPeer.OpFindFriends(friendsToFind); + } + + + /// + /// Creates a room with given name but fails if this room(name) is existing already. Creates random name for roomName null. + /// + /// + /// If you don't want to create a unique room-name, pass null or "" as name and the server will assign a roomName (a GUID as string). + /// + /// The created room is automatically placed in the currently used lobby (if any) or the default-lobby if you didn't explicitly join one. + /// + /// Call this only on the master server. + /// Internally, the master will respond with a server-address (and roomName, if needed). Both are used internally + /// to switch to the assigned game server and roomName. + /// + /// PhotonNetwork.autoCleanUpPlayerObjects will become this room's AutoCleanUp property and that's used by all clients that join this room. + /// + /// Unique name of the room to create. + /// If the operation got queued and will be sent. + public static bool CreateRoom(string roomName) + { + return CreateRoom(roomName, null, null, null); + } + + /// + /// Creates a room but fails if this room is existing already. Can only be called on Master Server. + /// + /// + /// When successful, this calls the callbacks OnCreatedRoom and OnJoinedRoom (the latter, cause you join as first player). + /// If the room can't be created (because it exists already), OnPhotonCreateRoomFailed gets called. + /// + /// If you don't want to create a unique room-name, pass null or "" as name and the server will assign a roomName (a GUID as string). + /// + /// Rooms can be created in any number of lobbies. Those don't have to exist before you create a room in them (they get + /// auto-created on demand). Lobbies can be useful to split room lists on the server-side already. That can help keep the room + /// lists short and manageable. + /// If you set a typedLobby parameter, the room will be created in that lobby (no matter if you are active in any). + /// If you don't set a typedLobby, the room is automatically placed in the currently active lobby (if any) or the + /// default-lobby. + /// + /// Call this only on the master server. + /// Internally, the master will respond with a server-address (and roomName, if needed). Both are used internally + /// to switch to the assigned game server and roomName. + /// + /// PhotonNetwork.autoCleanUpPlayerObjects will become this room's autoCleanUp property and that's used by all clients that join this room. + /// + /// Unique name of the room to create. Pass null or "" to make the server generate a name. + /// Common options for the room like MaxPlayers, initial custom room properties and similar. See RoomOptions type.. + /// If null, the room is automatically created in the currently used lobby (which is "default" when you didn't join one explicitly). + /// If the operation got queued and will be sent. + public static bool CreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedLobby) + { + return CreateRoom(roomName, roomOptions, typedLobby, null); + } + + /// + /// Creates a room but fails if this room is existing already. Can only be called on Master Server. + /// + /// + /// When successful, this calls the callbacks OnCreatedRoom and OnJoinedRoom (the latter, cause you join as first player). + /// If the room can't be created (because it exists already), OnPhotonCreateRoomFailed gets called. + /// + /// If you don't want to create a unique room-name, pass null or "" as name and the server will assign a roomName (a GUID as string). + /// + /// Rooms can be created in any number of lobbies. Those don't have to exist before you create a room in them (they get + /// auto-created on demand). Lobbies can be useful to split room lists on the server-side already. That can help keep the room + /// lists short and manageable. + /// If you set a typedLobby parameter, the room will be created in that lobby (no matter if you are active in any). + /// If you don't set a typedLobby, the room is automatically placed in the currently active lobby (if any) or the + /// default-lobby. + /// + /// Call this only on the master server. + /// Internally, the master will respond with a server-address (and roomName, if needed). Both are used internally + /// to switch to the assigned game server and roomName. + /// + /// PhotonNetwork.autoCleanUpPlayerObjects will become this room's autoCleanUp property and that's used by all clients that join this room. + /// + /// You can define an array of expectedUsers, to block player slots in the room for these users. + /// The corresponding feature in Photon is called "Slot Reservation" and can be found in the doc pages. + /// + /// Unique name of the room to create. Pass null or "" to make the server generate a name. + /// Common options for the room like MaxPlayers, initial custom room properties and similar. See RoomOptions type.. + /// If null, the room is automatically created in the currently used lobby (which is "default" when you didn't join one explicitly). + /// Optional list of users (by UserId) who are expected to join this game and who you want to block a slot for. + /// If the operation got queued and will be sent. + public static bool CreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedLobby, string[] expectedUsers) + { + if (offlineMode) + { + if (offlineModeRoom != null) + { + Debug.LogError("CreateRoom failed. In offline mode you still have to leave a room to enter another."); + return false; + } + EnterOfflineRoom(roomName, roomOptions, true); + return true; + } + if (networkingPeer.Server != ServerConnection.MasterServer || !connectedAndReady) + { + Debug.LogError("CreateRoom failed. Client is not on Master Server or not yet ready to call operations. Wait for callback: OnJoinedLobby or OnConnectedToMaster."); + return false; + } + + typedLobby = typedLobby ?? ((networkingPeer.insideLobby) ? networkingPeer.lobby : null); // use given lobby, or active lobby (if any active) or none + + EnterRoomParams opParams = new EnterRoomParams(); + opParams.RoomName = roomName; + opParams.RoomOptions = roomOptions; + opParams.Lobby = typedLobby; + opParams.ExpectedUsers = expectedUsers; + + return networkingPeer.OpCreateGame(opParams); + } + + + /// Join room by roomname and on success calls OnJoinedRoom(). This is not affected by lobbies. + /// + /// On success, the method OnJoinedRoom() is called on any script. You can implement it to react to joining a room. + /// + /// JoinRoom fails if the room is either full or no longer available (it might become empty while you attempt to join). + /// Implement OnPhotonJoinRoomFailed() to get a callback in error case. + /// + /// To join a room from the lobby's listing, use RoomInfo.Name as roomName here. + /// Despite using multiple lobbies, a roomName is always "global" for your application and so you don't + /// have to specify which lobby it's in. The Master Server will find the room. + /// In the Photon Cloud, an application is defined by AppId, Game- and PUN-version. + /// + /// + /// + /// Unique name of the room to join. + /// If the operation got queued and will be sent. + public static bool JoinRoom(string roomName) + { + return JoinRoom(roomName, null); + } + + /// Join room by roomname and on success calls OnJoinedRoom(). This is not affected by lobbies. + /// + /// On success, the method OnJoinedRoom() is called on any script. You can implement it to react to joining a room. + /// + /// JoinRoom fails if the room is either full or no longer available (it might become empty while you attempt to join). + /// Implement OnPhotonJoinRoomFailed() to get a callback in error case. + /// + /// To join a room from the lobby's listing, use RoomInfo.Name as roomName here. + /// Despite using multiple lobbies, a roomName is always "global" for your application and so you don't + /// have to specify which lobby it's in. The Master Server will find the room. + /// In the Photon Cloud, an application is defined by AppId, Game- and PUN-version. + /// + /// You can define an array of expectedUsers, to block player slots in the room for these users. + /// The corresponding feature in Photon is called "Slot Reservation" and can be found in the doc pages. + /// + /// + /// + /// Unique name of the room to join. + /// Optional list of users (by UserId) who are expected to join this game and who you want to block a slot for. + /// If the operation got queued and will be sent. + public static bool JoinRoom(string roomName, string[] expectedUsers) + { + if (offlineMode) + { + if (offlineModeRoom != null) + { + Debug.LogError("JoinRoom failed. In offline mode you still have to leave a room to enter another."); + return false; + } + EnterOfflineRoom(roomName, null, true); + return true; + } + if (networkingPeer.Server != ServerConnection.MasterServer || !connectedAndReady) + { + Debug.LogError("JoinRoom failed. Client is not on Master Server or not yet ready to call operations. Wait for callback: OnJoinedLobby or OnConnectedToMaster."); + return false; + } + if (string.IsNullOrEmpty(roomName)) + { + Debug.LogError("JoinRoom failed. A roomname is required. If you don't know one, how will you join?"); + return false; + } + + + EnterRoomParams opParams = new EnterRoomParams(); + opParams.RoomName = roomName; + opParams.ExpectedUsers = expectedUsers; + + return networkingPeer.OpJoinRoom(opParams); + } + + + /// Lets you either join a named room or create it on the fly - you don't have to know if someone created the room already. + /// + /// This makes it easier for groups of players to get into the same room. Once the group + /// exchanged a roomName, any player can call JoinOrCreateRoom and it doesn't matter who + /// actually joins or creates the room. + /// + /// The parameters roomOptions and typedLobby are only used when the room actually gets created by this client. + /// You know if this client created a room, if you get a callback OnCreatedRoom (before OnJoinedRoom gets called as well). + /// + /// Name of the room to join. Must be non null. + /// Options for the room, in case it does not exist yet. Else these values are ignored. + /// Lobby you want a new room to be listed in. Ignored if the room was existing and got joined. + /// If the operation got queued and will be sent. + public static bool JoinOrCreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedLobby) + { + return JoinOrCreateRoom(roomName, roomOptions, typedLobby, null); + } + + /// Lets you either join a named room or create it on the fly - you don't have to know if someone created the room already. + /// + /// This makes it easier for groups of players to get into the same room. Once the group + /// exchanged a roomName, any player can call JoinOrCreateRoom and it doesn't matter who + /// actually joins or creates the room. + /// + /// The parameters roomOptions and typedLobby are only used when the room actually gets created by this client. + /// You know if this client created a room, if you get a callback OnCreatedRoom (before OnJoinedRoom gets called as well). + /// + /// You can define an array of expectedUsers, to block player slots in the room for these users. + /// The corresponding feature in Photon is called "Slot Reservation" and can be found in the doc pages. + /// + /// Name of the room to join. Must be non null. + /// Options for the room, in case it does not exist yet. Else these values are ignored. + /// Lobby you want a new room to be listed in. Ignored if the room was existing and got joined. + /// Optional list of users (by UserId) who are expected to join this game and who you want to block a slot for. + /// If the operation got queued and will be sent. + public static bool JoinOrCreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedLobby, string[] expectedUsers) + { + if (offlineMode) + { + if (offlineModeRoom != null) + { + Debug.LogError("JoinOrCreateRoom failed. In offline mode you still have to leave a room to enter another."); + return false; + } + EnterOfflineRoom(roomName, roomOptions, true); // in offline mode, JoinOrCreateRoom assumes you create the room + return true; + } + if (networkingPeer.Server != ServerConnection.MasterServer || !connectedAndReady) + { + Debug.LogError("JoinOrCreateRoom failed. Client is not on Master Server or not yet ready to call operations. Wait for callback: OnJoinedLobby or OnConnectedToMaster."); + return false; + } + if (string.IsNullOrEmpty(roomName)) + { + Debug.LogError("JoinOrCreateRoom failed. A roomname is required. If you don't know one, how will you join?"); + return false; + } + + typedLobby = typedLobby ?? ((networkingPeer.insideLobby) ? networkingPeer.lobby : null); // use given lobby, or active lobby (if any active) or none + + EnterRoomParams opParams = new EnterRoomParams(); + opParams.RoomName = roomName; + opParams.RoomOptions = roomOptions; + opParams.Lobby = typedLobby; + opParams.CreateIfNotExists = true; + opParams.PlayerProperties = player.CustomProperties; + opParams.ExpectedUsers = expectedUsers; + + return networkingPeer.OpJoinRoom(opParams); + } + + /// + /// Joins any available room of the currently used lobby and fails if none is available. + /// + /// + /// Rooms can be created in arbitrary lobbies which get created on demand. + /// You can join rooms from any lobby without actually joining the lobby. + /// Use the JoinRandomRoom overload with TypedLobby parameter. + /// + /// This method will only match rooms attached to one lobby! If you use many lobbies, you + /// might have to repeat JoinRandomRoom, to find some fitting room. + /// This method looks up a room in the currently active lobby or (if no lobby is joined) + /// in the default lobby. + /// + /// If this fails, you can still create a room (and make this available for the next who uses JoinRandomRoom). + /// Alternatively, try again in a moment. + /// + public static bool JoinRandomRoom() + { + return JoinRandomRoom(null, 0, MatchmakingMode.FillRoom, null, null); + } + + /// + /// Attempts to join an open room with fitting, custom properties but fails if none is currently available. + /// + /// + /// Rooms can be created in arbitrary lobbies which get created on demand. + /// You can join rooms from any lobby without actually joining the lobby. + /// Use the JoinRandomRoom overload with TypedLobby parameter. + /// + /// This method will only match rooms attached to one lobby! If you use many lobbies, you + /// might have to repeat JoinRandomRoom, to find some fitting room. + /// This method looks up a room in the currently active lobby or (if no lobby is joined) + /// in the default lobby. + /// + /// If this fails, you can still create a room (and make this available for the next who uses JoinRandomRoom). + /// Alternatively, try again in a moment. + /// + /// Filters for rooms that match these custom properties (string keys and values). To ignore, pass null. + /// Filters for a particular maxplayer setting. Use 0 to accept any maxPlayer value. + /// If the operation got queued and will be sent. + public static bool JoinRandomRoom(Hashtable expectedCustomRoomProperties, byte expectedMaxPlayers) + { + return JoinRandomRoom(expectedCustomRoomProperties, expectedMaxPlayers, MatchmakingMode.FillRoom, null, null); + } + + /// + /// Attempts to join an open room with fitting, custom properties but fails if none is currently available. + /// + /// + /// Rooms can be created in arbitrary lobbies which get created on demand. + /// You can join rooms from any lobby without actually joining the lobby with this overload. + /// + /// This method will only match rooms attached to one lobby! If you use many lobbies, you + /// might have to repeat JoinRandomRoom, to find some fitting room. + /// This method looks up a room in the specified lobby or the currently active lobby (if none specified) + /// or in the default lobby (if none active). + /// + /// If this fails, you can still create a room (and make this available for the next who uses JoinRandomRoom). + /// Alternatively, try again in a moment. + /// + /// In offlineMode, a room will be created but no properties will be set and all parameters of this + /// JoinRandomRoom call are ignored. The event/callback OnJoinedRoom gets called (see enum PhotonNetworkingMessage). + /// + /// You can define an array of expectedUsers, to block player slots in the room for these users. + /// The corresponding feature in Photon is called "Slot Reservation" and can be found in the doc pages. + /// + /// Filters for rooms that match these custom properties (string keys and values). To ignore, pass null. + /// Filters for a particular maxplayer setting. Use 0 to accept any maxPlayer value. + /// Selects one of the available matchmaking algorithms. See MatchmakingMode enum for options. + /// The lobby in which you want to lookup a room. Pass null, to use the default lobby. This does not join that lobby and neither sets the lobby property. + /// A filter-string for SQL-typed lobbies. + /// Optional list of users (by UserId) who are expected to join this game and who you want to block a slot for. + /// If the operation got queued and will be sent. + public static bool JoinRandomRoom(Hashtable expectedCustomRoomProperties, byte expectedMaxPlayers, MatchmakingMode matchingType, TypedLobby typedLobby, string sqlLobbyFilter, string[] expectedUsers = null) + { + if (offlineMode) + { + if (offlineModeRoom != null) + { + Debug.LogError("JoinRandomRoom failed. In offline mode you still have to leave a room to enter another."); + return false; + } + EnterOfflineRoom("offline room", null, true); + return true; + } + if (networkingPeer.Server != ServerConnection.MasterServer || !connectedAndReady) + { + Debug.LogError("JoinRandomRoom failed. Client is not on Master Server or not yet ready to call operations. Wait for callback: OnJoinedLobby or OnConnectedToMaster."); + return false; + } + + typedLobby = typedLobby ?? ((networkingPeer.insideLobby) ? networkingPeer.lobby : null); // use given lobby, or active lobby (if any active) or none + + OpJoinRandomRoomParams opParams = new OpJoinRandomRoomParams(); + opParams.ExpectedCustomRoomProperties = expectedCustomRoomProperties; + opParams.ExpectedMaxPlayers = expectedMaxPlayers; + opParams.MatchingType = matchingType; + opParams.TypedLobby = typedLobby; + opParams.SqlLobbyFilter = sqlLobbyFilter; + opParams.ExpectedUsers = expectedUsers; + + return networkingPeer.OpJoinRandomRoom(opParams); + } + + + /// Can be used to return to a room after a disconnect and reconnect. + /// + /// After losing connection, you might be able to return to a room and continue playing, + /// if the client is reconnecting fast enough. Use Reconnect() and this method. + /// Cache the room name you're in and use ReJoin(roomname) to return to a game. + /// + /// Note: To be able to ReJoin any room, you need to use UserIDs! + /// You also need to set RoomOptions.PlayerTtl. + /// + /// Important: Instantiate() and use of RPCs is not yet supported. + /// The ownership rules of PhotonViews prevent a seamless return to a game. + /// Use Custom Properties and RaiseEvent with event caching instead. + /// + /// Common use case: Press the Lock Button on a iOS device and you get disconnected immediately. + /// + public static bool ReJoinRoom(string roomName) + { + if (offlineMode) + { + Debug.LogError("ReJoinRoom failed due to offline mode."); + return false; + } + if (networkingPeer.Server != ServerConnection.MasterServer || !connectedAndReady) + { + Debug.LogError("ReJoinRoom failed. Client is not on Master Server or not yet ready to call operations. Wait for callback: OnJoinedLobby or OnConnectedToMaster."); + return false; + } + if (string.IsNullOrEmpty(roomName)) + { + Debug.LogError("ReJoinRoom failed. A roomname is required. If you don't know one, how will you join?"); + return false; + } + + EnterRoomParams opParams = new EnterRoomParams(); + opParams.RoomName = roomName; + opParams.RejoinOnly = true; + opParams.PlayerProperties = player.CustomProperties; + + return networkingPeer.OpJoinRoom(opParams); + } + + + /// + /// Internally used helper-method to setup an offline room, the numbers for actor and master-client and to do the callbacks. + /// + private static void EnterOfflineRoom(string roomName, RoomOptions roomOptions, bool createdRoom) + { + offlineModeRoom = new Room(roomName, roomOptions); + networkingPeer.ChangeLocalID(1); + offlineModeRoom.MasterClientId = 1; + + if (createdRoom) + { + NetworkingPeer.SendMonoMessage(PhotonNetworkingMessage.OnCreatedRoom); + } + NetworkingPeer.SendMonoMessage(PhotonNetworkingMessage.OnJoinedRoom); + } + + /// On MasterServer this joins the default lobby which list rooms currently in use. + /// + /// The room list is sent and refreshed by the server. You can access this cached list by + /// PhotonNetwork.GetRoomList(). + /// + /// Per room you should check if it's full or not before joining. Photon also lists rooms that are + /// full, unless you close and hide them (room.open = false and room.visible = false). + /// + /// In best case, you make your clients join random games, as described here: + /// http://doc.exitgames.com/en/realtime/current/reference/matchmaking-and-lobby + /// + /// + /// You can show your current players and room count without joining a lobby (but you must + /// be on the master server). Use: countOfPlayers, countOfPlayersOnMaster, countOfPlayersInRooms and + /// countOfRooms. + /// + /// You can use more than one lobby to keep the room lists shorter. See JoinLobby(TypedLobby lobby). + /// When creating new rooms, they will be "attached" to the currently used lobby or the default lobby. + /// + /// You can use JoinRandomRoom without being in a lobby! + /// Set autoJoinLobby = false before you connect, to not join a lobby. In that case, the + /// connect-workflow will call OnConnectedToMaster (if you implement it) when it's done. + /// + public static bool JoinLobby() + { + return JoinLobby(null); + } + + /// On a Master Server you can join a lobby to get lists of available rooms. + /// + /// The room list is sent and refreshed by the server. You can access this cached list by + /// PhotonNetwork.GetRoomList(). + /// + /// Any client can "make up" any lobby on the fly. Splitting rooms into multiple lobbies will + /// keep each list shorter. However, having too many lists might ruin the matchmaking experience. + /// + /// In best case, you create a limited number of lobbies. For example, create a lobby per + /// game-mode: "koth" for king of the hill and "ffa" for free for all, etc. + /// + /// There is no listing of lobbies at the moment. + /// + /// Sql-typed lobbies offer a different filtering model for random matchmaking. This might be more + /// suited for skillbased-games. However, you will also need to follow the conventions for naming + /// filterable properties in sql-lobbies! Both is explained in the matchmaking doc linked below. + /// + /// In best case, you make your clients join random games, as described here: + /// http://confluence.exitgames.com/display/PTN/Op+JoinRandomGame + /// + /// + /// Per room you should check if it's full or not before joining. Photon does list rooms that are + /// full, unless you close and hide them (room.open = false and room.visible = false). + /// + /// You can show your games current players and room count without joining a lobby (but you must + /// be on the master server). Use: countOfPlayers, countOfPlayersOnMaster, countOfPlayersInRooms and + /// countOfRooms. + /// + /// When creating new rooms, they will be "attached" to the currently used lobby or the default lobby. + /// + /// You can use JoinRandomRoom without being in a lobby! + /// Set autoJoinLobby = false before you connect, to not join a lobby. In that case, the + /// connect-workflow will call OnConnectedToMaster (if you implement it) when it's done. + /// + /// A typed lobby to join (must have name and type). + public static bool JoinLobby(TypedLobby typedLobby) + { + if (PhotonNetwork.connected && PhotonNetwork.Server == ServerConnection.MasterServer) + { + if (typedLobby == null) + { + typedLobby = TypedLobby.Default; + } + + bool sending = networkingPeer.OpJoinLobby(typedLobby); + if (sending) + { + networkingPeer.lobby = typedLobby; + + } + return sending; + } + + return false; + } + + /// Leave a lobby to stop getting updates about available rooms. + /// + /// This does not reset PhotonNetwork.lobby! This allows you to join this particular lobby later + /// easily. + /// + /// The values countOfPlayers, countOfPlayersOnMaster, countOfPlayersInRooms and countOfRooms + /// are received even without being in a lobby. + /// + /// You can use JoinRandomRoom without being in a lobby. + /// Use autoJoinLobby to not join a lobby when you connect. + /// + public static bool LeaveLobby() + { + if (PhotonNetwork.connected && PhotonNetwork.Server == ServerConnection.MasterServer) + { + return networkingPeer.OpLeaveLobby(); + } + + return false; + } + + /// Leave the current room and return to the Master Server where you can join or create rooms (see remarks). + /// + /// This will clean up all (network) GameObjects with a PhotonView, unless you changed autoCleanUp to false. + /// Returns to the Master Server. + /// + /// In OfflineMode, the local "fake" room gets cleaned up and OnLeftRoom gets called immediately. + /// + public static bool LeaveRoom() + { + if (offlineMode) + { + offlineModeRoom = null; + NetworkingPeer.SendMonoMessage(PhotonNetworkingMessage.OnLeftRoom); + } + else + { + if (room == null) + { + Debug.LogWarning("PhotonNetwork.room is null. You don't have to call LeaveRoom() when you're not in one. State: " + PhotonNetwork.connectionStateDetailed); + } + return networkingPeer.OpLeave(); + } + + return true; + } + + /// Fetches a custom list of games from the server, matching a SQL-like "where" clause, then triggers OnReceivedRoomListUpdate callback. + /// + /// Operation is only available for lobbies of type SqlLobby. Note: You don't have to join that lobby. + /// This is an async request. + /// + /// When done, OnReceivedRoomListUpdate gets called. Use GetRoomList() to access it. + /// + /// + /// The lobby to query. Has to be of type SqlLobby. + /// The sql query statement. + /// If the operation could be sent (has to be connected). + public static bool GetCustomRoomList(TypedLobby typedLobby, string sqlLobbyFilter) + { + return networkingPeer.OpGetGameList(typedLobby, sqlLobbyFilter); + } + + /// + /// Gets currently known rooms as RoomInfo array. This is available and updated while in a lobby (check insideLobby). + /// + /// + /// This list is a cached copy of the internal rooms list so it can be accessed each frame if needed. + /// Per RoomInfo you can check if the room is full by comparing playerCount and MaxPlayers before you allow a join. + /// + /// The name of a room must be used to join it (via JoinRoom). + /// + /// Closed rooms are also listed by lobbies but they can't be joined. While in a room, any player can set + /// Room.visible and Room.open to hide rooms from matchmaking and close them. + /// + /// RoomInfo[] of current rooms in lobby. + public static RoomInfo[] GetRoomList() + { + if (offlineMode || networkingPeer == null) + { + return new RoomInfo[0]; + } + + return networkingPeer.mGameListCopy; + } + + /// + /// Sets this (local) player's properties and synchronizes them to the other players (don't modify them directly). + /// + /// + /// While in a room, your properties are synced with the other players. + /// CreateRoom, JoinRoom and JoinRandomRoom will all apply your player's custom properties when you enter the room. + /// The whole Hashtable will get sent. Minimize the traffic by setting only updated key/values. + /// + /// If the Hashtable is null, the custom properties will be cleared. + /// Custom properties are never cleared automatically, so they carry over to the next room, if you don't change them. + /// + /// Don't set properties by modifying PhotonNetwork.player.customProperties! + /// + /// Only string-typed keys will be used from this hashtable. If null, custom properties are all deleted. + public static void SetPlayerCustomProperties(Hashtable customProperties) + { + if (customProperties == null) + { + customProperties = new Hashtable(); + foreach (object k in player.CustomProperties.Keys) + { + customProperties[(string)k] = null; + } + } + + if (room != null && room.IsLocalClientInside) + { + player.SetCustomProperties(customProperties); + } + else + { + player.InternalCacheProperties(customProperties); + } + } + + /// + /// Locally removes Custom Properties of "this" player. Important: This does not synchronize the change! Useful when you switch rooms. + /// + /// + /// Use this method with care. It can create inconsistencies of state between players! + /// This only changes the player.customProperties locally. This can be useful to clear your + /// Custom Properties between games (let's say they store which turn you made, kills, etc). + /// + /// SetPlayerCustomProperties() syncs and can be used to set values to null while in a room. + /// That can be considered "removed" while in a room. + /// + /// If customPropertiesToDelete is null or has 0 entries, all Custom Properties are deleted (replaced with a new Hashtable). + /// If you specify keys to remove, those will be removed from the Hashtable but other keys are unaffected. + /// + /// List of Custom Property keys to remove. See remarks. + public static void RemovePlayerCustomProperties(string[] customPropertiesToDelete) + { + if (customPropertiesToDelete == null || customPropertiesToDelete.Length == 0 || player.CustomProperties == null) + { + player.CustomProperties = new Hashtable(); + return; + } + + // if a specific list of props should be deleted, we do that here + for (int i = 0; i < customPropertiesToDelete.Length; i++) + { + string key = customPropertiesToDelete[i]; + if (player.CustomProperties.ContainsKey(key)) + { + player.CustomProperties.Remove(key); + } + } + } + + /// + /// Sends fully customizable events in a room. Events consist of at least an EventCode (0..199) and can have content. + /// + /// + /// To receive the events someone sends, register your handling method in PhotonNetwork.OnEventCall. + /// + /// Example: + /// private void OnEventHandler(byte eventCode, object content, int senderId) + /// { Debug.Log("OnEventHandler"); } + /// + /// PhotonNetwork.OnEventCall += this.OnEventHandler; + /// + /// With the senderId, you can look up the PhotonPlayer who sent the event. + /// It is best practice to assign a eventCode for each different type of content and action. You have to cast the content. + /// + /// The eventContent is optional. To be able to send something, it must be a "serializable type", something that + /// the client can turn into a byte[] basically. Most basic types and arrays of them are supported, including + /// Unity's Vector2, Vector3, Quaternion. Transforms or classes some project defines are NOT supported! + /// You can make your own class a "serializable type" by following the example in CustomTypes.cs. + /// + /// + /// The RaiseEventOptions have some (less intuitive) combination rules: + /// If you set targetActors (an array of PhotonPlayer.ID values), the receivers parameter gets ignored. + /// When using event caching, the targetActors, receivers and interestGroup can't be used. Buffered events go to all. + /// When using cachingOption removeFromRoomCache, the eventCode and content are actually not sent but used as filter. + /// + /// A byte identifying the type of event. You might want to use a code per action or to signal which content can be expected. Allowed: 0..199. + /// Some serializable object like string, byte, integer, float (etc) and arrays of those. Hashtables with byte keys are good to send variable content. + /// Makes sure this event reaches all players. It gets acknowledged, which requires bandwidth and it can't be skipped (might add lag in case of loss). + /// Allows more complex usage of events. If null, RaiseEventOptions.Default will be used (which is fine). + /// False if event could not be sent + public static bool RaiseEvent(byte eventCode, object eventContent, bool sendReliable, RaiseEventOptions options) + { + if (!inRoom || eventCode >= 200) + { + Debug.LogWarning("RaiseEvent() failed. Your event is not being sent! Check if your are in a Room and the eventCode must be less than 200 (0..199)."); + return false; + } + + return networkingPeer.OpRaiseEvent(eventCode, eventContent, sendReliable, options); + } + + /// + /// Allocates a viewID that's valid for the current/local player. + /// + /// A viewID that can be used for a new PhotonView. + public static int AllocateViewID() + { + int manualId = AllocateViewID(player.ID); + manuallyAllocatedViewIds.Add(manualId); + return manualId; + } + + + /// + /// Enables the Master Client to allocate a viewID that is valid for scene objects. + /// + /// A viewID that can be used for a new PhotonView or -1 in case of an error. + public static int AllocateSceneViewID() + { + if (!PhotonNetwork.isMasterClient) + { + Debug.LogError("Only the Master Client can AllocateSceneViewID(). Check PhotonNetwork.isMasterClient!"); + return -1; + } + + int manualId = AllocateViewID(0); + manuallyAllocatedViewIds.Add(manualId); + return manualId; + } + + // use 0 for scene-targetPhotonView-ids + // returns viewID (combined owner and sub id) + private static int AllocateViewID(int ownerId) + { + if (ownerId == 0) + { + // we look up a fresh subId for the owner "room" (mind the "sub" in subId) + int newSubId = lastUsedViewSubIdStatic; + int newViewId; + int ownerIdOffset = ownerId * MAX_VIEW_IDS; + for (int i = 1; i < MAX_VIEW_IDS; i++) + { + newSubId = (newSubId + 1) % MAX_VIEW_IDS; + if (newSubId == 0) + { + continue; // avoid using subID 0 + } + + newViewId = newSubId + ownerIdOffset; + if (!networkingPeer.photonViewList.ContainsKey(newViewId)) + { + lastUsedViewSubIdStatic = newSubId; + return newViewId; + } + } + + // this is the error case: we didn't find any (!) free subId for this user + throw new Exception(string.Format("AllocateViewID() failed. Room (user {0}) is out of 'scene' viewIDs. It seems all available are in use.", ownerId)); + } + else + { + // we look up a fresh SUBid for the owner + int newSubId = lastUsedViewSubId; + int newViewId; + int ownerIdOffset = ownerId * MAX_VIEW_IDS; + for (int i = 1; i < MAX_VIEW_IDS; i++) + { + newSubId = (newSubId + 1) % MAX_VIEW_IDS; + if (newSubId == 0) + { + continue; // avoid using subID 0 + } + + newViewId = newSubId + ownerIdOffset; + if (!networkingPeer.photonViewList.ContainsKey(newViewId) && !manuallyAllocatedViewIds.Contains(newViewId)) + { + lastUsedViewSubId = newSubId; + return newViewId; + } + } + + throw new Exception(string.Format("AllocateViewID() failed. User {0} is out of subIds, as all viewIDs are used.", ownerId)); + } + } + + private static int[] AllocateSceneViewIDs(int countOfNewViews) + { + int[] viewIDs = new int[countOfNewViews]; + for (int view = 0; view < countOfNewViews; view++) + { + viewIDs[view] = AllocateViewID(0); + } + + return viewIDs; + } + + /// + /// Unregister a viewID (of manually instantiated and destroyed networked objects). + /// + /// A viewID manually allocated by this player. + public static void UnAllocateViewID(int viewID) + { + manuallyAllocatedViewIds.Remove(viewID); + + if (networkingPeer.photonViewList.ContainsKey(viewID)) + { + Debug.LogWarning(string.Format("UnAllocateViewID() should be called after the PhotonView was destroyed (GameObject.Destroy()). ViewID: {0} still found in: {1}", viewID, networkingPeer.photonViewList[viewID])); + } + } + + /// + /// Instantiate a prefab over the network. This prefab needs to be located in the root of a "Resources" folder. + /// + /// + /// Instead of using prefabs in the Resources folder, you can manually Instantiate and assign PhotonViews. See doc. + /// + /// Name of the prefab to instantiate. + /// Position Vector3 to apply on instantiation. + /// Rotation Quaternion to apply on instantiation. + /// The group for this PhotonView. + /// The new instance of a GameObject with initialized PhotonView. + public static GameObject Instantiate(string prefabName, Vector3 position, Quaternion rotation, byte group) + { + return Instantiate(prefabName, position, rotation, group, null); + } + + /// + /// Instantiate a prefab over the network. This prefab needs to be located in the root of a "Resources" folder. + /// + /// Instead of using prefabs in the Resources folder, you can manually Instantiate and assign PhotonViews. See doc. + /// Name of the prefab to instantiate. + /// Position Vector3 to apply on instantiation. + /// Rotation Quaternion to apply on instantiation. + /// The group for this PhotonView. + /// Optional instantiation data. This will be saved to it's PhotonView.instantiationData. + /// The new instance of a GameObject with initialized PhotonView. + public static GameObject Instantiate(string prefabName, Vector3 position, Quaternion rotation, byte group, object[] data) + { + if (!connected || (InstantiateInRoomOnly && !inRoom)) + { + Debug.LogError("Failed to Instantiate prefab: " + prefabName + ". Client should be in a room. Current connectionStateDetailed: " + PhotonNetwork.connectionStateDetailed); + return null; + } + + GameObject prefabGo; + if (!UsePrefabCache || !PrefabCache.TryGetValue(prefabName, out prefabGo)) + { + prefabGo = (GameObject)Resources.Load(prefabName, typeof(GameObject)); + if (UsePrefabCache) + { + PrefabCache.Add(prefabName, prefabGo); + } + } + + if (prefabGo == null) + { + Debug.LogError("Failed to Instantiate prefab: " + prefabName + ". Verify the Prefab is in a Resources folder (and not in a subfolder)"); + return null; + } + + // a scene object instantiated with network visibility has to contain a PhotonView + if (prefabGo.GetComponent() == null) + { + Debug.LogError("Failed to Instantiate prefab:" + prefabName + ". Prefab must have a PhotonView component."); + return null; + } + + Component[] views = (Component[])prefabGo.GetPhotonViewsInChildren(); + int[] viewIDs = new int[views.Length]; + for (int i = 0; i < viewIDs.Length; i++) + { + //Debug.Log("Instantiate prefabName: " + prefabName + " player.ID: " + player.ID); + viewIDs[i] = AllocateViewID(player.ID); + } + + // Send to others, create info + Hashtable instantiateEvent = networkingPeer.SendInstantiate(prefabName, position, rotation, group, viewIDs, data, false); + + // Instantiate the GO locally (but the same way as if it was done via event). This will also cache the instantiationId + return networkingPeer.DoInstantiate(instantiateEvent, networkingPeer.LocalPlayer, prefabGo); + } + + + /// + /// Instantiate a scene-owned prefab over the network. The PhotonViews will be controllable by the MasterClient. This prefab needs to be located in the root of a "Resources" folder. + /// + /// + /// Only the master client can Instantiate scene objects. + /// Instead of using prefabs in the Resources folder, you can manually Instantiate and assign PhotonViews. See doc. + /// + /// Name of the prefab to instantiate. + /// Position Vector3 to apply on instantiation. + /// Rotation Quaternion to apply on instantiation. + /// The group for this PhotonView. + /// Optional instantiation data. This will be saved to it's PhotonView.instantiationData. + /// The new instance of a GameObject with initialized PhotonView. + public static GameObject InstantiateSceneObject(string prefabName, Vector3 position, Quaternion rotation, byte group, object[] data) + { + if (!connected || (InstantiateInRoomOnly && !inRoom)) + { + Debug.LogError("Failed to InstantiateSceneObject prefab: " + prefabName + ". Client should be in a room. Current connectionStateDetailed: " + PhotonNetwork.connectionStateDetailed); + return null; + } + + if (!isMasterClient) + { + Debug.LogError("Failed to InstantiateSceneObject prefab: " + prefabName + ". Client is not the MasterClient in this room."); + return null; + } + + GameObject prefabGo; + if (!UsePrefabCache || !PrefabCache.TryGetValue(prefabName, out prefabGo)) + { + prefabGo = (GameObject)Resources.Load(prefabName, typeof(GameObject)); + if (UsePrefabCache) + { + PrefabCache.Add(prefabName, prefabGo); + } + } + + if (prefabGo == null) + { + Debug.LogError("Failed to InstantiateSceneObject prefab: " + prefabName + ". Verify the Prefab is in a Resources folder (and not in a subfolder)"); + return null; + } + + // a scene object instantiated with network visibility has to contain a PhotonView + if (prefabGo.GetComponent() == null) + { + Debug.LogError("Failed to InstantiateSceneObject prefab:" + prefabName + ". Prefab must have a PhotonView component."); + return null; + } + + Component[] views = (Component[])prefabGo.GetPhotonViewsInChildren(); + int[] viewIDs = AllocateSceneViewIDs(views.Length); + + if (viewIDs == null) + { + Debug.LogError("Failed to InstantiateSceneObject prefab: " + prefabName + ". No ViewIDs are free to use. Max is: " + MAX_VIEW_IDS); + return null; + } + + // Send to others, create info + Hashtable instantiateEvent = networkingPeer.SendInstantiate(prefabName, position, rotation, group, viewIDs, data, true); + + // Instantiate the GO locally (but the same way as if it was done via event). This will also cache the instantiationId + return networkingPeer.DoInstantiate(instantiateEvent, networkingPeer.LocalPlayer, prefabGo); + } + + /// + /// The current roundtrip time to the photon server. + /// + /// Roundtrip time (to server and back). + public static int GetPing() + { + return networkingPeer.RoundTripTime; + } + + /// Refreshes the server timestamp (async operation, takes a roundtrip). + /// Can be useful if a bad connection made the timestamp unusable or imprecise. + public static void FetchServerTimestamp() + { + if (networkingPeer != null) + { + networkingPeer.FetchServerTimestamp(); + } + } + + /// + /// Can be used to immediately send the RPCs and Instantiates just called, so they are on their way to the other players. + /// + /// + /// This could be useful if you do a RPC to load a level and then load it yourself. + /// While loading, no RPCs are sent to others, so this would delay the "load" RPC. + /// You can send the RPC to "others", use this method, disable the message queue + /// (by isMessageQueueRunning) and then load. + /// + public static void SendOutgoingCommands() + { + if (!VerifyCanUseNetwork()) + { + return; + } + + while (networkingPeer.SendOutgoingCommands()) + { + } + } + + /// Request a client to disconnect (KICK). Only the master client can do this + /// Only the target player gets this event. That player will disconnect automatically, which is what the others will notice, too. + /// The PhotonPlayer to kick. + public static bool CloseConnection(PhotonPlayer kickPlayer) + { + if (!VerifyCanUseNetwork()) + { + return false; + } + + if (!player.IsMasterClient) + { + Debug.LogError("CloseConnection: Only the masterclient can kick another player."); + return false; + } + + if (kickPlayer == null) + { + Debug.LogError("CloseConnection: No such player connected!"); + return false; + } + + RaiseEventOptions options = new RaiseEventOptions() { TargetActors = new int[] { kickPlayer.ID } }; + return networkingPeer.OpRaiseEvent(PunEvent.CloseConnection, null, true, options); + } + + /// + /// Asks the server to assign another player as Master Client of your current room. + /// + /// + /// RPCs and RaiseEvent have the option to send messages only to the Master Client of a room. + /// SetMasterClient affects which client gets those messages. + /// + /// This method calls an operation on the server to set a new Master Client, which takes a roundtrip. + /// In case of success, this client and the others get the new Master Client from the server. + /// + /// SetMasterClient tells the server which current Master Client should be replaced with the new one. + /// It will fail, if anything switches the Master Client moments earlier. There is no callback for this + /// error. All clients should get the new Master Client assigned by the server anyways. + /// + /// See also: PhotonNetwork.masterClient + /// + /// On v3 servers: + /// The ReceiverGroup.MasterClient (usable in RPCs) is not affected by this (still points to lowest player.ID in room). + /// Avoid using this enum value (and send to a specific player instead). + /// + /// If the current Master Client leaves, PUN will detect a new one by "lowest player ID". Implement OnMasterClientSwitched + /// to get a callback in this case. The PUN-selected Master Client might assign a new one. + /// + /// Make sure you don't create an endless loop of Master-assigning! When selecting a custom Master Client, all clients + /// should point to the same player, no matter who actually assigns this player. + /// + /// Locally the Master Client is immediately switched, while remote clients get an event. This means the game + /// is tempoarily without Master Client like when a current Master Client leaves. + /// + /// When switching the Master Client manually, keep in mind that this user might leave and not do it's work, just like + /// any Master Client. + /// + /// + /// The player to become the next Master Client. + /// False when this operation couldn't be done. Must be in a room (not in offlineMode). + public static bool SetMasterClient(PhotonPlayer masterClientPlayer) + { + if (!inRoom || !VerifyCanUseNetwork() || offlineMode) + { + if (logLevel == PhotonLogLevel.Informational) Debug.Log("Can not SetMasterClient(). Not in room or in offlineMode."); + return false; + } + + if (room.serverSideMasterClient) + { + Hashtable newProps = new Hashtable() { { GamePropertyKey.MasterClientId, masterClientPlayer.ID } }; + Hashtable prevProps = new Hashtable() { { GamePropertyKey.MasterClientId, networkingPeer.mMasterClientId } }; + return networkingPeer.OpSetPropertiesOfRoom(newProps, expectedProperties: prevProps, webForward: false); + } + else + { + if (!isMasterClient) + { + return false; + } + return networkingPeer.SetMasterClient(masterClientPlayer.ID, true); + } + } + + /// + /// Network-Destroy the GameObject associated with the PhotonView, unless the PhotonView is static or not under this client's control. + /// + /// + /// Destroying a networked GameObject while in a Room includes: + /// - Removal of the Instantiate call from the server's room buffer. + /// - Removing RPCs buffered for PhotonViews that got created indirectly with the PhotonNetwork.Instantiate call. + /// - Sending a message to other clients to remove the GameObject also (affected by network lag). + /// + /// Usually, when you leave a room, the GOs get destroyed automatically. + /// If you have to destroy a GO while not in a room, the Destroy is only done locally. + /// + /// Destroying networked objects works only if they got created with PhotonNetwork.Instantiate(). + /// Objects loaded with a scene are ignored, no matter if they have PhotonView components. + /// + /// The GameObject must be under this client's control: + /// - Instantiated and owned by this client. + /// - Instantiated objects of players who left the room are controlled by the Master Client. + /// - Scene-owned game objects are controlled by the Master Client. + /// - GameObject can be destroyed while client is not in a room. + /// + /// Nothing. Check error debug log for any issues. + public static void Destroy(PhotonView targetView) + { + if (targetView != null) + { + networkingPeer.RemoveInstantiatedGO(targetView.gameObject, !inRoom); + } + else + { + Debug.LogError("Destroy(targetPhotonView) failed, cause targetPhotonView is null."); + } + } + + /// + /// Network-Destroy the GameObject, unless it is static or not under this client's control. + /// + /// + /// Destroying a networked GameObject includes: + /// - Removal of the Instantiate call from the server's room buffer. + /// - Removing RPCs buffered for PhotonViews that got created indirectly with the PhotonNetwork.Instantiate call. + /// - Sending a message to other clients to remove the GameObject also (affected by network lag). + /// + /// Usually, when you leave a room, the GOs get destroyed automatically. + /// If you have to destroy a GO while not in a room, the Destroy is only done locally. + /// + /// Destroying networked objects works only if they got created with PhotonNetwork.Instantiate(). + /// Objects loaded with a scene are ignored, no matter if they have PhotonView components. + /// + /// The GameObject must be under this client's control: + /// - Instantiated and owned by this client. + /// - Instantiated objects of players who left the room are controlled by the Master Client. + /// - Scene-owned game objects are controlled by the Master Client. + /// - GameObject can be destroyed while client is not in a room. + /// + /// Nothing. Check error debug log for any issues. + public static void Destroy(GameObject targetGo) + { + networkingPeer.RemoveInstantiatedGO(targetGo, !inRoom); + } + + /// + /// Network-Destroy all GameObjects, PhotonViews and their RPCs of targetPlayer. Can only be called on local player (for "self") or Master Client (for anyone). + /// + /// + /// Destroying a networked GameObject includes: + /// - Removal of the Instantiate call from the server's room buffer. + /// - Removing RPCs buffered for PhotonViews that got created indirectly with the PhotonNetwork.Instantiate call. + /// - Sending a message to other clients to remove the GameObject also (affected by network lag). + /// + /// Destroying networked objects works only if they got created with PhotonNetwork.Instantiate(). + /// Objects loaded with a scene are ignored, no matter if they have PhotonView components. + /// + /// Nothing. Check error debug log for any issues. + public static void DestroyPlayerObjects(PhotonPlayer targetPlayer) + { + if (player == null) + { + Debug.LogError("DestroyPlayerObjects() failed, cause parameter 'targetPlayer' was null."); + } + + DestroyPlayerObjects(targetPlayer.ID); + } + + /// + /// Network-Destroy all GameObjects, PhotonViews and their RPCs of this player (by ID). Can only be called on local player (for "self") or Master Client (for anyone). + /// + /// + /// Destroying a networked GameObject includes: + /// - Removal of the Instantiate call from the server's room buffer. + /// - Removing RPCs buffered for PhotonViews that got created indirectly with the PhotonNetwork.Instantiate call. + /// - Sending a message to other clients to remove the GameObject also (affected by network lag). + /// + /// Destroying networked objects works only if they got created with PhotonNetwork.Instantiate(). + /// Objects loaded with a scene are ignored, no matter if they have PhotonView components. + /// + /// Nothing. Check error debug log for any issues. + public static void DestroyPlayerObjects(int targetPlayerId) + { + if (!VerifyCanUseNetwork()) + { + return; + } + if (player.IsMasterClient || targetPlayerId == player.ID) + { + networkingPeer.DestroyPlayerObjects(targetPlayerId, false); + } + else + { + Debug.LogError("DestroyPlayerObjects() failed, cause players can only destroy their own GameObjects. A Master Client can destroy anyone's. This is master: " + PhotonNetwork.isMasterClient); + } + } + + /// + /// Network-Destroy all GameObjects, PhotonViews and their RPCs in the room. Removes anything buffered from the server. Can only be called by Master Client (for anyone). + /// + /// + /// Can only be called by Master Client (for anyone). + /// Unlike the Destroy methods, this will remove anything from the server's room buffer. If your game + /// buffers anything beyond Instantiate and RPC calls, that will be cleaned as well from server. + /// + /// Destroying all includes: + /// - Remove anything from the server's room buffer (Instantiate, RPCs, anything buffered). + /// - Sending a message to other clients to destroy everything locally, too (affected by network lag). + /// + /// Destroying networked objects works only if they got created with PhotonNetwork.Instantiate(). + /// Objects loaded with a scene are ignored, no matter if they have PhotonView components. + /// + /// Nothing. Check error debug log for any issues. + public static void DestroyAll() + { + if (isMasterClient) + { + networkingPeer.DestroyAll(false); + } + else + { + Debug.LogError("Couldn't call DestroyAll() as only the master client is allowed to call this."); + } + } + + /// + /// Remove all buffered RPCs from server that were sent by targetPlayer. Can only be called on local player (for "self") or Master Client (for anyone). + /// + /// + /// This method requires either: + /// - This is the targetPlayer's client. + /// - This client is the Master Client (can remove any PhotonPlayer's RPCs). + /// + /// If the targetPlayer calls RPCs at the same time that this is called, + /// network lag will determine if those get buffered or cleared like the rest. + /// + /// This player's buffered RPCs get removed from server buffer. + public static void RemoveRPCs(PhotonPlayer targetPlayer) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + if (!targetPlayer.IsLocal && !isMasterClient) + { + Debug.LogError("Error; Only the MasterClient can call RemoveRPCs for other players."); + return; + } + + networkingPeer.OpCleanRpcBuffer(targetPlayer.ID); + } + + /// + /// Remove all buffered RPCs from server that were sent via targetPhotonView. The Master Client and the owner of the targetPhotonView may call this. + /// + /// + /// This method requires either: + /// - The targetPhotonView is owned by this client (Instantiated by it). + /// - This client is the Master Client (can remove any PhotonView's RPCs). + /// + /// RPCs buffered for this PhotonView get removed from server buffer. + public static void RemoveRPCs(PhotonView targetPhotonView) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + networkingPeer.CleanRpcBufferIfMine(targetPhotonView); + } + + /// + /// Remove all buffered RPCs from server that were sent in the targetGroup, if this is the Master Client or if this controls the individual PhotonView. + /// + /// + /// This method requires either: + /// - This client is the Master Client (can remove any RPCs per group). + /// - Any other client: each PhotonView is checked if it is under this client's control. Only those RPCs are removed. + /// + /// Interest group that gets all RPCs removed. + public static void RemoveRPCsInGroup(int targetGroup) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + networkingPeer.RemoveRPCsInGroup(targetGroup); + } + + /// + /// Internal to send an RPC on given PhotonView. Do not call this directly but use: PhotonView.RPC! + /// + internal static void RPC(PhotonView view, string methodName, PhotonTargets target, bool encrypt, params object[] parameters) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + if (room == null) + { + Debug.LogWarning("RPCs can only be sent in rooms. Call of \"" + methodName + "\" gets executed locally only, if at all."); + return; + } + + if (networkingPeer != null) + { + if (PhotonNetwork.room.serverSideMasterClient) + { + networkingPeer.RPC(view, methodName, target, null, encrypt, parameters); + } + else + { + if (PhotonNetwork.networkingPeer.hasSwitchedMC && target == PhotonTargets.MasterClient) + { + networkingPeer.RPC(view, methodName, PhotonTargets.Others, PhotonNetwork.masterClient, encrypt, parameters); + } + else + { + networkingPeer.RPC(view, methodName, target, null, encrypt, parameters); + } + } + } + else + { + Debug.LogWarning("Could not execute RPC " + methodName + ". Possible scene loading in progress?"); + } + } + + /// + /// Internal to send an RPC on given PhotonView. Do not call this directly but use: PhotonView.RPC! + /// + internal static void RPC(PhotonView view, string methodName, PhotonPlayer targetPlayer, bool encrpyt, params object[] parameters) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + if (room == null) + { + Debug.LogWarning("RPCs can only be sent in rooms. Call of \"" + methodName + "\" gets executed locally only, if at all."); + return; + } + + if (player == null) + { + Debug.LogError("RPC can't be sent to target PhotonPlayer being null! Did not send \"" + methodName + "\" call."); + } + + if (networkingPeer != null) + { + networkingPeer.RPC(view, methodName, PhotonTargets.Others, targetPlayer, encrpyt, parameters); + } + else + { + Debug.LogWarning("Could not execute RPC " + methodName + ". Possible scene loading in progress?"); + } + } + + /// + /// Populates SendMonoMessageTargets with currently existing GameObjects that have a Component of type. + /// + /// If null, this will use SendMonoMessageTargets as component-type (MonoBehaviour by default). + public static void CacheSendMonoMessageTargets(Type type) + { + if (type == null) type = SendMonoMessageTargetType; + PhotonNetwork.SendMonoMessageTargets = FindGameObjectsWithComponent(type); + } + + /// Finds the GameObjects with Components of a specific type (using FindObjectsOfType). + /// Type must be a Component + /// HashSet with GameObjects that have a specific type of Component. + public static HashSet FindGameObjectsWithComponent(Type type) + { + HashSet objectsWithComponent = new HashSet(); + + Component[] targetComponents = (Component[]) GameObject.FindObjectsOfType(type); + for (int index = 0; index < targetComponents.Length; index++) + { + if (targetComponents[index] != null) + { + objectsWithComponent.Add(targetComponents[index].gameObject); + } + } + + return objectsWithComponent; + } + + + + [Obsolete("Use SetInterestGroups(byte group, bool enabled) instead.")] + public static void SetReceivingEnabled(int group, bool enabled) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + SetInterestGroups((byte)group, enabled); + } + + /// Enable/disable receiving events from a given Interest Group. + /// + /// A client can tell the server which Interest Groups it's interested in. + /// The server will only forward events for those Interest Groups to that client (saving bandwidth and performance). + /// + /// See: https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/interestgroupsinterestgroups + /// + /// See: https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/culling-demo + /// + /// The interest group to affect. + /// Sets if receiving from group to enabled (or not). + public static void SetInterestGroups(byte group, bool enabled) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + if (enabled) + { + byte[] groups = new byte[1] { (byte)group }; + networkingPeer.SetInterestGroups(null, groups); + } + else + { + byte[] groups = new byte[1] { (byte)group }; + networkingPeer.SetInterestGroups(groups, null); + } + } + + + [Obsolete("Use SetInterestGroups(byte[] disableGroups, byte[] enableGroups) instead. Mind the parameter order!")] + public static void SetReceivingEnabled(int[] enableGroups, int[] disableGroups) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + byte[] disableByteGroups = null; + byte[] enableByteGroups = null; + + if (enableGroups != null) + { + enableByteGroups = new byte[enableGroups.Length]; + Array.Copy(enableGroups, enableByteGroups, enableGroups.Length); + } + if (disableGroups != null) + { + disableByteGroups = new byte[disableGroups.Length]; + Array.Copy(disableGroups, disableByteGroups, disableGroups.Length); + } + + networkingPeer.SetInterestGroups(disableByteGroups, enableByteGroups); + } + + /// Enable/disable receiving on given Interest Groups (applied to PhotonViews). + /// + /// A client can tell the server which Interest Groups it's interested in. + /// The server will only forward events for those Interest Groups to that client (saving bandwidth and performance). + /// + /// See: https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/interestgroupsinterestgroups + /// + /// See: https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/culling-demo + /// + /// The interest groups to disable (or null). + /// The interest groups to enable (or null). + public static void SetInterestGroups(byte[] disableGroups, byte[] enableGroups) + { + if (!VerifyCanUseNetwork()) + { + return; + } + networkingPeer.SetInterestGroups(disableGroups, enableGroups); + } + + + + [Obsolete("Use SetSendingEnabled(byte group, bool enabled). Interest Groups have a byte-typed ID. Mind the parameter order.")] + public static void SetSendingEnabled(int group, bool enabled) + { + SetSendingEnabled((byte)group, enabled); + } + + /// Enable/disable sending on given group (applied to PhotonViews) + /// + /// This does not interact with the Photon server-side. + /// It's just a client-side setting to suppress updates, should they be sent to one of the blocked groups. + /// + /// This setting is not particularly useful, as it means that updates literally never reach the server or anyone else. + /// Use with care. + /// + /// The interest group to affect. + /// Sets if sending to group is enabled (or not). + public static void SetSendingEnabled(byte group, bool enabled) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + networkingPeer.SetSendingEnabled(group, enabled); + } + + + [Obsolete("Use SetSendingEnabled(byte group, bool enabled). Interest Groups have a byte-typed ID. Mind the parameter order.")] + public static void SetSendingEnabled(int[] enableGroups, int[] disableGroups) + { + byte[] disableByteGroups = null; + byte[] enableByteGroups = null; + + if (enableGroups != null) + { + enableByteGroups = new byte[enableGroups.Length]; + Array.Copy(enableGroups, enableByteGroups, enableGroups.Length); + } + if (disableGroups != null) + { + disableByteGroups = new byte[disableGroups.Length]; + Array.Copy(disableGroups, disableByteGroups, disableGroups.Length); + } + + SetSendingEnabled(disableByteGroups, enableByteGroups); + } + + /// Enable/disable sending on given groups (applied to PhotonViews) + /// + /// This does not interact with the Photon server-side. + /// It's just a client-side setting to suppress updates, should they be sent to one of the blocked groups. + /// + /// This setting is not particularly useful, as it means that updates literally never reach the server or anyone else. + /// Use with care. + /// The interest groups to enable sending on (or null). + /// The interest groups to disable sending on (or null). + public static void SetSendingEnabled(byte[] disableGroups, byte[] enableGroups) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + networkingPeer.SetSendingEnabled(disableGroups, enableGroups); + } + + + + /// + /// Sets level prefix for PhotonViews instantiated later on. Don't set it if you need only one! + /// + /// + /// Important: If you don't use multiple level prefixes, simply don't set this value. The + /// default value is optimized out of the traffic. + /// + /// This won't affect existing PhotonViews (they can't be changed yet for existing PhotonViews). + /// + /// Messages sent with a different level prefix will be received but not executed. This affects + /// RPCs, Instantiates and synchronization. + /// + /// Be aware that PUN never resets this value, you'll have to do so yourself. + /// + /// Max value is short.MaxValue = 32767 + public static void SetLevelPrefix(short prefix) + { + if (!VerifyCanUseNetwork()) + { + return; + } + + networkingPeer.SetLevelPrefix(prefix); + } + + /// Wraps loading a level to pause the network mesage-queue. Optionally syncs the loaded level in a room. + /// + /// To sync the loaded level in a room, set PhotonNetwork.automaticallySyncScene to true. + /// The Master Client of a room will then sync the loaded level with every other player in the room. + /// + /// While loading levels, it makes sense to not dispatch messages received by other players. + /// This method takes care of that by setting PhotonNetwork.isMessageQueueRunning = false and enabling + /// the queue when the level was loaded. + /// + /// You should make sure you don't fire RPCs before you load another scene (which doesn't contain + /// the same GameObjects and PhotonViews). You can call this in OnJoinedRoom. + /// + /// This uses Application.LoadLevel. + /// + /// + /// Number of the level to load. When using level numbers, make sure they are identical on all clients. + /// + public static void LoadLevel(int levelNumber) + { + networkingPeer.SetLevelInPropsIfSynced(levelNumber); + + PhotonNetwork.isMessageQueueRunning = false; + networkingPeer.loadingLevelAndPausedNetwork = true; + SceneManager.LoadScene(levelNumber); + } + + /// Wraps loading a level to pause the network mesage-queue. Optionally syncs the loaded level in a room. + /// + /// While loading levels, it makes sense to not dispatch messages received by other players. + /// This method takes care of that by setting PhotonNetwork.isMessageQueueRunning = false and enabling + /// the queue when the level was loaded. + /// + /// To sync the loaded level in a room, set PhotonNetwork.automaticallySyncScene to true. + /// The Master Client of a room will then sync the loaded level with every other player in the room. + /// + /// You should make sure you don't fire RPCs before you load another scene (which doesn't contain + /// the same GameObjects and PhotonViews). You can call this in OnJoinedRoom. + /// + /// This uses Application.LoadLevel. + /// + /// + /// Name of the level to load. Make sure it's available to all clients in the same room. + /// + public static void LoadLevel(string levelName) + { + networkingPeer.SetLevelInPropsIfSynced(levelName); + + PhotonNetwork.isMessageQueueRunning = false; + networkingPeer.loadingLevelAndPausedNetwork = true; + SceneManager.LoadScene(levelName); + } + + + /// + /// This operation makes Photon call your custom web-service by name (path) with the given parameters. + /// + /// + /// This is a server-side feature which must be setup in the Photon Cloud Dashboard prior to use.
+ /// See the Turnbased Feature Overview for a short intro.
+ /// http://doc.photonengine.com/en/turnbased/current/getting-started/feature-overview + ///
+ /// The Parameters will be converted into JSon format, so make sure your parameters are compatible. + /// + /// See PhotonNetworkingMessage.OnWebRpcResponse on how to get a response. + /// + /// It's important to understand that the OperationResponse only tells if the WebRPC could be called. + /// The content of the response contains any values your web-service sent and the error/success code. + /// In case the web-service failed, an error code and a debug message are usually inside the + /// OperationResponse. + /// + /// The class WebRpcResponse is a helper-class that extracts the most valuable content from the WebRPC + /// response. + ///
+ /// + /// Example callback implementation:
+    ///
+    /// public void OnWebRpcResponse(OperationResponse response)
+    /// {
+    ///     WebRpcResponse webResponse = new WebRpcResponse(operationResponse);
+    ///     if (webResponse.ReturnCode != 0) { //...
+    ///     }
+    ///
+    ///     switch (webResponse.Name) { //...
+    ///     }
+    ///     // and so on
+    /// }
+ ///
+ public static bool WebRpc(string name, object parameters) + { + return networkingPeer.WebRpc(name, parameters); + } + + +#if UNITY_EDITOR + [Conditional("UNITY_EDITOR")] + public static void CreateSettings() + { + PhotonNetwork.PhotonServerSettings = (ServerSettings)Resources.Load(PhotonNetwork.serverSettingsAssetFile, typeof(ServerSettings)); + if (PhotonNetwork.PhotonServerSettings != null) + { + return; + } + + // find out if ServerSettings can be instantiated (existing script check) + ScriptableObject serverSettingTest = ScriptableObject.CreateInstance("ServerSettings"); + if (serverSettingTest == null) + { + Debug.LogError("missing settings script"); + return; + } + UnityEngine.Object.DestroyImmediate(serverSettingTest); + + + // if still not loaded, create one + if (PhotonNetwork.PhotonServerSettings == null) + { + string settingsPath = Path.GetDirectoryName(PhotonNetwork.serverSettingsAssetPath); + if (!Directory.Exists(settingsPath)) + { + Directory.CreateDirectory(settingsPath); + AssetDatabase.ImportAsset(settingsPath); + } + + PhotonNetwork.PhotonServerSettings = (ServerSettings)ScriptableObject.CreateInstance("ServerSettings"); + if (PhotonNetwork.PhotonServerSettings != null) + { + AssetDatabase.CreateAsset(PhotonNetwork.PhotonServerSettings, PhotonNetwork.serverSettingsAssetPath); + } + else + { + Debug.LogError("PUN failed creating a settings file. ScriptableObject.CreateInstance(\"ServerSettings\") returned null. Will try again later."); + } + } + } + + + /// + /// Internally used by Editor scripts, called on Hierarchy change (includes scene save) to remove surplus hidden PhotonHandlers. + /// + public static void InternalCleanPhotonMonoFromSceneIfStuck() + { + PhotonHandler[] photonHandlers = GameObject.FindObjectsOfType(typeof(PhotonHandler)) as PhotonHandler[]; + if (photonHandlers != null && photonHandlers.Length > 0) + { + Debug.Log("Cleaning up hidden PhotonHandler instances in scene. Please save it. This is not an issue."); + foreach (PhotonHandler photonHandler in photonHandlers) + { + // Debug.Log("Removing Handler: " + photonHandler + " photonHandler.gameObject: " + photonHandler.gameObject); + photonHandler.gameObject.hideFlags = 0; + + if (photonHandler.gameObject != null && photonHandler.gameObject.name == "PhotonMono") + { + GameObject.DestroyImmediate(photonHandler.gameObject); + } + + Component.DestroyImmediate(photonHandler); + } + } + } +#endif + +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonNetwork.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonNetwork.cs.meta new file mode 100644 index 0000000..23f48a0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonNetwork.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 88e11b3353de7e94d84b1ec5adbdd15e +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonPlayer.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonPlayer.cs new file mode 100644 index 0000000..ecbc303 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonPlayer.cs @@ -0,0 +1,428 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// Represents a player, identified by actorID (a.k.a. ActorNumber). +// Caches properties of a player. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using ExitGames.Client.Photon; +using UnityEngine; +using Hashtable = ExitGames.Client.Photon.Hashtable; + + +/// +/// Summarizes a "player" within a room, identified (in that room) by actorID. +/// +/// +/// Each player has an actorId (or ID), valid for that room. It's -1 until it's assigned by server. +/// Each client can set it's player's custom properties with SetCustomProperties, even before being in a room. +/// They are synced when joining a room. +/// +/// \ingroup publicApi +public class PhotonPlayer : IComparable, IComparable, IEquatable, IEquatable +{ + /// This player's actorID + public int ID + { + get { return this.actorID; } + } + + /// Identifier of this player in current room. + private int actorID = -1; + + private string nameField = ""; + + /// Nickname of this player. + /// Set the PhotonNetwork.playerName to make the name synchronized in a room. + public string NickName + { + get + { + return this.nameField; + } + set + { + if (!IsLocal) + { + Debug.LogError("Error: Cannot change the name of a remote player!"); + return; + } + if (string.IsNullOrEmpty(value) || value.Equals(this.nameField)) + { + return; + } + + this.nameField = value; + PhotonNetwork.playerName = value; // this will sync the local player's name in a room + } + } + + /// UserId of the player, available when the room got created with RoomOptions.PublishUserId = true. + /// Useful for PhotonNetwork.FindFriends and blocking slots in a room for expected players (e.g. in PhotonNetwork.CreateRoom). + public string UserId { get; internal set; } + + /// Only one player is controlled by each client. Others are not local. + public readonly bool IsLocal = false; + + /// + /// True if this player is the Master Client of the current room. + /// + /// + /// See also: PhotonNetwork.masterClient. + /// + public bool IsMasterClient + { + get { return (PhotonNetwork.networkingPeer.mMasterClientId == this.ID); } + } + + /// Players might be inactive in a room when PlayerTTL for a room is > 0. If true, the player is not getting events from this room (now) but can return later. + public bool IsInactive { get; set; } // needed for rejoins + + /// Read-only cache for custom properties of player. Set via PhotonPlayer.SetCustomProperties. + /// + /// Don't modify the content of this Hashtable. Use SetCustomProperties and the + /// properties of this class to modify values. When you use those, the client will + /// sync values with the server. + /// + /// + public Hashtable CustomProperties { get; internal set; } + + /// Creates a Hashtable with all properties (custom and "well known" ones). + /// If used more often, this should be cached. + public Hashtable AllProperties + { + get + { + Hashtable allProps = new Hashtable(); + allProps.Merge(this.CustomProperties); + allProps[ActorProperties.PlayerName] = this.NickName; + return allProps; + } + } + + /// Can be used to store a reference that's useful to know "by player". + /// Example: Set a player's character as Tag by assigning the GameObject on Instantiate. + public object TagObject; + + + /// + /// Creates a PhotonPlayer instance. + /// + /// If this is the local peer's player (or a remote one). + /// ID or ActorNumber of this player in the current room (a shortcut to identify each player in room) + /// Name of the player (a "well known property"). + public PhotonPlayer(bool isLocal, int actorID, string name) + { + this.CustomProperties = new Hashtable(); + this.IsLocal = isLocal; + this.actorID = actorID; + this.nameField = name; + } + + /// + /// Internally used to create players from event Join + /// + protected internal PhotonPlayer(bool isLocal, int actorID, Hashtable properties) + { + this.CustomProperties = new Hashtable(); + this.IsLocal = isLocal; + this.actorID = actorID; + + this.InternalCacheProperties(properties); + } + + /// + /// Makes PhotonPlayer comparable + /// + public override bool Equals(object p) + { + PhotonPlayer pp = p as PhotonPlayer; + return (pp != null && this.GetHashCode() == pp.GetHashCode()); + } + + public override int GetHashCode() + { + return this.ID; + } + + /// + /// Used internally, to update this client's playerID when assigned. + /// + internal void InternalChangeLocalID(int newID) + { + if (!this.IsLocal) + { + Debug.LogError("ERROR You should never change PhotonPlayer IDs!"); + return; + } + + this.actorID = newID; + } + + /// + /// Caches custom properties for this player. + /// + internal void InternalCacheProperties(Hashtable properties) + { + if (properties == null || properties.Count == 0 || this.CustomProperties.Equals(properties)) + { + return; + } + + if (properties.ContainsKey(ActorProperties.PlayerName)) + { + this.nameField = (string)properties[ActorProperties.PlayerName]; + } + if (properties.ContainsKey(ActorProperties.UserId)) + { + this.UserId = (string)properties[ActorProperties.UserId]; + } + if (properties.ContainsKey(ActorProperties.IsInactive)) + { + this.IsInactive = (bool)properties[ActorProperties.IsInactive]; //TURNBASED new well-known propery for players + } + + this.CustomProperties.MergeStringKeys(properties); + this.CustomProperties.StripKeysWithNullValues(); + } + + + /// + /// Updates the this player's Custom Properties with new/updated key-values. + /// + /// + /// Custom Properties are a key-value set (Hashtable) which is available to all players in a room. + /// They can relate to the room or individual players and are useful when only the current value + /// of something is of interest. For example: The map of a room. + /// All keys must be strings. + /// + /// The Room and the PhotonPlayer class both have SetCustomProperties methods. + /// Also, both classes offer access to current key-values by: customProperties. + /// + /// Always use SetCustomProperties to change values. + /// To reduce network traffic, set only values that actually changed. + /// New properties are added, existing values are updated. + /// Other values will not be changed, so only provide values that changed or are new. + /// + /// To delete a named (custom) property of this room, use null as value. + /// + /// Locally, SetCustomProperties will update it's cache without delay. + /// Other clients are updated through Photon (the server) with a fitting operation. + /// + /// Check and Swap + /// + /// SetCustomProperties have the option to do a server-side Check-And-Swap (CAS): + /// Values only get updated if the expected values are correct. + /// The expectedValues can be different key/values than the propertiesToSet. So you can + /// check some key and set another key's value (if the check succeeds). + /// + /// If the client's knowledge of properties is wrong or outdated, it can't set values with CAS. + /// This can be useful to keep players from concurrently setting values. For example: If all players + /// try to pickup some card or item, only one should get it. With CAS, only the first SetProperties + /// gets executed server-side and any other (sent at the same time) fails. + /// + /// The server will broadcast successfully changed values and the local "cache" of customProperties + /// only gets updated after a roundtrip (if anything changed). + /// + /// You can do a "webForward": Photon will send the changed properties to a WebHook defined + /// for your application. + /// + /// OfflineMode + /// + /// While PhotonNetwork.offlineMode is true, the expectedValues and webForward parameters are ignored. + /// In OfflineMode, the local customProperties values are immediately updated (without the roundtrip). + /// + /// The new properties to be set. + /// At least one property key/value set to check server-side. Key and value must be correct. Ignored in OfflineMode. + /// Set to true, to forward the set properties to a WebHook, defined for this app (in Dashboard). Ignored in OfflineMode. + public void SetCustomProperties(Hashtable propertiesToSet, Hashtable expectedValues = null, bool webForward = false) + { + if (propertiesToSet == null) + { + return; + } + + Hashtable customProps = propertiesToSet.StripToStringKeys() as Hashtable; + Hashtable customPropsToCheck = expectedValues.StripToStringKeys() as Hashtable; + + + // no expected values -> set and callback + bool noCas = customPropsToCheck == null || customPropsToCheck.Count == 0; + bool inOnlineRoom = this.actorID > 0 && !PhotonNetwork.offlineMode; + + if (noCas) + { + this.CustomProperties.Merge(customProps); + this.CustomProperties.StripKeysWithNullValues(); + } + + if (inOnlineRoom) + { + PhotonNetwork.networkingPeer.OpSetPropertiesOfActor(this.actorID, customProps, customPropsToCheck, webForward); + } + + if (!inOnlineRoom || noCas) + { + this.InternalCacheProperties(customProps); + NetworkingPeer.SendMonoMessage(PhotonNetworkingMessage.OnPhotonPlayerPropertiesChanged, this, customProps); + } + } + + /// + /// Try to get a specific player by id. + /// + /// ActorID + /// The player with matching actorID or null, if the actorID is not in use. + public static PhotonPlayer Find(int ID) + { + if (PhotonNetwork.networkingPeer != null) + { + return PhotonNetwork.networkingPeer.GetPlayerWithId(ID); + } + return null; + } + + public PhotonPlayer Get(int id) + { + return PhotonPlayer.Find(id); + } + + public PhotonPlayer GetNext() + { + return GetNextFor(this.ID); + } + + public PhotonPlayer GetNextFor(PhotonPlayer currentPlayer) + { + if (currentPlayer == null) + { + return null; + } + return GetNextFor(currentPlayer.ID); + } + + public PhotonPlayer GetNextFor(int currentPlayerId) + { + if (PhotonNetwork.networkingPeer == null || PhotonNetwork.networkingPeer.mActors == null || PhotonNetwork.networkingPeer.mActors.Count < 2) + { + return null; + } + + Dictionary players = PhotonNetwork.networkingPeer.mActors; + int nextHigherId = int.MaxValue; // we look for the next higher ID + int lowestId = currentPlayerId; // if we are the player with the highest ID, there is no higher and we return to the lowest player's id + + foreach (int playerid in players.Keys) + { + if (playerid < lowestId) + { + lowestId = playerid; // less than any other ID (which must be at least less than this player's id). + } + else if (playerid > currentPlayerId && playerid < nextHigherId) + { + nextHigherId = playerid; // more than our ID and less than those found so far. + } + } + + //UnityEngine.Debug.LogWarning("Debug. " + currentPlayerId + " lower: " + lowestId + " higher: " + nextHigherId + " "); + //UnityEngine.Debug.LogWarning(this.RoomReference.GetPlayer(currentPlayerId)); + //UnityEngine.Debug.LogWarning(this.RoomReference.GetPlayer(lowestId)); + //if (nextHigherId != int.MaxValue) UnityEngine.Debug.LogWarning(this.RoomReference.GetPlayer(nextHigherId)); + return (nextHigherId != int.MaxValue) ? players[nextHigherId] : players[lowestId]; + } + + #region IComparable implementation + + public int CompareTo (PhotonPlayer other) + { + if ( other == null) + { + return 0; + } + + return this.GetHashCode().CompareTo(other.GetHashCode()); + } + + public int CompareTo (int other) + { + return this.GetHashCode().CompareTo(other); + } + + #endregion + + #region IEquatable implementation + + public bool Equals (PhotonPlayer other) + { + if ( other == null) + { + return false; + } + + return this.GetHashCode().Equals(other.GetHashCode()); + } + + public bool Equals (int other) + { + return this.GetHashCode().Equals(other); + } + + #endregion + + /// + /// Brief summary string of the PhotonPlayer. Includes name or player.ID and if it's the Master Client. + /// + public override string ToString() + { + if (string.IsNullOrEmpty(this.NickName)) + { + return string.Format("#{0:00}{1}{2}", this.ID, this.IsInactive ? " (inactive)" : " ", this.IsMasterClient ? "(master)":""); + } + + return string.Format("'{0}'{1}{2}", this.NickName, this.IsInactive ? " (inactive)" : " ", this.IsMasterClient ? "(master)" : ""); + } + + /// + /// String summary of the PhotonPlayer: player.ID, name and all custom properties of this user. + /// + /// + /// Use with care and not every frame! + /// Converts the customProperties to a String on every single call. + /// + public string ToStringFull() + { + return string.Format("#{0:00} '{1}'{2} {3}", this.ID, this.NickName, this.IsInactive ? " (inactive)" : "", this.CustomProperties.ToStringFull()); + } + + + #region Obsoleted variable names + + [Obsolete("Please use NickName (updated case for naming).")] + public string name { get { return this.NickName; } set { this.NickName = value; } } + + [Obsolete("Please use UserId (updated case for naming).")] + public string userId { get { return this.UserId; } internal set { this.UserId = value; } } + + [Obsolete("Please use IsLocal (updated case for naming).")] + public bool isLocal { get { return this.IsLocal; } } + + [Obsolete("Please use IsMasterClient (updated case for naming).")] + public bool isMasterClient { get { return this.IsMasterClient; } } + + [Obsolete("Please use IsInactive (updated case for naming).")] + public bool isInactive { get { return this.IsInactive; } set { this.IsInactive = value; } } + + [Obsolete("Please use CustomProperties (updated case for naming).")] + public Hashtable customProperties { get { return this.CustomProperties; } internal set { this.CustomProperties = value; } } + + [Obsolete("Please use AllProperties (updated case for naming).")] + public Hashtable allProperties { get { return this.AllProperties; } } + + #endregion +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonPlayer.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonPlayer.cs.meta new file mode 100644 index 0000000..d494ca7 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonPlayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e3e4b5bebc687044b9c6c2803c36be3d +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStatsGui.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStatsGui.cs new file mode 100644 index 0000000..bc32525 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStatsGui.cs @@ -0,0 +1,159 @@ +#pragma warning disable 1587 +/// \file +/// Part of the [Optional GUI](@ref optionalGui). +#pragma warning restore 1587 + + +using ExitGames.Client.Photon; +using UnityEngine; + + +/// +/// Basic GUI to show traffic and health statistics of the connection to Photon, +/// toggled by shift+tab. +/// +/// +/// The shown health values can help identify problems with connection losses or performance. +/// Example: +/// If the time delta between two consecutive SendOutgoingCommands calls is a second or more, +/// chances rise for a disconnect being caused by this (because acknowledgements to the server +/// need to be sent in due time). +/// +/// \ingroup optionalGui +public class PhotonStatsGui : MonoBehaviour +{ + /// Shows or hides GUI (does not affect if stats are collected). + public bool statsWindowOn = true; + + /// Option to turn collecting stats on or off (used in Update()). + public bool statsOn = true; + + /// Shows additional "health" values of connection. + public bool healthStatsVisible; + + /// Shows additional "lower level" traffic stats. + public bool trafficStatsOn; + + /// Show buttons to control stats and reset them. + public bool buttonsOn; + + /// Positioning rect for window. + public Rect statsRect = new Rect(0, 100, 200, 50); + + /// Unity GUI Window ID (must be unique or will cause issues). + public int WindowId = 100; + + + public void Start() + { + if (this.statsRect.x <= 0) + { + this.statsRect.x = Screen.width - this.statsRect.width; + } + } + + /// Checks for shift+tab input combination (to toggle statsOn). + public void Update() + { + if (Input.GetKeyDown(KeyCode.Tab) && Input.GetKey(KeyCode.LeftShift)) + { + this.statsWindowOn = !this.statsWindowOn; + this.statsOn = true; // enable stats when showing the window + } + } + + public void OnGUI() + { + if (PhotonNetwork.networkingPeer.TrafficStatsEnabled != statsOn) + { + PhotonNetwork.networkingPeer.TrafficStatsEnabled = this.statsOn; + } + + if (!this.statsWindowOn) + { + return; + } + + this.statsRect = GUILayout.Window(this.WindowId, this.statsRect, this.TrafficStatsWindow, "Messages (shift+tab)"); + } + + public void TrafficStatsWindow(int windowID) + { + bool statsToLog = false; + TrafficStatsGameLevel gls = PhotonNetwork.networkingPeer.TrafficStatsGameLevel; + long elapsedMs = PhotonNetwork.networkingPeer.TrafficStatsElapsedMs / 1000; + if (elapsedMs == 0) + { + elapsedMs = 1; + } + + GUILayout.BeginHorizontal(); + this.buttonsOn = GUILayout.Toggle(this.buttonsOn, "buttons"); + this.healthStatsVisible = GUILayout.Toggle(this.healthStatsVisible, "health"); + this.trafficStatsOn = GUILayout.Toggle(this.trafficStatsOn, "traffic"); + GUILayout.EndHorizontal(); + + string total = string.Format("Out {0,4} | In {1,4} | Sum {2,4}", gls.TotalOutgoingMessageCount, gls.TotalIncomingMessageCount, gls.TotalMessageCount); + string elapsedTime = string.Format("{0}sec average:", elapsedMs); + string average = string.Format("Out {0,4} | In {1,4} | Sum {2,4}", gls.TotalOutgoingMessageCount / elapsedMs, gls.TotalIncomingMessageCount / elapsedMs, gls.TotalMessageCount / elapsedMs); + GUILayout.Label(total); + GUILayout.Label(elapsedTime); + GUILayout.Label(average); + + if (this.buttonsOn) + { + GUILayout.BeginHorizontal(); + this.statsOn = GUILayout.Toggle(this.statsOn, "stats on"); + if (GUILayout.Button("Reset")) + { + PhotonNetwork.networkingPeer.TrafficStatsReset(); + PhotonNetwork.networkingPeer.TrafficStatsEnabled = true; + } + statsToLog = GUILayout.Button("To Log"); + GUILayout.EndHorizontal(); + } + + string trafficStatsIn = string.Empty; + string trafficStatsOut = string.Empty; + if (this.trafficStatsOn) + { + GUILayout.Box("Traffic Stats"); + trafficStatsIn = "Incoming: \n" + PhotonNetwork.networkingPeer.TrafficStatsIncoming.ToString(); + trafficStatsOut = "Outgoing: \n" + PhotonNetwork.networkingPeer.TrafficStatsOutgoing.ToString(); + GUILayout.Label(trafficStatsIn); + GUILayout.Label(trafficStatsOut); + } + + string healthStats = string.Empty; + if (this.healthStatsVisible) + { + GUILayout.Box("Health Stats"); + healthStats = string.Format( + "ping: {6}[+/-{7}]ms resent:{8} \n\nmax ms between\nsend: {0,4} \ndispatch: {1,4} \n\nlongest dispatch for: \nev({3}):{2,3}ms \nop({5}):{4,3}ms", + gls.LongestDeltaBetweenSending, + gls.LongestDeltaBetweenDispatching, + gls.LongestEventCallback, + gls.LongestEventCallbackCode, + gls.LongestOpResponseCallback, + gls.LongestOpResponseCallbackOpCode, + PhotonNetwork.networkingPeer.RoundTripTime, + PhotonNetwork.networkingPeer.RoundTripTimeVariance, + PhotonNetwork.networkingPeer.ResentReliableCommands); + GUILayout.Label(healthStats); + } + + if (statsToLog) + { + string complete = string.Format("{0}\n{1}\n{2}\n{3}\n{4}\n{5}", total, elapsedTime, average, trafficStatsIn, trafficStatsOut, healthStats); + Debug.Log(complete); + } + + // if anything was clicked, the height of this window is likely changed. reduce it to be layouted again next frame + if (GUI.changed) + { + this.statsRect.height = 100; + } + + GUI.DragWindow(); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStatsGui.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStatsGui.cs.meta new file mode 100644 index 0000000..dc1049b --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStatsGui.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d06466c03d263624786afa88b52928b6 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStreamQueue.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStreamQueue.cs new file mode 100644 index 0000000..fcfecba --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStreamQueue.cs @@ -0,0 +1,187 @@ +using System.Collections.Generic; +using UnityEngine; + +/// +/// The PhotonStreamQueue helps you poll object states at higher frequencies then what +/// PhotonNetwork.sendRate dictates and then sends all those states at once when +/// Serialize() is called. +/// On the receiving end you can call Deserialize() and then the stream will roll out +/// the received object states in the same order and timeStep they were recorded in. +/// +public class PhotonStreamQueue +{ + #region Members + + private int m_SampleRate; + private int m_SampleCount; + private int m_ObjectsPerSample = -1; + + private float m_LastSampleTime = -Mathf.Infinity; + private int m_LastFrameCount = -1; + private int m_NextObjectIndex = -1; + + private List m_Objects = new List(); + + private bool m_IsWriting; + + #endregion + + /// + /// Initializes a new instance of the class. + /// + /// How many times per second should the object states be sampled + public PhotonStreamQueue(int sampleRate) + { + this.m_SampleRate = sampleRate; + } + + private void BeginWritePackage() + { + //If not enough time has passed since the last sample, we don't want to write anything + if (Time.realtimeSinceStartup < this.m_LastSampleTime + 1f/this.m_SampleRate) + { + this.m_IsWriting = false; + return; + } + + if (this.m_SampleCount == 1) + { + this.m_ObjectsPerSample = this.m_Objects.Count; + //Debug.Log( "Setting m_ObjectsPerSample to " + m_ObjectsPerSample ); + } + else if (this.m_SampleCount > 1) + { + if (this.m_Objects.Count/this.m_SampleCount != this.m_ObjectsPerSample) + { + Debug.LogWarning("The number of objects sent via a PhotonStreamQueue has to be the same each frame"); + Debug.LogWarning("Objects in List: " + this.m_Objects.Count + " / Sample Count: " + this.m_SampleCount + " = " + (this.m_Objects.Count/this.m_SampleCount) + " != " + this.m_ObjectsPerSample); + } + } + + this.m_IsWriting = true; + this.m_SampleCount++; + this.m_LastSampleTime = Time.realtimeSinceStartup; + + /*if( m_SampleCount > 1 ) + { + Debug.Log( "Check: " + m_Objects.Count + " / " + m_SampleCount + " = " + ( m_Objects.Count / m_SampleCount ) + " = " + m_ObjectsPerSample ); + }*/ + } + + /// + /// Resets the PhotonStreamQueue. You need to do this whenever the amount of objects you are observing changes + /// + public void Reset() + { + this.m_SampleCount = 0; + this.m_ObjectsPerSample = -1; + + this.m_LastSampleTime = -Mathf.Infinity; + this.m_LastFrameCount = -1; + + this.m_Objects.Clear(); + } + + /// + /// Adds the next object to the queue. This works just like PhotonStream.SendNext + /// + /// The object you want to add to the queue + public void SendNext(object obj) + { + if (Time.frameCount != this.m_LastFrameCount) + { + BeginWritePackage(); + } + + this.m_LastFrameCount = Time.frameCount; + + if (this.m_IsWriting == false) + { + return; + } + + this.m_Objects.Add(obj); + } + + /// + /// Determines whether the queue has stored any objects + /// + public bool HasQueuedObjects() + { + return this.m_NextObjectIndex != -1; + } + + /// + /// Receives the next object from the queue. This works just like PhotonStream.ReceiveNext + /// + /// + public object ReceiveNext() + { + if (this.m_NextObjectIndex == -1) + { + return null; + } + + if (this.m_NextObjectIndex >= this.m_Objects.Count) + { + this.m_NextObjectIndex -= this.m_ObjectsPerSample; + } + + return this.m_Objects[this.m_NextObjectIndex++]; + } + + /// + /// Serializes the specified stream. Call this in your OnPhotonSerializeView method to send the whole recorded stream. + /// + /// The PhotonStream you receive as a parameter in OnPhotonSerializeView + public void Serialize(PhotonStream stream) + { + // TODO: find a better solution for this: + // the "if" is a workaround for packages which have only 1 sample/frame. in that case, SendNext didn't set the obj per sample. + if (m_Objects.Count > 0 && this.m_ObjectsPerSample < 0) + { + this.m_ObjectsPerSample = m_Objects.Count; + } + + stream.SendNext(this.m_SampleCount); + stream.SendNext(this.m_ObjectsPerSample); + + for (int i = 0; i < this.m_Objects.Count; ++i) + { + stream.SendNext(this.m_Objects[i]); + } + + //Debug.Log( "Serialize " + m_SampleCount + " samples with " + m_ObjectsPerSample + " objects per sample. object count: " + m_Objects.Count + " / " + ( m_SampleCount * m_ObjectsPerSample ) ); + + this.m_Objects.Clear(); + this.m_SampleCount = 0; + } + + /// + /// Deserializes the specified stream. Call this in your OnPhotonSerializeView method to receive the whole recorded stream. + /// + /// The PhotonStream you receive as a parameter in OnPhotonSerializeView + public void Deserialize(PhotonStream stream) + { + this.m_Objects.Clear(); + + this.m_SampleCount = (int)stream.ReceiveNext(); + this.m_ObjectsPerSample = (int)stream.ReceiveNext(); + + for (int i = 0; i < this.m_SampleCount*this.m_ObjectsPerSample; ++i) + { + this.m_Objects.Add(stream.ReceiveNext()); + } + + if (this.m_Objects.Count > 0) + { + this.m_NextObjectIndex = 0; + } + else + { + this.m_NextObjectIndex = -1; + } + + //Debug.Log( "Deserialized " + m_SampleCount + " samples with " + m_ObjectsPerSample + " objects per sample. object count: " + m_Objects.Count + " / " + ( m_SampleCount * m_ObjectsPerSample ) ); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStreamQueue.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStreamQueue.cs.meta new file mode 100644 index 0000000..b225d0d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonStreamQueue.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 006991e32d9020c4d896f161318a2bc0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs new file mode 100644 index 0000000..96fb01e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs @@ -0,0 +1,692 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using UnityEngine; +using System.Reflection; +using System.Collections.Generic; +using ExitGames.Client.Photon; + +#if UNITY_EDITOR +using UnityEditor; +#endif + + +public enum ViewSynchronization { Off, ReliableDeltaCompressed, Unreliable, UnreliableOnChange } +public enum OnSerializeTransform { OnlyPosition, OnlyRotation, OnlyScale, PositionAndRotation, All } +public enum OnSerializeRigidBody { OnlyVelocity, OnlyAngularVelocity, All } + +/// +/// Options to define how Ownership Transfer is handled per PhotonView. +/// +/// +/// This setting affects how RequestOwnership and TransferOwnership work at runtime. +/// +public enum OwnershipOption +{ + /// + /// Ownership is fixed. Instantiated objects stick with their creator, scene objects always belong to the Master Client. + /// + Fixed, + /// + /// Ownership can be taken away from the current owner who can't object. + /// + Takeover, + /// + /// Ownership can be requested with PhotonView.RequestOwnership but the current owner has to agree to give up ownership. + /// + /// The current owner has to implement IPunCallbacks.OnOwnershipRequest to react to the ownership request. + Request +} + + +/// +/// PUN's NetworkView replacement class for networking. Use it like a NetworkView. +/// +/// \ingroup publicApi +[AddComponentMenu("Photon Networking/Photon View &v")] +public class PhotonView : Photon.MonoBehaviour +{ + #if UNITY_EDITOR + [ContextMenu("Open PUN Wizard")] + void OpenPunWizard() + { + EditorApplication.ExecuteMenuItem("Window/Photon Unity Networking"); + } + #endif + + public int ownerId; + + public byte group = 0; + + protected internal bool mixedModeIsReliable = false; + + + /// + /// Flag to check if ownership of this photonView was set during the lifecycle. Used for checking when joining late if event with mismatched owner and sender needs addressing. + /// + /// true if owner ship was transfered; otherwise, false. + public bool OwnerShipWasTransfered; + + + // NOTE: this is now an integer because unity won't serialize short (needed for instantiation). we SEND only a short though! + // NOTE: prefabs have a prefixBackup of -1. this is replaced with any currentLevelPrefix that's used at runtime. instantiated GOs get their prefix set pre-instantiation (so those are not -1 anymore) + public int prefix + { + get + { + if (this.prefixBackup == -1 && PhotonNetwork.networkingPeer != null) + { + this.prefixBackup = PhotonNetwork.networkingPeer.currentLevelPrefix; + } + + return this.prefixBackup; + } + set { this.prefixBackup = value; } + } + + // this field is serialized by unity. that means it is copied when instantiating a persistent obj into the scene + public int prefixBackup = -1; + + /// + /// This is the instantiationData that was passed when calling PhotonNetwork.Instantiate* (if that was used to spawn this prefab) + /// + public object[] instantiationData + { + get + { + if (!this.didAwake) + { + // even though viewID and instantiationID are setup before the GO goes live, this data can't be set. as workaround: fetch it if needed + this.instantiationDataField = PhotonNetwork.networkingPeer.FetchInstantiationData(this.instantiationId); + } + return this.instantiationDataField; + } + set { this.instantiationDataField = value; } + } + + internal object[] instantiationDataField; + + /// + /// For internal use only, don't use + /// + protected internal object[] lastOnSerializeDataSent = null; + + /// + /// For internal use only, don't use + /// + protected internal object[] lastOnSerializeDataReceived = null; + + public ViewSynchronization synchronization; + + public OnSerializeTransform onSerializeTransformOption = OnSerializeTransform.PositionAndRotation; + + public OnSerializeRigidBody onSerializeRigidBodyOption = OnSerializeRigidBody.All; + + /// Defines if ownership of this PhotonView is fixed, can be requested or simply taken. + /// + /// Note that you can't edit this value at runtime. + /// The options are described in enum OwnershipOption. + /// The current owner has to implement IPunCallbacks.OnOwnershipRequest to react to the ownership request. + /// + public OwnershipOption ownershipTransfer = OwnershipOption.Fixed; + + public List ObservedComponents; + Dictionary m_OnSerializeMethodInfos = new Dictionary(3); + +#if UNITY_EDITOR + // Suppressing compiler warning "this variable is never used". Only used in the CustomEditor, only in Editor + #pragma warning disable 0414 + [SerializeField] + bool ObservedComponentsFoldoutOpen = true; + #pragma warning restore 0414 +#endif + + [SerializeField] + private int viewIdField = 0; + + /// + /// The ID of the PhotonView. Identifies it in a networked game (per room). + /// + /// See: [Network Instantiation](@ref instantiateManual) + public int viewID + { + get { return this.viewIdField; } + set + { + // if ID was 0 for an awakened PhotonView, the view should add itself into the networkingPeer.photonViewList after setup + bool viewMustRegister = this.didAwake && this.viewIdField == 0; + + // TODO: decide if a viewID can be changed once it wasn't 0. most likely that is not a good idea + // check if this view is in networkingPeer.photonViewList and UPDATE said list (so we don't keep the old viewID with a reference to this object) + // PhotonNetwork.networkingPeer.RemovePhotonView(this, true); + + this.ownerId = value / PhotonNetwork.MAX_VIEW_IDS; + + this.viewIdField = value; + + if (viewMustRegister) + { + PhotonNetwork.networkingPeer.RegisterPhotonView(this); + } + //Debug.Log("Set viewID: " + value + " -> owner: " + this.ownerId + " subId: " + this.subId); + } + } + + public int instantiationId; // if the view was instantiated with a GO, this GO has a instantiationID (first view's viewID) + + /// True if the PhotonView was loaded with the scene (game object) or instantiated with InstantiateSceneObject. + /// + /// Scene objects are not owned by a particular player but belong to the scene. Thus they don't get destroyed when their + /// creator leaves the game and the current Master Client can control them (whoever that is). + /// The ownerId is 0 (player IDs are 1 and up). + /// + public bool isSceneView + { + get { return this.CreatorActorNr == 0; } + } + + /// + /// The owner of a PhotonView is the player who created the GameObject with that view. Objects in the scene don't have an owner. + /// + /// + /// The owner/controller of a PhotonView is also the client which sends position updates of the GameObject. + /// + /// Ownership can be transferred to another player with PhotonView.TransferOwnership or any player can request + /// ownership by calling the PhotonView's RequestOwnership method. + /// The current owner has to implement IPunCallbacks.OnOwnershipRequest to react to the ownership request. + /// + public PhotonPlayer owner + { + get + { + return PhotonPlayer.Find(this.ownerId); + } + } + + public int OwnerActorNr + { + get { return this.ownerId; } + } + + public bool isOwnerActive + { + get { return this.ownerId != 0 && PhotonNetwork.networkingPeer.mActors.ContainsKey(this.ownerId); } + } + + public int CreatorActorNr + { + get { return this.viewIdField / PhotonNetwork.MAX_VIEW_IDS; } + } + + /// + /// True if the PhotonView is "mine" and can be controlled by this client. + /// + /// + /// PUN has an ownership concept that defines who can control and destroy each PhotonView. + /// True in case the owner matches the local PhotonPlayer. + /// True if this is a scene photonview on the Master client. + /// + public bool isMine + { + get + { + return (this.ownerId == PhotonNetwork.player.ID) || (!this.isOwnerActive && PhotonNetwork.isMasterClient); + } + } + + /// + /// The current master ID so that we can compare when we receive OnMasterClientSwitched() callback + /// It's public so that we can check it during ownerId assignments in networkPeer script + /// TODO: Maybe we can have the networkPeer always aware of the previous MasterClient? + /// + public int currentMasterID = -1; + protected internal bool didAwake; + + [SerializeField] + protected internal bool isRuntimeInstantiated; + + protected internal bool removedFromLocalViewList; + + internal MonoBehaviour[] RpcMonoBehaviours; + private MethodInfo OnSerializeMethodInfo; + + private bool failedToFindOnSerialize; + + /// Called by Unity on start of the application and does a setup the PhotonView. + protected internal void Awake() + { + if (this.viewID != 0) + { + // registration might be too late when some script (on this GO) searches this view BUT GetPhotonView() can search ALL in that case + PhotonNetwork.networkingPeer.RegisterPhotonView(this); + this.instantiationDataField = PhotonNetwork.networkingPeer.FetchInstantiationData(this.instantiationId); + } + + this.didAwake = true; + } + + /// + /// Depending on the PhotonView's ownershipTransfer setting, any client can request to become owner of the PhotonView. + /// + /// + /// Requesting ownership can give you control over a PhotonView, if the ownershipTransfer setting allows that. + /// The current owner might have to implement IPunCallbacks.OnOwnershipRequest to react to the ownership request. + /// + /// The owner/controller of a PhotonView is also the client which sends position updates of the GameObject. + /// + public void RequestOwnership() + { + PhotonNetwork.networkingPeer.RequestOwnership(this.viewID, this.ownerId); + } + + /// + /// Transfers the ownership of this PhotonView (and GameObject) to another player. + /// + /// + /// The owner/controller of a PhotonView is also the client which sends position updates of the GameObject. + /// + public void TransferOwnership(PhotonPlayer newOwner) + { + this.TransferOwnership(newOwner.ID); + } + + /// + /// Transfers the ownership of this PhotonView (and GameObject) to another player. + /// + /// + /// The owner/controller of a PhotonView is also the client which sends position updates of the GameObject. + /// + public void TransferOwnership(int newOwnerId) + { + PhotonNetwork.networkingPeer.TransferOwnership(this.viewID, newOwnerId); + this.ownerId = newOwnerId; // immediately switch ownership locally, to avoid more updates sent from this client. + } + + /// + ///Check ownerId assignment for sceneObjects to keep being owned by the MasterClient. + /// + /// New master client. + public void OnMasterClientSwitched(PhotonPlayer newMasterClient) + { + if (this.CreatorActorNr == 0 && !this.OwnerShipWasTransfered && (this.currentMasterID== -1 || this.ownerId==this.currentMasterID)) + { + this.ownerId = newMasterClient.ID; + } + + this.currentMasterID = newMasterClient.ID; + } + + + protected internal void OnDestroy() + { + if (!this.removedFromLocalViewList) + { + bool wasInList = PhotonNetwork.networkingPeer.LocalCleanPhotonView(this); + bool loading = false; + + #if (!UNITY_5 || UNITY_5_0 || UNITY_5_1) && !UNITY_5_3_OR_NEWER + loading = Application.isLoadingLevel; + #endif + + if (wasInList && !loading && this.instantiationId > 0 && !PhotonHandler.AppQuits && PhotonNetwork.logLevel >= PhotonLogLevel.Informational) + { + Debug.Log("PUN-instantiated '" + this.gameObject.name + "' got destroyed by engine. This is OK when loading levels. Otherwise use: PhotonNetwork.Destroy()."); + } + } + } + + public void SerializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (this.ObservedComponents != null && this.ObservedComponents.Count > 0) + { + for (int i = 0; i < this.ObservedComponents.Count; ++i) + { + SerializeComponent(this.ObservedComponents[i], stream, info); + } + } + } + + public void DeserializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (this.ObservedComponents != null && this.ObservedComponents.Count > 0) + { + for (int i = 0; i < this.ObservedComponents.Count; ++i) + { + DeserializeComponent(this.ObservedComponents[i], stream, info); + } + } + } + + protected internal void DeserializeComponent(Component component, PhotonStream stream, PhotonMessageInfo info) + { + if (component == null) + { + return; + } + + // Use incoming data according to observed type + if (component is MonoBehaviour) + { + ExecuteComponentOnSerialize(component, stream, info); + } + else if (component is Transform) + { + Transform trans = (Transform) component; + + switch (this.onSerializeTransformOption) + { + case OnSerializeTransform.All: + trans.localPosition = (Vector3) stream.ReceiveNext(); + trans.localRotation = (Quaternion) stream.ReceiveNext(); + trans.localScale = (Vector3) stream.ReceiveNext(); + break; + case OnSerializeTransform.OnlyPosition: + trans.localPosition = (Vector3) stream.ReceiveNext(); + break; + case OnSerializeTransform.OnlyRotation: + trans.localRotation = (Quaternion) stream.ReceiveNext(); + break; + case OnSerializeTransform.OnlyScale: + trans.localScale = (Vector3) stream.ReceiveNext(); + break; + case OnSerializeTransform.PositionAndRotation: + trans.localPosition = (Vector3) stream.ReceiveNext(); + trans.localRotation = (Quaternion) stream.ReceiveNext(); + break; + } + } + else if (component is Rigidbody) + { + Rigidbody rigidB = (Rigidbody) component; + + switch (this.onSerializeRigidBodyOption) + { + case OnSerializeRigidBody.All: + rigidB.velocity = (Vector3) stream.ReceiveNext(); + rigidB.angularVelocity = (Vector3) stream.ReceiveNext(); + break; + case OnSerializeRigidBody.OnlyAngularVelocity: + rigidB.angularVelocity = (Vector3) stream.ReceiveNext(); + break; + case OnSerializeRigidBody.OnlyVelocity: + rigidB.velocity = (Vector3) stream.ReceiveNext(); + break; + } + } + else if (component is Rigidbody2D) + { + Rigidbody2D rigidB = (Rigidbody2D) component; + + switch (this.onSerializeRigidBodyOption) + { + case OnSerializeRigidBody.All: + rigidB.velocity = (Vector2) stream.ReceiveNext(); + rigidB.angularVelocity = (float) stream.ReceiveNext(); + break; + case OnSerializeRigidBody.OnlyAngularVelocity: + rigidB.angularVelocity = (float) stream.ReceiveNext(); + break; + case OnSerializeRigidBody.OnlyVelocity: + rigidB.velocity = (Vector2) stream.ReceiveNext(); + break; + } + } + else + { + Debug.LogError("Type of observed is unknown when receiving."); + } + } + + protected internal void SerializeComponent(Component component, PhotonStream stream, PhotonMessageInfo info) + { + if (component == null) + { + return; + } + + if (component is MonoBehaviour) + { + ExecuteComponentOnSerialize(component, stream, info); + } + else if (component is Transform) + { + Transform trans = (Transform) component; + + switch (this.onSerializeTransformOption) + { + case OnSerializeTransform.All: + stream.SendNext(trans.localPosition); + stream.SendNext(trans.localRotation); + stream.SendNext(trans.localScale); + break; + case OnSerializeTransform.OnlyPosition: + stream.SendNext(trans.localPosition); + break; + case OnSerializeTransform.OnlyRotation: + stream.SendNext(trans.localRotation); + break; + case OnSerializeTransform.OnlyScale: + stream.SendNext(trans.localScale); + break; + case OnSerializeTransform.PositionAndRotation: + stream.SendNext(trans.localPosition); + stream.SendNext(trans.localRotation); + break; + } + } + else if (component is Rigidbody) + { + Rigidbody rigidB = (Rigidbody) component; + + switch (this.onSerializeRigidBodyOption) + { + case OnSerializeRigidBody.All: + stream.SendNext(rigidB.velocity); + stream.SendNext(rigidB.angularVelocity); + break; + case OnSerializeRigidBody.OnlyAngularVelocity: + stream.SendNext(rigidB.angularVelocity); + break; + case OnSerializeRigidBody.OnlyVelocity: + stream.SendNext(rigidB.velocity); + break; + } + } + else if (component is Rigidbody2D) + { + Rigidbody2D rigidB = (Rigidbody2D) component; + + switch (this.onSerializeRigidBodyOption) + { + case OnSerializeRigidBody.All: + stream.SendNext(rigidB.velocity); + stream.SendNext(rigidB.angularVelocity); + break; + case OnSerializeRigidBody.OnlyAngularVelocity: + stream.SendNext(rigidB.angularVelocity); + break; + case OnSerializeRigidBody.OnlyVelocity: + stream.SendNext(rigidB.velocity); + break; + } + } + else + { + Debug.LogError("Observed type is not serializable: " + component.GetType()); + } + } + + protected internal void ExecuteComponentOnSerialize(Component component, PhotonStream stream, PhotonMessageInfo info) + { + IPunObservable observable = component as IPunObservable; + if (observable != null) + { + observable.OnPhotonSerializeView(stream, info); + } + else if (component != null) + { + MethodInfo method = null; + bool found = this.m_OnSerializeMethodInfos.TryGetValue(component, out method); + if (!found) + { + bool foundMethod = NetworkingPeer.GetMethod(component as MonoBehaviour, PhotonNetworkingMessage.OnPhotonSerializeView.ToString(), out method); + + if (foundMethod == false) + { + Debug.LogError("The observed monobehaviour (" + component.name + ") of this PhotonView does not implement OnPhotonSerializeView()!"); + method = null; + } + + this.m_OnSerializeMethodInfos.Add(component, method); + } + + if (method != null) + { + method.Invoke(component, new object[] {stream, info}); + } + } + } + + + /// + /// Can be used to refesh the list of MonoBehaviours on this GameObject while PhotonNetwork.UseRpcMonoBehaviourCache is true. + /// + /// + /// Set PhotonNetwork.UseRpcMonoBehaviourCache to true to enable the caching. + /// Uses this.GetComponents() to get a list of MonoBehaviours to call RPCs on (potentially). + /// + /// While PhotonNetwork.UseRpcMonoBehaviourCache is false, this method has no effect, + /// because the list is refreshed when a RPC gets called. + /// + public void RefreshRpcMonoBehaviourCache() + { + this.RpcMonoBehaviours = this.GetComponents(); + } + + + /// + /// Call a RPC method of this GameObject on remote clients of this room (or on all, inclunding this client). + /// + /// + /// [Remote Procedure Calls](@ref rpcManual) are an essential tool in making multiplayer games with PUN. + /// It enables you to make every client in a room call a specific method. + /// + /// RPC calls can target "All" or the "Others". + /// Usually, the target "All" gets executed locally immediately after sending the RPC. + /// The "*ViaServer" options send the RPC to the server and execute it on this client when it's sent back. + /// Of course, calls are affected by this client's lag and that of remote clients. + /// + /// Each call automatically is routed to the same PhotonView (and GameObject) that was used on the + /// originating client. + /// + /// See: [Remote Procedure Calls](@ref rpcManual). + /// + /// The name of a fitting method that was has the RPC attribute. + /// The group of targets and the way the RPC gets sent. + /// The parameters that the RPC method has (must fit this call!). + public void RPC(string methodName, PhotonTargets target, params object[] parameters) + { + PhotonNetwork.RPC(this, methodName, target, false, parameters); + } + + /// + /// Call a RPC method of this GameObject on remote clients of this room (or on all, inclunding this client). + /// + /// + /// [Remote Procedure Calls](@ref rpcManual) are an essential tool in making multiplayer games with PUN. + /// It enables you to make every client in a room call a specific method. + /// + /// RPC calls can target "All" or the "Others". + /// Usually, the target "All" gets executed locally immediately after sending the RPC. + /// The "*ViaServer" options send the RPC to the server and execute it on this client when it's sent back. + /// Of course, calls are affected by this client's lag and that of remote clients. + /// + /// Each call automatically is routed to the same PhotonView (and GameObject) that was used on the + /// originating client. + /// + /// See: [Remote Procedure Calls](@ref rpcManual). + /// + ///The name of a fitting method that was has the RPC attribute. + ///The group of targets and the way the RPC gets sent. + /// + ///The parameters that the RPC method has (must fit this call!). + public void RpcSecure(string methodName, PhotonTargets target, bool encrypt, params object[] parameters) + { + PhotonNetwork.RPC(this, methodName, target, encrypt, parameters); + } + + /// + /// Call a RPC method of this GameObject on remote clients of this room (or on all, inclunding this client). + /// + /// + /// [Remote Procedure Calls](@ref rpcManual) are an essential tool in making multiplayer games with PUN. + /// It enables you to make every client in a room call a specific method. + /// + /// This method allows you to make an RPC calls on a specific player's client. + /// Of course, calls are affected by this client's lag and that of remote clients. + /// + /// Each call automatically is routed to the same PhotonView (and GameObject) that was used on the + /// originating client. + /// + /// See: [Remote Procedure Calls](@ref rpcManual). + /// + /// The name of a fitting method that was has the RPC attribute. + /// The group of targets and the way the RPC gets sent. + /// The parameters that the RPC method has (must fit this call!). + public void RPC(string methodName, PhotonPlayer targetPlayer, params object[] parameters) + { + PhotonNetwork.RPC(this, methodName, targetPlayer, false, parameters); + } + + /// + /// Call a RPC method of this GameObject on remote clients of this room (or on all, inclunding this client). + /// + /// + /// [Remote Procedure Calls](@ref rpcManual) are an essential tool in making multiplayer games with PUN. + /// It enables you to make every client in a room call a specific method. + /// + /// This method allows you to make an RPC calls on a specific player's client. + /// Of course, calls are affected by this client's lag and that of remote clients. + /// + /// Each call automatically is routed to the same PhotonView (and GameObject) that was used on the + /// originating client. + /// + /// See: [Remote Procedure Calls](@ref rpcManual). + /// + ///The name of a fitting method that was has the RPC attribute. + ///The group of targets and the way the RPC gets sent. + /// + ///The parameters that the RPC method has (must fit this call!). + public void RpcSecure(string methodName, PhotonPlayer targetPlayer, bool encrypt, params object[] parameters) + { + PhotonNetwork.RPC(this, methodName, targetPlayer, encrypt, parameters); + } + + public static PhotonView Get(Component component) + { + return component.GetComponent(); + } + + public static PhotonView Get(GameObject gameObj) + { + return gameObj.GetComponent(); + } + + public static PhotonView Find(int viewID) + { + return PhotonNetwork.networkingPeer.GetPhotonView(viewID); + } + + public override string ToString() + { + return string.Format("View ({3}){0} on {1} {2}", this.viewID, (this.gameObject != null) ? this.gameObject.name : "GO==null", (this.isSceneView) ? "(scene)" : string.Empty, this.prefix); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs.meta new file mode 100644 index 0000000..b2b8709 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PhotonView.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aa584fbee541324448dd18d8409c7a41 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PingCloudRegions.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PingCloudRegions.cs new file mode 100644 index 0000000..26a136a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PingCloudRegions.cs @@ -0,0 +1,352 @@ +using System; +using System.Net; +using System.Collections; +using System.Diagnostics; +using ExitGames.Client.Photon; +using UnityEngine; +using Debug = UnityEngine.Debug; +using SupportClassPun = ExitGames.Client.Photon.SupportClass; + + +#if UNITY_EDITOR || (!UNITY_ANDROID && !UNITY_IPHONE && !UNITY_PS3 && !UNITY_WINRT) + +using System.Net.Sockets; + + +/// Uses C# Socket class from System.Net.Sockets (as Unity usually does). +/// Incompatible with Windows 8 Store/Phone API. +public class PingMonoEditor : PhotonPing +{ + private Socket sock; + + /// + /// Sends a "Photon Ping" to a server. + /// + /// Address in IPv4 or IPv6 format. An address containing a '.' will be interpretet as IPv4. + /// True if the Photon Ping could be sent. + public override bool StartPing(string ip) + { + base.Init(); + + try + { + if (ip.Contains(".")) + { + this.sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); + } + else + { + this.sock = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp); + } + + sock.ReceiveTimeout = 5000; + sock.Connect(ip, 5055); + + PingBytes[PingBytes.Length - 1] = PingId; + sock.Send(PingBytes); + PingBytes[PingBytes.Length - 1] = (byte)(PingId - 1); + } + catch (Exception e) + { + sock = null; + Console.WriteLine(e); + } + + return false; + } + + public override bool Done() + { + if (this.GotResult || sock == null) + { + return true; + } + + if (sock.Available <= 0) + { + return false; + } + + int read = sock.Receive(PingBytes, SocketFlags.None); + //Debug.Log("Got: " + SupportClassPun.ByteArrayToString(PingBytes)); + bool replyMatch = PingBytes[PingBytes.Length - 1] == PingId && read == PingLength; + if (!replyMatch) Debug.Log("ReplyMatch is false! "); + + + this.Successful = read == PingBytes.Length && PingBytes[PingBytes.Length - 1] == PingId; + this.GotResult = true; + return true; + } + + public override void Dispose() + { + try + { + sock.Close(); + } + catch + { + } + sock = null; + } + +} + +#endif + + +#if UNITY_WEBGL + +public class PingHttp : PhotonPing +{ + private WWW webRequest; + + public override bool StartPing(string address) + { + address = "https://" + address + "/photon/m/?ping&r=" + UnityEngine.Random.Range(0, 10000); + Debug.Log("StartPing: " + address); + this.webRequest = new WWW(address); + return true; + } + + public override bool Done() + { + if (this.webRequest.isDone) + { + Successful = true; + return true; + } + + return false; + } + + public override void Dispose() + { + this.webRequest.Dispose(); + } +} + +#endif + + +public class PhotonPingManager +{ + public bool UseNative; + public static int Attempts = 5; + public static bool IgnoreInitialAttempt = true; + public static int MaxMilliseconsPerPing = 800; // enter a value you're sure some server can beat (have a lower rtt) + + private const string wssProtocolString = "wss://"; + + public Region BestRegion + { + get + { + Region result = null; + int bestRtt = Int32.MaxValue; + foreach (Region region in PhotonNetwork.networkingPeer.AvailableRegions) + { + Debug.Log("BestRegion checks region: " + region); + if (region.Ping != 0 && region.Ping < bestRtt) + { + bestRtt = region.Ping; + result = region; + } + } + + return (Region)result; + } + } + + public bool Done + { + get { return this.PingsRunning == 0; } + } + + private int PingsRunning; + + + /// + /// Affected by frame-rate of app, as this Coroutine checks the socket for a result once per frame. + /// + public IEnumerator PingSocket(Region region) + { + region.Ping = Attempts*MaxMilliseconsPerPing; + + this.PingsRunning++; // TODO: Add try-catch to make sure the PingsRunning are reduced at the end and that the lib does not crash the app + PhotonPing ping; + if (PhotonHandler.PingImplementation == typeof(PingNativeDynamic)) + { + Debug.Log("Using constructor for new PingNativeDynamic()"); // it seems on Android, the Activator can't find the default Constructor + ping = new PingNativeDynamic(); + } + else if(PhotonHandler.PingImplementation == typeof(PingNativeStatic)) + { + Debug.Log("Using constructor for new PingNativeStatic()"); // it seems on Switch, the Activator can't find the default Constructor + ping = new PingNativeStatic(); + } + else if (PhotonHandler.PingImplementation == typeof(PingMono)) + { + ping = new PingMono(); // using this type explicitly saves it from IL2CPP bytecode stripping + } + #if UNITY_WEBGL + else if (PhotonHandler.PingImplementation == typeof(PingHttp)) + { + ping = new PingHttp(); + } + #endif + else + { + ping = (PhotonPing)Activator.CreateInstance(PhotonHandler.PingImplementation); + } + + //Debug.Log(region); + + float rttSum = 0.0f; + int replyCount = 0; + + // all addresses for Photon region servers will contain a :port ending. this needs to be removed first. + // PhotonPing.StartPing() requires a plain (IP) address without port or protocol-prefix (on all but Windows 8.1 and WebGL platforms). + + string regionAddress = region.HostAndPort; + int indexOfColon = regionAddress.LastIndexOf(':'); + if (indexOfColon > 1) + { + regionAddress = regionAddress.Substring(0, indexOfColon); + } + + // we also need to remove the protocol or Dns.GetHostAddresses(hostName) will throw an exception + // This is for xBox One for example. + int indexOfProtocol = regionAddress.IndexOf(PhotonPingManager.wssProtocolString); + if (indexOfProtocol > -1) + { + regionAddress = regionAddress.Substring(indexOfProtocol+PhotonPingManager.wssProtocolString.Length); + } + regionAddress = ResolveHost(regionAddress); + + + for (int i = 0; i < Attempts; i++) + { + bool overtime = false; + Stopwatch sw = new Stopwatch(); + sw.Start(); + + try + { + ping.StartPing(regionAddress); + } + catch (Exception e) + { + Debug.Log("catched: " + e); + this.PingsRunning--; + break; + } + + + while (!ping.Done()) + { + if (sw.ElapsedMilliseconds >= MaxMilliseconsPerPing) + { + overtime = true; + break; + } + yield return 0; // keep this loop tight, to avoid adding local lag to rtt. + } + int rtt = (int)sw.ElapsedMilliseconds; + + + if (IgnoreInitialAttempt && i == 0) + { + // do nothing. + } + else if (ping.Successful && !overtime) + { + rttSum += rtt; + replyCount++; + region.Ping = (int)((rttSum) / replyCount); + //Debug.Log("region " + region.Code + " RTT " + region.Ping + " success: " + ping.Successful + " over: " + overtime); + } + + yield return new WaitForSeconds(0.1f); + } + ping.Dispose(); + + this.PingsRunning--; + + //Debug.Log("this.PingsRunning: " + this.PingsRunning + " this debug: " + ping.DebugString); + yield return null; + } + +#if (UNITY_WINRT && !UNITY_EDITOR) || UNITY_WEBGL + + public static string ResolveHost(string hostName) + { + #if UNITY_WEBGL + if (hostName.StartsWith("wss://")) + { + hostName = hostName.Substring(6); + } + if (hostName.StartsWith("ws://")) + { + hostName = hostName.Substring(5); + } + #endif + + return hostName; + } + +#else + + /// + /// Attempts to resolve a hostname into an IP string or returns empty string if that fails. + /// + /// + /// To be compatible with most platforms, the address family is checked like this:
+ /// if (ipAddress.AddressFamily.ToString().Contains("6")) // ipv6... + /// + /// Hostname to resolve. + /// IP string or empty string if resolution fails + public static string ResolveHost(string hostName) + { + string ipv4Address = string.Empty; + + try + { + IPAddress[] address = Dns.GetHostAddresses(hostName); + //foreach (IPAddress adr in address) + //{ + // Debug.Log(hostName + " -> Adress: " + adr + " family: " + adr.AddressFamily.ToString()); + //} + + if (address.Length == 1) + { + return address[0].ToString(); + } + + // if we got more addresses, try to pick a IPv4 one + for (int index = 0; index < address.Length; index++) + { + IPAddress ipAddress = address[index]; + if (ipAddress != null) + { + // checking ipAddress.ToString() means we don't have to import System.Net.Sockets, which is not available on some platforms (Metro) + if (ipAddress.ToString().Contains(":")) + { + return ipAddress.ToString(); + } + if (string.IsNullOrEmpty(ipv4Address)) + { + ipv4Address = address.ToString(); + } + } + } + } + catch (System.Exception e) + { + Debug.Log("Exception caught! " + e.Source + " Message: " + e.Message); + } + + return ipv4Address; + } +#endif +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PingCloudRegions.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PingCloudRegions.cs.meta new file mode 100644 index 0000000..2e90001 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/PingCloudRegions.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 207807222df026f40ac3688a3a051e38 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RPC.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RPC.cs new file mode 100644 index 0000000..c20854d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RPC.cs @@ -0,0 +1,12 @@ + +#pragma warning disable 1587 +/// \file +/// Reimplements a RPC Attribute, as it's no longer in all versions of the UnityEngine assembly. +#pragma warning restore 1587 + +using System; + +/// Replacement for RPC attribute with different name. Used to flag methods as remote-callable. +public class PunRPC : Attribute +{ +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RPC.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RPC.cs.meta new file mode 100644 index 0000000..5b97d85 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RPC.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c40d255b1edd61842ae10e3346a2251e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Room.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Room.cs new file mode 100644 index 0000000..abfdc29 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Room.cs @@ -0,0 +1,366 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH +// +// +// Represents a room/game on the server and caches the properties of that. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using ExitGames.Client.Photon; +using UnityEngine; + + +/// +/// This class resembles a room that PUN joins (or joined). +/// The properties are settable as opposed to those of a RoomInfo and you can close or hide "your" room. +/// +/// \ingroup publicApi +public class Room : RoomInfo +{ + /// The name of a room. Unique identifier (per Loadbalancing group) for a room/match. + public new string Name + { + get + { + return this.nameField; + } + + internal set + { + this.nameField = value; + } + } + + /// + /// Defines if the room can be joined. + /// This does not affect listing in a lobby but joining the room will fail if not open. + /// If not open, the room is excluded from random matchmaking. + /// Due to racing conditions, found matches might become closed before they are joined. + /// Simply re-connect to master and find another. + /// Use property "visible" to not list the room. + /// + public new bool IsOpen + { + get + { + return this.openField; + } + + set + { + if (!this.Equals(PhotonNetwork.room)) + { + UnityEngine.Debug.LogWarning("Can't set open when not in that room."); + } + + if (value != this.openField && !PhotonNetwork.offlineMode) + { + PhotonNetwork.networkingPeer.OpSetPropertiesOfRoom(new Hashtable() { { GamePropertyKey.IsOpen, value } }, expectedProperties: null, webForward: false); + } + + this.openField = value; + } + } + + /// + /// Defines if the room is listed in its lobby. + /// Rooms can be created invisible, or changed to invisible. + /// To change if a room can be joined, use property: open. + /// + public new bool IsVisible + { + get + { + return this.visibleField; + } + + set + { + if (!this.Equals(PhotonNetwork.room)) + { + UnityEngine.Debug.LogWarning("Can't set visible when not in that room."); + } + + if (value != this.visibleField && !PhotonNetwork.offlineMode) + { + PhotonNetwork.networkingPeer.OpSetPropertiesOfRoom(new Hashtable() { { GamePropertyKey.IsVisible, value } }, expectedProperties: null, webForward: false); + } + + this.visibleField = value; + } + } + + /// + /// A list of custom properties that should be forwarded to the lobby and listed there. + /// + public string[] PropertiesListedInLobby { get; private set; } + + /// + /// Gets if this room uses autoCleanUp to remove all (buffered) RPCs and instantiated GameObjects when a player leaves. + /// + public bool AutoCleanUp + { + get + { + return this.autoCleanUpField; + } + } + + /// + /// Sets a limit of players to this room. This property is shown in lobby, too. + /// If the room is full (players count == maxplayers), joining this room will fail. + /// + public new int MaxPlayers + { + get + { + return (int)this.maxPlayersField; + } + + set + { + if (!this.Equals(PhotonNetwork.room)) + { + UnityEngine.Debug.LogWarning("Can't set MaxPlayers when not in that room."); + } + + if (value > 255) + { + UnityEngine.Debug.LogWarning("Can't set Room.MaxPlayers to: " + value + ". Using max value: 255."); + value = 255; + } + + if (value != this.maxPlayersField && !PhotonNetwork.offlineMode) + { + PhotonNetwork.networkingPeer.OpSetPropertiesOfRoom(new Hashtable() { { GamePropertyKey.MaxPlayers, (byte)value } }, expectedProperties: null, webForward: false); + } + + this.maxPlayersField = (byte)value; + } + } + + /// Count of players in this room. + public new int PlayerCount + { + get + { + if (PhotonNetwork.playerList != null) + { + return PhotonNetwork.playerList.Length; + } + else + { + return 0; + } + } + } + + /// + /// List of users who are expected to join this room. In matchmaking, Photon blocks a slot for each of these UserIDs out of the MaxPlayers. + /// + /// + /// The corresponding feature in Photon is called "Slot Reservation" and can be found in the doc pages. + /// Define expected players in the PhotonNetwork methods: CreateRoom, JoinRoom and JoinOrCreateRoom. + /// + public string[] ExpectedUsers + { + get { return this.expectedUsersField; } + } + + /// The ID (actorNumber) of the current Master Client of this room. + /// See also: PhotonNetwork.masterClient. + protected internal int MasterClientId + { + get + { + return this.masterClientIdField; + } + set + { + this.masterClientIdField = value; + } + } + + + internal Room(string roomName, RoomOptions options) : base(roomName, null) + { + if (options == null) + { + options = new RoomOptions(); + } + + this.visibleField = options.IsVisible; + this.openField = options.IsOpen; + this.maxPlayersField = (byte)options.MaxPlayers; + this.autoCleanUpField = false; // defaults to false, unless set to true when room gets created. + + this.InternalCacheProperties(options.CustomRoomProperties); + this.PropertiesListedInLobby = options.CustomRoomPropertiesForLobby; + } + + + /// + /// Updates the current room's Custom Properties with new/updated key-values. + /// + /// + /// Custom Properties are a key-value set (Hashtable) which is available to all players in a room. + /// They can relate to the room or individual players and are useful when only the current value + /// of something is of interest. For example: The map of a room. + /// All keys must be strings. + /// + /// The Room and the PhotonPlayer class both have SetCustomProperties methods. + /// Also, both classes offer access to current key-values by: customProperties. + /// + /// Always use SetCustomProperties to change values. + /// To reduce network traffic, set only values that actually changed. + /// New properties are added, existing values are updated. + /// Other values will not be changed, so only provide values that changed or are new. + /// + /// To delete a named (custom) property of this room, use null as value. + /// + /// Locally, SetCustomProperties will update it's cache without delay. + /// Other clients are updated through Photon (the server) with a fitting operation. + /// + /// Check and Swap + /// + /// SetCustomProperties have the option to do a server-side Check-And-Swap (CAS): + /// Values only get updated if the expected values are correct. + /// The expectedValues can be different key/values than the propertiesToSet. So you can + /// check some key and set another key's value (if the check succeeds). + /// + /// If the client's knowledge of properties is wrong or outdated, it can't set values with CAS. + /// This can be useful to keep players from concurrently setting values. For example: If all players + /// try to pickup some card or item, only one should get it. With CAS, only the first SetProperties + /// gets executed server-side and any other (sent at the same time) fails. + /// + /// The server will broadcast successfully changed values and the local "cache" of customProperties + /// only gets updated after a roundtrip (if anything changed). + /// + /// You can do a "webForward": Photon will send the changed properties to a WebHook defined + /// for your application. + /// + /// OfflineMode + /// + /// While PhotonNetwork.offlineMode is true, the expectedValues and webForward parameters are ignored. + /// In OfflineMode, the local customProperties values are immediately updated (without the roundtrip). + /// + /// The new properties to be set. + /// At least one property key/value set to check server-side. Key and value must be correct. Ignored in OfflineMode. + /// Set to true, to forward the set properties to a WebHook, defined for this app (in Dashboard). Ignored in OfflineMode. + public void SetCustomProperties(Hashtable propertiesToSet, Hashtable expectedValues = null, bool webForward = false) + { + if (propertiesToSet == null) + { + return; + } + + Hashtable customProps = propertiesToSet.StripToStringKeys() as Hashtable; + Hashtable customPropsToCheck = expectedValues.StripToStringKeys() as Hashtable; + + + // no expected values -> set and callback + bool noCas = customPropsToCheck == null || customPropsToCheck.Count == 0; + + if (PhotonNetwork.offlineMode || noCas) + { + this.CustomProperties.Merge(customProps); // the customProps are already stripped to string-keys-only (custom-props keys) + this.CustomProperties.StripKeysWithNullValues(); + } + + if (!PhotonNetwork.offlineMode) + { + PhotonNetwork.networkingPeer.OpSetPropertiesOfRoom(customProps, customPropsToCheck, webForward); // as the customProps are stripped already, this equals OpSetCustomPropertiesOfRoom() + } + + if (PhotonNetwork.offlineMode || noCas) + { + NetworkingPeer.SendMonoMessage(PhotonNetworkingMessage.OnPhotonCustomRoomPropertiesChanged, customProps); + } + } + + /// + /// Enables you to define the properties available in the lobby if not all properties are needed to pick a room. + /// + /// + /// It makes sense to limit the amount of properties sent to users in the lobby as this improves speed and stability. + /// + /// An array of custom room property names to forward to the lobby. + public void SetPropertiesListedInLobby(string[] propsListedInLobby) + { + Hashtable customProps = new Hashtable(); + customProps[GamePropertyKey.PropsListedInLobby] = propsListedInLobby; + PhotonNetwork.networkingPeer.OpSetPropertiesOfRoom(customProps, expectedProperties: null, webForward: false); + + this.PropertiesListedInLobby = propsListedInLobby; + } + + /// + /// Attempts to remove all current expected users from the server's Slot Reservation list. + /// + /// + /// Note that this operation can conflict with new/other users joining. They might be + /// adding users to the list of expected users before or after this client called ClearExpectedUsers. + /// + /// This room's expectedUsers value will update, when the server sends a successful update. + /// + /// Internals: This methods wraps up setting the ExpectedUsers property of a room. + /// + public void ClearExpectedUsers() + { + Hashtable props = new Hashtable(); + props[GamePropertyKey.ExpectedUsers] = new string[0]; + Hashtable expected = new Hashtable(); + expected[GamePropertyKey.ExpectedUsers] = this.ExpectedUsers; + PhotonNetwork.networkingPeer.OpSetPropertiesOfRoom(props, expected, webForward: false); + } + + + /// Returns a summary of this Room instance as string. + /// Summary of this Room instance. + public override string ToString() + { + return string.Format("Room: '{0}' {1},{2} {4}/{3} players.", this.nameField, this.visibleField ? "visible" : "hidden", this.openField ? "open" : "closed", this.maxPlayersField, this.PlayerCount); + } + + /// Returns a summary of this Room instance as longer string, including Custom Properties. + /// Summary of this Room instance. + public new string ToStringFull() + { + return string.Format("Room: '{0}' {1},{2} {4}/{3} players.\ncustomProps: {5}", this.nameField, this.visibleField ? "visible" : "hidden", this.openField ? "open" : "closed", this.maxPlayersField, this.PlayerCount, this.CustomProperties.ToStringFull()); + } + + + #region Obsoleted variable names + + [Obsolete("Please use Name (updated case for naming).")] + public new string name { get { return this.Name; } internal set { this.Name = value; } } + + [Obsolete("Please use IsOpen (updated case for naming).")] + public new bool open { get { return this.IsOpen; } set { this.IsOpen = value; } } + + [Obsolete("Please use IsVisible (updated case for naming).")] + public new bool visible { get { return this.IsVisible; } set { this.IsVisible = value; } } + + [Obsolete("Please use PropertiesListedInLobby (updated case for naming).")] + public string[] propertiesListedInLobby { get { return this.PropertiesListedInLobby; } private set { this.PropertiesListedInLobby = value; } } + + [Obsolete("Please use AutoCleanUp (updated case for naming).")] + public bool autoCleanUp { get { return this.AutoCleanUp; } } + + [Obsolete("Please use MaxPlayers (updated case for naming).")] + public new int maxPlayers { get { return this.MaxPlayers; } set { this.MaxPlayers = value; } } + + [Obsolete("Please use PlayerCount (updated case for naming).")] + public new int playerCount { get { return this.PlayerCount; } } + + [Obsolete("Please use ExpectedUsers (updated case for naming).")] + public string[] expectedUsers { get { return this.ExpectedUsers; } } + + [Obsolete("Please use MasterClientId (updated case for naming).")] + protected internal int masterClientId { get { return this.MasterClientId; } set { this.MasterClientId = value; } } + + #endregion +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Room.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Room.cs.meta new file mode 100644 index 0000000..66ccb6c --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Room.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 17568a7a5552c09428dd48e73548b8b8 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RoomInfo.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RoomInfo.cs new file mode 100644 index 0000000..5370443 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RoomInfo.cs @@ -0,0 +1,282 @@ +// ---------------------------------------------------------------------------- +// +// Loadbalancing Framework for Photon - Copyright (C) 2011 Exit Games GmbH +// +// +// This class resembles info about available rooms, as sent by the Master +// server's lobby. Consider all values as readonly. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System; +using ExitGames.Client.Photon; + + +/// +/// A simplified room with just the info required to list and join, used for the room listing in the lobby. +/// The properties are not settable (open, MaxPlayers, etc). +/// +/// +/// This class resembles info about available rooms, as sent by the Master server's lobby. +/// Consider all values as readonly. None are synced (only updated by events by server). +/// +/// \ingroup publicApi +public class RoomInfo +{ + /// Used internally in lobby, to mark rooms that are no longer listed. + public bool removedFromList { get; internal set; } + + /// Backing field for property. + private Hashtable customPropertiesField = new Hashtable(); + + /// Backing field for property. + protected byte maxPlayersField = 0; + + /// Backing field for property. + protected string[] expectedUsersField; + + /// Backing field for property. + protected bool openField = true; + + /// Backing field for property. + protected bool visibleField = true; + + /// Backing field for property. False unless the GameProperty is set to true (else it's not sent). + protected bool autoCleanUpField = PhotonNetwork.autoCleanUpPlayerObjects; + + /// Backing field for property. + protected string nameField; + + /// Backing field for master client id (actorNumber). defined by server in room props and ev leave. + protected internal int masterClientIdField; + + protected internal bool serverSideMasterClient { get; private set; } + + /// Read-only "cache" of custom properties of a room. Set via Room.SetCustomProperties (not available for RoomInfo class!). + /// All keys are string-typed and the values depend on the game/application. + /// + public Hashtable CustomProperties + { + get + { + return this.customPropertiesField; + } + } + + /// The name of a room. Unique identifier (per Loadbalancing group) for a room/match. + public string Name + { + get + { + return this.nameField; + } + } + + /// + /// Only used internally in lobby, to display number of players in room (while you're not in). + /// + public int PlayerCount { get; private set; } + + /// + /// State if the local client is already in the game or still going to join it on gameserver (in lobby always false). + /// + public bool IsLocalClientInside { get; set; } + + /// + /// Sets a limit of players to this room. This property is shown in lobby, too. + /// If the room is full (players count == maxplayers), joining this room will fail. + /// + /// + /// As part of RoomInfo this can't be set. + /// As part of a Room (which the player joined), the setter will update the server and all clients. + /// + public byte MaxPlayers + { + get + { + return this.maxPlayersField; + } + } + + /// + /// Defines if the room can be joined. + /// This does not affect listing in a lobby but joining the room will fail if not open. + /// If not open, the room is excluded from random matchmaking. + /// Due to racing conditions, found matches might become closed before they are joined. + /// Simply re-connect to master and find another. + /// Use property "IsVisible" to not list the room. + /// + /// + /// As part of RoomInfo this can't be set. + /// As part of a Room (which the player joined), the setter will update the server and all clients. + /// + public bool IsOpen + { + get + { + return this.openField; + } + } + + /// + /// Defines if the room is listed in its lobby. + /// Rooms can be created invisible, or changed to invisible. + /// To change if a room can be joined, use property: open. + /// + /// + /// As part of RoomInfo this can't be set. + /// As part of a Room (which the player joined), the setter will update the server and all clients. + /// + public bool IsVisible + { + get + { + return this.visibleField; + } + } + + /// + /// Constructs a RoomInfo to be used in room listings in lobby. + /// + /// + /// + protected internal RoomInfo(string roomName, Hashtable properties) + { + this.InternalCacheProperties(properties); + + this.nameField = roomName; + } + + /// + /// Makes RoomInfo comparable (by name). + /// + public override bool Equals(object other) + { + RoomInfo otherRoomInfo = other as RoomInfo; + return (otherRoomInfo != null && this.Name.Equals(otherRoomInfo.nameField)); + } + + /// + /// Accompanies Equals, using the name's HashCode as return. + /// + /// + public override int GetHashCode() + { + return this.nameField.GetHashCode(); + } + + + /// Simple printingin method. + /// Summary of this RoomInfo instance. + public override string ToString() + { + return string.Format("Room: '{0}' {1},{2} {4}/{3} players.", this.nameField, this.visibleField ? "visible" : "hidden", this.openField ? "open" : "closed", this.maxPlayersField, this.PlayerCount); + } + + /// Simple printingin method. + /// Summary of this RoomInfo instance. + public string ToStringFull() + { + return string.Format("Room: '{0}' {1},{2} {4}/{3} players.\ncustomProps: {5}", this.nameField, this.visibleField ? "visible" : "hidden", this.openField ? "open" : "closed", this.maxPlayersField, this.PlayerCount, this.customPropertiesField.ToStringFull()); + } + + /// Copies "well known" properties to fields (IsVisible, etc) and caches the custom properties (string-keys only) in a local hashtable. + /// New or updated properties to store in this RoomInfo. + protected internal void InternalCacheProperties(Hashtable propertiesToCache) + { + if (propertiesToCache == null || propertiesToCache.Count == 0 || this.customPropertiesField.Equals(propertiesToCache)) + { + return; + } + + // check of this game was removed from the list. in that case, we don't + // need to read any further properties + // list updates will remove this game from the game listing + if (propertiesToCache.ContainsKey(GamePropertyKey.Removed)) + { + this.removedFromList = (Boolean)propertiesToCache[GamePropertyKey.Removed]; + if (this.removedFromList) + { + return; + } + } + + // fetch the "well known" properties of the room, if available + if (propertiesToCache.ContainsKey(GamePropertyKey.MaxPlayers)) + { + this.maxPlayersField = (byte)propertiesToCache[GamePropertyKey.MaxPlayers]; + } + + if (propertiesToCache.ContainsKey(GamePropertyKey.IsOpen)) + { + this.openField = (bool)propertiesToCache[GamePropertyKey.IsOpen]; + } + + if (propertiesToCache.ContainsKey(GamePropertyKey.IsVisible)) + { + this.visibleField = (bool)propertiesToCache[GamePropertyKey.IsVisible]; + } + + if (propertiesToCache.ContainsKey(GamePropertyKey.PlayerCount)) + { + this.PlayerCount = (int)((byte)propertiesToCache[GamePropertyKey.PlayerCount]); + } + + if (propertiesToCache.ContainsKey(GamePropertyKey.CleanupCacheOnLeave)) + { + this.autoCleanUpField = (bool)propertiesToCache[GamePropertyKey.CleanupCacheOnLeave]; + } + + if (propertiesToCache.ContainsKey(GamePropertyKey.MasterClientId)) + { + this.serverSideMasterClient = true; + bool isUpdate = this.masterClientIdField != 0; + this.masterClientIdField = (int) propertiesToCache[GamePropertyKey.MasterClientId]; + if (isUpdate) + { + PhotonNetwork.networkingPeer.UpdateMasterClient(); + } + } + + //if (propertiesToCache.ContainsKey(GamePropertyKey.PropsListedInLobby)) + //{ + // // could be cached but isn't useful + //} + + if (propertiesToCache.ContainsKey((byte)GamePropertyKey.ExpectedUsers)) + { + this.expectedUsersField = (string[])propertiesToCache[GamePropertyKey.ExpectedUsers]; + } + + // merge the custom properties (from your application) to the cache (only string-typed keys will be kept) + this.customPropertiesField.MergeStringKeys(propertiesToCache); + this.customPropertiesField.StripKeysWithNullValues(); + } + + + #region Obsoleted variable names + + [Obsolete("Please use CustomProperties (updated case for naming).")] + public Hashtable customProperties { get { return this.CustomProperties; } } + + [Obsolete("Please use Name (updated case for naming).")] + public string name { get { return this.Name; } } + + [Obsolete("Please use PlayerCount (updated case for naming).")] + public int playerCount { get { return this.PlayerCount; } set { this.PlayerCount = value; } } + + [Obsolete("Please use IsLocalClientInside (updated case for naming).")] + public bool isLocalClientInside { get { return this.IsLocalClientInside; } set { this.IsLocalClientInside = value; } } + + [Obsolete("Please use MaxPlayers (updated case for naming).")] + public byte maxPlayers { get { return this.MaxPlayers; } } + + [Obsolete("Please use IsOpen (updated case for naming).")] + public bool open { get { return this.IsOpen; } } + + [Obsolete("Please use IsVisible (updated case for naming).")] + public bool visible { get { return this.IsVisible; } } + + #endregion +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RoomInfo.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RoomInfo.cs.meta new file mode 100644 index 0000000..a1188f0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/RoomInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 71760b65ad7d5b842942c797a0366fa7 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/ServerSettings.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/ServerSettings.cs new file mode 100644 index 0000000..77de9c1 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/ServerSettings.cs @@ -0,0 +1,186 @@ +#pragma warning disable 1587 +/// \file +/// ScriptableObject defining a server setup. An instance is created as PhotonServerSettings. +#pragma warning restore 1587 + +using System; +using System.Collections.Generic; +using ExitGames.Client.Photon; +using UnityEngine; + + +public class Region +{ + public CloudRegionCode Code; + /// Unlike the CloudRegionCode, this may contain cluster information. + public string Cluster; + public string HostAndPort; + public int Ping; + + public Region(CloudRegionCode code) + { + this.Code = code; + this.Cluster = code.ToString(); + } + + public Region(CloudRegionCode code, string regionCodeString, string address) + { + this.Code = code; + this.Cluster = regionCodeString; + this.HostAndPort = address; + } + + public static CloudRegionCode Parse(string codeAsString) + { + if (codeAsString == null) + { + return CloudRegionCode.none; + } + + int slash = codeAsString.IndexOf('/'); + if (slash > 0) + { + codeAsString = codeAsString.Substring(0, slash); + } + codeAsString = codeAsString.ToLower(); + + if (Enum.IsDefined(typeof(CloudRegionCode), codeAsString)) + { + return (CloudRegionCode)Enum.Parse(typeof(CloudRegionCode), codeAsString); + } + + return CloudRegionCode.none; + } + + + internal static CloudRegionFlag ParseFlag(CloudRegionCode region) + { + if (Enum.IsDefined(typeof(CloudRegionFlag), region.ToString())) + { + return (CloudRegionFlag)Enum.Parse(typeof(CloudRegionFlag), region.ToString()); + } + + return (CloudRegionFlag)0; + } + + [Obsolete] + internal static CloudRegionFlag ParseFlag(string codeAsString) + { + codeAsString = codeAsString.ToLower(); + + CloudRegionFlag code = 0; + if (Enum.IsDefined(typeof(CloudRegionFlag), codeAsString)) + { + code = (CloudRegionFlag)Enum.Parse(typeof(CloudRegionFlag), codeAsString); + } + + return code; + } + + public override string ToString() + { + return string.Format("'{0}' \t{1}ms \t{2}", this.Cluster, this.Ping, this.HostAndPort); + } +} + + +/// +/// Collection of connection-relevant settings, used internally by PhotonNetwork.ConnectUsingSettings. +/// +[Serializable] +public class ServerSettings : ScriptableObject +{ + public enum HostingOption { NotSet = 0, PhotonCloud = 1, SelfHosted = 2, OfflineMode = 3, BestRegion = 4 } + + public string AppID = ""; + public string VoiceAppID = ""; + public string ChatAppID = ""; + + public HostingOption HostType = HostingOption.NotSet; + + public CloudRegionCode PreferredRegion; + public CloudRegionFlag EnabledRegions = (CloudRegionFlag)(-1); + + public ConnectionProtocol Protocol = ConnectionProtocol.Udp; + public string ServerAddress = ""; + public int ServerPort = 5055; + public int VoiceServerPort = 5055; // Voice only uses UDP + + + public bool JoinLobby; + public bool EnableLobbyStatistics; + public PhotonLogLevel PunLogging = PhotonLogLevel.ErrorsOnly; + public DebugLevel NetworkLogging = DebugLevel.ERROR; + + public bool RunInBackground = true; + + public List RpcList = new List(); // set by scripts and or via Inspector + + [HideInInspector] + public bool DisableAutoOpenWizard; + + + public void UseCloudBestRegion(string cloudAppid) + { + this.HostType = HostingOption.BestRegion; + this.AppID = cloudAppid; + } + + public void UseCloud(string cloudAppid) + { + this.HostType = HostingOption.PhotonCloud; + this.AppID = cloudAppid; + } + + public void UseCloud(string cloudAppid, CloudRegionCode code) + { + this.HostType = HostingOption.PhotonCloud; + this.AppID = cloudAppid; + this.PreferredRegion = code; + } + + public void UseMyServer(string serverAddress, int serverPort, string application) + { + this.HostType = HostingOption.SelfHosted; + this.AppID = (application != null) ? application : "master"; + + this.ServerAddress = serverAddress; + this.ServerPort = serverPort; + } + + /// Checks if a string is a Guid by attempting to create one. + /// The potential guid to check. + /// True if new Guid(val) did not fail. + public static bool IsAppId(string val) + { + try + { + new Guid(val); + } + catch + { + return false; + } + return true; + } + + /// + /// Gets the best region code in preferences. + /// This composes the PhotonHandler, since its Internal and can not be accessed by the custom inspector + /// + /// The best region code in preferences. + public static CloudRegionCode BestRegionCodeInPreferences + { + get { return PhotonHandler.BestRegionCodeInPreferences; } + } + + public static void ResetBestRegionCodeInPreferences() + { + PhotonHandler.BestRegionCodeInPreferences = CloudRegionCode.none; + } + + public override string ToString() + { + return "ServerSettings: " + HostType + " " + ServerAddress; + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/ServerSettings.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/ServerSettings.cs.meta new file mode 100644 index 0000000..401bf34 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/ServerSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9f3758f8f58fdef43803eb9be1df0608 +labels: +- ExitGames +- PUN +- Photon +- Networking +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketUdp.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketUdp.cs new file mode 100644 index 0000000..864e1d2 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketUdp.cs @@ -0,0 +1,229 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Protocol & Photon Client Lib - Copyright (C) 2013 Exit Games GmbH +// +// +// Uses the UDP socket for a peer to send and receive enet/Photon messages. +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + +#if UNITY_EDITOR || (!UNITY_ANDROID && !UNITY_IPHONE && !UNITY_PS3 && !UNITY_WINRT && !UNITY_WP8) + +namespace ExitGames.Client.Photon +{ + using System; + using System.Net; + using System.Net.Sockets; + using System.Security; + using System.Threading; + + /// Internal class to encapsulate the network i/o functionality for the realtime libary. + internal class SocketUdp : IPhotonSocket, IDisposable + { + private Socket sock; + + private readonly object syncer = new object(); + + public SocketUdp(PeerBase npeer) : base(npeer) + { + if (this.ReportDebugOfLevel(DebugLevel.ALL)) + { + this.Listener.DebugReturn(DebugLevel.ALL, "CSharpSocket: UDP, Unity3d."); + } + + //this.Protocol = ConnectionProtocol.Udp; + this.PollReceive = false; + } + + public void Dispose() + { + this.State = PhotonSocketState.Disconnecting; + + if (this.sock != null) + { + try + { + if (this.sock.Connected) this.sock.Close(); + } + catch (Exception ex) + { + this.EnqueueDebugReturn(DebugLevel.INFO, "Exception in Dispose(): " + ex); + } + } + + this.sock = null; + this.State = PhotonSocketState.Disconnected; + } + + public override bool Connect() + { + lock (this.syncer) + { + bool baseOk = base.Connect(); + if (!baseOk) + { + return false; + } + + this.State = PhotonSocketState.Connecting; + + Thread dns = new Thread(this.DnsAndConnect); + dns.Name = "photon dns thread"; + dns.IsBackground = true; + dns.Start(); + + return true; + } + } + + public override bool Disconnect() + { + if (this.ReportDebugOfLevel(DebugLevel.INFO)) + { + this.EnqueueDebugReturn(DebugLevel.INFO, "CSharpSocket.Disconnect()"); + } + + this.State = PhotonSocketState.Disconnecting; + + lock (this.syncer) + { + if (this.sock != null) + { + try + { + this.sock.Close(); + } + catch (Exception ex) + { + this.EnqueueDebugReturn(DebugLevel.INFO, "Exception in Disconnect(): " + ex); + } + + this.sock = null; + } + } + + this.State = PhotonSocketState.Disconnected; + return true; + } + + /// used by PhotonPeer* + public override PhotonSocketError Send(byte[] data, int length) + { + lock (this.syncer) + { + if (this.sock == null || !this.sock.Connected) + { + return PhotonSocketError.Skipped; + } + + try + { + sock.Send(data, 0, length, SocketFlags.None); + } + catch (Exception e) + { + if (this.ReportDebugOfLevel(DebugLevel.ERROR)) + { + this.EnqueueDebugReturn(DebugLevel.ERROR, "Cannot send to: " + this.ServerAddress + ". " + e.Message); + } + return PhotonSocketError.Exception; + } + } + + return PhotonSocketError.Success; + } + + public override PhotonSocketError Receive(out byte[] data) + { + data = null; + return PhotonSocketError.NoData; + } + + internal void DnsAndConnect() + { + IPAddress ipAddress = null; + try + { + ipAddress = IPhotonSocket.GetIpAddress(this.ServerAddress); + if (ipAddress == null) + { + // this covers cases of failed DNS lookup and bad addresses. + throw new ArgumentException("Invalid IPAddress. Address: " + this.ServerAddress); + } + + lock (this.syncer) + { + if (this.State == PhotonSocketState.Disconnecting || this.State == PhotonSocketState.Disconnected) + { + return; + } + + this.sock = new Socket(ipAddress.AddressFamily, SocketType.Dgram, ProtocolType.Udp); + this.sock.Connect(ipAddress, this.ServerPort); + + this.AddressResolvedAsIpv6 = this.IsIpv6SimpleCheck(ipAddress); + this.State = PhotonSocketState.Connected; + + this.peerBase.OnConnect(); + } + } + catch (SecurityException se) + { + if (this.ReportDebugOfLevel(DebugLevel.ERROR)) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Connect() to '" + this.ServerAddress + "' (" + ((ipAddress == null ) ? "": ipAddress.AddressFamily.ToString()) + ") failed: " + se.ToString()); + } + + this.HandleException(StatusCode.SecurityExceptionOnConnect); + return; + } + catch (Exception se) + { + if (this.ReportDebugOfLevel(DebugLevel.ERROR)) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Connect() to '" + this.ServerAddress + "' (" + ((ipAddress == null) ? "" : ipAddress.AddressFamily.ToString()) + ") failed: " + se.ToString()); + } + + this.HandleException(StatusCode.ExceptionOnConnect); + return; + } + + Thread run = new Thread(new ThreadStart(ReceiveLoop)); + run.Name = "photon receive thread"; + run.IsBackground = true; + run.Start(); + } + + /// Endless loop, run in Receive Thread. + public void ReceiveLoop() + { + byte[] inBuffer = new byte[this.MTU]; + while (this.State == PhotonSocketState.Connected) + { + try + { + int read = this.sock.Receive(inBuffer); + this.HandleReceivedDatagram(inBuffer, read, true); + } + catch (Exception e) + { + if (this.State != PhotonSocketState.Disconnecting && this.State != PhotonSocketState.Disconnected) + { + if (this.ReportDebugOfLevel(DebugLevel.ERROR)) + { + this.EnqueueDebugReturn(DebugLevel.ERROR, "Receive issue. State: " + this.State + ". Server: '" + this.ServerAddress + "' Exception: " + e); + } + + this.HandleException(StatusCode.ExceptionOnReceive); + } + } + } //while Connected receive + + // on exit of the receive-loop: disconnect socket + this.Disconnect(); + } + } //class + +} +#endif diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketUdp.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketUdp.cs.meta new file mode 100644 index 0000000..b51113e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketUdp.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fdcd4031513ba944ba1cc57b3aff328a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketWebTcp.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketWebTcp.cs new file mode 100644 index 0000000..307f912 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketWebTcp.cs @@ -0,0 +1,283 @@ +#if UNITY_WEBGL || WEBSOCKET + +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright (c) Exit Games GmbH. All rights reserved. +// +// +// Internal class to encapsulate the network i/o functionality for the realtime libary. +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + +using System; +using System.Collections; +using UnityEngine; +using SupportClassPun = ExitGames.Client.Photon.SupportClass; + + +namespace ExitGames.Client.Photon +{ +#if UNITY_5_3 || UNITY_5_3_OR_NEWER + /// + /// Yield Instruction to Wait for real seconds. Very important to keep connection working if Time.TimeScale is altered, we still want accurate network events + /// + public sealed class WaitForRealSeconds : CustomYieldInstruction + { + private readonly float _endTime; + + public override bool keepWaiting + { + get { return _endTime > Time.realtimeSinceStartup; } + } + + public WaitForRealSeconds(float seconds) + { + _endTime = Time.realtimeSinceStartup + seconds; + } + } +#endif + + /// + /// Internal class to encapsulate the network i/o functionality for the realtime libary. + /// + public class SocketWebTcp : IPhotonSocket, IDisposable + { + private WebSocket sock; + + private readonly object syncer = new object(); + + public SocketWebTcp(PeerBase npeer) : base(npeer) + { + ServerAddress = npeer.ServerAddress; + if (this.ReportDebugOfLevel(DebugLevel.INFO)) + { + Listener.DebugReturn(DebugLevel.INFO, "new SocketWebTcp() for Unity. Server: " + ServerAddress); + } + + //this.Protocol = ConnectionProtocol.WebSocket; + this.PollReceive = false; + } + + public void Dispose() + { + this.State = PhotonSocketState.Disconnecting; + + if (this.sock != null) + { + try + { + if (this.sock.Connected) this.sock.Close(); + } + catch (Exception ex) + { + this.EnqueueDebugReturn(DebugLevel.INFO, "Exception in Dispose(): " + ex); + } + } + + this.sock = null; + this.State = PhotonSocketState.Disconnected; + } + + GameObject websocketConnectionObject; + public override bool Connect() + { + //bool baseOk = base.Connect(); + //if (!baseOk) + //{ + // return false; + //} + + + State = PhotonSocketState.Connecting; + + if (this.websocketConnectionObject != null) + { + UnityEngine.Object.Destroy(this.websocketConnectionObject); + } + + this.websocketConnectionObject = new GameObject("websocketConnectionObject"); + MonoBehaviour mb = this.websocketConnectionObject.AddComponent(); + this.websocketConnectionObject.hideFlags = HideFlags.HideInHierarchy; + UnityEngine.Object.DontDestroyOnLoad(this.websocketConnectionObject); + + this.sock = new WebSocket(new Uri(ServerAddress)); + this.sock.Connect(); + + mb.StartCoroutine(this.ReceiveLoop()); + return true; + } + + + public override bool Disconnect() + { + if (ReportDebugOfLevel(DebugLevel.INFO)) + { + this.Listener.DebugReturn(DebugLevel.INFO, "SocketWebTcp.Disconnect()"); + } + + State = PhotonSocketState.Disconnecting; + + lock (this.syncer) + { + if (this.sock != null) + { + try + { + this.sock.Close(); + } + catch (Exception ex) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Exception in Disconnect(): " + ex); + } + this.sock = null; + } + } + + if (this.websocketConnectionObject != null) + { + UnityEngine.Object.Destroy(this.websocketConnectionObject); + } + + State = PhotonSocketState.Disconnected; + return true; + } + + /// + /// used by TPeer* + /// + public override PhotonSocketError Send(byte[] data, int length) + { + if (this.State != PhotonSocketState.Connected) + { + return PhotonSocketError.Skipped; + } + + try + { + if (this.ReportDebugOfLevel(DebugLevel.ALL)) + { + this.Listener.DebugReturn(DebugLevel.ALL, "Sending: " + SupportClassPun.ByteArrayToString(data)); + } + + if (this.sock != null) + { + this.sock.Send(data); + } + } + catch (Exception e) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Cannot send to: " + this.ServerAddress + ". " + e.Message); + + HandleException(StatusCode.Exception); + return PhotonSocketError.Exception; + } + + return PhotonSocketError.Success; + } + + public override PhotonSocketError Receive(out byte[] data) + { + data = null; + return PhotonSocketError.NoData; + } + + + internal const int ALL_HEADER_BYTES = 9; + internal const int TCP_HEADER_BYTES = 7; + internal const int MSG_HEADER_BYTES = 2; + + public IEnumerator ReceiveLoop() + { + this.Listener.DebugReturn(DebugLevel.INFO, "ReceiveLoop()"); + if (this.sock != null) + { + while (this.sock != null && !this.sock.Connected && this.sock.Error == null) + { +#if UNITY_5_3 || UNITY_5_3_OR_NEWER + yield return new WaitForRealSeconds(0.1f); +#else + float waittime = Time.realtimeSinceStartup + 0.1f; + while (Time.realtimeSinceStartup < waittime) yield return 0; +#endif + } + + if (this.sock != null) + { + if (this.sock.Error != null) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Exiting receive thread. Server: " + this.ServerAddress + ":" + this.ServerPort + " Error: " + this.sock.Error); + this.HandleException(StatusCode.ExceptionOnConnect); + } + else + { + // connected + if (this.ReportDebugOfLevel(DebugLevel.ALL)) + { + this.Listener.DebugReturn(DebugLevel.ALL, "Receiving by websocket. this.State: " + State); + } + State = PhotonSocketState.Connected; + while (State == PhotonSocketState.Connected) + { + if (this.sock != null) + { + if (this.sock.Error != null) + { + this.Listener.DebugReturn(DebugLevel.ERROR, "Exiting receive thread (inside loop). Server: " + this.ServerAddress + ":" + this.ServerPort + " Error: " + this.sock.Error); + this.HandleException(StatusCode.ExceptionOnReceive); + break; + } + else + { + byte[] inBuff = this.sock.Recv(); + if (inBuff == null || inBuff.Length == 0) + { + // nothing received. wait a bit, try again +#if UNITY_5_3 || UNITY_5_3_OR_NEWER + yield return new WaitForRealSeconds(0.02f); +#else + float waittime = Time.realtimeSinceStartup + 0.02f; + while (Time.realtimeSinceStartup < waittime) yield return 0; +#endif + continue; + } + + if (this.ReportDebugOfLevel(DebugLevel.ALL)) + { + this.Listener.DebugReturn(DebugLevel.ALL, "TCP << " + inBuff.Length + " = " + SupportClassPun.ByteArrayToString(inBuff)); + } + + if (inBuff.Length > 0) + { + try + { + HandleReceivedDatagram(inBuff, inBuff.Length, false); + } + catch (Exception e) + { + if (this.State != PhotonSocketState.Disconnecting && this.State != PhotonSocketState.Disconnected) + { + if (this.ReportDebugOfLevel(DebugLevel.ERROR)) + { + this.EnqueueDebugReturn(DebugLevel.ERROR, "Receive issue. State: " + this.State + ". Server: '" + this.ServerAddress + "' Exception: " + e); + } + + this.HandleException(StatusCode.ExceptionOnReceive); + } + } + } + } + } + } + } + } + } + + this.Disconnect(); + } + } + + internal class MonoBehaviourExt : MonoBehaviour { } +} + +#endif \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketWebTcp.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketWebTcp.cs.meta new file mode 100644 index 0000000..7f04d3c --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/SocketWebTcp.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac953d6a57a9ea94e96ec689598995d5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views.meta new file mode 100644 index 0000000..cedf975 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c1512060252aadc489bd69d67a85b0c6 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonAnimatorView.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonAnimatorView.cs new file mode 100644 index 0000000..cba9a8b --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonAnimatorView.cs @@ -0,0 +1,544 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize Mecanim animations via PUN. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using System.Collections.Generic; +using UnityEngine; + +/// +/// This class helps you to synchronize Mecanim animations +/// Simply add the component to your GameObject and make sure that +/// the PhotonAnimatorView is added to the list of observed components +/// +/// +/// When Using Trigger Parameters, make sure the component that sets the trigger is higher in the stack of Components on the GameObject than 'PhotonAnimatorView' +/// Triggers are raised true during one frame only. +/// +[RequireComponent(typeof(Animator))] +[RequireComponent(typeof(PhotonView))] +[AddComponentMenu("Photon Networking/Photon Animator View")] +public class PhotonAnimatorView : MonoBehaviour, IPunObservable +{ + #region Enums + + public enum ParameterType + { + Float = 1, + Int = 3, + Bool = 4, + Trigger = 9, + } + + public enum SynchronizeType + { + Disabled = 0, + Discrete = 1, + Continuous = 2, + } + + [System.Serializable] + public class SynchronizedParameter + { + public ParameterType Type; + public SynchronizeType SynchronizeType; + public string Name; + } + + [System.Serializable] + public class SynchronizedLayer + { + public SynchronizeType SynchronizeType; + public int LayerIndex; + } + + #endregion + + #region Properties + +#if PHOTON_DEVELOP + public PhotonAnimatorView ReceivingSender; +#endif + + #endregion + + #region Members + + private Animator m_Animator; + + private PhotonStreamQueue m_StreamQueue; + + //These fields are only used in the CustomEditor for this script and would trigger a + //"this variable is never used" warning, which I am suppressing here +#pragma warning disable 0414 + [HideInInspector] + [SerializeField] + private bool ShowLayerWeightsInspector = true; + + [HideInInspector] + [SerializeField] + private bool ShowParameterInspector = true; +#pragma warning restore 0414 + + [HideInInspector] + [SerializeField] + private List m_SynchronizeParameters = new List(); + + [HideInInspector] + [SerializeField] + private List m_SynchronizeLayers = new List(); + + private Vector3 m_ReceiverPosition; + private float m_LastDeserializeTime; + private bool m_WasSynchronizeTypeChanged = true; + private PhotonView m_PhotonView; + + /// + /// Cached raised triggers that are set to be synchronized in discrete mode. since a Trigger only stay up for less than a frame, + /// We need to cache it until the next discrete serialization call. + /// + List m_raisedDiscreteTriggersCache = new List(); + + #endregion + + #region Unity + + private void Awake() + { + this.m_PhotonView = GetComponent(); + this.m_StreamQueue = new PhotonStreamQueue(120); + + this.m_Animator = GetComponent(); + } + + private void Update() + { + if (this.m_Animator.applyRootMotion && this.m_PhotonView.isMine == false && PhotonNetwork.connected == true) + { + this.m_Animator.applyRootMotion = false; + } + + if (PhotonNetwork.inRoom == false || PhotonNetwork.room.PlayerCount <= 1) + { + this.m_StreamQueue.Reset(); + return; + } + + if (this.m_PhotonView.isMine == true) + { + this.SerializeDataContinuously(); + + this.CacheDiscreteTriggers(); + } + else + { + this.DeserializeDataContinuously(); + } + } + + #endregion + + #region Setup Synchronizing Methods + + /// + /// Caches the discrete triggers values for keeping track of raised triggers, and will be reseted after the sync routine got performed + /// + public void CacheDiscreteTriggers() + { + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + SynchronizedParameter parameter = this.m_SynchronizeParameters[i]; + + if (parameter.SynchronizeType == SynchronizeType.Discrete && parameter.Type == ParameterType.Trigger && this.m_Animator.GetBool(parameter.Name)) + { + if (parameter.Type == ParameterType.Trigger) + { + this.m_raisedDiscreteTriggersCache.Add(parameter.Name); + break; + } + } + } + } + + /// + /// Check if a specific layer is configured to be synchronize + /// + /// Index of the layer. + /// True if the layer is synchronized + public bool DoesLayerSynchronizeTypeExist(int layerIndex) + { + return this.m_SynchronizeLayers.FindIndex(item => item.LayerIndex == layerIndex) != -1; + } + + /// + /// Check if the specified parameter is configured to be synchronized + /// + /// The name of the parameter. + /// True if the parameter is synchronized + public bool DoesParameterSynchronizeTypeExist(string name) + { + return this.m_SynchronizeParameters.FindIndex(item => item.Name == name) != -1; + } + + /// + /// Get a list of all synchronized layers + /// + /// List of SynchronizedLayer objects + public List GetSynchronizedLayers() + { + return this.m_SynchronizeLayers; + } + + /// + /// Get a list of all synchronized parameters + /// + /// List of SynchronizedParameter objects + public List GetSynchronizedParameters() + { + return this.m_SynchronizeParameters; + } + + /// + /// Gets the type how the layer is synchronized + /// + /// Index of the layer. + /// Disabled/Discrete/Continuous + public SynchronizeType GetLayerSynchronizeType(int layerIndex) + { + int index = this.m_SynchronizeLayers.FindIndex(item => item.LayerIndex == layerIndex); + + if (index == -1) + { + return SynchronizeType.Disabled; + } + + return this.m_SynchronizeLayers[index].SynchronizeType; + } + + /// + /// Gets the type how the parameter is synchronized + /// + /// The name of the parameter. + /// Disabled/Discrete/Continuous + public SynchronizeType GetParameterSynchronizeType(string name) + { + int index = this.m_SynchronizeParameters.FindIndex(item => item.Name == name); + + if (index == -1) + { + return SynchronizeType.Disabled; + } + + return this.m_SynchronizeParameters[index].SynchronizeType; + } + + /// + /// Sets the how a layer should be synchronized + /// + /// Index of the layer. + /// Disabled/Discrete/Continuous + public void SetLayerSynchronized(int layerIndex, SynchronizeType synchronizeType) + { + if (Application.isPlaying == true) + { + this.m_WasSynchronizeTypeChanged = true; + } + + int index = this.m_SynchronizeLayers.FindIndex(item => item.LayerIndex == layerIndex); + + if (index == -1) + { + this.m_SynchronizeLayers.Add(new SynchronizedLayer { LayerIndex = layerIndex, SynchronizeType = synchronizeType }); + } + else + { + this.m_SynchronizeLayers[index].SynchronizeType = synchronizeType; + } + } + + /// + /// Sets the how a parameter should be synchronized + /// + /// The name of the parameter. + /// The type of the parameter. + /// Disabled/Discrete/Continuous + public void SetParameterSynchronized(string name, ParameterType type, SynchronizeType synchronizeType) + { + if (Application.isPlaying == true) + { + this.m_WasSynchronizeTypeChanged = true; + } + + int index = this.m_SynchronizeParameters.FindIndex(item => item.Name == name); + + if (index == -1) + { + this.m_SynchronizeParameters.Add(new SynchronizedParameter { Name = name, Type = type, SynchronizeType = synchronizeType }); + } + else + { + this.m_SynchronizeParameters[index].SynchronizeType = synchronizeType; + } + } + + #endregion + + #region Serialization + + private void SerializeDataContinuously() + { + if (this.m_Animator == null) + { + return; + } + + for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i) + { + if (this.m_SynchronizeLayers[i].SynchronizeType == SynchronizeType.Continuous) + { + this.m_StreamQueue.SendNext(this.m_Animator.GetLayerWeight(this.m_SynchronizeLayers[i].LayerIndex)); + } + } + + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + SynchronizedParameter parameter = this.m_SynchronizeParameters[i]; + + if (parameter.SynchronizeType == SynchronizeType.Continuous) + { + switch (parameter.Type) + { + case ParameterType.Bool: + this.m_StreamQueue.SendNext(this.m_Animator.GetBool(parameter.Name)); + break; + case ParameterType.Float: + this.m_StreamQueue.SendNext(this.m_Animator.GetFloat(parameter.Name)); + break; + case ParameterType.Int: + this.m_StreamQueue.SendNext(this.m_Animator.GetInteger(parameter.Name)); + break; + case ParameterType.Trigger: + this.m_StreamQueue.SendNext(this.m_Animator.GetBool(parameter.Name)); + break; + } + } + } + } + + + private void DeserializeDataContinuously() + { + if (this.m_StreamQueue.HasQueuedObjects() == false) + { + return; + } + + for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i) + { + if (this.m_SynchronizeLayers[i].SynchronizeType == SynchronizeType.Continuous) + { + this.m_Animator.SetLayerWeight(this.m_SynchronizeLayers[i].LayerIndex, (float)this.m_StreamQueue.ReceiveNext()); + } + } + + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + SynchronizedParameter parameter = this.m_SynchronizeParameters[i]; + + if (parameter.SynchronizeType == SynchronizeType.Continuous) + { + switch (parameter.Type) + { + case ParameterType.Bool: + this.m_Animator.SetBool(parameter.Name, (bool)this.m_StreamQueue.ReceiveNext()); + break; + case ParameterType.Float: + this.m_Animator.SetFloat(parameter.Name, (float)this.m_StreamQueue.ReceiveNext()); + break; + case ParameterType.Int: + this.m_Animator.SetInteger(parameter.Name, (int)this.m_StreamQueue.ReceiveNext()); + break; + case ParameterType.Trigger: + this.m_Animator.SetBool(parameter.Name, (bool)this.m_StreamQueue.ReceiveNext()); + break; + } + } + } + } + + private void SerializeDataDiscretly(PhotonStream stream) + { + for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i) + { + if (this.m_SynchronizeLayers[i].SynchronizeType == SynchronizeType.Discrete) + { + stream.SendNext(this.m_Animator.GetLayerWeight(this.m_SynchronizeLayers[i].LayerIndex)); + } + } + + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + SynchronizedParameter parameter = this.m_SynchronizeParameters[i]; + + if (parameter.SynchronizeType == SynchronizeType.Discrete) + { + switch (parameter.Type) + { + case ParameterType.Bool: + stream.SendNext(this.m_Animator.GetBool(parameter.Name)); + break; + case ParameterType.Float: + stream.SendNext(this.m_Animator.GetFloat(parameter.Name)); + break; + case ParameterType.Int: + stream.SendNext(this.m_Animator.GetInteger(parameter.Name)); + break; + case ParameterType.Trigger: + // here we can't rely on the current real state of the trigger, we might have missed its raise + stream.SendNext(this.m_raisedDiscreteTriggersCache.Contains(parameter.Name)); + break; + } + } + } + + // reset the cache, we've synchronized. + this.m_raisedDiscreteTriggersCache.Clear(); + } + + private void DeserializeDataDiscretly(PhotonStream stream) + { + for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i) + { + if (this.m_SynchronizeLayers[i].SynchronizeType == SynchronizeType.Discrete) + { + this.m_Animator.SetLayerWeight(this.m_SynchronizeLayers[i].LayerIndex, (float)stream.ReceiveNext()); + } + } + + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + SynchronizedParameter parameter = this.m_SynchronizeParameters[i]; + + if (parameter.SynchronizeType == SynchronizeType.Discrete) + { + switch (parameter.Type) + { + case ParameterType.Bool: + if (stream.PeekNext() is bool == false) + { + return; + } + this.m_Animator.SetBool(parameter.Name, (bool)stream.ReceiveNext()); + break; + case ParameterType.Float: + if (stream.PeekNext() is float == false) + { + return; + } + + this.m_Animator.SetFloat(parameter.Name, (float)stream.ReceiveNext()); + break; + case ParameterType.Int: + if (stream.PeekNext() is int == false) + { + return; + } + + this.m_Animator.SetInteger(parameter.Name, (int)stream.ReceiveNext()); + break; + case ParameterType.Trigger: + if (stream.PeekNext() is bool == false) + { + return; + } + + if ((bool)stream.ReceiveNext()) + { + this.m_Animator.SetTrigger(parameter.Name); + } + break; + } + } + } + } + + private void SerializeSynchronizationTypeState(PhotonStream stream) + { + byte[] states = new byte[this.m_SynchronizeLayers.Count + this.m_SynchronizeParameters.Count]; + + for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i) + { + states[i] = (byte)this.m_SynchronizeLayers[i].SynchronizeType; + } + + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + states[this.m_SynchronizeLayers.Count + i] = (byte)this.m_SynchronizeParameters[i].SynchronizeType; + } + + stream.SendNext(states); + } + + private void DeserializeSynchronizationTypeState(PhotonStream stream) + { + byte[] state = (byte[])stream.ReceiveNext(); + + for (int i = 0; i < this.m_SynchronizeLayers.Count; ++i) + { + this.m_SynchronizeLayers[i].SynchronizeType = (SynchronizeType)state[i]; + } + + for (int i = 0; i < this.m_SynchronizeParameters.Count; ++i) + { + this.m_SynchronizeParameters[i].SynchronizeType = (SynchronizeType)state[this.m_SynchronizeLayers.Count + i]; + } + } + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (this.m_Animator == null) + { + return; + } + + if (stream.isWriting == true) + { + if (this.m_WasSynchronizeTypeChanged == true) + { + this.m_StreamQueue.Reset(); + this.SerializeSynchronizationTypeState(stream); + + this.m_WasSynchronizeTypeChanged = false; + } + + this.m_StreamQueue.Serialize(stream); + this.SerializeDataDiscretly(stream); + } + else + { +#if PHOTON_DEVELOP + if( ReceivingSender != null ) + { + ReceivingSender.OnPhotonSerializeView( stream, info ); + } + else +#endif + { + if (stream.PeekNext() is byte[]) + { + this.DeserializeSynchronizationTypeState(stream); + } + + this.m_StreamQueue.Deserialize(stream); + this.DeserializeDataDiscretly(stream); + } + } + } + + #endregion +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonAnimatorView.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonAnimatorView.cs.meta new file mode 100644 index 0000000..9232492 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonAnimatorView.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b8c4a61274f60b4ea5fb4299cfdbf14 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbody2DView.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbody2DView.cs new file mode 100644 index 0000000..1ee31d0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbody2DView.cs @@ -0,0 +1,68 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize 2d rigidbodies via PUN. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; + +/// +/// This class helps you to synchronize the velocities of a 2d physics RigidBody. +/// Note that only the velocities are synchronized and because Unitys physics +/// engine is not deterministic (ie. the results aren't always the same on all +/// computers) - the actual positions of the objects may go out of sync. If you +/// want to have the position of this object the same on all clients, you should +/// also add a PhotonTransformView to synchronize the position. +/// Simply add the component to your GameObject and make sure that +/// the PhotonRigidbody2DView is added to the list of observed components +/// +[RequireComponent(typeof(PhotonView))] +[RequireComponent(typeof(Rigidbody2D))] +[AddComponentMenu("Photon Networking/Photon Rigidbody 2D View")] +public class PhotonRigidbody2DView : MonoBehaviour, IPunObservable +{ + [SerializeField] + bool m_SynchronizeVelocity = true; + + [SerializeField] + bool m_SynchronizeAngularVelocity = true; + + Rigidbody2D m_Body; + + void Awake() + { + this.m_Body = GetComponent(); + } + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (stream.isWriting == true) + { + if (this.m_SynchronizeVelocity == true) + { + stream.SendNext(this.m_Body.velocity); + } + + if (this.m_SynchronizeAngularVelocity == true) + { + stream.SendNext(this.m_Body.angularVelocity); + } + } + else + { + if (this.m_SynchronizeVelocity == true) + { + this.m_Body.velocity = (Vector2)stream.ReceiveNext(); + } + + if (this.m_SynchronizeAngularVelocity == true) + { + this.m_Body.angularVelocity = (float)stream.ReceiveNext(); + } + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbody2DView.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbody2DView.cs.meta new file mode 100644 index 0000000..b2e6d08 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbody2DView.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e7cb724808c322458aa4d15f5035fa9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbodyView.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbodyView.cs new file mode 100644 index 0000000..e46af42 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbodyView.cs @@ -0,0 +1,68 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize rigidbodies via PUN. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; + +/// +/// This class helps you to synchronize the velocities of a physics RigidBody. +/// Note that only the velocities are synchronized and because Unitys physics +/// engine is not deterministic (ie. the results aren't always the same on all +/// computers) - the actual positions of the objects may go out of sync. If you +/// want to have the position of this object the same on all clients, you should +/// also add a PhotonTransformView to synchronize the position. +/// Simply add the component to your GameObject and make sure that +/// the PhotonRigidbodyView is added to the list of observed components +/// +[RequireComponent(typeof(PhotonView))] +[RequireComponent(typeof(Rigidbody))] +[AddComponentMenu("Photon Networking/Photon Rigidbody View")] +public class PhotonRigidbodyView : MonoBehaviour, IPunObservable +{ + [SerializeField] + bool m_SynchronizeVelocity = true; + + [SerializeField] + bool m_SynchronizeAngularVelocity = true; + + Rigidbody m_Body; + + void Awake() + { + this.m_Body = GetComponent(); + } + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (stream.isWriting == true) + { + if (this.m_SynchronizeVelocity == true) + { + stream.SendNext(this.m_Body.velocity); + } + + if (this.m_SynchronizeAngularVelocity == true) + { + stream.SendNext(this.m_Body.angularVelocity); + } + } + else + { + if (this.m_SynchronizeVelocity == true) + { + this.m_Body.velocity = (Vector3)stream.ReceiveNext(); + } + + if (this.m_SynchronizeAngularVelocity == true) + { + this.m_Body.angularVelocity = (Vector3)stream.ReceiveNext(); + } + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbodyView.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbodyView.cs.meta new file mode 100644 index 0000000..e8c398f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonRigidbodyView.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64179f3720bbfe947b7724caa67b7c1d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformView.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformView.cs new file mode 100644 index 0000000..29f576d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformView.cs @@ -0,0 +1,214 @@ + // ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize Transforms via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; + +/// +/// This class helps you to synchronize position, rotation and scale +/// of a GameObject. It also gives you many different options to make +/// the synchronized values appear smooth, even when the data is only +/// send a couple of times per second. +/// Simply add the component to your GameObject and make sure that +/// the PhotonTransformView is added to the list of observed components +/// +[RequireComponent(typeof(PhotonView))] +[AddComponentMenu("Photon Networking/Photon Transform View")] +public class PhotonTransformView : MonoBehaviour, IPunObservable +{ + //Since this component is very complex, we seperated it into multiple objects. + //The PositionModel, RotationModel and ScaleMode store the data you are able to + //configure in the inspector while the control objects below are actually moving + //the object and calculating all the inter- and extrapolation + + [SerializeField] + PhotonTransformViewPositionModel m_PositionModel = new PhotonTransformViewPositionModel(); + + [SerializeField] + PhotonTransformViewRotationModel m_RotationModel = new PhotonTransformViewRotationModel(); + + [SerializeField] + PhotonTransformViewScaleModel m_ScaleModel = new PhotonTransformViewScaleModel(); + + PhotonTransformViewPositionControl m_PositionControl; + PhotonTransformViewRotationControl m_RotationControl; + PhotonTransformViewScaleControl m_ScaleControl; + + PhotonView m_PhotonView; + + bool m_ReceivedNetworkUpdate = false; + + /// + /// Flag to skip initial data when Object is instantiated and rely on the first deserialized data instead. + /// + bool m_firstTake = false; + + void Awake() + { + this.m_PhotonView = GetComponent(); + + this.m_PositionControl = new PhotonTransformViewPositionControl(this.m_PositionModel); + this.m_RotationControl = new PhotonTransformViewRotationControl(this.m_RotationModel); + this.m_ScaleControl = new PhotonTransformViewScaleControl(this.m_ScaleModel); + } + + void OnEnable() + { + m_firstTake = true; + } + + void Update() + { + if (this.m_PhotonView == null || this.m_PhotonView.isMine == true || PhotonNetwork.connected == false) + { + return; + } + + this.UpdatePosition(); + this.UpdateRotation(); + this.UpdateScale(); + } + + void UpdatePosition() + { + if (this.m_PositionModel.SynchronizeEnabled == false || this.m_ReceivedNetworkUpdate == false) + { + return; + } + + transform.localPosition = this.m_PositionControl.UpdatePosition(transform.localPosition); + } + + void UpdateRotation() + { + if (this.m_RotationModel.SynchronizeEnabled == false || this.m_ReceivedNetworkUpdate == false) + { + return; + } + + transform.localRotation = this.m_RotationControl.GetRotation(transform.localRotation); + } + + void UpdateScale() + { + if (this.m_ScaleModel.SynchronizeEnabled == false || this.m_ReceivedNetworkUpdate == false) + { + return; + } + + transform.localScale = this.m_ScaleControl.GetScale(transform.localScale); + } + + /// + /// These values are synchronized to the remote objects if the interpolation mode + /// or the extrapolation mode SynchronizeValues is used. Your movement script should pass on + /// the current speed (in units/second) and turning speed (in angles/second) so the remote + /// object can use them to predict the objects movement. + /// + /// The current movement vector of the object in units/second. + /// The current turn speed of the object in angles/second. + public void SetSynchronizedValues(Vector3 speed, float turnSpeed) + { + this.m_PositionControl.SetSynchronizedValues(speed, turnSpeed); + } + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + this.m_PositionControl.OnPhotonSerializeView(transform.localPosition, stream, info); + this.m_RotationControl.OnPhotonSerializeView(transform.localRotation, stream, info); + this.m_ScaleControl.OnPhotonSerializeView(transform.localScale, stream, info); + + if (this.m_PhotonView.isMine == false && this.m_PositionModel.DrawErrorGizmo == true) + { + this.DoDrawEstimatedPositionError(); + } + + if (stream.isReading == true) + { + this.m_ReceivedNetworkUpdate = true; + + // force latest data to avoid initial drifts when player is instantiated. + if (m_firstTake) + { + m_firstTake = false; + + if (this.m_PositionModel.SynchronizeEnabled) + { + this.transform.localPosition = this.m_PositionControl.GetNetworkPosition(); + } + + if (this.m_RotationModel.SynchronizeEnabled) + { + this.transform.localRotation = this.m_RotationControl.GetNetworkRotation(); + } + + if (this.m_ScaleModel.SynchronizeEnabled) + { + this.transform.localScale = this.m_ScaleControl.GetNetworkScale(); + } + + } + + } + } + + //void OnDrawGizmos() + //{ + // if( Application.isPlaying == false || m_PhotonView == null || m_PhotonView.isMine == true || PhotonNetwork.connected == false ) + // { + // return; + // } + + // DoDrawNetworkPositionGizmo(); + // DoDrawExtrapolatedPositionGizmo(); + //} + + void DoDrawEstimatedPositionError() + { + Vector3 targetPosition = this.m_PositionControl.GetNetworkPosition(); + + // we are synchronizing the localPosition, so we need to add the parent position for a proper positioning. + if (transform.parent != null) + { + targetPosition = transform.parent.position + targetPosition ; + } + + Debug.DrawLine(targetPosition, transform.position, Color.red, 2f); + Debug.DrawLine(transform.position, transform.position + Vector3.up, Color.green, 2f); + Debug.DrawLine(targetPosition , targetPosition + Vector3.up, Color.red, 2f); + } + + //void DoDrawNetworkPositionGizmo() + //{ + // if( m_PositionModel.DrawNetworkGizmo == false || m_PositionControl == null ) + // { + // return; + // } + + // ExitGames.Client.GUI.GizmoTypeDrawer.Draw( m_PositionControl.GetNetworkPosition(), + // m_PositionModel.NetworkGizmoType, + // m_PositionModel.NetworkGizmoColor, + // m_PositionModel.NetworkGizmoSize ); + //} + + //void DoDrawExtrapolatedPositionGizmo() + //{ + // if( m_PositionModel.DrawExtrapolatedGizmo == false || + // m_PositionModel.ExtrapolateOption == PhotonTransformViewPositionModel.ExtrapolateOptions.Disabled || + // m_PositionControl == null ) + // { + // return; + // } + + // ExitGames.Client.GUI.GizmoTypeDrawer.Draw( m_PositionControl.GetNetworkPosition() + m_PositionControl.GetExtrapolatedPositionOffset(), + // m_PositionModel.ExtrapolatedGizmoType, + // m_PositionModel.ExtrapolatedGizmoColor, + // m_PositionModel.ExtrapolatedGizmoSize ); + //} +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformView.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformView.cs.meta new file mode 100644 index 0000000..963d8ee --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformView.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 627855c7f81362d41938ffe0b1475957 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionControl.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionControl.cs new file mode 100644 index 0000000..060b619 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionControl.cs @@ -0,0 +1,246 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize position via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class PhotonTransformViewPositionControl +{ + PhotonTransformViewPositionModel m_Model; + float m_CurrentSpeed; + double m_LastSerializeTime; + Vector3 m_SynchronizedSpeed = Vector3.zero; + float m_SynchronizedTurnSpeed = 0; + + Vector3 m_NetworkPosition; + Queue m_OldNetworkPositions = new Queue(); + + bool m_UpdatedPositionAfterOnSerialize = true; + + public PhotonTransformViewPositionControl( PhotonTransformViewPositionModel model ) + { + m_Model = model; + } + + Vector3 GetOldestStoredNetworkPosition() + { + Vector3 oldPosition = m_NetworkPosition; + + if( m_OldNetworkPositions.Count > 0 ) + { + oldPosition = m_OldNetworkPositions.Peek(); + } + + return oldPosition; + } + + /// + /// These values are synchronized to the remote objects if the interpolation mode + /// or the extrapolation mode SynchronizeValues is used. Your movement script should pass on + /// the current speed (in units/second) and turning speed (in angles/second) so the remote + /// object can use them to predict the objects movement. + /// + /// The current movement vector of the object in units/second. + /// The current turn speed of the object in angles/second. + public void SetSynchronizedValues( Vector3 speed, float turnSpeed ) + { + m_SynchronizedSpeed = speed; + m_SynchronizedTurnSpeed = turnSpeed; + } + + /// + /// Calculates the new position based on the values setup in the inspector + /// + /// The current position. + /// The new position. + public Vector3 UpdatePosition( Vector3 currentPosition ) + { + Vector3 targetPosition = GetNetworkPosition() + GetExtrapolatedPositionOffset(); + + switch( m_Model.InterpolateOption ) + { + case PhotonTransformViewPositionModel.InterpolateOptions.Disabled: + if( m_UpdatedPositionAfterOnSerialize == false ) + { + currentPosition = targetPosition; + m_UpdatedPositionAfterOnSerialize = true; + } + break; + + case PhotonTransformViewPositionModel.InterpolateOptions.FixedSpeed: + currentPosition = Vector3.MoveTowards( currentPosition, targetPosition, Time.deltaTime * m_Model.InterpolateMoveTowardsSpeed ); + break; + + case PhotonTransformViewPositionModel.InterpolateOptions.EstimatedSpeed: + if (m_OldNetworkPositions.Count == 0) + { + // special case: we have no previous updates in memory, so we can't guess a speed! + break; + } + + // knowing the last (incoming) position and the one before, we can guess a speed. + // note that the speed is times sendRateOnSerialize! we send X updates/sec, so our estimate has to factor that in. + float estimatedSpeed = (Vector3.Distance(m_NetworkPosition, GetOldestStoredNetworkPosition()) / m_OldNetworkPositions.Count) * PhotonNetwork.sendRateOnSerialize; + + // move towards the targetPosition (including estimates, if that's active) with the speed calculated from the last updates. + currentPosition = Vector3.MoveTowards(currentPosition, targetPosition, Time.deltaTime * estimatedSpeed ); + break; + + case PhotonTransformViewPositionModel.InterpolateOptions.SynchronizeValues: + if( m_SynchronizedSpeed.magnitude == 0 ) + { + currentPosition = targetPosition; + } + else + { + currentPosition = Vector3.MoveTowards( currentPosition, targetPosition, Time.deltaTime * m_SynchronizedSpeed.magnitude ); + } + break; + + case PhotonTransformViewPositionModel.InterpolateOptions.Lerp: + currentPosition = Vector3.Lerp( currentPosition, targetPosition, Time.deltaTime * m_Model.InterpolateLerpSpeed ); + break; + + /*case PhotonTransformViewPositionModel.InterpolateOptions.MoveTowardsComplex: + float distanceToTarget = Vector3.Distance( currentPosition, targetPosition ); + float targetSpeed = m_Model.InterpolateSpeedCurve.Evaluate( distanceToTarget ) * m_Model.InterpolateMoveTowardsSpeed; + + if( targetSpeed > m_CurrentSpeed ) + { + m_CurrentSpeed = Mathf.MoveTowards( m_CurrentSpeed, targetSpeed, Time.deltaTime * m_Model.InterpolateMoveTowardsAcceleration ); + } + else + { + m_CurrentSpeed = Mathf.MoveTowards( m_CurrentSpeed, targetSpeed, Time.deltaTime * m_Model.InterpolateMoveTowardsDeceleration ); + } + + //Debug.Log( m_CurrentSpeed + " - " + targetSpeed + " - " + transform.localPosition + " - " + targetPosition ); + + currentPosition = Vector3.MoveTowards( currentPosition, targetPosition, Time.deltaTime * m_CurrentSpeed ); + break;*/ + } + + if( m_Model.TeleportEnabled == true ) + { + if( Vector3.Distance( currentPosition, GetNetworkPosition() ) > m_Model.TeleportIfDistanceGreaterThan ) + { + currentPosition = GetNetworkPosition(); + } + } + + return currentPosition; + } + + /// + /// Gets the last position that was received through the network + /// + /// + public Vector3 GetNetworkPosition() + { + return m_NetworkPosition; + } + + /// + /// Calculates an estimated position based on the last synchronized position, + /// the time when the last position was received and the movement speed of the object + /// + /// Estimated position of the remote object + public Vector3 GetExtrapolatedPositionOffset() + { + float timePassed = (float)( PhotonNetwork.time - m_LastSerializeTime ); + + if( m_Model.ExtrapolateIncludingRoundTripTime == true ) + { + timePassed += (float)PhotonNetwork.GetPing() / 1000f; + } + + Vector3 extrapolatePosition = Vector3.zero; + + switch( m_Model.ExtrapolateOption ) + { + case PhotonTransformViewPositionModel.ExtrapolateOptions.SynchronizeValues: + Quaternion turnRotation = Quaternion.Euler( 0, m_SynchronizedTurnSpeed * timePassed, 0 ); + extrapolatePosition = turnRotation * ( m_SynchronizedSpeed * timePassed ); + break; + case PhotonTransformViewPositionModel.ExtrapolateOptions.FixedSpeed: + Vector3 moveDirection = ( m_NetworkPosition - GetOldestStoredNetworkPosition() ).normalized; + + extrapolatePosition = moveDirection * m_Model.ExtrapolateSpeed * timePassed; + break; + case PhotonTransformViewPositionModel.ExtrapolateOptions.EstimateSpeedAndTurn: + Vector3 moveDelta = ( m_NetworkPosition - GetOldestStoredNetworkPosition() ) * PhotonNetwork.sendRateOnSerialize; + extrapolatePosition = moveDelta * timePassed; + break; + } + + return extrapolatePosition; + } + + public void OnPhotonSerializeView( Vector3 currentPosition, PhotonStream stream, PhotonMessageInfo info ) + { + if( m_Model.SynchronizeEnabled == false ) + { + return; + } + + if( stream.isWriting == true ) + { + SerializeData( currentPosition, stream, info ); + } + else + { + DeserializeData( stream, info ); + } + + m_LastSerializeTime = PhotonNetwork.time; + m_UpdatedPositionAfterOnSerialize = false; + } + + void SerializeData( Vector3 currentPosition, PhotonStream stream, PhotonMessageInfo info ) + { + stream.SendNext( currentPosition ); + m_NetworkPosition = currentPosition; + + if( m_Model.ExtrapolateOption == PhotonTransformViewPositionModel.ExtrapolateOptions.SynchronizeValues || + m_Model.InterpolateOption == PhotonTransformViewPositionModel.InterpolateOptions.SynchronizeValues ) + { + stream.SendNext( m_SynchronizedSpeed ); + stream.SendNext( m_SynchronizedTurnSpeed ); + } + } + + void DeserializeData( PhotonStream stream, PhotonMessageInfo info ) + { + Vector3 readPosition = (Vector3)stream.ReceiveNext(); + if( m_Model.ExtrapolateOption == PhotonTransformViewPositionModel.ExtrapolateOptions.SynchronizeValues || + m_Model.InterpolateOption == PhotonTransformViewPositionModel.InterpolateOptions.SynchronizeValues ) + { + m_SynchronizedSpeed = (Vector3)stream.ReceiveNext(); + m_SynchronizedTurnSpeed = (float)stream.ReceiveNext(); + } + + if (m_OldNetworkPositions.Count == 0) + { + // if we don't have old positions yet, this is the very first update this client reads. let's use this as current AND old position. + m_NetworkPosition = readPosition; + } + + // the previously received position becomes the old(er) one and queued. the new one is the m_NetworkPosition + m_OldNetworkPositions.Enqueue( m_NetworkPosition ); + m_NetworkPosition = readPosition; + + // reduce items in queue to defined number of stored positions. + while( m_OldNetworkPositions.Count > m_Model.ExtrapolateNumberOfStoredPositions ) + { + m_OldNetworkPositions.Dequeue(); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionControl.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionControl.cs.meta new file mode 100644 index 0000000..003f24d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 83c7620118e76384db972fbb42e91b20 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionModel.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionModel.cs new file mode 100644 index 0000000..2bca35b --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionModel.cs @@ -0,0 +1,67 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Model to synchronize position via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; + +[System.Serializable] +public class PhotonTransformViewPositionModel +{ + public enum InterpolateOptions + { + Disabled, + FixedSpeed, + EstimatedSpeed, + SynchronizeValues, + //MoveTowardsComplex, + Lerp, + } + + public enum ExtrapolateOptions + { + Disabled, + SynchronizeValues, + EstimateSpeedAndTurn, + FixedSpeed, + } + + public bool SynchronizeEnabled; + + public bool TeleportEnabled = true; + public float TeleportIfDistanceGreaterThan = 3f; + + public InterpolateOptions InterpolateOption = InterpolateOptions.EstimatedSpeed; + public float InterpolateMoveTowardsSpeed = 1f; + public float InterpolateLerpSpeed = 1f; + public float InterpolateMoveTowardsAcceleration = 2; + public float InterpolateMoveTowardsDeceleration = 2; + public AnimationCurve InterpolateSpeedCurve = new AnimationCurve( new Keyframe[] { + new Keyframe( -1, 0, 0, Mathf.Infinity ), + new Keyframe( 0, 1, 0, 0 ), + new Keyframe( 1, 1, 0, 1 ), + new Keyframe( 4, 4, 1, 0 ) } ); + + public ExtrapolateOptions ExtrapolateOption = ExtrapolateOptions.Disabled; + public float ExtrapolateSpeed = 1f; + public bool ExtrapolateIncludingRoundTripTime = true; + public int ExtrapolateNumberOfStoredPositions = 1; + + //public bool DrawNetworkGizmo = true; + //public Color NetworkGizmoColor = Color.red; + //public ExitGames.Client.GUI.GizmoType NetworkGizmoType; + //public float NetworkGizmoSize = 1f; + + //public bool DrawExtrapolatedGizmo = true; + //public Color ExtrapolatedGizmoColor = Color.yellow; + //public ExitGames.Client.GUI.GizmoType ExtrapolatedGizmoType; + //public float ExtrapolatedGizmoSize = 1f; + + public bool DrawErrorGizmo = true; +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionModel.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionModel.cs.meta new file mode 100644 index 0000000..58b8945 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewPositionModel.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50a9ddcc59cdf244883cf0ec646cc8c1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationControl.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationControl.cs new file mode 100644 index 0000000..20dd8f4 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationControl.cs @@ -0,0 +1,64 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize rotations via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; + +public class PhotonTransformViewRotationControl +{ + PhotonTransformViewRotationModel m_Model; + Quaternion m_NetworkRotation; + + public PhotonTransformViewRotationControl( PhotonTransformViewRotationModel model ) + { + m_Model = model; + } + + /// + /// Gets the last rotation that was received through the network + /// + /// + public Quaternion GetNetworkRotation() + { + return m_NetworkRotation; + } + + public Quaternion GetRotation( Quaternion currentRotation ) + { + switch( m_Model.InterpolateOption ) + { + default: + case PhotonTransformViewRotationModel.InterpolateOptions.Disabled: + return m_NetworkRotation; + case PhotonTransformViewRotationModel.InterpolateOptions.RotateTowards: + return Quaternion.RotateTowards( currentRotation, m_NetworkRotation, m_Model.InterpolateRotateTowardsSpeed * Time.deltaTime ); + case PhotonTransformViewRotationModel.InterpolateOptions.Lerp: + return Quaternion.Lerp( currentRotation, m_NetworkRotation, m_Model.InterpolateLerpSpeed * Time.deltaTime ); + } + } + + public void OnPhotonSerializeView( Quaternion currentRotation, PhotonStream stream, PhotonMessageInfo info ) + { + if( m_Model.SynchronizeEnabled == false ) + { + return; + } + + if( stream.isWriting == true ) + { + stream.SendNext( currentRotation ); + m_NetworkRotation = currentRotation; + } + else + { + m_NetworkRotation = (Quaternion)stream.ReceiveNext(); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationControl.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationControl.cs.meta new file mode 100644 index 0000000..f3520cd --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6756f3d99937134d9b25f9573d60f27 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationModel.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationModel.cs new file mode 100644 index 0000000..c97578f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationModel.cs @@ -0,0 +1,29 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Model class to synchronize rotations via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; + +[System.Serializable] +public class PhotonTransformViewRotationModel +{ + public enum InterpolateOptions + { + Disabled, + RotateTowards, + Lerp, + } + + public bool SynchronizeEnabled; + + public InterpolateOptions InterpolateOption = InterpolateOptions.RotateTowards; + public float InterpolateRotateTowardsSpeed = 180; + public float InterpolateLerpSpeed = 5; +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationModel.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationModel.cs.meta new file mode 100644 index 0000000..288faef --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewRotationModel.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc810f3956379f34dae4b1487445d290 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleControl.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleControl.cs new file mode 100644 index 0000000..f501068 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleControl.cs @@ -0,0 +1,64 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Component to synchronize scale via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; + +public class PhotonTransformViewScaleControl +{ + PhotonTransformViewScaleModel m_Model; + Vector3 m_NetworkScale = Vector3.one; + + public PhotonTransformViewScaleControl( PhotonTransformViewScaleModel model ) + { + m_Model = model; + } + + /// + /// Gets the last scale that was received through the network + /// + /// + public Vector3 GetNetworkScale() + { + return m_NetworkScale; + } + + public Vector3 GetScale( Vector3 currentScale ) + { + switch( m_Model.InterpolateOption ) + { + default: + case PhotonTransformViewScaleModel.InterpolateOptions.Disabled: + return m_NetworkScale; + case PhotonTransformViewScaleModel.InterpolateOptions.MoveTowards: + return Vector3.MoveTowards( currentScale, m_NetworkScale, m_Model.InterpolateMoveTowardsSpeed * Time.deltaTime ); + case PhotonTransformViewScaleModel.InterpolateOptions.Lerp: + return Vector3.Lerp( currentScale, m_NetworkScale, m_Model.InterpolateLerpSpeed * Time.deltaTime ); + } + } + + public void OnPhotonSerializeView( Vector3 currentScale, PhotonStream stream, PhotonMessageInfo info ) + { + if( m_Model.SynchronizeEnabled == false ) + { + return; + } + + if( stream.isWriting == true ) + { + stream.SendNext( currentScale ); + m_NetworkScale = currentScale; + } + else + { + m_NetworkScale = (Vector3)stream.ReceiveNext(); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleControl.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleControl.cs.meta new file mode 100644 index 0000000..b9c242e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleControl.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8ddd626f728c0c4f9305c4fc472b1a2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleModel.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleModel.cs new file mode 100644 index 0000000..0916dd1 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleModel.cs @@ -0,0 +1,29 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Model to synchronize scale via PUN PhotonView. +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; + +[System.Serializable] +public class PhotonTransformViewScaleModel +{ + public enum InterpolateOptions + { + Disabled, + MoveTowards, + Lerp, + } + + public bool SynchronizeEnabled; + + public InterpolateOptions InterpolateOption = InterpolateOptions.Disabled; + public float InterpolateMoveTowardsSpeed = 1f; + public float InterpolateLerpSpeed; +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleModel.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleModel.cs.meta new file mode 100644 index 0000000..b4f63a8 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/Plugins/PhotonNetwork/Views/PhotonTransformViewScaleModel.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7379c1718ac64ca48bdb60b1dd644a5c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PunIcon-White-128.png b/Project Undercover/Assets/Plugin/Photon Unity Networking/PunIcon-White-128.png new file mode 100644 index 0000000..885c22f Binary files /dev/null and b/Project Undercover/Assets/Plugin/Photon Unity Networking/PunIcon-White-128.png differ diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/PunIcon-White-128.png.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/PunIcon-White-128.png.meta new file mode 100644 index 0000000..967667e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/PunIcon-White-128.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: e1e27211415083e41bd38b51da93f58b +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 128 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts.meta new file mode 100644 index 0000000..c324886 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0ab0f9a8b23c035468c30e5ab99c2d9a +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ConnectAndJoinRandom.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ConnectAndJoinRandom.cs new file mode 100644 index 0000000..7559162 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ConnectAndJoinRandom.cs @@ -0,0 +1,70 @@ +using System; +using UnityEngine; +using System.Collections; + +/// +/// This script automatically connects to Photon (using the settings file), +/// tries to join a random room and creates one if none was found (which is ok). +/// +public class ConnectAndJoinRandom : Photon.MonoBehaviour +{ + /// Connect automatically? If false you can set this to true later on or call ConnectUsingSettings in your own scripts. + public bool AutoConnect = true; + + public byte Version = 1; + + /// if we don't want to connect in Start(), we have to "remember" if we called ConnectUsingSettings() + private bool ConnectInUpdate = true; + + + public virtual void Start() + { + PhotonNetwork.autoJoinLobby = false; // we join randomly. always. no need to join a lobby to get the list of rooms. + } + + public virtual void Update() + { + if (ConnectInUpdate && AutoConnect && !PhotonNetwork.connected) + { + Debug.Log("Update() was called by Unity. Scene is loaded. Let's connect to the Photon Master Server. Calling: PhotonNetwork.ConnectUsingSettings();"); + + ConnectInUpdate = false; + PhotonNetwork.ConnectUsingSettings(Version + "." + SceneManagerHelper.ActiveSceneBuildIndex); + } + } + + + // below, we implement some callbacks of PUN + // you can find PUN's callbacks in the class PunBehaviour or in enum PhotonNetworkingMessage + + + public virtual void OnConnectedToMaster() + { + Debug.Log("OnConnectedToMaster() was called by PUN. Now this client is connected and could join a room. Calling: PhotonNetwork.JoinRandomRoom();"); + PhotonNetwork.JoinRandomRoom(); + } + + public virtual void OnJoinedLobby() + { + Debug.Log("OnJoinedLobby(). This client is connected and does get a room-list, which gets stored as PhotonNetwork.GetRoomList(). This script now calls: PhotonNetwork.JoinRandomRoom();"); + PhotonNetwork.JoinRandomRoom(); + } + + public virtual void OnPhotonRandomJoinFailed() + { + Debug.Log("OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one. Calling: PhotonNetwork.CreateRoom(null, new RoomOptions() {maxPlayers = 4}, null);"); + PhotonNetwork.CreateRoom(null, new RoomOptions() { MaxPlayers = 4 }, null); + } + + // the following methods are implemented to give you some context. re-implement them as needed. + + public virtual void OnFailedToConnectToPhoton(DisconnectCause cause) + { + Debug.LogError("Cause: " + cause); + } + + public void OnJoinedRoom() + { + Debug.Log("OnJoinedRoom() called by PUN. Now this client is in a room. From here on, your game would be running. For reference, all callbacks are listed in enum: PhotonNetworkingMessage"); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ConnectAndJoinRandom.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ConnectAndJoinRandom.cs.meta new file mode 100644 index 0000000..13f1494 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ConnectAndJoinRandom.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5c1b84a427010e0469ce0df07ab64dbc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/CullArea.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/CullArea.cs new file mode 100644 index 0000000..e4a6152 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/CullArea.cs @@ -0,0 +1,465 @@ +using System.Collections.Generic; +using UnityEngine; + +/// +/// Represents the cull area used for network culling. +/// +public class CullArea : MonoBehaviour +{ + private const int MAX_NUMBER_OF_ALLOWED_CELLS = 250; + + public const int MAX_NUMBER_OF_SUBDIVISIONS = 3; + + /// + /// This represents the first ID which is assigned to the first created cell. + /// If you already have some interest groups blocking this first ID, fell free to change it. + /// However increasing the first group ID decreases the maximum amount of allowed cells. + /// Allowed values are in range from 1 to 250. + /// + public readonly byte FIRST_GROUP_ID = 1; + + /// + /// This represents the order in which updates are sent. + /// The number represents the subdivision of the cell hierarchy: + /// - 0: message is sent to all players + /// - 1: message is sent to players who are interested in the matching cell of the first subdivision + /// If there is only one subdivision we are sending one update to all players + /// before sending three consequent updates only to players who are in the same cell + /// or interested in updates of the current cell. + /// + public readonly int[] SUBDIVISION_FIRST_LEVEL_ORDER = new int[4] { 0, 1, 1, 1 }; + + /// + /// This represents the order in which updates are sent. + /// The number represents the subdivision of the cell hierarchy: + /// - 0: message is sent to all players + /// - 1: message is sent to players who are interested in the matching cell of the first subdivision + /// - 2: message is sent to players who are interested in the matching cell of the second subdivision + /// If there are two subdivisions we are sending every second update only to players + /// who are in the same cell or interested in updates of the current cell. + /// + public readonly int[] SUBDIVISION_SECOND_LEVEL_ORDER = new int[8] { 0, 2, 1, 2, 0, 2, 1, 2 }; + + /// + /// This represents the order in which updates are sent. + /// The number represents the subdivision of the cell hierarchy: + /// - 0: message is sent to all players + /// - 1: message is sent to players who are interested in the matching cell of the first subdivision + /// - 2: message is sent to players who are interested in the matching cell of the second subdivision + /// - 3: message is sent to players who are interested in the matching cell of the third subdivision + /// If there are two subdivisions we are sending every second update only to players + /// who are in the same cell or interested in updates of the current cell. + /// + public readonly int[] SUBDIVISION_THIRD_LEVEL_ORDER = new int[12] { 0, 3, 2, 3, 1, 3, 2, 3, 1, 3, 2, 3 }; + + public Vector2 Center; + public Vector2 Size = new Vector2(25.0f, 25.0f); + + public Vector2[] Subdivisions = new Vector2[MAX_NUMBER_OF_SUBDIVISIONS]; + + public int NumberOfSubdivisions; + + public int CellCount { get; private set; } + + public CellTree CellTree { get; private set; } + + public Dictionary Map { get; private set; } + + public bool YIsUpAxis = true; + public bool RecreateCellHierarchy = false; + + private byte idCounter; + + /// + /// Creates the cell hierarchy at runtime. + /// + private void Awake() + { + this.idCounter = this.FIRST_GROUP_ID; + + this.CreateCellHierarchy(); + } + + /// + /// Creates the cell hierarchy in editor and draws the cell view. + /// + public void OnDrawGizmos() + { + this.idCounter = this.FIRST_GROUP_ID; + + if (this.RecreateCellHierarchy) + { + this.CreateCellHierarchy(); + } + + this.DrawCells(); + } + + /// + /// Creates the cell hierarchy. + /// + private void CreateCellHierarchy() + { + if (!this.IsCellCountAllowed()) + { + if (Debug.isDebugBuild) + { + Debug.LogError("There are too many cells created by your subdivision options. Maximum allowed number of cells is " + (MAX_NUMBER_OF_ALLOWED_CELLS - this.FIRST_GROUP_ID) + + ". Current number of cells is " + this.CellCount + "."); + return; + } + else + { + Application.Quit(); + } + } + + CellTreeNode rootNode = new CellTreeNode(this.idCounter++, CellTreeNode.ENodeType.Root, null); + + if (this.YIsUpAxis) + { + this.Center = new Vector2(transform.position.x, transform.position.y); + this.Size = new Vector2(transform.localScale.x, transform.localScale.y); + + rootNode.Center = new Vector3(this.Center.x, this.Center.y, 0.0f); + rootNode.Size = new Vector3(this.Size.x, this.Size.y, 0.0f); + rootNode.TopLeft = new Vector3((this.Center.x - (this.Size.x/2.0f)), (this.Center.y - (this.Size.y/2.0f)), 0.0f); + rootNode.BottomRight = new Vector3((this.Center.x + (this.Size.x/2.0f)), (this.Center.y + (this.Size.y/2.0f)), 0.0f); + } + else + { + this.Center = new Vector2(transform.position.x, transform.position.z); + this.Size = new Vector2(transform.localScale.x, transform.localScale.z); + + rootNode.Center = new Vector3(this.Center.x, 0.0f, this.Center.y); + rootNode.Size = new Vector3(this.Size.x, 0.0f, this.Size.y); + rootNode.TopLeft = new Vector3((this.Center.x - (this.Size.x/2.0f)), 0.0f, (this.Center.y - (this.Size.y/2.0f))); + rootNode.BottomRight = new Vector3((this.Center.x + (this.Size.x/2.0f)), 0.0f, (this.Center.y + (this.Size.y/2.0f))); + } + + this.CreateChildCells(rootNode, 1); + + this.CellTree = new CellTree(rootNode); + + this.RecreateCellHierarchy = false; + } + + /// + /// Creates all child cells. + /// + /// The current parent node. + /// The cell level within the current hierarchy. + private void CreateChildCells(CellTreeNode parent, int cellLevelInHierarchy) + { + if (cellLevelInHierarchy > this.NumberOfSubdivisions) + { + return; + } + + int rowCount = (int)this.Subdivisions[(cellLevelInHierarchy - 1)].x; + int columnCount = (int)this.Subdivisions[(cellLevelInHierarchy - 1)].y; + + float startX = parent.Center.x - (parent.Size.x/2.0f); + float width = parent.Size.x/rowCount; + + for (int row = 0; row < rowCount; ++row) + { + for (int column = 0; column < columnCount; ++column) + { + float xPos = startX + (row*width) + (width/2.0f); + + CellTreeNode node = new CellTreeNode(this.idCounter++, (this.NumberOfSubdivisions == cellLevelInHierarchy) ? CellTreeNode.ENodeType.Leaf : CellTreeNode.ENodeType.Node, parent); + + if (this.YIsUpAxis) + { + float startY = parent.Center.y - (parent.Size.y/2.0f); + float height = parent.Size.y/columnCount; + float yPos = startY + (column*height) + (height/2.0f); + + node.Center = new Vector3(xPos, yPos, 0.0f); + node.Size = new Vector3(width, height, 0.0f); + node.TopLeft = new Vector3(xPos - (width/2.0f), yPos - (height/2.0f), 0.0f); + node.BottomRight = new Vector3(xPos + (width/2.0f), yPos + (height/2.0f), 0.0f); + } + else + { + float startZ = parent.Center.z - (parent.Size.z/2.0f); + float depth = parent.Size.z/columnCount; + float zPos = startZ + (column*depth) + (depth/2.0f); + + node.Center = new Vector3(xPos, 0.0f, zPos); + node.Size = new Vector3(width, 0.0f, depth); + node.TopLeft = new Vector3(xPos - (width/2.0f), 0.0f, zPos - (depth/2.0f)); + node.BottomRight = new Vector3(xPos + (width/2.0f), 0.0f, zPos + (depth/2.0f)); + } + + parent.AddChild(node); + + this.CreateChildCells(node, (cellLevelInHierarchy + 1)); + } + } + } + + /// + /// Draws the cells. + /// + private void DrawCells() + { + if ((this.CellTree != null) && (this.CellTree.RootNode != null)) + { + this.CellTree.RootNode.Draw(); + } + else + { + this.RecreateCellHierarchy = true; + } + } + + /// + /// Checks if the cell count is allowed. + /// + /// True if the cell count is allowed, false if the cell count is too large. + private bool IsCellCountAllowed() + { + int horizontalCells = 1; + int verticalCells = 1; + + foreach (Vector2 v in this.Subdivisions) + { + horizontalCells *= (int)v.x; + verticalCells *= (int)v.y; + } + + this.CellCount = horizontalCells*verticalCells; + + return (this.CellCount <= (MAX_NUMBER_OF_ALLOWED_CELLS - this.FIRST_GROUP_ID)); + } + + /// + /// Gets a list of all cell IDs the player is currently inside or nearby. + /// + /// The current position of the player. + /// A list containing all cell IDs the player is currently inside or nearby. + public List GetActiveCells(Vector3 position) + { + List activeCells = new List(0); + this.CellTree.RootNode.GetActiveCells(activeCells, this.YIsUpAxis, position); + + return activeCells; + } +} + +/// +/// Represents the tree accessible from its root node. +/// +public class CellTree +{ + /// + /// Represents the root node of the cell tree. + /// + public CellTreeNode RootNode { get; private set; } + + /// + /// Default constructor. + /// + public CellTree() + { + } + + /// + /// Constructor to define the root node. + /// + /// The root node of the tree. + public CellTree(CellTreeNode root) + { + this.RootNode = root; + } +} + +/// +/// Represents a single node of the tree. +/// +public class CellTreeNode +{ + public enum ENodeType + { + Root, + Node, + Leaf + } + + /// + /// Represents the unique ID of the cell. + /// + public byte Id; + + /// + /// Represents the center, top-left or bottom-right position of the cell + /// or the size of the cell. + /// + public Vector3 Center, Size, TopLeft, BottomRight; + + /// + /// Describes the current node type of the cell tree node. + /// + public ENodeType NodeType; + + /// + /// Reference to the parent node. + /// + public CellTreeNode Parent; + + /// + /// A list containing all child nodes. + /// + public List Childs; + + /// + /// The max distance the player can have to the center of the cell for being 'nearby'. + /// This is calculated once at runtime. + /// + private float maxDistance; + + /// + /// Default constructor. + /// + public CellTreeNode() + { + } + + /// + /// Constructor to define the ID and the node type as well as setting a parent node. + /// + /// The ID of the cell is used as the interest group. + /// The node type of the cell tree node. + /// The parent node of the cell tree node. + public CellTreeNode(byte id, ENodeType nodeType, CellTreeNode parent) + { + this.Id = id; + + this.NodeType = nodeType; + + this.Parent = parent; + } + + /// + /// Adds the given child to the node. + /// + /// The child which is added to the node. + public void AddChild(CellTreeNode child) + { + if (this.Childs == null) + { + this.Childs = new List(1); + } + + this.Childs.Add(child); + } + + /// + /// Draws the cell in the editor. + /// + public void Draw() + { +#if UNITY_EDITOR + if (this.Childs != null) + { + foreach (CellTreeNode node in this.Childs) + { + node.Draw(); + } + } + + Gizmos.color = new Color((this.NodeType == ENodeType.Root) ? 1 : 0, (this.NodeType == ENodeType.Node) ? 1 : 0, (this.NodeType == ENodeType.Leaf) ? 1 : 0); + Gizmos.DrawWireCube(this.Center, this.Size); + + UnityEditor.Handles.Label(this.Center, this.Id.ToString(), new GUIStyle() { fontStyle = FontStyle.Bold }); +#endif + } + + /// + /// Gathers all cell IDs the player is currently inside or nearby. + /// + /// The list to add all cell IDs to the player is currently inside or nearby. + /// Describes if the y-axis is used as up-axis. + /// The current position of the player. + public void GetActiveCells(List activeCells, bool yIsUpAxis, Vector3 position) + { + if (this.NodeType != ENodeType.Leaf) + { + foreach (CellTreeNode node in this.Childs) + { + node.GetActiveCells(activeCells, yIsUpAxis, position); + } + } + else + { + if (this.IsPointNearCell(yIsUpAxis, position)) + { + if (this.IsPointInsideCell(yIsUpAxis, position)) + { + activeCells.Insert(0, this.Id); + + CellTreeNode p = this.Parent; + while (p != null) + { + activeCells.Insert(0, p.Id); + + p = p.Parent; + } + } + else + { + activeCells.Add(this.Id); + } + } + } + } + + /// + /// Checks if the given point is inside the cell. + /// + /// Describes if the y-axis is used as up-axis. + /// The point to check. + /// True if the point is inside the cell, false if the point is not inside the cell. + public bool IsPointInsideCell(bool yIsUpAxis, Vector3 point) + { + if ((point.x < this.TopLeft.x) || (point.x > this.BottomRight.x)) + { + return false; + } + + if (yIsUpAxis) + { + if ((point.y >= this.TopLeft.y) && (point.y <= this.BottomRight.y)) + { + return true; + } + } + else + { + if ((point.z >= this.TopLeft.z) && (point.z <= this.BottomRight.z)) + { + return true; + } + } + + return false; + } + + /// + /// Checks if the given point is near the cell. + /// + /// Describes if the y-axis is used as up-axis. + /// The point to check. + /// True if the point is near the cell, false if the point is too far away. + public bool IsPointNearCell(bool yIsUpAxis, Vector3 point) + { + if (this.maxDistance == 0.0f) + { + this.maxDistance = (this.Size.x + this.Size.y + this.Size.z)/2.0f; + } + + return ((point - this.Center).sqrMagnitude <= (this.maxDistance*this.maxDistance)); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/CullArea.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/CullArea.cs.meta new file mode 100644 index 0000000..9f081cd --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/CullArea.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dfb1c264fdc576442b2f42c998bed4a2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InRoomChat.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InRoomChat.cs new file mode 100644 index 0000000..12cd1ae --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InRoomChat.cs @@ -0,0 +1,95 @@ +using System.Collections.Generic; +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(PhotonView))] +public class InRoomChat : Photon.MonoBehaviour +{ + public Rect GuiRect = new Rect(0,0, 250,300); + public bool IsVisible = true; + public bool AlignBottom = false; + public List messages = new List(); + private string inputLine = ""; + private Vector2 scrollPos = Vector2.zero; + + public static readonly string ChatRPC = "Chat"; + + public void Start() + { + if (this.AlignBottom) + { + this.GuiRect.y = Screen.height - this.GuiRect.height; + } + } + + public void OnGUI() + { + if (!this.IsVisible || !PhotonNetwork.inRoom) + { + return; + } + + if (Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.KeypadEnter || Event.current.keyCode == KeyCode.Return)) + { + if (!string.IsNullOrEmpty(this.inputLine)) + { + this.photonView.RPC("Chat", PhotonTargets.All, this.inputLine); + this.inputLine = ""; + GUI.FocusControl(""); + return; // printing the now modified list would result in an error. to avoid this, we just skip this single frame + } + else + { + GUI.FocusControl("ChatInput"); + } + } + + GUI.SetNextControlName(""); + GUILayout.BeginArea(this.GuiRect); + + scrollPos = GUILayout.BeginScrollView(scrollPos); + GUILayout.FlexibleSpace(); + for (int i = messages.Count - 1; i >= 0; i--) + { + GUILayout.Label(messages[i]); + } + GUILayout.EndScrollView(); + + GUILayout.BeginHorizontal(); + GUI.SetNextControlName("ChatInput"); + inputLine = GUILayout.TextField(inputLine); + if (GUILayout.Button("Send", GUILayout.ExpandWidth(false))) + { + this.photonView.RPC("Chat", PhotonTargets.All, this.inputLine); + this.inputLine = ""; + GUI.FocusControl(""); + } + GUILayout.EndHorizontal(); + GUILayout.EndArea(); + } + + [PunRPC] + public void Chat(string newLine, PhotonMessageInfo mi) + { + string senderName = "anonymous"; + + if (mi.sender != null) + { + if (!string.IsNullOrEmpty(mi.sender.NickName)) + { + senderName = mi.sender.NickName; + } + else + { + senderName = "player " + mi.sender.ID; + } + } + + this.messages.Add(senderName +": " + newLine); + } + + public void AddLine(string newLine) + { + this.messages.Add(newLine); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InRoomChat.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InRoomChat.cs.meta new file mode 100644 index 0000000..b704ebe --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InRoomChat.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 043bd8ce63fde7c41a9ee103809fa981 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InputToEvent.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InputToEvent.cs new file mode 100644 index 0000000..aa6ea8e --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InputToEvent.cs @@ -0,0 +1,118 @@ +using UnityEngine; + +/// +/// Utility component to forward mouse or touch input to clicked gameobjects. +/// Calls OnPress, OnClick and OnRelease methods on "first" game object. +/// +public class InputToEvent : MonoBehaviour +{ + private GameObject lastGo; + public static Vector3 inputHitPos; + public bool DetectPointedAtGameObject; + public static GameObject goPointedAt { get; private set; } + + private Vector2 pressedPosition = Vector2.zero; + private Vector2 currentPos = Vector2.zero; + public bool Dragging; + + private Camera m_Camera; + + public Vector2 DragVector + { + get { return this.Dragging ? this.currentPos - this.pressedPosition : Vector2.zero; } + } + + private void Start() + { + this.m_Camera = GetComponent(); + } + + // Update is called once per frame + private void Update() + { + if (this.DetectPointedAtGameObject) + { + goPointedAt = RaycastObject(Input.mousePosition); + } + + if (Input.touchCount > 0) + { + Touch touch = Input.GetTouch(0); + this.currentPos = touch.position; + + if (touch.phase == TouchPhase.Began) + { + Press(touch.position); + } + else if (touch.phase == TouchPhase.Ended) + { + Release(touch.position); + } + + return; + } + + this.currentPos = Input.mousePosition; + if (Input.GetMouseButtonDown(0)) + { + Press(Input.mousePosition); + } + if (Input.GetMouseButtonUp(0)) + { + Release(Input.mousePosition); + } + + if (Input.GetMouseButtonDown(1)) + { + this.pressedPosition = Input.mousePosition; + this.lastGo = RaycastObject(this.pressedPosition); + if (this.lastGo != null) + { + this.lastGo.SendMessage("OnPressRight", SendMessageOptions.DontRequireReceiver); + } + } + } + + + private void Press(Vector2 screenPos) + { + this.pressedPosition = screenPos; + this.Dragging = true; + + this.lastGo = RaycastObject(screenPos); + if (this.lastGo != null) + { + this.lastGo.SendMessage("OnPress", SendMessageOptions.DontRequireReceiver); + } + } + + private void Release(Vector2 screenPos) + { + if (this.lastGo != null) + { + GameObject currentGo = RaycastObject(screenPos); + if (currentGo == this.lastGo) + { + this.lastGo.SendMessage("OnClick", SendMessageOptions.DontRequireReceiver); + } + + this.lastGo.SendMessage("OnRelease", SendMessageOptions.DontRequireReceiver); + this.lastGo = null; + } + + this.pressedPosition = Vector2.zero; + this.Dragging = false; + } + + private GameObject RaycastObject(Vector2 screenPos) + { + RaycastHit info; + if (Physics.Raycast(this.m_Camera.ScreenPointToRay(screenPos), out info, 200)) + { + inputHitPos = info.point; + return info.collider.gameObject; + } + + return null; + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InputToEvent.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InputToEvent.cs.meta new file mode 100644 index 0000000..9f0f350 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/InputToEvent.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4fdde8222e647b24b816eec3ad67ff32 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ManualPhotonViewAllocator.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ManualPhotonViewAllocator.cs new file mode 100644 index 0000000..1885424 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ManualPhotonViewAllocator.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(PhotonView))] +public class ManualPhotonViewAllocator : MonoBehaviour +{ + public GameObject Prefab; + + public void AllocateManualPhotonView() + { + PhotonView pv = this.gameObject.GetPhotonView(); + if (pv == null) + { + Debug.LogError("Can't do manual instantiation without PhotonView component."); + return; + } + + int viewID = PhotonNetwork.AllocateViewID(); + pv.RPC("InstantiateRpc", PhotonTargets.AllBuffered, viewID); + } + + [PunRPC] + public void InstantiateRpc(int viewID) + { + GameObject go = GameObject.Instantiate(Prefab, InputToEvent.inputHitPos + new Vector3(0, 5f, 0), Quaternion.identity) as GameObject; + go.GetPhotonView().viewID = viewID; + + OnClickDestroy ocd = go.GetComponent(); + ocd.DestroyByRpc = true; + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ManualPhotonViewAllocator.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ManualPhotonViewAllocator.cs.meta new file mode 100644 index 0000000..0499fb5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ManualPhotonViewAllocator.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2668418d0a8c6804facdeca6e5fc6d98 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/MoveByKeys.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/MoveByKeys.cs new file mode 100644 index 0000000..8f1ded6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/MoveByKeys.cs @@ -0,0 +1,85 @@ +using UnityEngine; + +/// +/// Very basic component to move a GameObject by WASD and Space. +/// +/// +/// Requires a PhotonView. +/// Disables itself on GameObjects that are not owned on Start. +/// +/// Speed affects movement-speed. +/// JumpForce defines how high the object "jumps". +/// JumpTimeout defines after how many seconds you can jump again. +/// +[RequireComponent(typeof (PhotonView))] +public class MoveByKeys : Photon.MonoBehaviour +{ + public float Speed = 10f; + public float JumpForce = 200f; + public float JumpTimeout = 0.5f; + + private bool isSprite; + private float jumpingTime; + private Rigidbody body; + private Rigidbody2D body2d; + + public void Start() + { + //enabled = photonView.isMine; + this.isSprite = (GetComponent() != null); + + this.body2d = GetComponent(); + this.body = GetComponent(); + } + + + // Update is called once per frame + public void FixedUpdate() + { + if (!photonView.isMine) + { + return; + } + + if ((Input.GetAxisRaw("Horizontal") < -0.1f) || (Input.GetAxisRaw("Horizontal") > 0.1f)) + { + transform.position += Vector3.right * (Speed * Time.deltaTime) * Input.GetAxisRaw("Horizontal"); + } + + // jumping has a simple "cooldown" time but you could also jump in the air + if (this.jumpingTime <= 0.0f) + { + if (this.body != null || this.body2d != null) + { + // obj has a Rigidbody and can jump (AddForce) + if (Input.GetKey(KeyCode.Space)) + { + this.jumpingTime = this.JumpTimeout; + + Vector2 jump = Vector2.up*this.JumpForce; + if (this.body2d != null) + { + this.body2d.AddForce(jump); + } + else if (this.body != null) + { + this.body.AddForce(jump); + } + } + } + } + else + { + this.jumpingTime -= Time.deltaTime; + } + + // 2d objects can't be moved in 3d "forward" + if (!this.isSprite) + { + if ((Input.GetAxisRaw("Vertical") < -0.1f) || (Input.GetAxisRaw("Vertical") > 0.1f)) + { + transform.position += Vector3.forward * (Speed * Time.deltaTime) * Input.GetAxisRaw("Vertical"); + } + } + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/MoveByKeys.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/MoveByKeys.cs.meta new file mode 100644 index 0000000..63447da --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/MoveByKeys.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 99b4daedc5e674a429acdf1e77da6a55 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/NetworkCullingHandler.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/NetworkCullingHandler.cs new file mode 100644 index 0000000..157d5c5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/NetworkCullingHandler.cs @@ -0,0 +1,218 @@ +using System.Collections.Generic; +using UnityEngine; + +/// +/// Handles the network culling. +/// +[RequireComponent(typeof(PhotonView))] +public class NetworkCullingHandler : MonoBehaviour, IPunObservable +{ + #region VARIABLES + + private int orderIndex; + + private CullArea cullArea; + + private List previousActiveCells, activeCells; + + private PhotonView pView; + + private Vector3 lastPosition, currentPosition; + + #endregion + + #region UNITY_FUNCTIONS + + /// + /// Gets references to the PhotonView component and the cull area game object. + /// + private void OnEnable() + { + if (this.pView == null) + { + this.pView = GetComponent(); + + if (!this.pView.isMine) + { + return; + } + } + + if (this.cullArea == null) + { + this.cullArea = FindObjectOfType(); + } + + this.previousActiveCells = new List(0); + this.activeCells = new List(0); + + this.currentPosition = this.lastPosition = transform.position; + } + + /// + /// Initializes the right interest group or prepares the permanent change of the interest group of the PhotonView component. + /// + private void Start() + { + if (!this.pView.isMine) + { + return; + } + + if (PhotonNetwork.inRoom) + { + if (this.cullArea.NumberOfSubdivisions == 0) + { + this.pView.group = this.cullArea.FIRST_GROUP_ID; + + PhotonNetwork.SetInterestGroups(this.cullArea.FIRST_GROUP_ID, true); + } + else + { + // This is used to continuously update the active group. + this.pView.ObservedComponents.Add(this); + } + } + } + + /// + /// Checks if the player has moved previously and updates the interest groups if necessary. + /// + private void Update() + { + if (!this.pView.isMine) + { + return; + } + + this.lastPosition = this.currentPosition; + this.currentPosition = transform.position; + + // This is a simple position comparison of the current and the previous position. + // When using Network Culling in a bigger project keep in mind that there might + // be more transform-related options, e.g. the rotation, or other options to check. + if (this.currentPosition != this.lastPosition) + { + if (this.HaveActiveCellsChanged()) + { + this.UpdateInterestGroups(); + } + } + } + + /// + /// Drawing informations. + /// + private void OnGUI() + { + if (!this.pView.isMine) + { + return; + } + + string subscribedAndActiveCells = "Inside cells:\n"; + string subscribedCells = "Subscribed cells:\n"; + + for (int index = 0; index < this.activeCells.Count; ++index) + { + if (index <= this.cullArea.NumberOfSubdivisions) + { + subscribedAndActiveCells += this.activeCells[index] + " | "; + } + + subscribedCells += this.activeCells[index] + " | "; + } + GUI.Label(new Rect(20.0f, Screen.height - 120.0f, 200.0f, 40.0f), "PhotonView Group: " + this.pView.group + "", new GUIStyle() { alignment = TextAnchor.UpperLeft, fontSize = 16 }); + GUI.Label(new Rect(20.0f, Screen.height - 100.0f, 200.0f, 40.0f), "" + subscribedAndActiveCells + "", new GUIStyle() { alignment = TextAnchor.UpperLeft, fontSize = 16 }); + GUI.Label(new Rect(20.0f, Screen.height - 60.0f, 200.0f, 40.0f), "" + subscribedCells + "", new GUIStyle() { alignment = TextAnchor.UpperLeft, fontSize = 16 }); + } + + #endregion + + /// + /// Checks if the previously active cells have changed. + /// + /// True if the previously active cells have changed and false otherwise. + private bool HaveActiveCellsChanged() + { + if (this.cullArea.NumberOfSubdivisions == 0) + { + return false; + } + + this.previousActiveCells = new List(this.activeCells); + this.activeCells = this.cullArea.GetActiveCells(transform.position); + + // If the player leaves the area we insert the whole area itself as an active cell. + // This can be removed if it is sure that the player is not able to leave the area. + while (this.activeCells.Count <= this.cullArea.NumberOfSubdivisions) + { + this.activeCells.Add(this.cullArea.FIRST_GROUP_ID); + } + + if (this.activeCells.Count != this.previousActiveCells.Count) + { + return true; + } + + if (this.activeCells[this.cullArea.NumberOfSubdivisions] != this.previousActiveCells[this.cullArea.NumberOfSubdivisions]) + { + return true; + } + + return false; + } + + /// + /// Unsubscribes from old and subscribes to new interest groups. + /// + private void UpdateInterestGroups() + { + List disable = new List(0); + + foreach (byte groupId in this.previousActiveCells) + { + if (!this.activeCells.Contains(groupId)) + { + disable.Add(groupId); + } + } + + PhotonNetwork.SetInterestGroups(disable.ToArray(), this.activeCells.ToArray()); + } + + #region IPunObservable implementation + + /// + /// This time OnPhotonSerializeView is not used to send or receive any kind of data. + /// It is used to change the currently active group of the PhotonView component, making it work together with PUN more directly. + /// Keep in mind that this function is only executed, when there is at least one more player in the room. + /// + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + // If the player leaves the area we insert the whole area itself as an active cell. + // This can be removed if it is sure that the player is not able to leave the area. + while (this.activeCells.Count <= this.cullArea.NumberOfSubdivisions) + { + this.activeCells.Add(this.cullArea.FIRST_GROUP_ID); + } + + if (this.cullArea.NumberOfSubdivisions == 1) + { + this.orderIndex = (++this.orderIndex%this.cullArea.SUBDIVISION_FIRST_LEVEL_ORDER.Length); + this.pView.group = this.activeCells[this.cullArea.SUBDIVISION_FIRST_LEVEL_ORDER[this.orderIndex]]; + } + else if (this.cullArea.NumberOfSubdivisions == 2) + { + this.orderIndex = (++this.orderIndex%this.cullArea.SUBDIVISION_SECOND_LEVEL_ORDER.Length); + this.pView.group = this.activeCells[this.cullArea.SUBDIVISION_SECOND_LEVEL_ORDER[this.orderIndex]]; + } + else if (this.cullArea.NumberOfSubdivisions == 3) + { + this.orderIndex = (++this.orderIndex%this.cullArea.SUBDIVISION_THIRD_LEVEL_ORDER.Length); + this.pView.group = this.activeCells[this.cullArea.SUBDIVISION_THIRD_LEVEL_ORDER[this.orderIndex]]; + } + } + + #endregion +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/NetworkCullingHandler.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/NetworkCullingHandler.cs.meta new file mode 100644 index 0000000..74b7441 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/NetworkCullingHandler.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84db789113d4b01418c1becb128c4561 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickDestroy.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickDestroy.cs new file mode 100644 index 0000000..42cad37 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickDestroy.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using System.Collections; + +/// +/// Implements OnClick to destroy the GameObject it's attached to. Optionally a RPC is sent to do this. +/// +/// +/// Using an RPC to Destroy a GameObject allows any player to Destroy a GameObject. But it might cause errors. +/// RPC and the Instantiated GameObject are not fully linked on the server. One might stick in the server witout +/// the other. +/// +/// A buffered RPC gets cleaned up when the sending player leaves the room. This means, the RPC gets lost. +/// +/// Vice versus, a GameObject Instantiate might get cleaned up when the creating player leaves a room. +/// This way, the GameObject that a RPC targets might become lost. +/// +/// It makes sense to test those cases. Many are not breaking errors and you just have to be aware of them. +/// +/// Gets OnClick() calls by InputToEvent class attached to a camera. +/// +[RequireComponent(typeof(PhotonView))] +public class OnClickDestroy : Photon.MonoBehaviour +{ + public bool DestroyByRpc; + + public void OnClick() + { + if (!DestroyByRpc) + { + PhotonNetwork.Destroy(this.gameObject); + } + else + { + this.photonView.RPC("DestroyRpc", PhotonTargets.AllBuffered); + } + } + + [PunRPC] + public IEnumerator DestroyRpc() + { + GameObject.Destroy(this.gameObject); + yield return 0; // if you allow 1 frame to pass, the object's OnDestroy() method gets called and cleans up references. + PhotonNetwork.UnAllocateViewID(this.photonView.viewID); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickDestroy.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickDestroy.cs.meta new file mode 100644 index 0000000..f091f18 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickDestroy.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9dab7328ba500e944a99d62065fba6c0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickInstantiate.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickInstantiate.cs new file mode 100644 index 0000000..2561434 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickInstantiate.cs @@ -0,0 +1,42 @@ +using UnityEngine; +using System.Collections; + +public class OnClickInstantiate : MonoBehaviour +{ + public GameObject Prefab; + public int InstantiateType; + private string[] InstantiateTypeNames = {"Mine", "Scene"}; + + public bool showGui; + + void OnClick() + { + if (!PhotonNetwork.inRoom) + { + // only use PhotonNetwork.Instantiate while in a room. + return; + } + + switch (InstantiateType) + { + case 0: + PhotonNetwork.Instantiate(Prefab.name, InputToEvent.inputHitPos + new Vector3(0, 5f, 0), Quaternion.identity, 0); + break; + case 1: + PhotonNetwork.InstantiateSceneObject(Prefab.name, InputToEvent.inputHitPos + new Vector3(0, 5f, 0), Quaternion.identity, 0, null); + break; + } + } + + void OnGUI() + { + if (showGui) + { + GUILayout.BeginArea(new Rect(Screen.width - 180, 0, 180, 50)); + InstantiateType = GUILayout.Toolbar(InstantiateType, InstantiateTypeNames); + GUILayout.EndArea(); + } + } + + +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickInstantiate.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickInstantiate.cs.meta new file mode 100644 index 0000000..1150759 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickInstantiate.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9b79a9b62449de940a073364858c3f9b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickLoadSomething.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickLoadSomething.cs new file mode 100644 index 0000000..1ff687c --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickLoadSomething.cs @@ -0,0 +1,2 @@ +// this class was moved into the Marco Polo Tutorial folder, as it's only used there +// this file is here to make sure the class is not defined 2 times. \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickLoadSomething.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickLoadSomething.cs.meta new file mode 100644 index 0000000..efc61a8 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnClickLoadSomething.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a05e7e66dac32a46b59f70b5f3da048 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnJoinedInstantiate.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnJoinedInstantiate.cs new file mode 100644 index 0000000..8e74fa6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnJoinedInstantiate.cs @@ -0,0 +1,33 @@ +using UnityEngine; +using System.Collections; + +public class OnJoinedInstantiate : MonoBehaviour +{ + public Transform SpawnPosition; + public float PositionOffset = 2.0f; + public GameObject[] PrefabsToInstantiate; // set in inspector + + public void OnJoinedRoom() + { + if (this.PrefabsToInstantiate != null) + { + foreach (GameObject o in this.PrefabsToInstantiate) + { + Debug.Log("Instantiating: " + o.name); + + Vector3 spawnPos = Vector3.up; + if (this.SpawnPosition != null) + { + spawnPos = this.SpawnPosition.position; + } + + Vector3 random = Random.insideUnitSphere; + random.y = 0; + random = random.normalized; + Vector3 itempos = spawnPos + this.PositionOffset * random; + + PhotonNetwork.Instantiate(o.name, itempos, Quaternion.identity, 0); + } + } + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnJoinedInstantiate.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnJoinedInstantiate.cs.meta new file mode 100644 index 0000000..5b4fba0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnJoinedInstantiate.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ed3b5dcba7bf9114cb13fc59e0a71f55 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnStartDelete.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnStartDelete.cs new file mode 100644 index 0000000..1ef64de --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnStartDelete.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +/// This component will destroy the GameObject it is attached to (in Start()). +public class OnStartDelete : MonoBehaviour +{ + // Use this for initialization + void Start() + { + Destroy(this.gameObject); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnStartDelete.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnStartDelete.cs.meta new file mode 100644 index 0000000..4f4d47a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/OnStartDelete.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f8d56a54ae062da4a87516fb994f4e30 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer.meta new file mode 100644 index 0000000..72c23f5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dc1e8f47493ccb741820f5eac398c3ef +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor.meta new file mode 100644 index 0000000..8924f57 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 90be4dff5c23e264d891e7bfe29ac986 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PlayerRoomIndexingInspector.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PlayerRoomIndexingInspector.cs new file mode 100644 index 0000000..51942a4 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PlayerRoomIndexingInspector.cs @@ -0,0 +1,73 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Utilities, +// +// +// Custom inspector for PlayerRoomIndexing +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; + +namespace ExitGames.UtilityScripts +{ + [CustomEditor(typeof(PlayerRoomIndexing))] + public class PlayerRoomIndexingInspector : Editor { + + PlayerRoomIndexing _target; + int localPlayerIndex; + + void OnEnable () { + _target = (PlayerRoomIndexing)target; + _target.OnRoomIndexingChanged += RefreshData; + } + + void OnDisable () { + _target = (PlayerRoomIndexing)target; + _target.OnRoomIndexingChanged -= RefreshData; + } + + public override void OnInspectorGUI() + { + _target = (PlayerRoomIndexing)target; + + _target.OnRoomIndexingChanged += RefreshData; + + if (PhotonNetwork.inRoom) + { + EditorGUILayout.LabelField("Player Index", "PhotonPlayer ID"); + if (_target.PlayerIds != null) + { + int index = 0; + foreach(int ID in _target.PlayerIds) + { + GUI.enabled = ID!=0; + EditorGUILayout.LabelField("Player " +index + + (PhotonNetwork.player.ID==ID?" - You -":"") + + (PhotonNetwork.masterClient.ID==ID?" Master":"") + , ID==0?"n/a":PhotonPlayer.Find(ID).ToStringFull()); + GUI.enabled = true; + index++; + } + } + }else{ + GUILayout.Label("Room Indexing only works when localPlayer is inside a room"); + } + } + + /// + /// force repaint fo the inspector, else we would not see the new data in the inspector. + /// This is better then doing it in OnInspectorGUI too many times per frame for no need + /// + void RefreshData() + { + Repaint(); + } + + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PlayerRoomIndexingInspector.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PlayerRoomIndexingInspector.cs.meta new file mode 100644 index 0000000..4ed2ee0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PlayerRoomIndexingInspector.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6590f39353bf4efdb3b14691166135f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PunTeamsInspector.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PunTeamsInspector.cs new file mode 100644 index 0000000..b6baa8a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PunTeamsInspector.cs @@ -0,0 +1,57 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Utilities, +// +// +// Custom inspector for PunTeams +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; + +namespace ExitGames.UtilityScripts +{ + [CustomEditor(typeof(PunTeams))] + public class PunTeamsInspector : Editor { + + + Dictionary _Foldouts ; + + public override void OnInspectorGUI() + { + if (_Foldouts==null) + { + _Foldouts = new Dictionary(); + } + + if (PunTeams.PlayersPerTeam!=null) + { + foreach (KeyValuePair> _pair in PunTeams.PlayersPerTeam) + { + if (!_Foldouts.ContainsKey(_pair.Key)) + { + _Foldouts[_pair.Key] = true; + } + + _Foldouts[_pair.Key] = EditorGUILayout.Foldout(_Foldouts[_pair.Key],"Team "+_pair.Key +" ("+_pair.Value.Count+")"); + + if (_Foldouts[_pair.Key]) + { + EditorGUI.indentLevel++; + foreach(PhotonPlayer _player in _pair.Value) + { + EditorGUILayout.LabelField("",_player.ToString() + (PhotonNetwork.player==_player?" - You -":"")); + } + EditorGUI.indentLevel--; + } + + } + } + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PunTeamsInspector.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PunTeamsInspector.cs.meta new file mode 100644 index 0000000..ff6b7e0 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/Editor/PunTeamsInspector.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7dcadaf22424c4f5d82f4d48c3b8097f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/PlayerRoomIndexing.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/PlayerRoomIndexing.cs new file mode 100644 index 0000000..32037c6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/PlayerRoomIndexing.cs @@ -0,0 +1,287 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Utilities, +// +// +// Assign numbers to Players in a room. Uses Room custom Properties +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +using Photon; +using ExitGames.Client.Photon; +using Hashtable = ExitGames.Client.Photon.Hashtable; + + + +namespace ExitGames.UtilityScripts +{ + /// + /// Implements consistent indexing in a room/game with help of room properties. Access them by PhotonPlayer.GetRoomIndex() extension. + /// + /// + /// indexing ranges from 0 to the maximum number of Players. + /// indexing remains for the player while in room. + /// If a Player is indexed 2 and player indexes 1 leaves, index 1 become vacant and will assigned to the future player joining (the first available vacant index is assigned when joining) + /// + public class PlayerRoomIndexing : PunBehaviour + { + + #region Public Properties + + /// + /// The instance. EntryPoint to query about Room Indexing. + /// + public static PlayerRoomIndexing instance; + + /// + /// OnRoomIndexingChanged delegate. Use + /// + public delegate void RoomIndexingChanged(); + /// + /// Called everytime the room Indexing was updated. Use this for discrete updates. Always better than brute force calls every frame. + /// + public RoomIndexingChanged OnRoomIndexingChanged; + + /// Defines the room custom property name to use for room player indexing tracking. + public const string RoomPlayerIndexedProp = "PlayerIndexes"; + + /// + /// Cached list of Player indexes. You can use .GetRoomIndex() + /// + /// The player identifiers. + public int[] PlayerIds + { + get { + return _playerIds; + } + } + + #endregion + + + + #region Private Properties + + int[] _playerIds; + object _indexes; + Dictionary _indexesLUT; + List _indexesPool; + PhotonPlayer _p; + + #endregion + + #region MonoBehaviours methods + + public void Awake() + { + if (instance!=null) + { + Debug.LogError("Existing instance of PlayerRoomIndexing found. Only One instance is required at the most. Please correct and have only one at any time."); + } + instance = this; + + // check if we are already in room, likely if component was added at runtime or came late into scene + if (PhotonNetwork.room!=null) + { + SanitizeIndexing(true); + } + } + + #endregion + + + #region PunBehavior Overrides + + public override void OnJoinedRoom() + { + if (PhotonNetwork.isMasterClient) + { + AssignIndex(PhotonNetwork.player); + }else{ + RefreshData(); + } + } + + public override void OnLeftRoom() + { + RefreshData(); + } + + public override void OnPhotonPlayerConnected (PhotonPlayer newPlayer) + { + if (PhotonNetwork.isMasterClient) + { + AssignIndex(newPlayer); + } + + } + + public override void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer) + { + if (PhotonNetwork.isMasterClient) + { + UnAssignIndex(otherPlayer); + } + } + + public override void OnPhotonCustomRoomPropertiesChanged(Hashtable propertiesThatChanged) + { + if (propertiesThatChanged.ContainsKey(PlayerRoomIndexing.RoomPlayerIndexedProp)) + { + RefreshData(); + } + } + + + public override void OnMasterClientSwitched(PhotonPlayer newMasterClient) + { + if (PhotonNetwork.isMasterClient) + { + SanitizeIndexing(); + } + } + + #endregion + + /// Get the room index of a particular PhotonPlayer. You can also use .GetRoomIndex() + /// persistent index in room. -1 for none + public int GetRoomIndex( PhotonPlayer player) + { + if (_indexesLUT!=null && _indexesLUT.ContainsKey(player.ID)) + { + return _indexesLUT[player.ID]; + } + return -1; + } + + + /// + /// Sanitizes the indexing incase a player join while masterclient was changed and missed it. + /// + void SanitizeIndexing(bool forceIndexing = false) + { + if (!forceIndexing && !PhotonNetwork.isMasterClient) + { + return; + } + + if (PhotonNetwork.room==null) + { + return; + } + + // attempt to access index props. + Dictionary _indexesLUT_local = new Dictionary(); + if(PhotonNetwork.room.CustomProperties.TryGetValue(PlayerRoomIndexing.RoomPlayerIndexedProp, out _indexes)) + { + _indexesLUT_local = _indexes as Dictionary; + } + + // check if we need to assign + if (_indexesLUT_local.Count != PhotonNetwork.room.PlayerCount) + { + foreach(PhotonPlayer _p in PhotonNetwork.playerList) + { + if (!_indexesLUT_local.ContainsKey(_p.ID)) + { + // Debug.Log("Sanitizing Index for "+_p); + AssignIndex(_p); + } + } + + } + + } + + /// + /// Internal call Refresh the cached data and call the OnRoomIndexingChanged delegate. + /// + void RefreshData() + { + if (PhotonNetwork.room!=null) + { + _playerIds = new int[PhotonNetwork.room.MaxPlayers]; + if (PhotonNetwork.room.CustomProperties.TryGetValue(PlayerRoomIndexing.RoomPlayerIndexedProp, out _indexes)) + { + _indexesLUT = _indexes as Dictionary; + + foreach(KeyValuePair _entry in _indexesLUT) + { + //Debug.Log("Entry; "+_entry.Key+":"+_entry.Value); + _p = PhotonPlayer.Find(_entry.Key); + _playerIds[_entry.Value] = _p.ID; + } + } + }else{ + _playerIds = new int[0]; + } + + + if (OnRoomIndexingChanged!=null) OnRoomIndexingChanged(); + } + + + void AssignIndex(PhotonPlayer player) + { + if (PhotonNetwork.room.CustomProperties.TryGetValue(PlayerRoomIndexing.RoomPlayerIndexedProp, out _indexes)) + { + _indexesLUT = _indexes as Dictionary; + + }else{ + _indexesLUT = new Dictionary(); + } + + List _indexesPool = new List( new bool[PhotonNetwork.room.MaxPlayers] ); + foreach(KeyValuePair _entry in _indexesLUT) + { + _indexesPool[_entry.Value] = true; + } + + _indexesLUT[player.ID] = Mathf.Max (0,_indexesPool.IndexOf(false)); + + PhotonNetwork.room.SetCustomProperties(new Hashtable() {{PlayerRoomIndexing.RoomPlayerIndexedProp, _indexesLUT}}); + + RefreshData(); + } + + + void UnAssignIndex(PhotonPlayer player) + { + if (PhotonNetwork.room.CustomProperties.TryGetValue(PlayerRoomIndexing.RoomPlayerIndexedProp, out _indexes)) + { + _indexesLUT = _indexes as Dictionary; + + _indexesLUT.Remove(player.ID); + PhotonNetwork.room.SetCustomProperties(new Hashtable() {{PlayerRoomIndexing.RoomPlayerIndexedProp, _indexesLUT}}); + }else{ + + } + + RefreshData(); + } + + } + + /// Extension used for PlayerRoomIndexing and PhotonPlayer class. + public static class PlayerRoomIndexingExtensions + { + /// Extension for PhotonPlayer class to wrap up access to the player's custom property. + /// persistent index in room. -1 for no indexing + public static int GetRoomIndex(this PhotonPlayer player) + { + if (PlayerRoomIndexing.instance == null) + { + Debug.LogError("Missing PlayerRoomIndexing Component in Scene"); + return -1; + } + return PlayerRoomIndexing.instance.GetRoomIndex(player); + } + + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/PlayerRoomIndexing.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/PlayerRoomIndexing.cs.meta new file mode 100644 index 0000000..c860e34 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PhotonPlayer/PlayerRoomIndexing.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5a097d1ab84b464395a16e9a7bb35b1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItem.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItem.cs new file mode 100644 index 0000000..cb99c4a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItem.cs @@ -0,0 +1,213 @@ +using System.Collections.Generic; +using UnityEngine; +using System.Collections; +using Hashtable = ExitGames.Client.Photon.Hashtable; + +/// +/// Makes a scene object pickup-able. Needs a PhotonView which belongs to the scene. +/// +/// Includes a OnPhotonSerializeView implementation that +[RequireComponent(typeof(PhotonView))] +public class PickupItem : Photon.MonoBehaviour, IPunObservable +{ + ///Enables you to define a timeout when the picked up item should re-spawn at the same place it was before. + /// + /// Set in Inspector per GameObject! The value in code is just the default. + /// + /// If you don't want an item to respawn, set SecondsBeforeRespawn == 0. + /// If an item does not respawn, it could be consumed or carried around and dropped somewhere else. + /// + /// A respawning item should stick to a fixed position. It should not be observed at all (in any PhotonView). + /// It can only be consumed and can't be dropped somewhere else (cause that would double the item). + /// + /// This script uses PunRespawn() as RPC and as method that gets called by Invoke() after a timeout. + /// No matter if the item respawns timed or by Drop, that method makes sure (temporary) owner and other status-values + /// are being re-set. + /// + public float SecondsBeforeRespawn = 2; + + /// The most likely trigger to pick up an item. Set in inspector! + /// Edit the collider and set collision masks to avoid pickups by random objects. + public bool PickupOnTrigger; + + /// If the pickup item is currently yours. Interesting in OnPickedUp(PickupItem item). + public bool PickupIsMine; + + /// GameObject to send an event "OnPickedUp(PickupItem item)" to. + /// + /// Implement OnPickedUp(PickupItem item) {} in some script on the linked game object. + /// The item will be "this" and item.PickupIsMine will help you to find if this pickup was done by "this player". + /// + public MonoBehaviour OnPickedUpCall; + + + // these values are internally used. they are public for debugging only + + /// If this client sent a pickup. To avoid sending multiple pickup requests before reply is there. + public bool SentPickup; + + /// Timestamp when to respawn the item (compared to PhotonNetwork.time). + public double TimeOfRespawn; // needed when we want to update new players when a PickupItem respawns + + /// + public int ViewID { get { return this.photonView.viewID; } } + + public static HashSet DisabledPickupItems = new HashSet(); + + + public void OnTriggerEnter(Collider other) + { + // we only call Pickup() if "our" character collides with this PickupItem. + // note: if you "position" remote characters by setting their translation, triggers won't be hit. + + PhotonView otherpv = other.GetComponent(); + if (this.PickupOnTrigger && otherpv != null && otherpv.isMine) + { + //Debug.Log("OnTriggerEnter() calls Pickup()."); + this.Pickup(); + } + } + + + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + // read the description in SecondsBeforeRespawn + + if (stream.isWriting && SecondsBeforeRespawn <= 0) + { + stream.SendNext(this.gameObject.transform.position); + } + else + { + // this will directly apply the last received position for this PickupItem. No smoothing. Usually not needed though. + Vector3 lastIncomingPos = (Vector3)stream.ReceiveNext(); + this.gameObject.transform.position = lastIncomingPos; + } + } + + + public void Pickup() + { + if (this.SentPickup) + { + // skip sending more pickups until the original pickup-RPC got back to this client + return; + } + + this.SentPickup = true; + this.photonView.RPC("PunPickup", PhotonTargets.AllViaServer); + } + + + /// Makes use of RPC PunRespawn to drop an item (sent through server for all). + public void Drop() + { + if (this.PickupIsMine) + { + this.photonView.RPC("PunRespawn", PhotonTargets.AllViaServer); + } + } + + /// Makes use of RPC PunRespawn to drop an item (sent through server for all). + public void Drop(Vector3 newPosition) + { + if (this.PickupIsMine) + { + this.photonView.RPC("PunRespawn", PhotonTargets.AllViaServer, newPosition); + } + } + + + [PunRPC] + public void PunPickup(PhotonMessageInfo msgInfo) + { + // when this client's RPC gets executed, this client no longer waits for a sent pickup and can try again + if (msgInfo.sender.IsLocal) this.SentPickup = false; + + + // In this solution, picked up items are disabled. They can't be picked up again this way, etc. + // You could check "active" first, if you're not interested in failed pickup-attempts. + if (!this.gameObject.GetActive()) + { + // optional logging: + Debug.Log("Ignored PU RPC, cause item is inactive. " + this.gameObject + " SecondsBeforeRespawn: " + SecondsBeforeRespawn + " TimeOfRespawn: " + this.TimeOfRespawn + " respawn in future: " + (TimeOfRespawn > PhotonNetwork.time)); + return; // makes this RPC being ignored + } + + + // if the RPC isn't ignored by now, this is a successful pickup. this might be "my" pickup and we should do a callback + this.PickupIsMine = msgInfo.sender.IsLocal; + + // call the method OnPickedUp(PickupItem item) if a GameObject was defined as callback target + if (this.OnPickedUpCall != null) + { + // you could also skip callbacks for items that are not picked up by this client by using: if (this.PickupIsMine) + this.OnPickedUpCall.SendMessage("OnPickedUp", this); + } + + + // setup a respawn (or none, if the item has to be dropped) + if (SecondsBeforeRespawn <= 0) + { + this.PickedUp(0.0f); // item doesn't auto-respawn. must be dropped + } + else + { + // how long it is until this item respanws, depends on the pickup time and the respawn time + double timeSinceRpcCall = (PhotonNetwork.time - msgInfo.timestamp); + double timeUntilRespawn = SecondsBeforeRespawn - timeSinceRpcCall; + + //Debug.Log("msg timestamp: " + msgInfo.timestamp + " time until respawn: " + timeUntilRespawn); + + if (timeUntilRespawn > 0) + { + this.PickedUp((float)timeUntilRespawn); + } + } + } + + internal void PickedUp(float timeUntilRespawn) + { + // this script simply disables the GO for a while until it respawns. + this.gameObject.SetActive(false); + PickupItem.DisabledPickupItems.Add(this); + this.TimeOfRespawn = 0; + + if (timeUntilRespawn > 0) + { + this.TimeOfRespawn = PhotonNetwork.time + timeUntilRespawn; + Invoke("PunRespawn", timeUntilRespawn); + } + } + + + [PunRPC] + internal void PunRespawn(Vector3 pos) + { + Debug.Log("PunRespawn with Position."); + this.PunRespawn(); + this.gameObject.transform.position = pos; + } + + [PunRPC] + internal void PunRespawn() + { + #if DEBUG + // debugging: in some cases, the respawn is "late". it's unclear why! just be aware of this. + double timeDiffToRespawnTime = PhotonNetwork.time - this.TimeOfRespawn; + if (timeDiffToRespawnTime > 0.1f) Debug.LogWarning("Spawn time is wrong by: " + timeDiffToRespawnTime + " (this is not an error. you just need to be aware of this.)"); + #endif + + + // if this is called from another thread, we might want to do this in OnEnable() instead of here (depends on Invoke's implementation) + PickupItem.DisabledPickupItems.Remove(this); + this.TimeOfRespawn = 0; + this.PickupIsMine = false; + + if (this.gameObject != null) + { + this.gameObject.SetActive(true); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItem.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItem.cs.meta new file mode 100644 index 0000000..a3dbbcb --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItem.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 49a81ce8037f41540ac70f51e9a19d7f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSimple.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSimple.cs new file mode 100644 index 0000000..55759b5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSimple.cs @@ -0,0 +1,85 @@ +using UnityEngine; +using System.Collections; + +/// +/// Makes a scene object pickup-able. Needs a PhotonView which belongs to the scene. +/// +[RequireComponent(typeof(PhotonView))] +public class PickupItemSimple : Photon.MonoBehaviour +{ + public float SecondsBeforeRespawn = 2; + public bool PickupOnCollide; + public bool SentPickup; + + public void OnTriggerEnter(Collider other) + { + // we only call Pickup() if "our" character collides with this PickupItem. + // note: if you "position" remote characters by setting their translation, triggers won't be hit. + + PhotonView otherpv = other.GetComponent(); + if (this.PickupOnCollide && otherpv != null && otherpv.isMine) + { + //Debug.Log("OnTriggerEnter() calls Pickup()."); + this.Pickup(); + } + } + + public void Pickup() + { + if (this.SentPickup) + { + // skip sending more pickups until the original pickup-RPC got back to this client + return; + } + + this.SentPickup = true; + this.photonView.RPC("PunPickupSimple", PhotonTargets.AllViaServer); + } + + [PunRPC] + public void PunPickupSimple(PhotonMessageInfo msgInfo) + { + // one of the messages might be ours + // note: you could check "active" first, if you're not interested in your own, failed pickup-attempts. + if (this.SentPickup && msgInfo.sender.IsLocal) + { + if (this.gameObject.GetActive()) + { + // picked up! yay. + } + else + { + // pickup failed. too late (compared to others) + } + } + + this.SentPickup = false; + + if (!this.gameObject.GetActive()) + { + Debug.Log("Ignored PU RPC, cause item is inactive. " + this.gameObject); + return; + } + + + // how long it is until this item respanws, depends on the pickup time and the respawn time + double timeSinceRpcCall = (PhotonNetwork.time - msgInfo.timestamp); + float timeUntilRespawn = SecondsBeforeRespawn - (float)timeSinceRpcCall; + //Debug.Log("msg timestamp: " + msgInfo.timestamp + " time until respawn: " + timeUntilRespawn); + + if (timeUntilRespawn > 0) + { + // this script simply disables the GO for a while until it respawns. + this.gameObject.SetActive(false); + Invoke("RespawnAfter", timeUntilRespawn); + } + } + + public void RespawnAfter() + { + if (this.gameObject != null) + { + this.gameObject.SetActive(true); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSimple.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSimple.cs.meta new file mode 100644 index 0000000..4adcc55 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSimple.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7dcf9a2d8dc276745bb51228cc019f52 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSyncer.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSyncer.cs new file mode 100644 index 0000000..07e9d41 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSyncer.cs @@ -0,0 +1,170 @@ +using System.Collections.Generic; +using UnityEngine; +using System.Collections; +using System; +using Hashtable = ExitGames.Client.Photon.Hashtable; + +/// Finds out which PickupItems are not spawned at the moment and send this to new players. +/// Attach this component to a single GameObject in the scene, not to all PickupItems. +[RequireComponent(typeof(PhotonView))] +public class PickupItemSyncer : Photon.MonoBehaviour +{ + public bool IsWaitingForPickupInit; + private const float TimeDeltaToIgnore = 0.2f; + + + public void OnPhotonPlayerConnected(PhotonPlayer newPlayer) + { + if (PhotonNetwork.isMasterClient) + { + this.SendPickedUpItems(newPlayer); + } + } + + public void OnJoinedRoom() + { + Debug.Log("Joined Room. isMasterClient: " + PhotonNetwork.isMasterClient + " id: " + PhotonNetwork.player.ID); + // this client joined the room. let's see if there are players and if someone has to inform us about pickups + this.IsWaitingForPickupInit = !PhotonNetwork.isMasterClient; + + if (PhotonNetwork.playerList.Length >= 2) + { + this.Invoke("AskForPickupItemSpawnTimes", 2.0f); + } + } + + + public void AskForPickupItemSpawnTimes() + { + if (this.IsWaitingForPickupInit) + { + if (PhotonNetwork.playerList.Length < 2) + { + Debug.Log("Cant ask anyone else for PickupItem spawn times."); + this.IsWaitingForPickupInit = false; + return; + } + + + // find a another player (than the master, who likely is gone) to ask for the PickupItem spawn times + PhotonPlayer nextPlayer = PhotonNetwork.masterClient.GetNext(); + if (nextPlayer == null || nextPlayer.Equals(PhotonNetwork.player)) + { + nextPlayer = PhotonNetwork.player.GetNext(); + //Debug.Log("This player is the Master's next. Asking this client's 'next' player: " + ((nextPlayer != null) ? nextPlayer.ToStringFull() : "")); + } + + if (nextPlayer != null && !nextPlayer.Equals(PhotonNetwork.player)) + { + this.photonView.RPC("RequestForPickupItems", nextPlayer); + + // you could restart this invoke and try to find another player after 4 seconds. but after a while it doesnt make a difference anymore + //this.Invoke("AskForPickupItemSpawnTimes", 2.0f); + } + else + { + Debug.Log("No player left to ask"); + this.IsWaitingForPickupInit = false; + } + } + } + + [PunRPC] + [Obsolete("Use RequestForPickupItems(PhotonMessageInfo msgInfo) with corrected typing instead.")] + public void RequestForPickupTimes(PhotonMessageInfo msgInfo) + { + RequestForPickupItems(msgInfo); + } + + [PunRPC] + public void RequestForPickupItems(PhotonMessageInfo msgInfo) + { + if (msgInfo.sender == null) + { + Debug.LogError("Unknown player asked for PickupItems"); + return; + } + + SendPickedUpItems(msgInfo.sender); + } + + /// Summarizes all PickupItem ids and spawn times for new players. Calls RPC "PickupItemInit". + /// The player to send the pickup times to. It's a targetted RPC. + private void SendPickedUpItems(PhotonPlayer targetPlayer) + { + if (targetPlayer == null) + { + Debug.LogWarning("Cant send PickupItem spawn times to unknown targetPlayer."); + return; + } + + double now = PhotonNetwork.time; + double soon = now + TimeDeltaToIgnore; + + + PickupItem[] items = new PickupItem[PickupItem.DisabledPickupItems.Count]; + PickupItem.DisabledPickupItems.CopyTo(items); + + List valuesToSend = new List(items.Length * 2); + for (int i = 0; i < items.Length; i++) + { + PickupItem pi = items[i]; + if (pi.SecondsBeforeRespawn <= 0) + { + valuesToSend.Add(pi.ViewID); + valuesToSend.Add((float)0.0f); + } + else + { + double timeUntilRespawn = pi.TimeOfRespawn - PhotonNetwork.time; + if (pi.TimeOfRespawn > soon) + { + // the respawn of this item is not "immediately", so we include it in the message "these items are not active" for the new player + Debug.Log(pi.ViewID + " respawn: " + pi.TimeOfRespawn + " timeUntilRespawn: " + timeUntilRespawn + " (now: " + PhotonNetwork.time + ")"); + valuesToSend.Add(pi.ViewID); + valuesToSend.Add((float)timeUntilRespawn); + } + } + } + + Debug.Log("Sent count: " + valuesToSend.Count + " now: " + now); + this.photonView.RPC("PickupItemInit", targetPlayer, PhotonNetwork.time, valuesToSend.ToArray()); + } + + + [PunRPC] + public void PickupItemInit(double timeBase, float[] inactivePickupsAndTimes) + { + this.IsWaitingForPickupInit = false; + + // if there are no inactive pickups, the sender will send a list of 0 items. this is not a problem... + for (int i = 0; i < inactivePickupsAndTimes.Length / 2; i++) + { + int arrayIndex = i*2; + int viewIdOfPickup = (int)inactivePickupsAndTimes[arrayIndex]; + float timeUntilRespawnBasedOnTimeBase = inactivePickupsAndTimes[arrayIndex + 1]; + + + PhotonView view = PhotonView.Find(viewIdOfPickup); + PickupItem pi = view.GetComponent(); + + if (timeUntilRespawnBasedOnTimeBase <= 0) + { + pi.PickedUp(0.0f); + } + else + { + double timeOfRespawn = timeUntilRespawnBasedOnTimeBase + timeBase; + + Debug.Log(view.viewID + " respawn: " + timeOfRespawn + " timeUntilRespawnBasedOnTimeBase:" + timeUntilRespawnBasedOnTimeBase + " SecondsBeforeRespawn: " + pi.SecondsBeforeRespawn); + double timeBeforeRespawn = timeOfRespawn - PhotonNetwork.time; + if (timeUntilRespawnBasedOnTimeBase <= 0) + { + timeBeforeRespawn = 0.0f; + } + + pi.PickedUp((float) timeBeforeRespawn); + } + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSyncer.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSyncer.cs.meta new file mode 100644 index 0000000..57643c5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PickupItemSyncer.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d6826804b93f54045a69115648b2a143 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PointedAtGameObjectInfo.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PointedAtGameObjectInfo.cs new file mode 100644 index 0000000..3ea57ae --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PointedAtGameObjectInfo.cs @@ -0,0 +1,19 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(InputToEvent))] +public class PointedAtGameObjectInfo : MonoBehaviour +{ + void OnGUI() + { + if (InputToEvent.goPointedAt != null) + { + PhotonView pv = InputToEvent.goPointedAt.GetPhotonView(); + if (pv != null) + { + GUI.Label(new Rect(Input.mousePosition.x + 5, Screen.height - Input.mousePosition.y - 15, 300, 30), string.Format("ViewID {0} {1}{2}", pv.viewID, (pv.isSceneView) ? "scene " : "", (pv.isMine) ? "mine" : "owner: " + pv.ownerId)); + } + } + } + +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PointedAtGameObjectInfo.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PointedAtGameObjectInfo.cs.meta new file mode 100644 index 0000000..9ffbb4f --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PointedAtGameObjectInfo.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6262dd9a9b078c4e8cbd47495aa6d23 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunPlayerScores.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunPlayerScores.cs new file mode 100644 index 0000000..d706915 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunPlayerScores.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using UnityEngine; +using System.Collections; +using Hashtable = ExitGames.Client.Photon.Hashtable; + +public class PunPlayerScores : MonoBehaviour +{ + public const string PlayerScoreProp = "score"; +} + +public static class ScoreExtensions +{ + public static void SetScore(this PhotonPlayer player, int newScore) + { + Hashtable score = new Hashtable(); // using PUN's implementation of Hashtable + score[PunPlayerScores.PlayerScoreProp] = newScore; + + player.SetCustomProperties(score); // this locally sets the score and will sync it in-game asap. + } + + public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent) + { + int current = player.GetScore(); + current = current + scoreToAddToCurrent; + + Hashtable score = new Hashtable(); // using PUN's implementation of Hashtable + score[PunPlayerScores.PlayerScoreProp] = current; + + player.SetCustomProperties(score); // this locally sets the score and will sync it in-game asap. + } + + public static int GetScore(this PhotonPlayer player) + { + object score; + if (player.CustomProperties.TryGetValue(PunPlayerScores.PlayerScoreProp, out score)) + { + return (int) score; + } + + return 0; + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunPlayerScores.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunPlayerScores.cs.meta new file mode 100644 index 0000000..5904915 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunPlayerScores.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6b4df3943860f1d45bfe232053a58d80 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTeams.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTeams.cs new file mode 100644 index 0000000..3f82cf3 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTeams.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using ExitGames.Client.Photon; +using UnityEngine; +using Hashtable = ExitGames.Client.Photon.Hashtable; + + +/// +/// Implements teams in a room/game with help of player properties. Access them by PhotonPlayer.GetTeam extension. +/// +/// +/// Teams are defined by enum Team. Change this to get more / different teams. +/// There are no rules when / if you can join a team. You could add this in JoinTeam or something. +/// +public class PunTeams : MonoBehaviour +{ + /// Enum defining the teams available. First team should be neutral (it's the default value any field of this enum gets). + public enum Team : byte {none, red, blue}; + + /// The main list of teams with their player-lists. Automatically kept up to date. + /// Note that this is static. Can be accessed by PunTeam.PlayersPerTeam. You should not modify this. + public static Dictionary> PlayersPerTeam; + + /// Defines the player custom property name to use for team affinity of "this" player. + public const string TeamPlayerProp = "team"; + + + #region Events by Unity and Photon + + public void Start() + { + PlayersPerTeam = new Dictionary>(); + Array enumVals = Enum.GetValues(typeof (Team)); + foreach (var enumVal in enumVals) + { + PlayersPerTeam[(Team)enumVal] = new List(); + } + } + + public void OnDisable() + { + PlayersPerTeam = new Dictionary>(); + } + + /// Needed to update the team lists when joining a room. + /// Called by PUN. See enum PhotonNetworkingMessage for an explanation. + public void OnJoinedRoom() + { + + this.UpdateTeams(); + } + + public void OnLeftRoom() + { + Start(); + } + + /// Refreshes the team lists. It could be a non-team related property change, too. + /// Called by PUN. See enum PhotonNetworkingMessage for an explanation. + public void OnPhotonPlayerPropertiesChanged(object[] playerAndUpdatedProps) + { + this.UpdateTeams(); + } + + public void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer) + { + this.UpdateTeams(); + } + + public void OnPhotonPlayerConnected(PhotonPlayer newPlayer) + { + this.UpdateTeams(); + } + + #endregion + + + public void UpdateTeams() + { + Array enumVals = Enum.GetValues(typeof(Team)); + foreach (var enumVal in enumVals) + { + PlayersPerTeam[(Team)enumVal].Clear(); + } + + for (int i = 0; i < PhotonNetwork.playerList.Length; i++) + { + PhotonPlayer player = PhotonNetwork.playerList[i]; + Team playerTeam = player.GetTeam(); + PlayersPerTeam[playerTeam].Add(player); + } + } +} + +/// Extension used for PunTeams and PhotonPlayer class. Wraps access to the player's custom property. +public static class TeamExtensions +{ + /// Extension for PhotonPlayer class to wrap up access to the player's custom property. + /// PunTeam.Team.none if no team was found (yet). + public static PunTeams.Team GetTeam(this PhotonPlayer player) + { + object teamId; + if (player.CustomProperties.TryGetValue(PunTeams.TeamPlayerProp, out teamId)) + { + return (PunTeams.Team)teamId; + } + + return PunTeams.Team.none; + } + + /// Switch that player's team to the one you assign. + /// Internally checks if this player is in that team already or not. Only team switches are actually sent. + /// + /// + public static void SetTeam(this PhotonPlayer player, PunTeams.Team team) + { + if (!PhotonNetwork.connectedAndReady) + { + Debug.LogWarning("JoinTeam was called in state: " + PhotonNetwork.connectionStateDetailed + ". Not connectedAndReady."); + return; + } + + PunTeams.Team currentTeam = player.GetTeam(); + if (currentTeam != team) + { + player.SetCustomProperties(new Hashtable() {{PunTeams.TeamPlayerProp, (byte) team}}); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTeams.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTeams.cs.meta new file mode 100644 index 0000000..9dffb8a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTeams.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6587c8104d7524f4280d0a68dd779f27 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTurnManager.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTurnManager.cs new file mode 100644 index 0000000..a90a390 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTurnManager.cs @@ -0,0 +1,411 @@ +// ---------------------------------------------------------------------------- +// +// PhotonNetwork Framework for Unity - Copyright (C) 2016 Exit Games GmbH +// +// +// Manager for Turn Based games, using PUN +// +// developer@exitgames.com +// ---------------------------------------------------------------------------- + + +using System; +using System.Collections.Generic; +using ExitGames.Client.Photon; +using Photon; +using UnityEngine; +using ExitGames = ExitGames.Client.Photon.Hashtable; + +/// +/// Pun turnBased Game manager. +/// Provides an Interface (IPunTurnManagerCallbacks) for the typical turn flow and logic, between players +/// Provides Extensions for PhotonPlayer, Room and RoomInfo to feature dedicated api for TurnBased Needs +/// +public class PunTurnManager : PunBehaviour +{ + /// + /// Wraps accessing the "turn" custom properties of a room. + /// + /// The turn index + public int Turn + { + get { return PhotonNetwork.room.GetTurn(); } + private set { + + _isOverCallProcessed = false; + + PhotonNetwork.room.SetTurn(value, true); + } + } + + + /// + /// The duration of the turn in seconds. + /// + public float TurnDuration = 20f; + + /// + /// Gets the elapsed time in the current turn in seconds + /// + /// The elapsed time in the turn. + public float ElapsedTimeInTurn + { + get { return ((float)(PhotonNetwork.ServerTimestamp - PhotonNetwork.room.GetTurnStart()))/1000.0f; } + } + + + /// + /// Gets the remaining seconds for the current turn. Ranges from 0 to TurnDuration + /// + /// The remaining seconds fo the current turn + public float RemainingSecondsInTurn + { + get { return Mathf.Max(0f,this.TurnDuration - this.ElapsedTimeInTurn); } + } + + + /// + /// Gets a value indicating whether the turn is completed by all. + /// + /// true if this turn is completed by all; otherwise, false. + public bool IsCompletedByAll + { + get { return PhotonNetwork.room != null && Turn > 0 && this.finishedPlayers.Count == PhotonNetwork.room.PlayerCount; } + } + + /// + /// Gets a value indicating whether the current turn is finished by me. + /// + /// true if the current turn is finished by me; otherwise, false. + public bool IsFinishedByMe + { + get { return this.finishedPlayers.Contains(PhotonNetwork.player); } + } + + /// + /// Gets a value indicating whether the current turn is over. That is the ElapsedTimeinTurn is greater or equal to the TurnDuration + /// + /// true if the current turn is over; otherwise, false. + public bool IsOver + { + get { return this.RemainingSecondsInTurn <= 0f; } + } + + /// + /// The turn manager listener. Set this to your own script instance to catch Callbacks + /// + public IPunTurnManagerCallbacks TurnManagerListener; + + + /// + /// The finished players. + /// + private readonly HashSet finishedPlayers = new HashSet(); + + /// + /// The turn manager event offset event message byte. Used internaly for defining data in Room Custom Properties + /// + public const byte TurnManagerEventOffset = 0; + /// + /// The Move event message byte. Used internaly for saving data in Room Custom Properties + /// + public const byte EvMove = 1 + TurnManagerEventOffset; + /// + /// The Final Move event message byte. Used internaly for saving data in Room Custom Properties + /// + public const byte EvFinalMove = 2 + TurnManagerEventOffset; + + // keep track of message calls + private bool _isOverCallProcessed = false; + + #region MonoBehaviour CallBack + /// + /// Register for Event Call from PhotonNetwork. + /// + void Start() + { + PhotonNetwork.OnEventCall = OnEvent; + } + + void Update() + { + if (Turn > 0 && this.IsOver && !_isOverCallProcessed) + { + _isOverCallProcessed = true; + this.TurnManagerListener.OnTurnTimeEnds(this.Turn); + } + + } + + + #endregion + + + /// + /// Tells the TurnManager to begins a new turn. + /// + public void BeginTurn() + { + Turn = this.Turn + 1; // note: this will set a property in the room, which is available to the other players. + } + + + /// + /// Call to send an action. Optionally finish the turn, too. + /// The move object can be anything. Try to optimize though and only send the strict minimum set of information to define the turn move. + /// + /// + /// + public void SendMove(object move, bool finished) + { + if (IsFinishedByMe) + { + UnityEngine.Debug.LogWarning("Can't SendMove. Turn is finished by this player."); + return; + } + + // along with the actual move, we have to send which turn this move belongs to + Hashtable moveHt = new Hashtable(); + moveHt.Add("turn", Turn); + moveHt.Add("move", move); + + byte evCode = (finished) ? EvFinalMove : EvMove; + PhotonNetwork.RaiseEvent(evCode, moveHt, true, new RaiseEventOptions() { CachingOption = EventCaching.AddToRoomCache }); + if (finished) + { + PhotonNetwork.player.SetFinishedTurn(Turn); + } + + // the server won't send the event back to the origin (by default). to get the event, call it locally + // (note: the order of events might be mixed up as we do this locally) + OnEvent(evCode, moveHt, PhotonNetwork.player.ID); + } + + /// + /// Gets if the player finished the current turn. + /// + /// true, if player finished the current turn, false otherwise. + /// The Player to check for + public bool GetPlayerFinishedTurn(PhotonPlayer player) + { + if (player != null && this.finishedPlayers != null && this.finishedPlayers.Contains(player)) + { + return true; + } + + return false; + } + + #region Callbacks + + /// + /// Called by PhotonNetwork.OnEventCall registration + /// + /// Event code. + /// Content. + /// Sender identifier. + public void OnEvent(byte eventCode, object content, int senderId) + { + PhotonPlayer sender = PhotonPlayer.Find(senderId); + switch (eventCode) + { + case EvMove: + { + Hashtable evTable = content as Hashtable; + int turn = (int)evTable["turn"]; + object move = evTable["move"]; + this.TurnManagerListener.OnPlayerMove(sender, turn, move); + + break; + } + case EvFinalMove: + { + Hashtable evTable = content as Hashtable; + int turn = (int)evTable["turn"]; + object move = evTable["move"]; + + if (turn == this.Turn) + { + this.finishedPlayers.Add(sender); + + this.TurnManagerListener.OnPlayerFinished(sender, turn, move); + + } + + if (IsCompletedByAll) + { + this.TurnManagerListener.OnTurnCompleted(this.Turn); + } + break; + } + } + } + + /// + /// Called by PhotonNetwork + /// + /// Properties that changed. + public override void OnPhotonCustomRoomPropertiesChanged(Hashtable propertiesThatChanged) + { + + // Debug.Log("OnPhotonCustomRoomPropertiesChanged: "+propertiesThatChanged.ToStringFull()); + + if (propertiesThatChanged.ContainsKey("Turn")) + { + _isOverCallProcessed = false; + this.finishedPlayers.Clear(); + this.TurnManagerListener.OnTurnBegins(this.Turn); + } + } + + #endregion +} + + +public interface IPunTurnManagerCallbacks +{ + /// + /// Called the turn begins event. + /// + /// Turn Index + void OnTurnBegins(int turn); + + /// + /// Called when a turn is completed (finished by all players) + /// + /// Turn Index + void OnTurnCompleted(int turn); + + /// + /// Called when a player moved (but did not finish the turn) + /// + /// Player reference + /// Turn Index + /// Move Object data + void OnPlayerMove(PhotonPlayer player, int turn, object move); + + /// + /// When a player finishes a turn (includes the action/move of that player) + /// + /// Player reference + /// Turn index + /// Move Object data + void OnPlayerFinished(PhotonPlayer player, int turn, object move); + + + /// + /// Called when a turn completes due to a time constraint (timeout for a turn) + /// + /// Turn index + void OnTurnTimeEnds(int turn); +} + + +public static class TurnExtensions +{ + /// + /// currently ongoing turn number + /// + public static readonly string TurnPropKey = "Turn"; + + /// + /// start (server) time for currently ongoing turn (used to calculate end) + /// + public static readonly string TurnStartPropKey = "TStart"; + + /// + /// Finished Turn of Actor (followed by number) + /// + public static readonly string FinishedTurnPropKey = "FToA"; + + /// + /// Sets the turn. + /// + /// Room reference + /// Turn index + /// If set to true set start time. + public static void SetTurn(this Room room, int turn, bool setStartTime = false) + { + if (room == null || room.CustomProperties == null) + { + return; + } + + Hashtable turnProps = new Hashtable(); + turnProps[TurnPropKey] = turn; + if (setStartTime) + { + turnProps[TurnStartPropKey] = PhotonNetwork.ServerTimestamp; + } + + room.SetCustomProperties(turnProps); + } + + /// + /// Gets the current turn from a RoomInfo + /// + /// The turn index + /// RoomInfo reference + public static int GetTurn(this RoomInfo room) + { + if (room == null || room.CustomProperties == null || !room.CustomProperties.ContainsKey(TurnPropKey)) + { + return 0; + } + + return (int)room.CustomProperties[TurnPropKey]; + } + + + /// + /// Returns the start time when the turn began. This can be used to calculate how long it's going on. + /// + /// The turn start. + /// Room. + public static int GetTurnStart(this RoomInfo room) + { + if (room == null || room.CustomProperties == null || !room.CustomProperties.ContainsKey(TurnStartPropKey)) + { + return 0; + } + + return (int)room.CustomProperties[TurnStartPropKey]; + } + + /// + /// gets the player's finished turn (from the ROOM properties) + /// + /// The finished turn index + /// Player reference + public static int GetFinishedTurn(this PhotonPlayer player) + { + Room room = PhotonNetwork.room; + if (room == null || room.CustomProperties == null || !room.CustomProperties.ContainsKey(TurnPropKey)) + { + return 0; + } + + string propKey = FinishedTurnPropKey + player.ID; + return (int)room.CustomProperties[propKey]; + } + + /// + /// Sets the player's finished turn (in the ROOM properties) + /// + /// Player Reference + /// Turn Index + public static void SetFinishedTurn(this PhotonPlayer player, int turn) + { + Room room = PhotonNetwork.room; + if (room == null || room.CustomProperties == null) + { + return; + } + + string propKey = FinishedTurnPropKey + player.ID; + Hashtable finishedTurnProp = new Hashtable(); + finishedTurnProp[propKey] = turn; + + room.SetCustomProperties(finishedTurnProp); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTurnManager.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTurnManager.cs.meta new file mode 100644 index 0000000..0076919 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/PunTurnManager.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1a1b3bda60e9e804f87fd1e5d20a885a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/QuitOnEscapeOrBack.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/QuitOnEscapeOrBack.cs new file mode 100644 index 0000000..563a77b --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/QuitOnEscapeOrBack.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using System.Collections; + +public class QuitOnEscapeOrBack : MonoBehaviour +{ + private void Update() + { + // "back" button of phone equals "Escape". quit app if that's pressed + if (Input.GetKeyDown(KeyCode.Escape)) + { + Application.Quit(); + } + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/QuitOnEscapeOrBack.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/QuitOnEscapeOrBack.cs.meta new file mode 100644 index 0000000..6133070 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/QuitOnEscapeOrBack.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1fbabafd914a48f4eb6108d8d8f43d29 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ShowStatusWhenConnecting.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ShowStatusWhenConnecting.cs new file mode 100644 index 0000000..e8bf6f4 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ShowStatusWhenConnecting.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using System.Collections; + +public class ShowStatusWhenConnecting : MonoBehaviour +{ + public GUISkin Skin; + + void OnGUI() + { + if( Skin != null ) + { + GUI.skin = Skin; + } + + float width = 400; + float height = 100; + + Rect centeredRect = new Rect( ( Screen.width - width ) / 2, ( Screen.height - height ) / 2, width, height ); + + GUILayout.BeginArea( centeredRect, GUI.skin.box ); + { + GUILayout.Label( "Connecting" + GetConnectingDots(), GUI.skin.customStyles[ 0 ] ); + GUILayout.Label( "Status: " + PhotonNetwork.connectionStateDetailed ); + } + GUILayout.EndArea(); + + if( PhotonNetwork.inRoom ) + { + enabled = false; + } + } + + string GetConnectingDots() + { + string str = ""; + int numberOfDots = Mathf.FloorToInt( Time.timeSinceLevelLoad * 3f % 4 ); + + for( int i = 0; i < numberOfDots; ++i ) + { + str += " ."; + } + + return str; + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ShowStatusWhenConnecting.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ShowStatusWhenConnecting.cs.meta new file mode 100644 index 0000000..a6a7b83 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/ShowStatusWhenConnecting.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 321c592dfcb49cd458c8f2cbe497513d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SmoothSyncMovement.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SmoothSyncMovement.cs new file mode 100644 index 0000000..a19f6fc --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SmoothSyncMovement.cs @@ -0,0 +1,54 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(PhotonView))] +public class SmoothSyncMovement : Photon.MonoBehaviour, IPunObservable +{ + public float SmoothingDelay = 5; + public void Awake() + { + bool observed = false; + foreach (Component observedComponent in this.photonView.ObservedComponents) + { + if (observedComponent == this) + { + observed = true; + break; + } + } + if (!observed) + { + Debug.LogWarning(this + " is not observed by this object's photonView! OnPhotonSerializeView() in this class won't be used."); + } + } + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (stream.isWriting) + { + //We own this player: send the others our data + stream.SendNext(transform.position); + stream.SendNext(transform.rotation); + } + else + { + //Network player, receive data + correctPlayerPos = (Vector3)stream.ReceiveNext(); + correctPlayerRot = (Quaternion)stream.ReceiveNext(); + } + } + + private Vector3 correctPlayerPos = Vector3.zero; //We lerp towards this + private Quaternion correctPlayerRot = Quaternion.identity; //We lerp towards this + + public void Update() + { + if (!photonView.isMine) + { + //Update remote player (smooth this, this looks good, at the cost of some accuracy) + transform.position = Vector3.Lerp(transform.position, correctPlayerPos, Time.deltaTime * this.SmoothingDelay); + transform.rotation = Quaternion.Lerp(transform.rotation, correctPlayerRot, Time.deltaTime * this.SmoothingDelay); + } + } + +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SmoothSyncMovement.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SmoothSyncMovement.cs.meta new file mode 100644 index 0000000..ed3764a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SmoothSyncMovement.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 35144820bcc25444bb8f0fd767d9423e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SupportLogger.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SupportLogger.cs new file mode 100644 index 0000000..39a2ab6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SupportLogger.cs @@ -0,0 +1,109 @@ +using System.Text; +using UnityEngine; +using System.Collections; +using ExitGames.Client.Photon; + +public class SupportLogger : MonoBehaviour +{ + public bool LogTrafficStats = true; + + public void Start() + { + GameObject go = GameObject.Find("PunSupportLogger"); + if (go == null) + { + go = new GameObject("PunSupportLogger"); + DontDestroyOnLoad(go); + SupportLogging sl = go.AddComponent(); + sl.LogTrafficStats = this.LogTrafficStats; + } + } +} + +public class SupportLogging : MonoBehaviour +{ + public bool LogTrafficStats; + + public void Start() + { + if (LogTrafficStats) + { + this.InvokeRepeating("LogStats", 10, 10); + } + } + + + protected void OnApplicationPause(bool pause) + { + Debug.Log("SupportLogger OnApplicationPause: " + pause + " connected: " + PhotonNetwork.connected); + } + + public void OnApplicationQuit() + { + this.CancelInvoke(); + } + + public void LogStats() + { + if (this.LogTrafficStats) + { + Debug.Log("SupportLogger " + PhotonNetwork.NetworkStatisticsToString()); + } + } + + private void LogBasics() + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("SupportLogger Info: PUN {0}: ", PhotonNetwork.versionPUN); + + sb.AppendFormat("AppID: {0}*** GameVersion: {1} PeerId: {2} ", PhotonNetwork.networkingPeer.AppId.Substring(0, 8), PhotonNetwork.networkingPeer.AppVersion, PhotonNetwork.networkingPeer.PeerID); + sb.AppendFormat("Server: {0}. Region: {1} ", PhotonNetwork.ServerAddress, PhotonNetwork.networkingPeer.CloudRegion); + sb.AppendFormat("HostType: {0} ", PhotonNetwork.PhotonServerSettings.HostType); + + + Debug.Log(sb.ToString()); + } + + + public void OnConnectedToPhoton() + { + Debug.Log("SupportLogger OnConnectedToPhoton()."); + this.LogBasics(); + + if (LogTrafficStats) + { + PhotonNetwork.NetworkStatisticsEnabled = true; + } + } + + public void OnFailedToConnectToPhoton(DisconnectCause cause) + { + Debug.Log("SupportLogger OnFailedToConnectToPhoton("+cause+")."); + this.LogBasics(); + } + + public void OnJoinedLobby() + { + Debug.Log("SupportLogger OnJoinedLobby(" + PhotonNetwork.lobby + ")."); + } + + public void OnJoinedRoom() + { + Debug.Log("SupportLogger OnJoinedRoom(" + PhotonNetwork.room + "). " + PhotonNetwork.lobby + " GameServer:" + PhotonNetwork.ServerAddress); + } + + public void OnCreatedRoom() + { + Debug.Log("SupportLogger OnCreatedRoom(" + PhotonNetwork.room + "). " + PhotonNetwork.lobby + " GameServer:" + PhotonNetwork.ServerAddress); + } + + public void OnLeftRoom() + { + Debug.Log("SupportLogger OnLeftRoom()."); + } + + public void OnDisconnectedFromPhoton() + { + Debug.Log("SupportLogger OnDisconnectedFromPhoton()."); + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SupportLogger.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SupportLogger.cs.meta new file mode 100644 index 0000000..7e8b7cc --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/SupportLogger.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9b61c60d38639484ebbd7f2100dd3d08 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/TimeKeeper.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/TimeKeeper.cs new file mode 100644 index 0000000..c2e6f1c --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/TimeKeeper.cs @@ -0,0 +1,62 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Exit Games GmbH, 2012 +// +// +// TimeKeeper Helper. See class description. +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.DemoParticle +{ + using System; + + /// + /// A utility class that turns it's ShouldExecute property to true after a set interval time has passed. + /// + /// + /// TimeKeepers can be useful to execute tasks in a certain interval within a game loop (integrating a recurring task into a certain thread). + /// + /// An interval can be overridden, when you set ShouldExecute to true. + /// Call Reset after execution of whatever you do to re-enable the TimeKeeper (ShouldExecute becomes false until interval passed). + /// Being based on Environment.TickCount, this is not very precise but cheap. + /// + public class TimeKeeper + { + private int lastExecutionTime = Environment.TickCount; + private bool shouldExecute; + + /// Interval in which ShouldExecute should be true (and something is executed). + public int Interval { get; set; } + + /// A disabled TimeKeeper never turns ShouldExecute to true. Reset won't affect IsEnabled! + public bool IsEnabled { get; set; } + + /// Turns true of the time interval has passed (after reset or creation) or someone set ShouldExecute manually. + /// Call Reset to start a new interval. + public bool ShouldExecute + { + get { return (this.IsEnabled && (this.shouldExecute || (Environment.TickCount - this.lastExecutionTime > this.Interval))); } + set { this.shouldExecute = value; } + } + + /// + /// Creates a new, enabled TimeKeeper and sets it's interval. + /// + /// + public TimeKeeper(int interval) + { + this.IsEnabled = true; + this.Interval = interval; + } + + /// ShouldExecute becomes false and the time interval is refreshed for next execution. + /// Does not affect IsEnabled. + public void Reset() + { + this.shouldExecute = false; + this.lastExecutionTime = Environment.TickCount; + } + } +} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/TimeKeeper.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/TimeKeeper.cs.meta new file mode 100644 index 0000000..f8143a1 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/TimeKeeper.cs.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 11b45bfcb19ad694bb6f199fb97642ce +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI.meta new file mode 100644 index 0000000..216c084 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 834768ff8f17e474ca5cac12f496f07a +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/ButtonInsideScrollList.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/ButtonInsideScrollList.cs new file mode 100644 index 0000000..36fe137 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/ButtonInsideScrollList.cs @@ -0,0 +1,55 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Part of: Photon Unity Utilities, +// +// +// Used on Buttons inside UI lists to prevent scrollRect parent to scroll when down on buttons. +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + + +using UnityEngine; +using System.Collections; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace ExitGames.UtilityScripts +{ + /// + /// Button inside scroll list will stop scrolling ability of scrollRect container, so that when pressing down on a button and draggin up and down will not affect scrolling. + /// this doesn't do anything if no scrollRect component found in Parent Hierarchy. + /// + public class ButtonInsideScrollList : MonoBehaviour, IPointerDownHandler, IPointerUpHandler { + + ScrollRect scrollRect; + + // Use this for initialization + void Start () { + scrollRect = GetComponentInParent(); + } + + #region IPointerDownHandler implementation + void IPointerDownHandler.OnPointerDown (PointerEventData eventData) + { + if (scrollRect !=null) + { + scrollRect.StopMovement(); + scrollRect.enabled = false; + } + } + #endregion + + #region IPointerUpHandler implementation + + void IPointerUpHandler.OnPointerUp (PointerEventData eventData) + { + if (scrollRect !=null && !scrollRect.enabled) + { + scrollRect.enabled = true; + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/ButtonInsideScrollList.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/ButtonInsideScrollList.cs.meta new file mode 100644 index 0000000..9e18870 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/ButtonInsideScrollList.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0e8b381f2c05442ca5c01638958156a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextButtonTransition.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextButtonTransition.cs new file mode 100644 index 0000000..55c0700 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextButtonTransition.cs @@ -0,0 +1,45 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// +// +// Use this on Button texts to have some color transition on the text as well without corrupting button's behaviour. +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + + +using UnityEngine; +using System.Collections; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace ExitGames.UtilityScripts +{ + + /// + /// Use this on Button texts to have some color transition on the text as well without corrupting button's behaviour. + /// + [RequireComponent(typeof(Text))] + public class TextButtonTransition : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { + + Text _text; + + public Color NormalColor= Color.white; + public Color HoverColor = Color.black; + + public void Awake() + { + _text = GetComponent(); + } + + public void OnPointerEnter(PointerEventData eventData) + { + _text.color = HoverColor; + } + + public void OnPointerExit(PointerEventData eventData) + { + _text.color = NormalColor; + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextButtonTransition.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextButtonTransition.cs.meta new file mode 100644 index 0000000..43cf251 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextButtonTransition.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d234639538a34b8d9e3cc6362a7afd0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextToggleIsOnTransition.cs b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextToggleIsOnTransition.cs new file mode 100644 index 0000000..81befa6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextToggleIsOnTransition.cs @@ -0,0 +1,68 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// +// +// Use this on Button texts to have some color transition on the text as well without corrupting button's behaviour. +// +// developer@exitgames.com +// -------------------------------------------------------------------------------------------------------------------- + + +using UnityEngine; +using System.Collections; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace ExitGames.UtilityScripts +{ + + /// + /// Use this on toggles texts to have some color transition on the text depending on the isOnState. + /// + [RequireComponent(typeof(Text))] + public class TextToggleIsOnTransition : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { + + public Toggle toggle; + + Text _text; + + public Color NormalOnColor= Color.white; + public Color NormalOffColor = Color.black; + public Color HoverOnColor= Color.black; + public Color HoverOffColor = Color.black; + + bool isHover; + + public void OnEnable() + { + _text = GetComponent(); + + toggle.onValueChanged.AddListener(OnValueChanged); + } + + public void OnDisable() + { + toggle.onValueChanged.RemoveListener(OnValueChanged); + } + + public void OnValueChanged(bool isOn) + { + + _text.color = isOn? (isHover?HoverOnColor:HoverOffColor) : (isHover?NormalOnColor:NormalOffColor) ; + + } + + public void OnPointerEnter(PointerEventData eventData) + { + isHover = true; + _text.color = toggle.isOn?HoverOnColor:HoverOffColor; + } + + public void OnPointerExit(PointerEventData eventData) + { + isHover = false; + _text.color = toggle.isOn?NormalOnColor:NormalOffColor; + } + + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextToggleIsOnTransition.cs.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextToggleIsOnTransition.cs.meta new file mode 100644 index 0000000..a2ae161 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/UtilityScripts/UI/TextToggleIsOnTransition.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec99d371d7c8e44899ce4b834dfd4d6a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/changelog.txt b/Project Undercover/Assets/Plugin/Photon Unity Networking/changelog.txt new file mode 100644 index 0000000..26f77e9 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/changelog.txt @@ -0,0 +1,1016 @@ +v1.86.1 (13. September 2017) +Xbox One: + Fixed: PUN was reverting the Network Protocol to UDP on Xbox One when leaving the Name Server. While it properly logged this ("This Photon3Unity3d.dll only allows UDP. [...]"), it wasn't spotted. Now the protocol stays WSS. + Note: This is a mandatory update for XB1 submission. + +v1.86 (30. August 2017) + Fixed: The fallback thread implementation to always call SendAcksOnly, as long as isMessageQueueRunning is false. This keeps connections from timing out by sending ACKs and Pings as needed. + Fixed: Compatibility with Unity 2017. + Changed: In the PhotonServerSettings, you can now select any of the implemented Transport Protocols for Photon: UDP, TCP and WebSockets. WebGL will always use WebSockets and Xbox One has it available, too. If you want to use it on other platforms, you have to set the define WEBSOCKET and make sure the websocket dll exports to the target platform. + Note: Check your PhotonServerSettings to make sure the (Transport) Protocol setting is valid after updating. + Note: A few files were moved within the Unity project. The Editor should figure out they are moved and updated. If it logs errors about duplicate definitions, look up the location of the class in this package and remove the other. + Updated: PUN to no longer uses obsolete enum values of the Photon library (dll). + Added: tvOS to the meta settings of Assets\Plugins\Photon3Unity3d.dll. + Updated: Photon3Unity3d.dll to v4.1.1.15. See Assets\Plugins\release_history.txt for details. +Xbox One: + Changed: This PUN version only allows WSS communication on Xbox One. A thin native library is used as wrapper for the platform implementation of WSS. + Updated: The warnings/errors for UNITY_XBOXONE for the cases: "No authentication value", "Wrong authentication type", "XSTS token not set for authentication" and "Not using WSS". + + +v1.85 (6. July 2017) +Fixed: Interest Groups IDs are now of type byte for Instantiate (and all related code) as well. This fixes a cast exception. +Fixed: Internal use of NetworkingPeer.IsInitialConnect. It's now reset when the connection fails while connecting. This (currently) affects the "connected" and "connecting" values, which is likely to change. This fix is minimal by design. +Updated: PUN to no longer make use of obsolete enum values of the Photon library (dll). +Updated: Chat API and ChatGui. Now uses a thread to call SendOutgoingCommands, which keeps connections up (except on WebGL, where threading is not available). +Updated: To Photon library v4.1.1.14 with various fixes. See plugins\release_history.txt. + +v1.84.1 (2. June 2017) +Fixed: A minor bug in the Photon3Unity3d.dll, which is now v4.1.1.13. The StreamBuffer.Seek() could fail to seek position 0 when length is 0. + +v1.84 (30. May 2017) +Fixed: PlayerRoomIndexing can now be added at runtime even on non MasterClient instance. master player is now indicated in the inspector. +Updated: NetworkingPeer.RunViewUpdate allocates less memory. +Moved: ReorderableListResources to namespace Photon.Pun to avoid conflicts with other "Rotorz" variants. This is an internal Editor-only change. +Updated: Unity 2017 Support. +Added: Support for a Switch add-on. You need to be certified developer for the platform to get access for this. Contact us by mail: developer@photonengine.com +Changed: SocketWebTcp to handle status changes for the used WebSocket. This fixes uncommon issues in WebGL exports. +Changed: SocketUdp.cs to lock less parts of the DNS / connection setup, which avoids potential freezes. +Updated: To Photon library v4.1.1.12 with various fixes. See plugins\release_history.txt. + +v1.83 (13. April 2017) +Fixed: A bug in the Photon3Unity3D.dll which led to timeouts. The bug was in v4.1.1.10 (PUN v1.82) and is fixed in v4.1.1.11 (now used in PUN v1.83). + +v1.82 (12. April 2017) +Fixed: Memory allocation in OnSerializeWrite(), when the view doesn't write data to the stream. +Removed: Conversion Wizard for very old Unity Networking projects of Unity 4.x. There is no automatic conversion possible for Unity 5.x "uNet" networking. +Moved: hasVoice and hasChat values are now in the general PhotonEditorUtils as HasVoice and HasChat, available to more Photon editor-classes if needed. Also, make sure to use HasCheckedProducts. +Added: RoomOption.DeleteNullProperties. When set to true, the server will delete Custom Room properties, when they are set to null as value. Defaults to off/false but can be really useful to keep the number of room-properties in check. The Photon Cloud update for this is scheduled after the Easter holidays (20th April or so). Before that date, the server will not use the new setting (but clients can prepare to send it already). +Fixed: Room.SetCustomProperties() to delete keys with null as value (the client that was setting the custom props did keep the key/value until until it was updated). The callback OnPhotonCustomRoomPropertiesChanged still has the keys with null values. They just don't get stored in Room.CustomProperties anymore. +Changed: Interest Groups IDs are now of type byte, as used by the Photon servers. It was an integer before but for the wrong reasons. This affects PhotonView.group, PhotonNetwork.SetSendingEnabled() and PhotonNetwork.SetReceivingEnabled(). The method SetReceivingEnabled is replaced by SetInterestGroups(). When you update, make sure to use the correct order of parameters. +Changed: UtilityScripts folder. Some scripts were not useful and got moved or deleted. General clean up. +Removed: PlayerVariables script content. It's completely replaced with the ColorPerPlayer script, which is more versatile. +Added: Checks of mandatory configuration values for console exports to make sure no setting is missing. In doubt, look out for error logs or a NotSupportedException on connect. +Fixed: The server selection "Best Region" now supports clusters, if sent by the Name Server. Clusters are optionally used by Exit Games as set of machines in a region. As before, PUN only stores the best region, not the cluster. The idea is that this automatically selects a fitting region (not a specific cluster). +Added: PhotonNetwork.CloudRegion to make the currently used Cloud Region accessible. This is mostly to expose existing values and to make debugging a little easier. +Updated: To Photon3Unity3D.dll v4.1.1.10 with some additional improvements in terms of memory usage. + +v1.81 (16. March 2017) +Updated: Basic Demo Launcher.cs: removed Log Level setup, it's now done in the Photon Settings. +Updated: Chat Demo ChatGui.cs: removed running in background setup, it's now done in the Photon settings. +Fixed: NetworkingPeer.cs: Fixed Scene Object OwnerShip transfer on late Join. +Fixed: ColorPerPlayer.cs and ColorPerPlayerApply.cs for a more robust connection with PlayerRoomIndexing.cs instance. +Fixed: Ownership handling when returning to a game. +Updated: Setting the log levels via code will now override the logging settings ("Pun Logging" and "Network Logging") from the PhotonServerSettings config. +Updated: Demo Hub scene to better highlight tutorial links versus links to online documentation. +Updated: Link for PhotonAnimatorView trigger doc url. +Added: Callback OnOwnershipTransfered. Called when a PhotonView Owner is transfered to a Player. +Added: Callback OnPhotonPlayerActivityChanged. Called when a remote Photon Player activity changed. This will be called ONLY is PlayerTtl is greater than 0. Check PhotonPlayer.IsInactive for the player. +Added: GetCustomRoomList(). Enables you to fetch a short, filtered list of room names from an "SQL lobby". +Fixed: Basic Demo Launcher: Fixed 5.4+ SceneManager OnSceneLoad callback to not throw errors when coming back to the demo hub +Fixed: ColorPerPlayerApply.cs: Disable routine was not safe and would throw errors +Changed: WebGL exports will now use secure https "GetPing" requests. This enables Best Region for content on https hosting. +Changed: The fallback thread to keep connections doesn't have to run when in offlineMode. +Updated: The Photon assemblies to v4.1.1.9, which includes several fixes. E.g. "WouldBlock Exception" and "BlockCopy Exception". More info is in the release history file for the dll. + +v1.80 (15. December 2016) +Fixed: PhotonTransformView first take routine to take in consideration what to update instead of forcing position, rotation scale no matter what. +Updated: PlayerRoomIndexing.cs to account for potential race conditions when masterClient is transfered and new player joins. SanitizeIndexing() is now in place. +Fixed: Fix ownership management for scene objects when MasterCLient is/was changed. +Updated: Chat demo, with new Friend Status update and message implementation available in the Interface as a friends' List. +Added: "Best Region" support for WebGL exports (uses http to measure roundtrip times). +Fixed: JoinRandomRoom() will now correctly send ExpectedUsers to the Game Server (if any were set in the RoomOptions). This fixes issues when you wanted to reserve slots in a room for other players. +Added: A null-reference check in FindGameObjectsWithComponent(), which could fail in rare cases otherwise. +Changed: Setting RunInBackground is now done in the PhotonSettings file. It's enabled by default but in a few exports, this could lead to issues. +Added: The internal "AuthEvent". This event by the server can now update the client's token anytime (before that expires). Good for longer play sessions. +Removed: Surplus debug log output. +Changed: Public variable- and property-naming to PascalCase (beginning with an uppercase character) in RoomInfo, Room and PhotonPlayer class. The old naming is still available but attributed as Obsolete, so you should update asap. Sadly, this is extra work for everyone but we want to make the API more stringent. +Changed: The PhotonPlayer.name is now .NickName to make it more obvious that this is not the user's ID (and might be changed at will). +Removed: Obsolete PhotonView.observed. Since a while, each PhotonView has a list of observed components instead. If you have a very old (!) project, check your PhotonViews and make sure they still observe the scripts you meant to observe. Newer projects won't be affected. + +v1.79 (18. November 2016) +Changed: PUN will no longer aggregate the data from ALL objects in a group into ONE message. Instead, a maximum of 10 objects will be sent together. The idea is to avoid huge messages, which need fragmentation. Fragmentation needs to be avoided, cause fragments are always reliable (and you basically lose "unreliable" updates when you send too much). There is a new variable for this: NetworkingPeer.ObjectsInOneUpdate. +Changed: As we send a max of 10 gameobject-updates in one message, we can use a byte as type for their ID (instead of short). This minimally saves data but makes this PUN incompatible with older builds. We separate PUN versions for you so there won't be a clash. PhotonNetwork.versionPUN is inserted into your Game Version to separate players. +Updated: PunTeams to keep PlayerPerTeams Listing up to date. +Updated: PlayerRoomIndexing improved consistency across various network contexts. +Fixed: SocketWebTcp for WebGL was time scale dependant and would stop receiving events when Time.TimeScale = 0. +Updated: DemoChat UI reworked to match demo Hub look and feel. +Updated: DemoHub pixel Perfect Canvas fix. +Added: Two more regions: Korea, Seoul (kr) and India, Chennai (in). If you're using the hosting option "Best Region", you may want to update the configuration in your PhotonServerSettings file. +Updated: PunBasics-Launcher demo scene Canvas screensize fix. + +v1.78 (1. November 2016) +Fixed: NetworkingPeer ownership assignment on late join when MasterClient is involved. +Fixed: SetTeam() (in PunTeam) now assigns the team to the target player, instead of the local one. You could use the extension method on any PhotonPlayer (not only on yours). +Fixed: PlayerVariable.cs material assignment to take MasterClient as a special case and avoid color mixup. +New: PlayerRoomIndexing component in Utilities to have simple indexing of Players inside a room. Used in ColorPerPlayer script. +Updated: PunTeams more consistent for PlayersPerTeam content, and now featuring a custom inspector to show Teams assignment to each Player. + +v1.77 (24. October 2016) +Changed: Transfer Ownership requests are now handled a little different. For "takeover", any player's request is successful if taking from the correct, current owner OR when taking from the master client (even though the owner is technically the room). E.g.: You can takeover from actor 1, even when clients registered the object's owner as 0 (null is used for "the room", which is equivalent to "belongs to master client"). +Fixed: late joining would not be aware of ownership transfers. Now owner is matching who sends events. +Updated: The Photon "Demo Hub" to the new uGUI. Setup demos by "Window" -> "Photon Unity Networking" -> "Configure Demos (build setup)" to get all demos in a build. +Fixed: Chat and RPS demo when going back to the demo hub would throw errors, this is corrected now. +Fixed: PhotonViewInspector not setting target to dirty when editing ownershipTransfer +Changed: The "Background Thread" in PhotonHandler will only call SendAcksOnly(), if Update() didn't recently (last 200ms). This makes sure that timeouts are not affected by the background thread (which keeps the client side from timing out for a while). +Fixed: PhotonTransformView DoDrawEstimatedPositionError was not taking in consideration parenting. +Fixed: The RoomOptions.EmptyRoomTtl got set if only PlayerTtl was > 0. Now both values are fully independent. Note: To allow the last player to come back to a room after a disconnect, you need to define a EmptyRoomTtl. Else, the room gets cleared when the last player leaves or becomes inactive. +Updated: Api reference for FindFriends, AuthenticationValues. It should be clearer how the userId is set (and if the playerName gets used at all). +Fixed: An issue in NetworkingPeer.NewSceneLoaded(). It did not clean up correctly in v1.76 on loading scenes. +Updated: PhotonNetwork.BackgroundTimeout. It's now disconnecting (not timing out) and the doc got updated for that. + +v1.76 (21. September 2016) +Fixed: Compatibility with ".Net 2.0 Subset". This can be used again. +Updated: Some minor things to support Unity 5.5 beta. As always, this is work in progress. Let us know if you run into issues. +Fixed: Values in enum DisconnectCause are now assigned with the ones from the lower level StatusCode, so that the values make sense again. +Fixed: NetworkingPeer ReconnectAndJoin procedure by not cleaning up Ip Address on disconnection. +Added: RoomOptions EmptyRoomTtl are now available. You can set how long a room stays in Photon Server's memory before it's being cleaned up or saved/persisted. +Improved: Remove initial drifts on remote PhotonView transform values for ThirdPersonNetwork and PhotonTransformView components. When using these components, the first "life update" defines the position of a GO (instead of lerping there from the instantiate-position). +Updated: The Chat Demo. It has a new text-input command and shows channels and private conversations properly. +Updated: To Photon assemblies v4.1.1.3. which includes a fix for WSA builds. Also, only one WSA compatible dll is used across Windows Store exports (8.1 and 10). + +v1.75 (23. August 2016) +Fixed: The Photon assemblies (.dll) to support IPv6 correctly again. This was broken temporarily in v1.74. +Fixed: UWP assembly. It now contains Photon's Hashtable, as all other libraries do. This fixes Windows 10 UWP exports. +Changed: PhotonMessageInfo is now a struct (was a class). This is less garbage to collect. +Changed: Demo script "ColorPerPlayer" to use less resources. When entering a room, it ignores property-changes until an initial check is done "on join". +Changed: Internally, the ServerSettings class now contains a VoiceAppId field. This allows easier merging with PUN Voice. +Changed: Internally, OnSerializeRead() now re-uses a stream object and just applies new, incoming values to it. This saves a bit of garbage. +Fixed: Compatibility with Unity 5.4, where OnLevelWasLoaded is obsolete and SceneManagement.SceneManager.sceneLoaded should be used to register "on loaded" callbacks. +Updated: To Photon assemblies v4.1.1.1. + +v1.74 (15. August 2016) +Fixed: PUN+ is now compatible with Unity 4.x Free again and can export to iOS and Android as expected. If you have Unity 5.x or 4.x Mobile Pro, you were not affected. +Fixed: TCP Socket for Windows Store 8.1 and UWP. +Changed: Due to upcoming new encryption options, exports now must use API Compatibility Level ".Net 2.0" instead of ".Net 2.0 Subset". We hope this is a minor issue. Let us know if not. +Note: When the Bytecode Stripper fails, see the note above about Compatibility Level. +Added: Optimization if a observed component implements IPunObservable. If so, we use a shortcut to call OnPhotonSerializeView(). This can speed up observed component calling in PhotonViews. +Fixed: NetworkingPeer.HandleEventLeave() inactive state missing masterClient assignement during first leave call (A second leave call will be made after playerTtl expires). +Improved: DemoChat : Exposed FriendsList to the inspector to prevent hardcoded friends references, and allow for easier testing without code modification +Fixed: PhotonEditor.cs: Pun+ plugins libs paths discovery. For Unity 4.7.2, the wizard window detect PUN+ correctly again. +Internal: Changed the workflow for setting up protocols. One method aggregates this now. +Internal: NetworkingPeer.SetupProtocol(). Gets called before each PhotonPeer.Connect(). +Changed: PhotonNetwork constructor no longer sets protocols for special cases. +Updated: The IPhotonSocket implementations to set their "IPv6-resolved" state. +Updated: To new library build with new internal workflow for the "Init Request". +Improved: PhotonPlayer.cs: Implemented IComparable and IEquatable. +Fixed: NetworkingPeer.cs: Check for null view before adding view's GameObject. +Fixed: Room.ClearExpectedUsers() is now sending it's current, local "expected users" to update the server with "CAS" (Check and Swap). This gives the client an update when the values become valid (which updates the local cache after the roundtrip). +Added: link.xml file to preserve some classes from being stripped. This is in Assets\Photon Unity Networking\. +Changed: The name/string of the "OnPhotonInstantiate" callback is now cached once, instead of using enum.ToString() each time. This is a minor performance improvement. +Changed: The initial Dictionary size used in a PhotonView. This stores the the observed components and their methods to call. +Fixed: Compatibility with Unity 5.4 by not adding a MonoBehaviour as Component. Instead, a derived class is used. + +v1.73 (26. July 2016) +Changed: Some variable and field names. PeerState is now ClientState. +Renamed: mAppId is now simply AppId. mAppVersion is now AppVersion. +Renamed: networkingPeer.server is now networkingPeer.Server (uppercase, being public). +Replaced: Most checks of PhotonNetwork.connectionStateDetailed being PeerState.Joined (or not) with checking PhotonNetwork.inRoom. +Added: Regions to the PhotonServerSettings: "sa" South America (Sao Paulo), "usw" USA West (San Jos) and "cae" Canada East (Montreal). If you're using the "Best Region" setting, make sure to include/exclude them as needed. +Fixed: NetworkingPeer:SendMonoMessage() null check before sendmessage to a GameObject that could be null. +PunTurnManager API: + Changed: GetRemainingSeconds() becomes .RemainingSecondsInTurn + Changed: TurnDuration is now a float and defaults to 20 + Added: IsOver() properly implemented + Added: OnTurnTimeEnds interface callback properly implemented + Fixed: RpsCore edited to account for PunTurnManager api changes and additions. +Fixed: NetworkingPeer.RunViewUpdate(), which was sending messages, even if no new updates were written. This got introduced in v1.70 and caused more messages than necessary. + +v1.72 (22. June 2016) +Fixed: When the server address resolves to both, IPv6 and IPv4 addresses, the client will prefer IPv6, matching Apple's requirements. + +v1.71 (15. June 2016) +Fixed: Best Region is now working with IPv6 networks. (It's not supported for WebGL though) +Moved: PunTurnManager moved to UtilityScript folder for reusability when cleaning up demos. + +v1.70 (8. June 2016) +Changed: Serialization methods from MemoryStream to StreamBuffer. This is a light wrapper for a byte[] which provides access to this array. That was not allowed in the Windows Store compatible API. To update, just replace MemoryStream with StreamBuffer in your custom type serialization. +New: PUN Basics Tutorial, available within the Demo Hub. +Updated: Input for some demos now also works with controllers (RPGCamera, RPGMovement and JumpAndRunMovement support this now). +Fixed: Ownership of a PhotonView no longer gets updated when anyone (aside from the owner) sends updates for it. This could cause issues when the (new) owner of an object got outdated updates from another (older) owner. +Fixed: PhotonViewInspector. When ownership gets transferred for scene objects, this shows correctly in the inspector at runtime. +Fixed: PhotonAnimatorView. removed warning thrown during trigger caching checks. +Changed: Delta compression will now re-use some memory, which should be more effective. +Changed: Aggregation of internal OnPhotonSerializeView()-updates is more effective. More memory is being re-used. +Updated: To latest Photon3Unity3D.dll v4.1.0.5. It will no longer fail Windows Store Certification and has several improvements throughout. + +v1.69 (19. May 2016) +Updated: Rock Paper Scissors Demo Scene, featuring fixes for timing and turn management, and implementation of a progress bar to indicate timer +Updated: PUN+ native socket library for Unity 4.7 iOS to support IPv6. +Fixed: PhotonAnimatorView. Triggers now properly synchronized if set to "discrete" mode. + +v1.68 (3. May 2016) +Fixed: The "reset" action of a PhotonTransformView-inspector now works as expected and sets proper, useful default values. +Fixed: PhotonAnimatorView. Layers in Unity 4 where not counted properly, it now lists layers properly. +Fixed: Buffered RPCs can be removed (as expected) from the buffer with RemoveRPCs(). Affected versions were v1.66 and v1.67. Please update those. +Updated: The docs (.chm and .pdf). + +v1.67 (21. April 2016) +Fixed: PhotonAnimatorView, Triggers now supported +Added: PhotonAnimatorView, Live view in Inspector of current Values for parameters +Fixed: Photon Chat for WebGL export. It failed to compile because SocketWebTcp was not found. The PhotonChatApi folder now got moved from Assets\Plugins to Assets. +Changed: If sent by server, UserId and Nickname values are updated (with the server's values). This can be done with CustomAuthentication. All clients always get some UserId assigned by the server (if you didn't set one in the first place). +Added: "Slot Reservation" as feature for matchmaking. +Added: ExpectedUsers parameter in PhotonNetwork methods: CreateRoom, JoinRoom and JoinOrCreateRoom. +Added: Room.expectedUsers. List of users who are expected to join this room. In matchmaking these UserIDs block a slot out of the MaxPlayers. +Added: RoomOptions.publishUserId. This tells the server to publish the UserIds of players in a room. You can use those in FindFriends or when you join/create another room, to reserve slots for other players. +Added: PhotonPlayer.userId. If the server publishes the UserIds of players, you can access the UserId here while being in a room with others. +Internal: Added GamePropertyKey.ExpectedUsers (247) and ParameterCode.NickName (202). +Added: PhotonNetwork.StartRpcsAsCoroutine as optional performance improvement. If set to false, PUN will not attempt to start and RPCs as coroutine. While coroutines are efficient, starting them needlessly is not the best approach either. This defaults to true, which means RPC methods get started as coroutine, if they return IEnumerator. +Changed: Internal handling of RPC methods. Now their parameter list is being cached, instead being fetched every time we have to find an RPC. This uses a limited amount of memory to improve speed of RPCs. To do this elegantly, we extended MethodInfo with a GetCachedParemeters() method. +Changed: AccountService is now wrapped in "#if UNITY_EDITOR" to avoid export to any players. +Added: RoomOptions.PlayerTtl, which can be used when creating a room. If set, a player who disconnects becomes inactive for the defined time, instead of being removed from the players list. This allows the player to join a room. It blocks the player's slot in the room in matchmaking, too. +Added: PhotonPlayer.isInactive. If a Player Time To Live is set, players can become inactive in a room. The PhotonPlayer instance is still present, as if the player were connected. +Added: A client which lost connection, can now rejoin a room quite easily with PhotonNetwork.ReJoinRoom(string roomName). Important: To enable this, a room must have a PlayerTtl != 0 and the client which is rejoining, must use the same UserID as before. +Fixed: The State of a client when it fails to join/create a room on the Master Server. It's now set correctly to either PeerState.JoinedLobby or PeerState.ConnectedToMaster (depending on whether the client was in a lobby or not). +Fixed: The "Open Dashboard" button in the PUN Wizard, which was not working on OSx. +Updated: Usage of EditorUtility.SetDirty() and Undo.RecordObject() in Editor scripts according to Unity 5.3 changes. This should enable undo in most Inspector windows, too. +Changed: PhotonNetwork.BackgroundTimeout no longer calls Disconnect() directly. Instead a normal timeout period is granted after the BackgroundTimeout elapsed. PUN will use the common timeout callbacks (when the app gets active again). +Changed: PhotonNetwork.BackgroundTimeout now defaults to 60 seconds. This keeps all new apps from being connected for longer times in background but allows loading lots of assets and taking short calls, etc. +Changed: Usage of SupportClass is now SupportClassPun to avoid clashes with IL2CPP on some platforms. +Added: RoomOptions.plugins to define which server-side plugins are expected. This is a feature of the Enterprise Cloud and when using the Photon Server SDK (so it's not available in the Public Cloud). +Added: Handling of an "Info Event", which could be used by server-side plugins. EventCode.ErrorInfo is code 251 and PUN will call the delegate you defined in PhotonNetwork.OnEventCall (or log a warning that no delegate was set). This only applies to customized servers (not the Public Cloud). +Added: PhotonNetwork.ReconnectAndRejoin() to be used when a client loses connection while in a room (e.g. when you press the lock button on iOS and then return to the app). +Added: PhotonNetwork.Reconnect() to be used when a client lost connection. Use this only when your client was connected to a region or a game before (to get into the same region). +Fixed: A compile warning about Photon.MonoBehaviour.networkView "does not hide an inherited member" in Unity 5.3.4 and up. The old networking API of Unity is being removed, it seems. +Fixed: PhotonNetwork.time for offline mode. Internal: It now uses the Environment.TickCount, which is similar to the server's timestamps. All usage of time in PUN is now either based on PhotonNetwork.time or .ServerTimestamp. + +v1.66 (21. January 2016) +Important: This might affect your import! The folder "ChatApi" is now renamed to "PhotonChatApi". This way, the folder uses the same name as in our other packages. Remove the "ChatApi" folder, if the import didn't do that for you! +Added: Callback OnCustomAuthenticationResponse to make the data available, that could be sent by a custom authentication server. See description in PunBehaviour. +Fixed: Usage of "networkView" (old Unity Networking) to using photonView (PUN naming) in a script of the Boxes Demo. +Changed: The photonView in Photon.MonoBehaviour is now cached. If you intend to remove a PhotonView from a GameObject without destroying that object, you should modify this accordingly. +Changed: Internally, the PhotonStream now has a object[] for read values. This avoids wrapping them in a List, which saves memory and time. +Added: Support for Enum types in RPC methods. Enums that are based of byte, short or int can now be used as parameters in RPCs. The underlying type has to be serializable by PUN for that. +Internal: CheckTypeMatch() to match "assignable" types to enum values. This is what enables the support for using Enum types in RPCs as parameter. +Fixed: Several scripts in the Demo Synchronization. They now work more like you'd expect. The whole demo is refreshed to a more useful state. +Internal: Refactored RPCs and "Synchronization" updates to waste far less memory and perform better. For that, Hashtables were replaced with simpler object[]. This means, that this client version is completely incompatible with older ones. +Internal: The PhotonStream now has 3 values pre-set. Those are needed in the stream to be sent along with your custom values. This doesn't change anything usage-wise. It also has a object[] which is used for readin values and a List which is used when you write. This is leaner. +Internal: PhotonView.ExecuteComponentOnSerialize() now makes better use of its cache Dictionary. It fetches cached methods with TryFetchValue(), instead of checking for content, then accessing it. +Fixed: PhotonTransformView interpolation for "estimated speed". It was way too slow, because it didn't factor in that there are 10 updates per second. So speed as a value per second is 10 times higher. 10 being the default send rate here. Note that the object can overshoot (the actual position due to this and extrapolation). +Fixed: PhotonTransformView interpolation for "estimated speed" now avoids jitter when joining a game. The initial received position simply defines where the object is (after being instantiated at the position of it's Instantiate message). With the next update, it can begin to move. + +v1.65 (16. December 2015) +Fixed: Potential NullReference Exception when transfering ownership. The PhotonView which gets transfered might get destroyed before the transfer is complete and that case is now handled. +Fixed: PUN Wizard for Unity 5, which incorrectly pointed out that you need PUN+ to export to iOS or Android. This was the case in Unity 4 but it's no longer true. Removed this note. +Fixed: Automatic configuration of the demos, when you import PUN (with demos) into a new, empty project and have no saved (named) scene open. This is done once per Editor only. You can do this in the Editor Main Menu: Window, Photon Unity Networking, Configure Demos. +Fixed: Compatibility with Unity 5.3. The new SceneManager class is re-implemented for our needs for older Editors and the code got adjusted. No "obsolete" warnings anymore. +Added: Useful component to select a color per player (out of a configurable list of available colors). Check out: ColorPerPlayer. +Updated: Boxes Demo. This demo now uses the ColorPerPlayer and ColorPerPlayerApply scripts to colorize each player's cubes. Also, it shows more clearly how RPCs work. There are more tips at runtime, too. +Fixed: Friends And Custom Authentication Demo. A script was waiting for the client to join the lobby, which isn't done anymore by default. Now the UI is fixed to show when connected to the Master Server, where FindFriend() can be called. + +v1.64.2 (6. November 2015) +Fixed: SetCustomProperties in PhotonPlayer and Room classes. It applies set properties locally, unless you do a server-side Check and Swap with expected properties. It also does the callbacks as before (CAS delays the callback by one roundtrip, as the server sets it). In OfflineMode, CAS gets ignored but props stored. +Changed: The Mecanim Demo minimally with a new scene / meshes. + +v1.64 (5. November 2015) +Changed: Online docs are now generated with search enabled. +Changed: Some scripts in UtilityScripts to not use the PhotonNetwork.networkingPeer directly anymore. This improves compatibility when using PUN in UnityScript. +Added: Description how to use PUN from UnityScript. This is in the readme.txt. +Added: PhotonNetwork.ServerTimestamp to expose the low level, synced server timestamp. More doc and usage samples are upcoming. +Updated: SetCustomProperties() in Room and PhotonPlayer classes. There is now an option to "WebForward" the changes. You can setup a WebHook for this in the Cloud Dashboard (or server config). The parameter expectedProperties is still available (optional, too) to check some key-values before updating the properties. +Changed: SetCustomProperties() in Room and PhotonPlayer now update the locally cached Custom Properties, as if the client was online. Note: The callbacks (OnPhotonCustomRoomPropertiesChanged and OnPhotonPlayerPropertiesChanged, respectively) get called immediately by SetCustomProperties(). +Changed: PhotonTransformView*Control classes now also update their internally cached values when sending. When transferring ownership, this gives them a recent value as "last networked update", so smoothing and extrapolation works better. +Updated: To Photon3Unity3d.dll v4.0.0.12. + +v1.63 (27. October 2015) +Changed: The case "no match found" is now logged as Warning, instead of Error. This happens and it was confusing if you used "Break on Error" in the Editor. +Changed: OnMasterClientSwitched handler documentation to make it more clear if the master is still in list or already removed. +Fixed: 2D Demo. There was an issue with a missing script and the layers. The demo no longer relies on the Layers for the "isGorunded" check (as Layers are not existing in Asset Store Packages). +Fixed: A bug that prevented manually instantiated GameObjects (PhotonViews) from being cleaned up when a player leaves. Even if you manually instantiate GameObjects, they get cleaned up, as long as PhotonNetwork.autoCleanUpPlayerObjects is true. The doc is updated. +Changed: Several scripts in demos to handle PUN's both callbacks: OnJoinedLobby() and OnConnectedToMaster(). Which one gets called, depends on the "Auto-Join Lobby" setting in the PhotonServerSettings (default is off / OnConnectedToMaster()). +Updated: To latest Photon3Unity3d.dll v4.0.0.11p1. + +v1.62 (13. October 2015) +Fixed: Clean up of instantiated Game Objects (Clean Up Cache on Leave). This bug was only in v1.61. +Changed: PhotonView.OnDestroy() to not use Application.isLoadingLevel in Unity 5.2 (which makes it obsolete). Loading a level will destroy a GameObject without using PhotonNetwork.Destroy() and that can lead to errors. When loading a level that's ok. The logging got adjusted for this case. +Added: PhotonNetwork.BackgroundTimeout. It defines after how many seconds PUN will close a connection, when Unity called OnApplicationPause(true). By default, this is not active but on Android (e.g.), it can be useful to close a connection when the app is in background for a while. + +v1.61 (17. September 2015) +Added: Option to use an Object Pool. Implement IPunPrefabPool and assign it to PhotonNetwork.PrefabPool. Note: GameObjects will not run Awake() and Start() but PUN will call OnPhotonInstantiate() as if the GameObject would be new. +Changed: The internal state when PUN connected to the Master Server but did not yet authenticate. The server does not allow you to do requests before authenticate and the new state reflects this. This also affects connectedAndReady for that state. +Removed: Obsolete variants of methods: JoinRoom(), CreateRoom(). +Fixed: A bug with PhotonAnimatorView, which could cause exceptions when there was only 1 sample in a "continuous updates" message. +Fixed: Docs for codeAndMessage parameters. The error code is of short type, not int. This applies to some callbacks. Usually, this requires no code adjustments. +Fixed: An issue for AuthenticationValues.AuthType. If you used Object Initialization for this, some types could not be set due to a compiling issue. Now this is a property with a backup field and those work fine. +Changed: PhotonHandler is no longer a IPhotonPeerListener and does not implement those callbacks. They were empty, aside from DebugReturn(). This is now implemented by NetworkingPeer (too). +Updated: Photon assemblies to v4.0.0.11 with various fixes and enhancements. See release_history.txt. +Added: Better description to PhotonNetwork playerList and otherPlayers. +Changed: The Editor field ObservedComponentsFoldoutOpen for PhotonViews is now exclusively available in the Editor. It only stores if the Inspector should show the Observed list or fold it. +Internal: The NetworkingPeer now creates the base without a Listener and then assigns itself to make sure there is one. The externalListener is no longer needed. +Internal: Refactored a lot in classes NetworkingPeer and LoadBalancingPeer. The code is more like that of the LoadBalancing API now. + +v1.60 (30. July 2015) +Added: PhotonNetwork.EnableLobbyStatistics to enable/request statistics about lobbies and .LobbyStatistics as list of lobbies (available while on the Master Server). The list of lobbies is provided as a list of TypedLobbyInfo per lobby, which wraps room- and player-count per lobby (so you can find the active ones). +Added: Callback OnLobbyStatisticsUpdate(). Implement this to be notified when new lobby statistics become available (to update your UI, etc). +Added: PhotonNetwork.QuickResends, which controls a new feature. For reliable messages that got lost, the first few repeats can be done quicker. This improves connection reliability and reduces gaps in case of loss. Only up to 3 resends can be quick. Read the doc! +Changed: Some PhotonNetwork fields that didn't have to be public are now internal, as intended. +Updated: Api reference for PhotonNetwork.playerName, .SendMonoMessageTargetType and .automaticallySyncScene. Also for enum CloudRegionCode and ServerConnection and class WebRpcResponse. +Changed: PhotonNetwork.gameVersion is now a auto-property field (and no longer sets a private field). +Internal: Removed NetworkingPeer.mAppVersion. +Changed: Some "per project" settings are now being moved into the PhotonServerSettings file. Currently, this can be used to set: Auto-Join Lobby, Enable Lobby Stats +Changed: Order of updating internal values when joining a room. The actor list is now updated before we do callbacks. This clean up a reference to our local "dummy" player before we do the "joined" callback. +Fixed: The inspector no longer attempts to update a PhotonView "observed" field to a list while the game is running. This led to ArgumentOutOfRange exceptions (while inspecting at runtime). +Changed: The ChatGui class now contains a Instance field, which you could use from other scripts. It's supposed to be a singleton and to persist across loading levels (which is why it will apply DontDestroyOnLoad() to it's GameObject). +Changed: ChatGui now also disconnects when it's GameObject gets destroyed (OnDestroyed()). +Fixed: ConnectUsingSettings, ConnectToBestCloudServer and ConnectToRegion will only work while the client is not connected. In doubt, use Disconnect() first. +Changed: When the PhotonHandler gets destroyed, it now cleans up the background thread which usually keeps the connection. This hopefully avoids rare freezes of the Unity Editor when closing. +Changed: When switching the protocol, the networkingPeer is being replaced. Now we apply the previously set disconnect timeout to the new one. +Updated: To Photon Unity Assemblies v4.0.0.11. +Fixed: The logical order of assigning a player number when turning on OfflineMode. The callback OnConnectedToMaster be done with PhotonPlayer.ID being -1 but when you join or create a room, the client's PhotonPlayer.ID will be 1 in the callbacks. +Changed: WebGL WebSocket.jslib. The socket.onmessage is now using an arraybuffer to read messages. This should be leaner and is a workaround for infrequent long read-times in Chrome. +Skipped: v1.59 +Chat API: + Added: IChatClientListener.DebugReturn(). This is a breaking change, if you use the interface. Photon lib and chat client log via this method (no logging to console by default). + Changed: ChatClient.CustomAuthenticationValues is now .AuthValues. You can use those values to identify a user, even if you don't setup an external, custom authentication service. + Changed: ChatClient.UserId no longer directly stores the id but puts it into AuthValues. This means, the UserId could also be set via setting AuthValues. + Changed: The API of AuthenticationValues. There is now the UserId and AddAuthParameter() replaces the less general SetAuthParameters() (which only set specific key/values). + Note: All users should have a UserId. You can set chatClient.UserId before you connect, or you can set the AuthenticationValues in Connect(..., authValues) to set a UserId. + Added: ChatChannel.ToStringMessages(), which gets all messages in a single string, line by line. The format is "Sender:Message". + Added: ChatClient.TryGetChannel() to find a channel only by name, no matter if public or private. + +v1.58 (30. June 2015) +Fixed: Compile warning about last remaining reference to RPC attribute (in Unity 5.1) by suppressing the warning. This reference is only in the Editor scripts and works unless RPC gets removed. +Removed: Native socket libs from Unity 5 PUN+ package. The native libraries are no longer useful and keep us from supporting more platforms that are covered by Unity. Using the Socket class in C# is no longer a Unity-license problem. Download from the Asset Store with Unity 5.x to get this package. In Unity 4.x, you still get the Android and iOS (32bit and 64bit) libraries. + +v1.57 (22. June 2015) +Fixed: An issue with the RPC list update, which was still looking for the old RPC attribute. So when you switched over to PunRPC, the list was empty. +Added: Automatic check if the obsolete RPC attribute is in source, to offer an automatic conversion to the new PunRPC attribute. Conversion uses search and replace for [RPC] to [PunRPC] and @RPC to @PunRPC. +Added: PhotonNetwork.ConnectToRegion(), which enables you to connect to a specific region easily. This can be useful when you do your own region selection. +Note: Best Region selection won't work in WebGL exports currently. A fix needs updates on the server side and is in work. +Note: Chat API won't work in WebGL exports at the moment. Delete it from a project which targets WebGL. +Note: PUN+ does not support WebGL at the moment. It requires an update of the lower level APIs which we work on. Unity 5 can export PUN Free to all platforms, so use this as workaround. + +v1.56 (16. June 2015) +Changed: The RPC attribute is now replaced by PunRPC and no longer supported. Search and replace your code for [RPC] and replace it with [PunRPC]. The change is necessary, because the RPC attribute is obsolete in Unity 5.1 (which causes a large amount of warnings at compile time). + +v1.55 (12. June 2015) +Changed: PhotonNetwork.time so that it's always positive, even on iOS 64bit exports. Note: this time value does not start at 0 and it will "wrap around" from 4294967.295 to 0! Use with care - we will implement a better soltion asap. +Changed: ServerSettings.EnabledRegions (for "Best Region" Cloud hosting) now defaults to "all". The old default had the same effect but it was labelled as "none" of the regions (which is not allowed). +Fixed: Re-creation of the PhotonServerSettings file in case you deleted a duplicate. This always created a file in the default location. Now, it does not matter where the PhotonSettingsFile is: If you have one at least, it will be found. +Changed: AuthenticationValues now has a property UserId. You can set a UserId independent from the playerName now. This UserId should be unique per player and does not have to be readable. FindFriends will use this UserId (or one set by a Custom Auth Service). If you don't set it, PUN will use PhotonNetwork.playerName to identify a user. +Changed: AuthenticationValues now uses AddAuthParameter(key, value) to set parameters. Simply call it once for each parameter that your authentication service expects. Changed GUICustomAuth accordingly. + +v1.54 (3. June 2015) +Fixed: In Offline Mode, the NetworkingPeer.mMasterClientId always returns the local player ID. This fixes RPCs in offline mode targeted at the Master Client. +Fixed: WebGL support no longer breaks other platform exports. Download the package from the Asset Store with Unity 5 to get WebGL support (Unity 4 can't handle it). +Changed: WebSockets are now only used for the WebGL platform (in-editor and in export). You can't select WebSockets on any other platform (because we can't support the websocket-csharp.dll on each). +Added: When you select "Best Region" as Hosting Type (in PhotonServerSettings), you can now select the regions that are enabled. Deselect those you don't want to use and they are dropped from the list of available regions (in the client, obviously). +Changed: Setup Wizard. It's now considerably leaner. The idea is to improve the Inspector for the PhotonServerSettings some more. Working but also "Work in Progress". +Fixed: A bug when setting properties via SetCustomProperties(propertiesToSet, expectedValues). Those updates were not sent reliable, so they could get lost and de-sync with any clients. This only affects currently updated clients which used this new feature (since v1.52). Thanks, Lino. + +v1.53 (28. May 2015) +Fixed: Master Client selection for older servers (was broken in v1.52 only). Effectively, if the new features are not present on the server, we use the old client-side workflow. Photon OnPremise is still v3.x and the "Server Side Master Client" feature requires Photon v4. The public cloud servers support this feature already. +Fixed: NullreferenceException in extension method StripToStringKeys(). Extension-methods could be called on objects that are null. +Changed: PhotonPlayer.Find() now re-uses a method that implements finding a player in an effective way. +Changed: SetCustomProperties(propertiesToSet, expectedValues) now requires expectedValues and will not send anything if those are null or empty. Use SetCustomProperties(propertiesToSet) if you don't have props to check. +Changed: Internally used operation GetRegions will now log a warning if the AppId wasn't set. Then the client doesn't get a list of regions. +Fixed: An issue with TCP clients which would fail to connect again, after a disconnect. As before, you should use UDP as default, so most likely you were not affected. Fixed in the Photon3Unity3d.dll. + +v1.52 (22. May 2015) +Added: WebGL support! Select WebGL as export target and PUN will use a special library for WebSockets. This might have some kinks in the Editor-playmode but works well in JS/WebGL exports. Please report issues. Chat should also work with WebSocket. Both use WSS. +Added: Server Side Master Client control. The server now selects the Master Client and sends the current ID to everyone in a room. This is updated when the current master leaves and clients can override this and tell the server who should be the Master Client. This way, the server is authoritative and sending RPCs or events (RaiseEvent) to the MasterClient is deterministic. +Changed: In offline mode, PhotonNetwork.masterClient always return the local player. +Changed: PhotonNetwork.SetMasterClient(PhotonPlayer nextMaster) will attempt to set a new Master Client. It sends the client's current known Master Client and the switch will fail if that's not matching with the server's current Master Client (e.g. if someone else switches the Master Client concurrently). +Internal: Removed older code referring to a custom Master Client, as the server now is authoritative for the Master Client. This affected RpcSecure (e.g.). +Updated: Doc for PhotonNetwork.insideLobby, OnReceivedRoomListUpdate(), OnJoinedLobby() and more. +Added: GetNameServerAddress() which creates host address for Cloud including WebSockets. +Changed: NameServerAddress is now a property using GetNameServerAddress(). +Added: UNITY_WEBGL for RPC class. It's now compiled into WebGL, too. +Fixed: Visibility of OnPhotonSerializeView, according to IPunObservable. +Fixed: OnPhotonJoinRoomFailed callback did not provide the object[] parameter with the detailed cause for failing on the Master Server. Thanks, Chris. +Updated: Platform compilation for Unity 5. There is now a define for major number. As this was not present in early 5.0 versions, we now use: UNITY_5 || UNITY_5_0 +Fixed: PhotonNetwork.player.name now syncs the name with others while in a room. If the name changes, the setter simply sets the local value first, then PhotonNetwork.playerName (which syncs). +Added: PhotonNetwork.RemovePlayerCustomProperties() which must be used with care. It can clear custom properties you set in one room and don't want to use in the next but it won't sync changes. Read the summary and remarks. +Added: Optional caching of a PhotonView's MonoBehaviours for RPCs. This is off by default (as before) but can be enabled with PhotonNetwork.UseRpcMonoBehaviourCache. +Added: PhotonView.RefreshRpcMonoBehaviourCache() for manual refreshing of the PhotonView's MonoBehaviour cache. Only useful when PhotonNetwork.UseRpcMonoBehaviourCache is true. +Fixed: Potential NullReference Exception when a PhotonView has no ObservedComponents list. It can be null, if an existing view was never shown in Inspector. Thanks Don. +Fixed: Issue with PhotonNetwork.time. On 64bit builds and on Mac Editor, this was showing different values than on some other platforms. This should be fixed for Unity 5.0.2p1 and newer (some IL2CPP exports have bugs in EnvironmentTickCount). +Fixed: A special case when you return from a Demo to the Demo Hub, this will now Disconnect you, so the next demo will connect again. The "Return to Hub" button is bottom right in all demos. +Changed: Internally, an encrypted authentication-token by the Name Server is now used as shortcut for authentication on Master- and Game-Server (if available). +Changed: When joining/creating a room, the order of callbacks is now changed a bit. PUN first reads the player props (and calls OnPhotonPlayerPropertiesChanged) and then calls OnPhotonCustomRoomPropertiesChanged. Before, the order was room- then player-props. + +v1.51 (17. March 2015) +Updated: PUN+ with a new native socket lib for iOS 32bit and 64bit. Please note: You need Unity 4.6.3p2 (or newer) to successfully export PUN+ to iOS! Before that "Patch 2" release, the new export did not work with PUN+. +Fixed: PhotonAnimatorViewEditor for compatibility with Unity 5. Now Layers and Parameters can be configured as expected. +Changed: A PhotonView that is created manually (by AddComponent()) will not attempt to register itself with PUN's internal list. Its viewID is 0. When you assign an ID to photonView.viewID, then it will register itself and can be found in PhotonView.Find(id). Make sure your IDs don't clash with IDs used in PhotonViews in the scene (1..999). Best, use PhotonView.AllocateViewID(). +Removed: A debug log in PhotonNetwork.networkingPeer.RegisterPhotonView(view) when you attempt to re-register a PhotonView and it's already in the list. This special case does not need logging. +Updated: Several links to online docs, as the URLs changed. The basis is: http://doc.exitgames.com/en/pun +Updated: Doc of PhotonNetwork.RaiseEvent. The EventCallback description here was wrong. In the callback you get the ID of the PhotonPlayer who raised the event. It might be 0 for "done on behalf of the room". +Fixed: OnPhotonCreateRoomFailed gets the 2 extra parameters (return code and message) in all cases now. +Added: Initial implementation of "CAS for Properties". This allows "Check And Swap" for SetCustomProperties. This should be a nice tool when any client can change a value and you want to make sure only one will succeed (can be picking up a item, making a kill, etc). + +v1.50.3 (14. January 2015) +Fixed: Custom serialization with nested Protocol.Serialize() calls. The change in 1.50 to re-use a MemoryStream has unpredictable results in this case. + +v1.50.2 (13. January 2015) +Fixed: Arrays of Custom Types can be sent again. Serialization failed for (e.g.) Vector3[] and is now fixed. (This is a fix in: Assets\Plugins\Photon3Unity3D.dll and it's platform-specific variants). +Fixed: When leaving a room, GameObjects created by InstantiateSceneObject() will be cleaned up (destroyed). For this, the PhotonViews now have a new (internal!) value isRuntimeInstantiated. Objects loaded with the scene are not cleaned up (as before). +Fixed: Destroying a scene GameObject that was created by InstantiateSceneObject() will not cause joining clients to log an error. Only objects that were loaded with the scene get a buffered Destroy message (for joining clients which load the GO with the scene from disc). +Changed: NetworkingPeer.RemoveInstantiatedGO() now also finds disabled PhotonViews, which is cleaner for destroying the GOs. +Added: PhotonView.RpcSecure(). This variant gives you the OPTION to encrypt an RPC. You should use this rarely but in some cases it makes sense to send your data encrypted. Simply set the "encrypted" parameter to true to do. +Changed: Minor refactoring to avoid frequently creating objects. + +v1.50.1 (17. December 2014) +Fixed: JoinRandomRoom filtering with the expectedMaxPlayers parameter wasn't working properly. If you create rooms with different maxplayer value, you can now filter them as expected. +Fixed: PhotonPlayer could not be sent in RPCs or anywhere. It caused an exception "Exception: Serialization failed. Stream position corrupted.", even though you didn't do anything wrong. +Fixed: PhotonView.viewID initialization. This only affected cases where a PhotonView was added to a GameObject by code at runtime. This was causing multiple different errors. Now the default viewID is 0 as expected by PUN. Before a PhotonView is really usable, it must get a viewID which you generate/select via AllocateViewId(). + +v1.50 (10. December 2014) +Added: Chat Api and Chat Demo. The demo is just a basic UI which shows one option to handle input and commands. It should help you to use the very simple ChatClient functionality to build your own GUI for Chat. This can be combined easily with PUN but it's optional. +Added: Mecanim Support! There is a new component "PhotonAnimatorView" which can be used to synchronize the state of a Mecanim Animator. +Added: PhotonTransformView, PhotonRigidbodyView, PhotonRigidbody2DView. Each offers several options to smooth movement updates. Also check out their code as inspiration how you can implement your own. +Added: New Demos: Mecanim, RpgMovement and 2D Jump and Run. +Added: New feature: Ownership Transfer. +Added: PhotonView.RequestOwnership() and .TransferOwnership(). Per PhotonView you can define if it can be "taken" by anyone or if the owner gets a "request" to hand over control. A PhotonView can also be "Fixed" and not transfer control at all. This is set as OwnershipOption in Inspector. +Added: Callback OnOwnershipRequest() where a transfer could be executed (or rejected). For OwnershipOption.Request, this callback is called on the current owner of the PhotonView in question. It can TransferOwnership() but doesn't have to. +Note: Ownership Transfer would break if you set the transfer-option changes at runtime (as it's not synced). Due to that it's deactivated in Editor when playing. +Added: Events OwnershipTransfer and OwnershipRequest for internal use. +New: IPunObservable and IPunCallbacks define the callbacks of PUN to be easier implemented. +Added: Photon.PunBehaviour which implements all IPunCallbacks. If your scripts derive from this class, they can override the callback methods to implement them. This is easier to write as auto-completion in MonoDevelop and Visual Studio will support you. IPunObservable is not in PunBehaviour - OnPhotonSerializeView() is called too often to have it in all scripts. +Changed: The PhotonView component has now a list of observed components. You can observe one or multiple components per GameObject, which makes it easier to split tasks across some scripts. Of course you can still observe no script at all (if you use RPCs only on that PhotonView). Existing prefabs with PhotonViews are compatible and will be updated. +Changed: SendMonoMessage can now be limited to a specific Type. Instead of calling all MonoBehaviour, you could callback only on Photon.Monobehaviour. Set the Type via: PhotonNetwork.SendMonoMessageTargetType. By default, this is MonoBehaviour (as before). +Added: Option to cache the scripts that get PUN callbacks. With this caching, you can skip expensive FindObjectsOfType() calls when a callback is done. The drawback is that new components won't automatically get the callbacks! They could miss something unless you refresh the caching. Use with care. +Fixed: Issues with RoomOptions when using Object Initializer syntax. For example "new RoomOptions() { isVisible = false };" now actually sets isVisible of the room. We found this is a known issue in Unity, es discussed here: http://tinyurl.com/pnxrc8r . +Added: PhotonNetwork.AllocateSceneViewID() to be able to allocate scene view IDs. Only allowed for a Master Client. +Added: In offline mode, RPCs that are sent to AllViaServer and AllBufferedViaServer will execute locally (immediately). The RPC method will be called in the same frame. Before this, the RPC wasn't called in offline mode for those two settings. +Fixed: Assignment of minimum ViewId for scenes in Editor. The Application.loadedLevelName is not correct in that case, so better use EditorApplication.currentScene to get the name in Editor. Thanks to paulusul from the forum. +Changed: The PhotonNetwork constructor creates a NetworkingPeer based on protocol of server settings. This avoids creating another networking peer, unless you deliberately switch protocol. Debug Level and other settings won't be lost due to SwitchProtocol. +Updated: The Demo for Custom Authentication and Find Friends. It should be a bit easier to use and digest. +Changed: PhotonViewHandler now assigns a ViewID and InstantiationId to views (was using a "SubId"). Scene objects get the same InstantiationId for all views. +Removed: NetworkingPeer.instantiatedObjects. PhotonViews are enough to access all instantiated game objects (even including scene objects). Adjusted NetworkingPeer.LocalCleanupAnythingInstantiated(), .DoInstantiate() and .DestroyPlayerObjects() and PhotonView.OnDestroy() accordingly. +Changed: NetworkingPeer.RemoveInstantiatedGO() to use the creator's ActorNr when cleaning up the Instantiate events. +Changed: ServerCleanInstantiateAndDestroy(). As scene objects are not created via buffered "Instantiate" events, a "Destroy" has to be buffered instead. This is now done automatically. Destroyed scene objects will be destroyed when a player joins late. Also ServerCleanInstantiateAndDestroy() now expects the creator's ActorNr to remove Instantiate events from the server's buffer. +Changed: PhotonView.isSceneView now checks if the creator of an object is 0 (scene). Previously the owner was checked but this can change now. +Changed: PhotonView.isMine now checks ownerId first. On the Master Client, isMine is also true if isOwnerActive is false! This way, abandoned and scene objects fall to the Master Client. +Changed: PhotonView.isOwnerActive checks if the owner is 0 (scene). If so, the owner is never active. This is just a shortcut. +Added: SupportLogger now logs Game Server address when entering a room. +Changed: Some of the internally used classes are now wrapped in a namespace to avoid clashes with other products. + + +v1.28.2 (13. October 2014) +Fixed: PUN now loads the new PunSceneSettingsFile no matter where it is in the project. It can be relocated but it gets by default created next to the PunSceneSettings.cs. +Updated: Included .chm and .pdf documentation files. + +v1.28.1 (26. September 2014) +Fixed: PhotonViewID assignment. This got broken in a subtle way when we added the PunSceneSettings file. Please update. For each scene with any PhotonView in, edit at least one PhotonView.viewID in the inspector and save the scene. + +v1.28 (23. September 2014) +Changed: Compile conditions for WII U should work now! The demos don't run out of the box on Wii U though. You need to adjust some screen settings to get the GUI and input right. +Changed: Ping on native platforms does not disconnect PUN anymore. +Updated: FindFriends documentation. +Added: PunSceneSettings. This allows you to define the minimum value for ViewIDs per scene-file name. This helps to avoid clashes between ViewIDs when switching scenes or loading multiple incrementally. A PunSceneSettingsFile is created and only used in the Editor. Add names of scenes and their minimum ViewID value. Any scene that is not entered, begins at 0. You must edit at any PhotonView in each scene to correct the scene-views! Save the scenes. +Updated: To library v4.0.0.5 which fixes a problem with CRC Checking and reduces the amount of logging it does. See details in the separate release history file. + +v1.27 (15. September 2014) +Updated: Chat can now be used with PUN+ (after a Chat API update)! Updated assemblies and native plugins for PUN+. +Added: ServerSettings for PUN+ will not allow you to use TCP. PUN+ uses reliable UDP. Added a note about this fact in the inspector for ServerSettings files. +Added: When switching the protocol for self-hosted server in ServerSettings, the port is switched to fit the new protocol, unless it was a custom port already. +Fixed: Issue with "Best Region" hosting option and wrong AppIds. In this case, we now disconnect and call OnFailedToConnectToPhoton(DisconnectCause.InvalidAuthentication) and disconnect. Also, no pinging is done in this error case. +Changed: When calling Connect*(null), the PhotonNetwork.gameVersion is not changed. You could set it once in a project and leave it alone in Connect*(). +Added: PhotonNetwork.gameVersion caches the game version that gets set via any of the Connect-methods. This can be useful when a client needs to re-connect. +Internal: The two internal cleanup methods LeftRoomCleanup() and LeftLobbyCleanup() are no longer called from various places but only on disconnect (which happens when you leave a room, too) and LeaveLobby(). This is cleaner internally. +Added: OnConnectionFail callback with the case DisconnectCause.AuthenticationTicketExpired. This is a rare disconnect cause which usually means our server's timing is mixed up or your client uses a very (!) old authentication ticket. Handle this by connecting again (which will do a fresh authenticate). +Changed: The callback OnPhotonInstantiate is now called via GameObject.SendMessage() like any other callback (as listed by enum PhotonNetworkingMessage). OnPhotonInstantiate can be a coroutine. If your implementation has 0 parameters it will be fine, too. +Updated: To latest Photon Unity dll v4.0.0.3. This now tries to tell the server when the client timed out (used in counters to analyze issues) and it uses a newer native-socket-api. This is incompatible with older libs in Assets\Plugins\Android and Assets\Plugins\iOS! Update all when you use PUN+. + +v1.26.1 (11. August 2014) +Fixed: Nullreference Exception on import (due to ServerSettings RPC List). + +v1.26 (11. August 2014) +Added: Demo Pickup! Simple soltion for picking up items in a game. It also has Teams and Scores per player. Some of it is "work in progress" but it should give you a base to extend. +Changed: PUN now uses Photon's "Name Server". Per AppId and region, it returns the Master Server's address to use. This allows us to dynamically move games if we have to. +Changed: Best Region selection. It should now be supported on all platforms that PUN runs on, too. +Changed: NetworkingPeer.AvailableRegions is now a List. It can be populated when connected to the NameServer. When the list is available PUN can send pings to each server and find the best. +Added: Enum CloudRegionCode to be used for Regions. This defines the regions typically available and "none", if no region was set. It's no longer just a string (but we do use the value's name). +Added: Hosting type "BestRegion" which makes the client ping available regions one time and then store the best in the PlayerPrefs. Wait time is minimized that way. +Changed: PhotonNetwork.Friends is now updated when the server's response becomes available (not on request). This avoids cases where the friends are offline for the moment between requesting the update and getting it. Initially, it is null as before. +Changed: PhotonNetwork.Friends is now a List. When you fetch your friend's info, PUN will keep the current list until it got the reply from Photon, then it will replace the current list completely. If you fragment your friend list (because it's very long), you should take care of storing partial updates into some "complete" list yourself. Still, FindFriends blocks further requests until the response is read. +Fixed: Initialization for Room.autoCleanUpField which has to be false by default, even if a PhotonNetwork.autoCleanUpPlayerObjects is true. It defaults to false unless explicitly set to true per room. In v1.25, this could make clients clean up, even if the room-setting (set by just one user) was false. +Fixed: A wrong internal state which treats the initial connect differently to provide help in the logs. +Fixed: How PUN internally re-connects from the new NameServer to connect to the assigend Master Server. As the new technique is not yet used, this did only affect a few select clients. +Changed: Enabled a shortcut for authentication. A server might now summarize our initial authenticate into an encrypted secret for the client. If that's available, the client can send this instead of encrypting the original values again. This speeds up connecting minimally. +Internal: Updated some constants and descriptions. +Added: PhotonHandler.AppQuits which is set in OnApplicationQuit. Helps PUN with app-quits where we never want to re-connect (not even by a clever re-connect script). +Changed: Connect*() will check of AppQuits is true and skips connecting if so. +Changed: PhotonHandler has a OnApplicationQuit() method which will always immediately stop all Threads of PUN. This stabilizes some issues we had in the Editor. +Fixed: LobbyType enum had a wrong value for Default Lobby. If you wanted to create multiple, named lobbies that behave like the default lobby, the server wouldn't provide you room lists as expected. This is now working. +Updated: Description how to redeem a PUN+ code in readme.txt. +Added: OnJoinedInstantiate script (in UtilityScripts folder) for easy-peasy instantiation of prefabs on join (common task). +Added: Interface IPunObservable as definition of OnPhotonSerializeView with parameters. Refer to enum PhotonNetworkingMessage and it's values to find the callbacks PUN uses! They are described and you get an example how to use them. +Added: PhotonPlayer.GetNext() and .GetNextFor() methods. Those are useful when you want to find the next best player, in relation to another. The one that's next after the Master Client or after yourself. +Added: PhotonPlayer.TagObject. It could be used to keep any object which you need in relation to a player. This is not synced automatically! You have to setup relations manually. +Added: PhotonPing class as base for different ping implementations. +Changed: Photon.MonoBehaviour now explicitly ExitGames.Client.Photon.Hashtable. +Internal: PhotonHandler now does some of the work that PingCloudRegions did before. That was a separate Component which is no longer needed really. +Internal: PhotonPingManager uses the new PhotonPing class to ping regions several times. Each region gets it's average ping time set. +Added: Support for Photon Cloud "Region Pinging" on Windows 8 Store, Windows 8 Phone and Linux. +Internal: PhotonHandler disconnect from NameServer when pinging. This avoids threading issues in native lib. +Changed: ConnectToBestCloudServer() is now in all platforms (but not sure if it works). +Added: PlayerScores script. Really just a few extensions to the PhotonPlayer actually. +Added: Sample script that turns a pickup into scores. Implements another event method. +Changed: All demo GUI is now in a separate script. This is like in a proper game or another GUI. +Changed: Due to GUI being somewhere else, access to scores and teams got adjusted slightly. +Added: Drop(pos) for PickupItem. This allows you to drop an item anywhere! Yay! +Added: PickupItemSyncer script which is a temporary solution for sending the pickup item state to incoming players. At the moment, we don't guarantee it's 100% working but you get the idea and can adjust the thing. If no players can join while things are picked up, then this script is not needed. +Note: The PickupItemSyncer is known to be slightly imperfect. There are rare conditions when a player joins and the state is not synced correctly. We are working on a server-side solution, so this is a) temporary and b) an idea how to solve things right now. +Updated: Settings inspector. Options are per hosting type. Added protocol. +Updated: Wizard accordingly. +Changed: For settings, the server address does not have to contain a port. Using defaults. +Added: NetworkingPeer.ProtocolToNameServerPort and made use of it. +Added: Pickup Demo to Hub and pun-demo-build setup. +Fixed: In offline mode, Room.SetCustomProperties and PhotonPlayer.SetCustomProperties will not axctually try to send the properties. Instead, they are updated locally and the callback get called (See PhotonNetworkingMessage.OnPhotonPlayerPropertiesChanged and PhotonNetworkingMessage.OnPhotonCustomRoomPropertiesChanged). +Changed: OfflineMode now uses an internal Room instance which is created in JoinRoom or CreateRoom and set to null on LeaveRoom, Disconnect and when you set offlineMode = false. It can be used to store properties (only locally!). +Added: PhotonNetwork.SetReceivingEnabled(int[] enableGroups, int[] disableGroups) to change multiple interest groups in one call. +Added: PhotonNetwork.SetSendingEnabled(int[] enableGroups, int[] disableGroups) to change multiple interest groups in one call. +Added: Extensions for handling active and SetActive independent of Unity-version. This makes our demos compatible with Unity 3.5.7 and up without using absolete code. +Added: Ability to send WebRPCs. Check out PhotonNetwork.WebRpc method. +Added: Class WebRpcResponse (in file PhotonClasses). +Added: Callback OnWebRpcResponse (see: PhotonNetworkingMessage.OnWebRpcResponse for details). +Added: Error messages on-screen in the "Worker Demo" menu. When CreateRoom, JoinRoom or JoinRandomRoom fail, there is a temporary notice. Not beautiful but you get the idea. +Added: ShowInfoOfPlayer component (in UtilityScripts folder). It's an example how to display the owner's name of networked GameObjects (those with PhotonView). Note that the owner might be "" if you don't set a PhotonNetwork.playerName. Best set it before/at connect. +Added: SupportLogger component (in UtilityScripts folder). Attach to any GameObject in a start scene and it will vital values we need when you have support-questions about your subscription, your CCU usage, etc. We might ask you to run your game with this script. Send the log or at least the output starting with "SupportLogger Info" in doubt. +Added: InRoomRoundTimer component (again: in UtilityScripts folder). It is a simple synchronized timer for rounds. Players who join late can still count down to the end of a round, etc. Check out the code and usage and you should be able to implement state changes on top of this. +Added: ErrorCode.WebHookCallFailed (32752). This can happen when you accidentally use a Turnbased or Chat ApplicationId. It just makes sense to know and maybe check AppID. +Added: LogError for Operations that failed in a WebHook or Server Plugin. This should make it relatively easy to spot situations where an AppId is misconfigured on the server. +Added: Optional object[] parameter for OnPhotonRandomJoinFailed, OnPhotonJoinRoomFailed and OnPhotonCreateRoomFailed. It makes debugging easier. When your callback has this parameter, you get ErrorCode and the debug message. You don't have to implement this new parameter though. It's only interesting in a few cases. +Changed: RaiseEvent can now send events with code 0..199. They also get dispatched when you registered a OnEventCall. Before, eventCode had to be 1 and up which was a unnecessary limitation. +Added: Description for all RoomOptions. +Changed: The RPC-List is now sorted when new ones are added. On refresh, the whole list is sorted, which is more likely to be the same across Editors. +Added: HashCode for RPC-List so you can (more easily) compare them across Editors. +Added: Commented-out potential solution for OfflineMode RPCs which go to all via server. +Updated: Reference documentation. PhotonNetworkingMessage is now well documented, PhotonView.RPC and some others are improved. Also the organization of "General" topics is improved. +Changed: When setting offlineMode to true, PUN now directly calls OnConnectedToMaster. This is the same workflow as if you go online but not into a lobby. There won't be any room-listing in offlineMode, so this hopefully makes sense. +Updated: To latest Photon Unity dll v4.0.0.2. + +v1.25.2 (03. April 2014) +Fixed: ConnectToBestRegion now sets the found best region's address and automatically return to it when leaving a room. This fixes an issue where the server's address becomes empty. +Added: Option to switch protocol while offline: SwitchToProtocol(ConnectionProtocol cp) + +v1.25.1 (26. March 2014) +Fixed: Custom Authentication was failing in v1.25. This version is again compatible with the currently deployed servers in the Photon Cloud. +Note: This version is compatible with v1.25 clients, so no new versionPUN string. + +v1.25 (25. March 2014) +Fixed: Coroutines (IENumerators) are now called via their own script instance instead of the PhotonHandler monobehaviour. This fixes an issue where the IENumerators would continue running even after the script was destroyed. +Fixed: The Demo Worker controller no longer makes the character shake wildly when colliding with others. It was some issue with the grounded flag. This makes movement finally smooth-ish. +Changed: When using JoinRoom with the option to create a room (on demand), it will call OnJoinedRoom in all cases. It will call OnCreatedRoom (only) if it actually created the room. +Changed: PingCloudRegions no longer needs the Socket class. It checks for IPv4 addresses (which we prefer over IPv6 ones) by looking up a '.' in the address. This makes it usable in PUN+. +Changed: NetworkingPeer constructor will set a SocketImplementation when the "no-socket" (PUN+) assembly is in the project. This allows the same code to run with either PUN Free or PUN+. +Changed: The "player comparisons" to check for same ID, not same object (just a bit cheaper). +Removed: Some surplus debug logs from PUN. +Updated: Compatibility with Unity 4 by working around some features that are obselete (but needed in Unity 3.5). +Internal: Renamed AuthValues to CustomAuthenticationValues. +Changed: PeerState (in Enums.cs) no longer has a Connecting and Connected value. Instead we use ConnectingTo*server. Also gone: ConnectedComingFromGameserver. New: ConnectingToNameServer and ConnectedToNameServer. +Changed: In OfflineMode, the PhotonNetwork.connectionStateDetailed is now PeerState.ConnectedToMaster and PeerState.Joined when in a Room (after join, before leave). Before it was: "Connected". +Added: Compatibility with "NameServer", which will be contacted by clients to find a suitable MasterServer. This will allow the Photon Cloud to dynamically put applications on separate MasterServers. Self-hosted Photon instances will not have a NameServer soon, so this step is optional. +Added: PhotonNetwork.UseNameServer, which is false by default for now. It activates using the NameServer for ConnectUsingSetting(). +Added: Internally used NetworkingPeer.GetRegions method. It gets a list of regions from the NameServer (to be able to ping them). NetworkingPeer.AvailableRegions and .AvailableRegionsServers will store the result of that. +Added: PhotonNetwork.Server. The ServerConnection enum lets you know which type of server the client is connected to. +Changed: PhotonNetwork.Connect is now .ConnectToMaster and explicitly skips the NameServer to connect to a specific address. +Changed: Internal code of PhotonNetwork and NetworkingPeer due to some refactoring and the new states needed for NameServer. +Added: PhotonNetwork.JoinLobby and PhotonNetwork.LeaveLobby, which were lpong overdue to leave/join the lobby on demand. Make use of PhotonNetwork.autoJoinLobby, too! +Fixed: When authentication failed, the state Disconnected could not be reached and the client could not re-connect anymore. It could get stuck being 'Disconnecting'. +Changed: PingCloudRegions according to changes with connect process and using settings. +Changed: PhotonNetwork.connected is now true even while the client is switching servers! Only if you are disconnected or not yet connected, this is false. This should be what you want to know in most cases, when you just need a "yes/no". +Added: PhotonNetwork.connecting which is true until you successfully connected to any Photon server when you called ConnectUsingSetting (or one of it's alternatives). +Added: PhotonNetwork.connectedAndReady which is true when you can call operations like Join, Leave, etc. Note: You can call most operations only on a specific type of server, so even when connectedAndReady is true, you can't call Join while in a room on the GameServer. +Changed: PhotonNetwork.countOfRooms is always returning the statistic value we get from the Master Server (before: it returned the number of listed rooms in lobby). +Added: OnFailedToConnectToPhoton(DisconnectCause cause) is now also called when the AppId wasn't ok. DisconnectCause is then: InvalidAuthentication. +Changed: PunStartup script will do a "demo setup" only once in any Editor, saving the success in EditorPrefs. Still, it only runs if no (saved) scene was loaded and the build-setup is empty. If so, we load the hub scene and setup the build settings, so you can test all demos. This should be less annoying than before. If you don't want this at all: Delete PunStartup.cs. +Changed: The "Windows" menu "Photon Unity Networking" is now a submenu. This allows you to setup your project build settings and open the "Hub Scene" anytime you want. The PUN Wizard is also still opened from here (or ALT+p). +Changed: The callback OnPhotonPlayerPropertiesChanged now has an object[] as parameter! This way, we can also give you the properties that were changed. Due to limitations in GameObject.SendMessage, we are using a object[] instead of two parameters. Please adjust your code accordingly. If you implemented this method, it will now break until you fix it. See description in Enums.cs, enum PhotonNetworkingMessage, OnPhotonPlayerPropertiesChanged. +Changed: The callback OnPhotonCustomRoomPropertiesChanged now has an optional parameter: Hashtable propsThatChanged which contains the key-values that you set by calling SetCustomProperties. If you implemented this method before, it will still be called but without the new propsThatChanged (obviously). +Internal: When destroying a GO locally, we don't check for a valid instantiationID anymore. This improves the cleanup. Changed in RemoveInstantiatedGO. +Changed: Instantiate will now check if you are in a room and fail if you are not. In offline mode, you can also "join" a room. The reason for this check: Anything instantiated outside of a room is not going to by synced later on or might even conflict with networked objects in the room. The bool value PhotonNetwork.InstantiateInRoomOnly can be set to false, to skip this check. +Internal: Private method VerifyCanUseNetwork is simpler now. The property connected checks everything that was (also) checked in VerifyCanUseNetwork. +Added: New value PingCloudServersOnAwake to PhotonServerSettings. Only if this is true, a client will automatically ping our Photon Cloud regions on start and find the best regions (even before you call PhotonNetwork.ConnectToBestCloudServer). The result is saved in a player preference but not used when the client connects to a specific region anyways. Due to that, the default setting is now "disabled" (false). ConnectToBestCloudServer will simply start pinging when you need it. +Changed: Many PhotonNetwork methods now return a bool which tells you if the action (Photon-term: operation) will be send or not. A returned true value usually only means that some operation was sent to the server and doesn't guarantee that it will be executed successfully on that machine. So: Callbacks are as important as before but you can detect more easily if you (e.g.) tried to JoinRandomRoom when you actually can't at that moment. PhotonNetwork.connectedAndReady can be checked before you simply try to send operations. +Changed: PhotonNetwork.Destroy to enable you to destroy GameObjects while not in a room. By default GameObjects of one room get destroyed when you leave it. Useful if you disabled autoCleanUpPlayerObjects. +Added: PhotonNetwork.CrcCheckEnabled and PhotonNetwork.PacketLossByCrcCheck. The first makes PUN use a CRC checksum per package, which is overhead but adds security against broken datagram data. The latter counts how many packages this client got and rejected, because the content-checksum wasn't correct. This prevents issues in some cases, where hardware or software errors corrupt UDP data coming from the server to the client. You can switch while not connected and the server will also check a CRC (but you can't get access the counter for packages dropped by server). +Added: PhotonNetwork.MaxResendsBeforeDisconnect. Defines the number of times a reliable message can be resent before not getting an ACK for it will trigger a disconnect. Default: 5. It's limited to 10 but you should not really need to go higher than 6. +Added: Initial support for RaiseEvent. This offers something similar to RPCs but is independent of PhotonViews. The events only contain what you send! To get those events, you need to register a callback method (it's not using SendMessage). Some advanced features are not yet exposed fully (like Interest Groups). +Added: Documentation of PhotonTargets values (used in RPCs). +Added: New options for RPCs. When you want all clients to execute an RPC, it's usually sent to everyone else and executed locally instantly. With PhotonTargets.AllViaServer you can actually send the RPC to yourself through the server. This makes sure that those RPCs are executed in the same order on all clients. It's the order in which they arrive on the server (which is still depending on timing and ping, of course). This also works with buffered events. You should use this where needed only, as it causes extra traffic. +Added: "Typed Lobby" and "SQL Lobby" support. You can now create multiple lobbies and split room-listings according to your own needs. The default lobby (empty name and type "default") still works as before. +Note: The lobby type defines how a lobby behaves and which options it provides. There are only 2 types currently. The new SQL-Lobby provides more options for filtering in JoinRandomRoom. The "default lobby type" is what was used so far and works with a Hashtable of key-values that a room must match. +Changed: PUN will now store the lobby that is in use or was used last as PhotonNetwork.lobby. If you join a lobby "map1" and create a room, this room usually gets attached to the "map1"-lobby (unless you call CreateRoom with another lobby). PhotonNetwork.lobby can have a value, even if you are not joined/active in a lobby! It only changes when you set PhotonNetwork.lobby directly or use JoinLobby(typedLobby). +Added: Parameter "typedLobby" to JoinLobby, JoinRandomRoom and CreateRoom. If this parameter is null, the current lobby is not changed. If you never used any lobby explicitly, then the default lobby is used. +Added: Classes TypedLobby (a combination of lobby name and lobby type) and enum LobbyType, which contains the two currently possible types. TypedLobby.Default points to the default lobby (no name, default-type). +Added: JoinRandomRoom has a new parameter sqlLobbyFilter. This parameter is a sql-like string which allows more fine grained filtering with pre-defined properties. +Changed: When autoJoinLobby is used, it will now return to the lobby that was used last (for creating or joining a room). Of course, this joins the default lobby as before, if no other lobby was used explicitly. +Added: PhotonNetwork.OnEventCall to get a callback when your custom events are received and executed. Custom event codes must be below 200. Implement your method as EventCallback delegate. +Added: New class RoomOptions. This wraps up some of the options that a room commonly needs to be set. Visible, closed, MaxPlayers and some others no longer need to be individual parameters of CreateRoom and JoinOrCreateRoom. +Changed: JoinRoom(name, createIfNotExists) is now JoinOrCreateRoom(string roomName, RoomOptions options, TypedLobby lobby). The "createIfNotExists" is set implicitly and you now have the room options and can set a lobby. The latter 2 parameters are used only if you create a new game! This means: Only player ID 1 sets room props with JoinOrCreateRoom (player 2 and up just join). +Changed: If you set automaticallySyncScene = true and call PhotonNetwork.LoadLevel on the Master Client, PUN syncs the level-id before loading the level locally. If loading takes a while, you might notice that everyone else starts loading a bit earlier. +Added: Documentation as Compiled HTML Help (.chm) as well. The PDF might be removed in later updates. + + +v1.24 (18. October 2013) +Changed: CustomTypes is now endianness independent and also streamlined +Added: New synchronization mode "Unreliable On Change". It's basically a mixed mode which uses unreliable when things change. When the data doesn't change, it's sent a last time in a reliable mode, so everyone gets the final state for sure. Then, similar updates will be skipped. This can be applied to anything observed: Transforms, Rigidbodies and even scripts. +Changed: The new "Unreliable On Change" observe mode is the default for any new PhotonView. Existing PhotonViews on prefabs are not changed but you might consider doing this for objects that might stop moving / change. +Added: New internal values for PhotonViews. +Added: JoinRoom option to create a room if it doesn't exist currently. +Changed: JoinRoom calls OnCreatedRoom() if the room was created due to JoinRoom() option "createIfNotExists" +Added: Room.SetPropertiesListedInLobby() to set the list of properties sent to a lobby. This is useful when createIfNotExists creates a new room and you want specific properties shown in the room listing. +Changed: PingCloudRegions and RPC class conditional compilation to: #if !(UNITY_WINRT || UNITY_WP8 || UNITY_PS3 || UNITY_WIIU) +Updated: To new Photon assembly v3.2.2.1. + +v1.23.1 (7. October 2013) +Fixed: PhotonHandler nullreference crash on mobiles when using offlinemode +Change: PingCloudRegions.closestRegion is now public so that the developer can check this and possibly limit the amount of used regions (useful when not enough players) +Fixed: issue with Editor input fields (in wizard) which didn't repaint unless focus was changed +Added: Note how to get rid of auto-setup and loading of the hub scene. + +v1.23 (27. September 2013) +Changed: Unity 3.5.7 is the lowest supported Unity version (again)! +Changed: The Windows Store and Windows 8 Phone libraries are now hidden from Unity 3.5 in a unitypackage. They will automatically unpack in Unity 4.2 to get available seamlessly. +Updated: To new Photon dlls: v3.2.2.0. These contain a lot of changes and updates. +Changed: NetworkingPeer.SendMonoMessage() to optionally just use a list of GameObjects as target of PUN callbacks: PhotonNetwork.SendMonoMessageTargets. That saves performance and FindObjectsOfType() calls at the cost of maintaining the list manually. +Added: PhotonNetwork.SendMonoMessageTargets and description. +Updated: Demo Synchronization + Fixed: Issue with Lerp interpolation + Added: Explanation (a.k.a. comments) of what we do how and why in CubeLerp.cs +PUN Plus Only + Added: PUN+ check and property "isPunPlus" in PhotonEditor. + Added: PUN+ note in Wizard that export to mobiles will be done with native sockets. + +v1.22.3 (6. September 2013) +Note: This is a minor update improving connection-stability when loading stuff or grabbing the player-window by it's title bar for a while. +Changed: PhotonHandler now always runs a background thread to keep a connection alive - no matter if loading assets or not. This makes the connection less dependent on the engine's Update calls. Check PhotonHandler methods StartFallbackSendAckThread, StopFallbackSendAckThread and FallbackSendAckThread if you need control over this or the Thread gets in your way. It should not bother you usually. +Changed: Due to the new background Thread, PhotonNetwork.isMessageQueueRunning only controls if incoming messages are dispatched (executed) and if this client creates new updates for the other clients and sends them (while IsMessageQueueRunning == false, the OnPhotonSerializeView calls are paused and nothing is sent by a client). +Added: description of PhotonView.isSceneView +Changed: Internally, the editor script to add demos to the build is more flexible. Adding new stuff is easier for us. + +v1.22.1 (13. August 2013) +Fixed: M2H Demos. They were missing a change from callback OnReceivedRoomList() to OnReceivedRoomListUpdate(). +Removed: PhotonServerSettings.asset which contained an appid. Will be disabled soon. +Changed: Worker Demo now has two scenes and uses PhotonNetwork.LoadLevel(). Mind the PhotonNetwork.automaticallySyncScene = true in Awake() to enable this feature! +Changed: Description in Hub scene minimally. +Changed: InRoomChat to have a "Send" button, as mobile clients (e.g.) don't have a proper "enter". (Despite this, the Demos are not optimized for mobile) + +v1.22 (08. August 2013) +Added: Windows 8 Store and Windows Phone 8 support! +Note: In the player settings are checkboxes for all kinds of rights: Check "Internet Client". +Note: Build "D3D C# solution", not XAML. +Note: Before you update an existing project, delete PUN's "library" folder which contains Photon3DotNet.dll. This package has new libs in the "Plugins" folder in the root of the project. +Note: Ping does not yet work on Win 8, so ConnectBestRegion is not usable on those platforms. PingCloudRegions is excluded from those builds. +Changed: Windows 8 RT and Phone no longer support the standard Hashtable class, so we replaced it. PUN now uses Photon.Hashtable on all platforms to keep porting effort a minimum. +Note: Add this to the "usings" part of your CS scripts: using Hashtable = ExitGames.Client.Photon.Hashtable; +Changed: Our Photon3Unity3D.dll is now has to be in Assets\Plugins\. It has two alternative builds for Windows 8 Store and Phone (in specific subfolders). +Todo: When you update an existing PUN version, remove the "library" folder in your project first. The dll that's in there moved but Unity won't do this for you when importing this package. +Changed: We are now using Unity 4 to upload this package to the Asset Store. Aside from the new platform-folders (for Windows RT and Phone), the code should basically still run in Unity 3.5. Mail us if you need support for Unity 3.5: developer@exitgames.com +Added: Several helpful, basic components +InRoomChat: Basis component for chat. Has a list of lines (you could limit it), can be aligned to bootom of screen and is controlled by using "Enter" key (focus, send + unfocus). +ConnectAndJoinRandom: Simple component with instant matchmaking! This ignores room names and room properties but you can copy or extend it at will. +MoveByKeys: On GameObjects you control, this will apply keyboard movement by keys WASD. It disables itself if the GameObject is owned by a remote player. Todo: Re-enable this component on Scene objects when the Master client changes. +SmoothSyncMovement: Very basic movement smoothing script to be used on a GameObject with PhotonView. To setup: Ass component and PhotonView to GameObject. Drag and Drop SmoothSyncMovement component (that on the GameObject or Prefab) to PhotonView observe field. +Changed: AuthenticationValues can now have AuthPostData (needed for some communities which have huge session tokens). Use SetAuthPostData with either byte[] or string parameter. +Added: CustomAuthenticationType enum values for Steam and Facebook. + +v1.21 (10. July 2013) +Added: Lite version of the PUN Guide by M2H +Changed: Moved all demos to "PUN/Demos/" folder +Changed: Destroy methods and operations for those. Cleanup of workflow. This might break your game on update from previous versions. Keep an eye on Destroy usage if it mis-behaves after an update. +Removed: Support for Transform sending as custom type. It's technically impossible to create a Transform without a Unity game object, so we can't replicate them. Instead, send Position, Rotation and Scale where needed. +Changed: DisconnectCause to more explicit names. TimeoutDisconnect is now: DisconnectByClientTimeout. DisconnectByServer is now: DisconnectByServerTimeout +Added: Feature to override/set a Master Client manually. Default Master Client selection will trigger when a Master leaves and only this "default" selected Master Client can assign another one via SetMasterClient(). +Added: PunEvent.AssignMaster as internal event to override the current master client. +Internal: Changed implementation of CheckMasterClient(). Should be a bit cleaner and leaner. +Internal: Renamed PhotonNetworkMessages to PunEvent. This is usually only used by code in PUN's classes, not in your game. +Fixed: When a game uses Connect with a server-address, this is set as MasterServer address and after playing a game, the client will return to that server. This fixes the case when you don't use ConnectUsingSettings(). +Internal: GameVersion and PunVersion are combined for the (internal) virtual-app version string, they are now separated by underscore: '_'. +Added: PhotonNetwork.ResentReliableCommands. It can be an indicator for bad connections and as such is helpful during issue analysis. +Updated: To Photon client lib v3.2.1.4, containing a few minor fixes. + +v1.20 (19 April 2013) +Added: Features "Find Friends" and "Custom Authentication" plus (simple) demo. +Added: PhotonNetwork.FindFriends(string[] friendsToFind) to be used with (external) friends lists. If all users set their names before connecting, they could be found using this method and it's possible to join their games/rooms. +Added: OnUpdatedFriendList() can be implememented by your game to get a call when FindFriends() finished. Also see PhotonNetworkingMessage.OnUpdatedFriendList for info. +Added: PhotonNetwork.Friends property which will provide the result of a FindFriends call (takes a roundtrip to the server). +Added: FriendInfo class for the friends list (filled with names when FindFriends is called and getting updated with online status and room names when result was received). +Internal: Authenticate now sends the playername if not null or empty. This allows tracking of players and in which room they are. +Added: PhotonNetwork.ConnectToBestCloudServer() to connect to the region with the lowest averaged ping. PingCloudRegions MonoBehaviour is used to actually do the pinging. +Internal: Converted all visible text to string variables in PUN Wizard class. To be translated. +Fixed: Converter for Network.GetLastPing(player) and Network.CloseConnection(player,bool). They now get converted into their closest variants in PUN (which doesn't sync each player's ping) +Internal: The Extension class now explicitly uses SupportClass == ExitGames.Client.Photon.SupportClass, avoiding some name clash with other libs. At the same time, that class is now the only place where the SupportClass is used. +Internal: Renamed "utility" component DontDestroyOnLoad to TestDontDestroyOnLoad. Now filename and classname are identical again and this avoids another name clash with other projects. +Internal: Player properties are no longer sent if the actorNumber is < 1. While in room, the actorNumber is always > 0. +Updated: Reference doc (the PDF in this package). +Added: PhotonNetwork.FetchServerTimestamp to have that method available +Added: PhotonNetwork.ServerAddress to access this directly (but only as getter) +Changed: The ServerSettings field is now public (to be able to read and show settings) +Internal: ServerSettings file now has an enum CloudServerRegion. Used as names-list and in a few methods +Added: PhotonNetwork.ConnectToBestCloudServer(gameVersion) to connect the region with best ping. The PingCloudRegions script automatically pings available regions once, then saves the results in the PlayerPrefs. Currently this is enabled by default. + +v1.19.3 (12. April 2013) +Fixed: DemoSynchronization was missing a script on the CubeInterpo (game object) +Fixed: OfflineMode for all overrides of CreateRoom() will now call both OnCreatedRoom() and OnJoinedRoom(). +Fixed: Inspector for PhotonViews now makes the Editor save every change in the component. Before, prefabs were overriding (linked) objects in the hierarchy/scene. +Changed: PhotonViewInspector now shows if the (local) client is controlling a GameObject (via PhotonView). + +v1.19.1 (14. March 2013) +Fixed: Calls to OnMasterClientSwitched are now re-enabled. They went missing in 1.18, it seems. If a proper player was master before, then OnMasterClientSwitched is called when a new master was picked. + +v1.19 (14. March 2013) +Updated: PUN Wizard for setup and help. +Added: Editor key shortcuts. For PUN Wizard: ALT+P. To add PhotonView: ALT+V. +Added: PUN Wizard button to select the PhotonServerSettings file in project (to have a look at the config and RPC list). +Added: Wizard shows a note when iOS or Android Pro licenses are not available. Ignore if you don't build for those platforms. +Added: Context menu for PhotonView Components to open the PUN Wizard. +Added: Demo Hub scene to select the different demos. +Added: Demo "Boxes" and "Synchronization". +Updated: Marco Polo Tutorial. This "result" is slightly different from the online tutorial. Read it's readme for details. Also uses the current "Monster" asset from Asset Store (minus some surplus scene, geometry, etc). +Added: PunStartup. On import this Editor script opens the Hub scene (if no scene is open) and adds all demo scenes to the build settings (if no scenes are in the list). +Fixed: OnPhotonSerializeView was fired for playerpropertychange. +Changed: Log entries for failed random matchmaking. It's perfectly ok that sometimes no room is available, so that is no Error. +Changed: Instead of sending RPC names, PUN now compiles an index of RPC-methods and sends a shortcut (just a byte). RPC searching is done in-Editor. Currently a byte is used as shortcut, enabling 255 distinct RPC methods. PUN can be modified to use short or int as shortcuts (look up comments "LIMITS RPC COUNT"). +Changed: ServerSettings class is extended by the RPC-List. The PhotonServerSettings asset will be updated seamlessly if this new PUN version is imported. Copying the new class file over older ones will erease your settinsg and you might need to edit them again. +Changed: RPC calls without parameters are now a little more compact, cause the key for parameters is skipped. + +v1.18.2 (18. February 2013) +Updated: To a new Photon Client library (v3.2.0.1) which includes a fix for disconnects caused by network simulation. +Fixed: A potential endless loading-loop on the master client, when using level synchronization +Added: callback for changes to custom room properties and changes to player properties + +v1.18 (31. January 2013) +Note: Open all scenes that have PhotonViews and just save them again. + +Changed: The script PhotonViewPrefabApply is updated into an empty file. The file is obsolete (and just included to make upgrades from older versions more smooth). +Changed: PhotonView.cs is no longer in a folder "Extension". On import to existing projects, Unity will update the correct file but new projects have the PhotonView directly in the Plugins folder. You can move the file in Unity's project window and remove the "Extension" folder. + +Added: enable PhotonNetwork.automaticallySyncScene for automatic loading of the correct scenes. Simply join a room and all clients will always open the same scene as the MasterClient. +Fixed: IENumerators are now called via their own script instance instead of the PhotonHandler monobehaviour. This fixes an issue where the IENumerators would continue running even after the script was destroyed. +Added: Error logging in case a PhotonView (on any network instantiated object) is not being destroyed by PhotonNetwork.Destroy() or similar. GameObject.Destroy() on those items will break networking! +Fixed: Some places where old instantiate IDs were probably used in PhotonNetwork.Destroy(). +Added: Caching for Resources used by Instantiate. PhotonNetwork.UsePrefabCache can be used to turn this off, while PrefabCache lets you access the individual Prefabs (you could remove specific ones if needed). +Note: The new Instantiate-Resource caching should perform better on mobiles when a few prefabs are instantiated over and over. +Removed: Callback OnReceivedRoomList(). If you implemented this method, we instead call OnReceivedRoomListUpdate() now in all cases the room list is refreshed (no matter if new or just updated). Seems easier. +Changed: Callback OnMasterClientSwitched() is now only called when the master client actually switcheds, not when the master client value is initialized (when entering a room). +Changed: LevelPrefix is now applied to PhotonViews (GameObjects) when they get instantiated or loaded into a scene and then they don't change again. They are sent in instantiate, too, so remote instances use the same (not the prefix someone else set). +Note: Despite the LevelPrefix, PhotonViews with the same ViewIDs will "collide" as we store those by viewID only. +Renamed: PhotonNetSimSettingsGui class is now called PhotonLagSimulationGui. The name often collided with "PhotonNetwork" in an IDE's auto-completion. When upgrading existing PUN versions, you can delete the old file "PhotonNetSimSettingsGui.cs" +Changed: Internal system to allocate viewIDs. The new system is much simpler and saves performance at runtime. +Fixed: LevelPrefix for RPCs in ExecuteRpc() is now cast correctly. +Fixed: PhotonNetwork.countOfPlayersOnMaster was returning PhotonNetwork.countOfPlayers instead just those on master server (looking for rooms/games). +Fixed: PhotonNetwork.Destroy for anything owned by a player who already left. This affects you only if autoCleanup is disabled by your game. +Fixed: OfflineMode for PhotonNetwork.Disconnect() now resets the state and calls events (leaving room, disconnect) as you know it by online mode. +Changed: If you use OfflineMode, this now ends (!) when you call PhotonNetwork.Disconnect(). +Added: NetworkView groups are now using Photon's new Interest Group feature (new server SDK v3.2 and up required). This might save some bandwidth but might also lead to inconsistant states (when ignoring essential RPCs accidentally). Check out "Using Groups in PUN" topic in the PDF. +Added: New ErrorCode constants: MaxCcuReached and InvalidRegion. +Added: DisconnectCause values: MaxCcuReached and InvalidRegion. +Added: OnConnectionFail() is now also called in case of Photon Cloud MaxCcuReached (the callback OnMaxCcuReached() is still called but maybe you want to handle these similar errors in one method). +Added: OnConnectionFail() is called in case of "Invalid Region". +Changed: RPCs are now also called on a script that inherits the RPC implementation from a class it extends. Internally, ExecuteRPC() doesn't use BindingFlags.DeclaredOnly in type.GetMethods() anymore to achieve this. +Internal: NetworkingPeer fields renamed: mPeerCount is now: mPlayersInRoomsCount and mMasterCount is now: mPlayersOnMasterCount. +Internal: PhotonViewID and PhotonView both got a new property OwnerActorNr, to fix removing items owned by players who left. +Added: Alternative random matchmaking rulesets! Instead of filling up rooms asap, you can distribute players across available games. This might make sense when there's a high maxPlayer value per room and players cooperate / can join anytime. +Added: enum MatchmakingMode with options for random matchmaking +Internal: ParameterCode.MatchMakingType +Added: matchingType parameter to OpJoinRandomRoom() +Removed: OpJoinRandomRoom(expectedGameProperties). It was exclusively used internally and obsolete. +Changed: The converter now also replaces NetworkStateSynchronization with PUN's ViewSynchronization enum. +Changed: Converter will now turn Network.InitializeServer into PhotonNetwork.CreateRoom (was converting to .JoinRoom). +Updated: To new client library (Photon3Unity3D.dll) with some fixes. +Fixed: Manual viewID allocation is now more stable. It works only for player-owned objects. Use AllocateViewID() and UnAllocateViewID accordingly. If you manually assign viewIDs, RPCs on instantiated objects will fail until you do. You need to destroy those objects, too. +Changed: Default cap of unreliable updates per dispatch is now 40. In cases with many unreliable synchronized objects, the previous default of 20 resulted in choppy updates. +Changed: PhotonServerSettings.asset can now be moved to any 'Resources' folder. The Photon Wizard detects if more than one exists (when opening the window) and warns you if there are more than one file. +Internal: The PhotonHandler now uses Time.realtimeSinceStartup to check intervals for updates and sending. Each time that updates are produced, they are sent immediately (reducing local lag). +Internal: The hidden GameObject for the PhotonHandler script should only be created once and not be saved in the scene. This is taken care of with DestroyImmediately now, for any surplus duplicates of this object. + +Known Issue: When you load a new scene, all instantiated GameObjects are destroyed only locally but not on the server. Anyone who joins the room later on still creates those GOs. To work around this, PhotonNetwork.Destroy your instantiated game objects before loading a new scene. Or use: PhotonNetwork.RemoveAllInstantiatedObjects(player). +Known Issue: Changing the group of a PhotonView is only done locally and not synced. + +v1.17 (27. September 2012) +Note: this version has breaking changes! don't try to use it with clients with older PUN versions +Updated: PUN version string to "1.17" +Updated: client library (the dll) to v3.0.1.14. This fixes an exception and adds some better iOS 5 udp-socket fixes (see release_history.txt) +Fixed: Player list checking when client joins. The client now first checks the local player-list with the list from server. Then calls OnJoinedRoom. (was: the other way round) +Fixed: observing a rigidbody via a PhotonView was bugged (velocity and angular velocity were mixed up) +Changed: PhotonNetwork.SetLevelPrefix() is now short typed. It practically never happens that you have more than 32k levels (and short saves a bit of traffic) +Changed: Reliable delta compression now uses a different format and is a bit leaner +Changed: The data you produce in OnPhotonSerialize is sent is now sent completely and uncompressed, if the length of it changes to previous sends. If length doesn't change, we assume the data content and order is same as last time +Internal: OnPhotonSerialize data is trasported in a hashtable in: key 1 original, 2 compressed, 3 list of "true" null values (when using compression) +Internal: Instead of overriding compressed data[] into Hashtable key 1, this now uses key 2 (and removes key 1). this makes it easy to decide if anything was compressed at all +Internal: PhotonView.lastOnSerializeDataSent and .lastOnSerializeDataReceived are now object[] +Internal: OnSerializeWrite now uses an int-array to send view ID, timestamp and level-prefix +Added: output for ping + variance to PhotonStatsGui (in health values) +Added: Event / callback method OnPhotonMaxCccuReached. This is called when the CCU limit for your title is reached (this means: either a Cloud subscription limit or a Photon Server license limit is reached) +Changed: OnPhotonMaxCccuReached might be called after authentication. When it was called, PUN will automatically disconnect. The player might re-try later on. + +v1.16.2 (3. August 2012) +Fixed: version 1.16 didn't compile for non-Editor environments because the ServerSettings used EditorClasses but is needed at runtime +Internal: In SendMonoMessage, replaced List with HashSet which has a constant lookup time for .contains +Changed: Some foreach into for loops + +v1.16 (3. August 2012) +Updated: To being a Unity 3.5.3 package +Updated: To Unity 4 compatibility +Fixed: In-room player list didn't include players who didn't set any properties (no name and no custom properties) +Fixed: PhotonViewInspector now displays owner as null if not set, instead of showing the PV as sceneView +Updated: To new client lib. This is now thread safe, which means that a thread could call SendOutgoingCommands in intervals, as fallback when Update() is paused for too long +Updated: Usage of the lib's NetworkSimulationSettings property (this is an internal change) +Updated: Some links in the Setup Wizard window became outdated and are now fixed +Updated: InstantiateSceneObject to use FindObjectsOfType less often, which improves performance +Changed: Methods that are intended for PUN-internal use are now becoming internal or private instead of public. Public methods and classes are the ones really meant for game development +Internal: RemoveAllInstantiatedObjects now also (re)sets the cacheInstantiationCount to 0 +Internal: Updated to new account service +Internal: PhotonEditor was modified to be extended and customized. Saves if the setup wizard did open at least once. Also gets less updates. +Added: JoinRandomRoom overload to use expectedCustomProperties. These can filter which properies a room must match to join it randomly. +Changed: Documentation to be generated from code and topic files. This provides a complete reference documentation. The pdf is still the best option for a single-file document. +Changed: Documentation was extended. "Timing for RPCs and Loading Levels" and the topics about the GUI elements available is new. +Updated: The optional GUIs are now draggable windows and a bit cleaned up +Changed: ServerSettings class has another value that needs serialization (maybe this means your serverSettings will have to be re-written after update). +Updated: PUN version string to "1.16" + +v1.15 (11. June 2012) +Fixed: PhotonMessageInfo.timestamp. The conversion of the sent ms-timestamp to a second-based timestamp double value was imprecise +Fixed: Room-filtering for join random room did not work, cause a parameter code was wrong. Now, filtering works as expected. +Changed: The Marco Polo Tutorial is no longer packaged but in a sub-folder of PUN. The scene/project for this is complete but in best case, you still work through the tutorial pdf. +Added: short paragraph about the tutorial-result being in the PUN package to tutorial text +Changed: OnFailedToConnectToPhoton is now called when the connection could not be established, OnConnectionFail is called when a established connection fails. The difference between both is sometimes minimal. In either case, OnDisconnectedFromPhoton is called afterwards, too. +Changed: description of PhotonNetworkingMessage.OnDisconnectedFromPhoton, PhotonNetworkingMessage.OnConnectionFail and PhotonNetworkingMessage.OnFailedToConnectToPhoton according to above's changes +Added: Warnings to log console when connections fail (showing the current address and a hint what might be wrong) +Changed: If a script doesn't write any data to the stream in OnPhotonSerializeView(), then this view's update is not sent. This allows you to skip updates from within your own logic. Simply don't fill anything into the stream. +Changed: Only when DeltaCompression is active, copies of sent and received data are cached. You can't change a PhotonView's synchronization method on the fly (that didn't work before, either). +Fixed: MarcoPolo-Tutorial: audio was missing +Updated: PUN version string to "1.15" +Updated: to latest client lib v3.0.1.11 (some fixes from previous builds) + +v1.14 (08. May 2012) +Fixed: OnSerializePhotonView is always ONLY called when at least one other player is connected. This is by design. What has changed is that offlineMode will now also no longer run OnSerializePhotonView. +Fixed: Duplicate IDs when duplicating Scene PhotonViews (they are now updated correctly). +Improved: When connected to the lobby, countOfRooms is based on the room list length for improved update rate. +Fixed: When the connection 'breaks', via a disconnect call the network state will be reset properly. This mainly fixes the behaviour of iOS apps going to the background (which drops the connection). +Fixed: Bug which kept authorize from being encrypted. Authorize encryption is now enabled by default. The AppId is now only sent in the op authorize (v1.14.2) +Updated: PhotonStatsGui. This simple component can be attached to gameobjects and shown with shift+tab. It now shows gaps in send- and dispatch-intervals. If those go beyond a few milliseconds, the game FPS obviously stutters which might cause connection issues. +Updated: doc for ActorProperties, ErrorCode, GameProprties, EventCode, ParameterCode, OperationCode. +Updated: Internally used client library to latest release v3.0.1.6 +Updated: PUN version string to "1.14" +Internal only: + Renamed: OpCreateGame is now OpCreateRoom, OpJoin -> OpJoinRoom, OpJoinRandom->OpJoinRandomRoom OpSetPropertyOfGame -> OpSetPropertyOfRoom + Renamed: ParameterCode.ActorProperties -> ParameterCode.PlayerProperties + Renamed: ParameterCode.GameId -> ParameterCode.RoomName + +v1.12 (18. April 2012) +Fixed: playerList and otherPlayerList are now updated when the local player's id changes. In 1.10, this caused issues when leaving a room +Fixed: Extension method for Hashtable StripKeysWithNullValues(), used to remove properties set to null +Fixed: Custom properties which are set to null, are now synced and removed everywhere +Added: PhotonNetwork.SetPlayerCustomProperties to make actor properties more comfortable + + v1.10 (16. April 2012) +Added: Info on how to activate Photon Cloud Subscriptions that are bought through the Assset Store (this currently requires a mail by you). See readme.txt +Fixed: OnLeftLobby is now called as expected +Fixed: OnLeftRoom is now called as expected (also on disconnect from game server) +Fixed: OnSerialize issue with null as object +Fixed: PhotonNetwork.time now keeps it's precision even with high values for ServerTimestamp (fixed it's casting). This will update every ~15ms by default. +Changed: playerList and otherPlayerList now return Player[] instead of List (simpler conversion) +Changed: Optimized playerList and otherPlayerList. They are now cached and only created when some player is added or removed +Added: PhotonNetwork.insideLobby +Added: Comments for enum PeerState +Added: In PhotonServerSettings you can now chose Offline mode +Removed: PhotonNetwork.Instantiate(GameObject go, ...) variant. Use a resource name instead (folders work). +Removed: PhotonNetwork.Destroy(int). Use PhotonNetwork.Destroy(PhotonView) instead. +Added: Vital Network Statistics. These will help analyze issues with client-to-server communication by provinding (limited) insight in the client's timing. See below. +Added: PhotonNetwork.NetworkStatisticsEnabled, .NetworkStatisticsReset and .NetworkStatisticsToString to control and get the vital stats. +Fixed: OnFailedToConnectToPhoton() is no longer called for any connection loss but only while the connection is being established. Note: OnDisconnectedFromPhoton is called, too, to let you know when the connection is closed. +Added: enum DisconnectCause for OnFailedToConnectToPhoton and OnConnectionFail +Added: new callback/MonoEvent OnConnectionFail. This provides a DisconnectCause that hints at the cause for a connection loss. Note: OnDisconnectedFromPhoton is called, too, to let you know when the connection is closed. +Added: Wizard now has a button to bring you to the Photon Cloud's Dashboard page (login) +Fixed: An issue where Unity recompile (any file) caused the PhotonServerSettings to be wiped if the Wizard was open +Updated: documentation JoinGame -> JoinRoom +Updated: client library to a intermediate version (not yet released but improved with new features): v3.0.1.305 +Updated: to client lib v3.0.1.3 and added related release_history.txt +Fixed: removed 3.5+ compile warnings about PrefabUtility + +v 1.9.6 (20 March 2012) +New: PhotonNetwork.InstantiateSceneObject to spawn scene based objects that persist even if the current master client drops (usefull for AI etc.) +Workaround: calling LeaveRoom in Disconnect to prevent a rare bug where players get stuck in room while being disconnected. +Improved: offline mode will now also fire OnJoinedRoom after calling CreateRoom +Fixed: No null playerName when using offline mode +Fixed: MC and ID's not set correctly after switching from offline mode to online + +v1.9.5 (05 March 2012) +New: Delta compression has been added to the observe option of reliable PhotonViews. This greatly reduces the network bandwidth. +Fixed: OnLeftRoom error. +Fixed: Stats timer didn't reset +Moved: OnPhotonSerializeView and OnPhotonInstantiate to enums.cs (PhotonNetworkingMessages) + +v1.9 (27 February 2012) +Fixed: Bugfix for cleanup after a player left. (bug introduced in 1.8) +Fixed: PUN viewID assignment after conversion from Unity Networking +Added: More checks to validate PhotonViews (PhotonViewIDs are stripped from Prefabs but GOs in the Hierarchy must have one). +Removed: Removed TODO's from PhotonNetwork and made Destroy behaviour more consistent: Players can only destroy objects that they own, the master client can destroy everyones objects. +Changed: PhotonNetwork.Instantiate now requires a PhotonView at the root of a prefab +Changed: PhotonNetwork.Destroy(GameObject go) required the gameobject to be created via PhotonNetwork.Instantiate +Added: Summary and Example for each of the PhotonNetworkingMessage values (each names a "callback" method used by PUN) +Added: PhotonNetwork.Instantiate overloads which take a prefab's Name to instantiate. You no longer need to pass a GameObject for a asset that's in the Resouces anyways. +Changed: PhotonNetwork.GetRoomList() now returns RoomInfo[] instead of a Room[]. Simply change the type! RoomInfo a different class but behaves like the rooms did. +Added: RoomInfo class, as base for Room. The RoomInfo is what you get in room listing: PhotonNetwork.GetRoomList() and you can't modify RoomInfo (you're not yet in those rooms) +Added: Room.SetCustomProperties() and PhotonPlayer.SetCustomProperties() to add/update custom properties to players or rooms. The key of those must be string! You can't currently delete customProperties from the server (but set them null). This is likely to change. +Added: Room.customProperties and PhotonPlayer.customProperties as getter for the custom properties you set. These sync once set. +Changed: Custom room properties are no longer automatically listed in the lobby! see CreateRoom() note below. +Added: CreateRoom() overload that takes string[] propsToListInLobby as last parameter. This defines which custom properties of your room get into the lobby. By default no other props get listed. So if you want to set "map" and have that in the lobby, apply it by CreateRoom(). +Added: Check if values are changed more than a minimum before they are sent. Floating point precision for positions and rotations cause many updates and messages, so these thresholds help skip updates that are too tiny to notice. See note below. +Added: PhotonNetwork precisionForVectorSynchronization, precisionForQuaternionSynchronization, precisionForFloatSynchronization properties. +Added: Option to not join the lobby and respective callback. Use PhotonNetwork.autoJoinLobby to set and implement OnConnectedToMaster() instead of OnJoinedLobby(). You can join random games, create or join named games just fine, without the lobby. +Changed: PhotonNetwork.autoCleanUpPlayerObjects is now done by server and can be set per room. In a room, all clients adhere to the room's setting (as set when the first player calls create). This should solve some rare issues due to racing conditions. The Master is not doing extra work anymore for this. +Added: Room.autoCleanUp. This property tells each client if the room actually cleans up buffers for players that leave. Set when the room is created to the then current value of PhotonNetwork.autoCleanUpPlayerObjects. +Changed: PhotonNetwork.autoCleanUpPlayerObjects fires an error when changed while in a room +Fixed: isMasterClient and PhotonNetwork.masterClient for some rare conditions. +Fixed: PhotonPlayer.ToString() returned null, if no name was set. This now returns "". +Added: PhotonNetwork.unreliableCommandsLimit which could be used to fine tune how many of the most recent unreliable messages should be dispatched while the rest is skipped. This has a useful default, so you don't really have to care. +Added: Initial version of PhotonStatsGui script, which shows messages total and for a interval. This is giving a first impression of the message-usage of your games. This will be extended. +Added: Profiler samples to SendOutgoingCommands and DispatchIncomingCommands. These tell you how often they run (in some frames only) and how long. +Changed: Internally, SendOutgoingCommands() is now called as long as there are outgoing commands queued. This will produce UDP packets when absolutely needed but stabilizes the connection, especially when joining games and getting a lot of messages. +Changed: The connectionStateDetailed is now changed before PUN calls your OnFailedToConnectToPhoton(), so you could re-connect from inside of that method. +Updated: To Photon Unity3d client lib v3.0.1.1 + + +v1.8 (25 January 2012) +Added: changelog tp PUN package +Fixed: a bug that occured when calling a PhotonNetwork.Instantiate in the same frame after calling a PhotonNetwork.Destroy. +Changed: InitializeSecurity made obselete. requestSecurity is now true per default, this will encrypt authenticate(the APPID etc.) All normal messages (RPC etc) are NOT encrypted ATM. +Removed: instances of GAME to ROOM inside PhotonNetwork.(Please mind isNonMasterClientInGame' -> 'isNonMasterClientInRoom') +Added: new statistic: PN.countOfPlayersInRooms +Changed: OnPhotonPlayerDisconnected is now called AFTER possible MasterClient switch +Changed: OnPhotonPlayerDisconnected is now called AFTER the playerList (and playercount) has been updated: The player is first removed from the playerlist. +Changed: OnPhotonRandomJoinFailed is now properly called after RandomJoin failed because an empty room was accidently joined. Previously OnPhotonJoinRoomFailed would be called instead. +Changed: PhotonNetwork won't generate a player name. Instead the Worker Demo does this when no name was applied yet. (player names are synced automatically when set) + +v1.7: +Changed: renamed "Room" to "Game" in event/callback methods for OnPhotonCreateGameFailed and OnPhotonJoinGameFailed. This is important to adjust! +Changed: PhotonViews are now usable via Awake() on any script (previously they were setup between Awake and Start) +Fixed: No more broken connection if Join/Create/JoinRandom/LeaveRoom is called during connection or disconnection: an error is logged instead. +Changes: cacheInstantiationCount is ONLY reset in LeftRoomCleanup() if autoCleanUpPlayerObjects is true +Fixed: cacheInstantiationCount is now caompared to ushort.MaxValue (with u in ushort) +Added: New GameVersion argument to Connect*, plus new PUN version. These version strings make sure only clients that use the exact same game version AND PUN version will be able to play together. +Added: Information about versioning in documentation +Changed: Unregisters allocated viewIDs after PhotonNetwork.Destroy* +Fixed: Compatibility with Unity 3.5 (excluding Flash export for the time being) +Changed: Destroy was sent twice for views in some cases. Cleaned up. As this was no real bug, this is no fix. +Updated: to new client lib (v3.0.0.9) +Fixed: Relatively rare encryption issue which led to a disconnect. + +v1.6: +Updated: Client library to v3.0.0.8 which brings important fixes and some Unity-targeted performance optimizations +Changed: Default update rate is 10/second now, which is a better standard (send-rate stays at 20/second) +Changed: During disconnect, operation responses are now ignored. Example: Join a random game, then disconnect before entering the room. This now disconnects you (instead of getting you in the room). +Changed: Internals how the PhotonStream works. This is now leaner and faster and is the first step to optimized syncing +Note: This is incompatible with previous PUN versions. Don't run separate PUN versions in one game + +v1.5: +Fixed: Background thread now starts when message queue is paused (for loading something, by setting isMessageQueueRunning to false) +Fixed: Destroy(gameObject) now removes the instantiate from the server's cache +Fixed: Some of the Log output was not included in "more verbose" log levels +Updated: Client library to that of Photon Unity SDK v3.0.0.7 which uses less memory and gives you some performance if your game causes a lot of traffic +Removed: some obsolete values +Added: LoadbalancingPeer class and moved aroud some other classes. The goal is to extract some classes for general use in DotNet (without Unity, if needed) +Note: If you want to host your own Photon server please update to Photon 3 SDK RC7 (it has some memory fixes, too) +Note: Destroy() for views is not yet working for players who join late into existing games. This is not a buffered action. We're on it. + +v1.4.1: +Re-Submit same package to asset store. + +v1.4: +Fixed: Caching of RPCs and Instantiates. This is a major fix, affecting all situations where players join a room where RPCs and Instantiations were done previously. This fix is "hidden" by the API, so no code changes are necessary in a game. +Changed: The new cache is no longer cleaned by the server if someone leaves. The "MasterClient" will delete another user's RPCs and Instantiations, when someone leaves (unless auto cleanup is turned off). +Changed: Internals of RPCs and Instantiates. Their events are streamlined and contain only data that's not a default value. This is incompatible with v1.3 clients. +Fixed: Position and rotation synchronization is now done local to the object. This helps with positions relative to ancestor objects. +Fixed: PhotonNetwork.Destroy(). +Improved: If you disable the message queue (while loading levels), a thread will keep the connection alive. Timeouts are less frequent this way. Use isMessageQueueRunning. +Improved: The framework now discards older incoming unreliable updates. By default, everything past the newest 20 unreliable updates (like pos syncs) gets skipped. Reliable data is not affected. +Changed: RPC calls now can be called without any parameters (null), too. +Added: PhotonNetwork.SendOutgoingCommands() which is useful to send RPCs before the client will load (and suspend sending) for a while. +Updated: To new Photon client library v3.0.0.6. + +v1.3: +Changed: MasterClient handover: When leaveing a room, the MasterClient becomes null. It only is available inside a room. +Changed: PhotonNetwork.time is now a double with millisecond precision and always positive. It's 0 at server-start and goes up to ~4294967, where it will overflow to 0 again. This happens every ~49 days. +Fixed: A call to Disconnect() while not being connected set a state that made it impossible to Connect() later on. +Changed: Connect() is only possible when disconnected. Disconnect() is only allowed when the client is connected. +Added: enum PhotonNetworkingMessage now contains all method names that could be called by our framework (in no particular order). Check it's description. +Changed: A few internals to improve performance and reduce object creation (and save some GC calls). Example: SendMonoMessage(). +Updated: client library is now from Photon Unity SDK v3.0.0.5 +Changed: PhotonNetwork will now limit incoming unreliable messages to 20 instead of dispatching everything. This can cause gaps in updates but lets a client catch up much faster after loading a level (which pauses dispatching of incoming events). +Fixed: Converter will now make JS scripts extend Photon.MonoBehaviour after conversion. +Updated: PhotonView and inspector to also handle scene views on disabled objects. Before, these could collide easily. Please give feedback, if PhotonViews cause errors. + +v1.2: +Fixed: DemoWorker, random double spawn bug fixed. Loading the same scene and scripts caused initialization errors +Fixed: LevelPrefix bug for newly spawned PhotonViews (after setting the prefix) +Fixed: OnDestroy message +Fixed: Suppressed error messages when setting a name when not connected. +Fixed: Master client handover fixed +Fixed: SetSendingEnabled() and SetReceivingEnabled() which was doing the opposite of what you expected. +Added: CreateRoom now has parameters for: maxplayers, visible and open +Added: Room.maxPlayers, .open and .visible will now be synced and affect the lobby +Added: PhotonView OnSerialize now only runs on scripts on active gameobjects +Added: PhotonVIew.isMine also returns true on scene objects for the masterclient +Added: Server setup wizard, which offers instant access to a cloud account +Added: Server settings file + +v1.1: +Fixed: Server "Access Denied" issue on start on XP machines. +Fixed: observing classes that inherit Monobehaviour, but not directly. +Fixed: scene view ID errors when using prefabs (APPLY from scene to project) diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/changelog.txt.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/changelog.txt.meta new file mode 100644 index 0000000..e35d233 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/changelog.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 612a7d8fb44bb994d90d9c0fa1408703 +labels: +- ExitGames +- PUN +- Photon +- Networking diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/link.xml b/Project Undercover/Assets/Plugin/Photon Unity Networking/link.xml new file mode 100644 index 0000000..e3f39df --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/link.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/link.xml.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/link.xml.meta new file mode 100644 index 0000000..850d94d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/link.xml.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: cecd4a32eba31cd4393c185e20824bfc +TextScriptImporter: + userData: diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/readme.txt b/Project Undercover/Assets/Plugin/Photon Unity Networking/readme.txt new file mode 100644 index 0000000..dc39d07 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/readme.txt @@ -0,0 +1,96 @@ + +Photon Unity Networking (PUN) + This package is a re-implementation of Unity 4's Networking, using Photon. + Also included: A setup wizard, demo scenes, documentation and Editor extensions. + + +PUN & PUN+ + PUN is the free package of Photon Unity Networking. Export to iOS or Android from Unity 4 requires Unity Pro Licenses. + PUN+ contains special native plugins that allow export to mobiles from Unity 4.x Free. You also get a Photon Cloud subscription upgrade. See below. + Unity 5 does not restrict export to mobiles. + + +Android and iOS Exports + See "PUN & PUN+" + iOS: Set the stripping level to "Strip Bytecode" and use ".Net 2.0" in the player settings. + More aggressive stripping will break the runtime and you can't connect anymore with PUN Free. + + +UnityScript / JavaScript + PUN is written with C# in mind primarily. + To use PUN from UnityScript, you need to move some folders in your project. + Move both folders "PhotonNetwork" and "UtilityScripts" to the Assets\Plugins\ folder. + from: \Photon Unity Networking\Plugins\ + and: \Photon Unity Networking\ + to: \Plugins\ + Now PUN compiles before UnityScript and that makes it available from regular UnityScript code. + + +Help and Documentation + Please read the included chm (or pdf). + Online documentation: http://doc.photonengine.com/en/pun + Exit Games Forum: http://forum.photonengine.com/categories/unity-networking-plugin-pun + Unity Forum Thread: http://forum.unity3d.com/threads/photon-unity-networking.101734/ + + +Integration + This package adds an Editor window "PUN Wizard" for connection setup: + Menu -> Window -> Photon Unity Networking (shortcut: ALT+P) + It also adds a commonly used component "PhotonView" to this menu: + Menu -> Component -> Miscellaneous -> PhotonView (shortcut: ALT+V) + When imported into a new, empty project, the "PunStartup" script opens the "demo hub" and setup scenes to build. + + +Clean PUN Import (no demos) + To get a clean import of PUN and PUN+ into your project, just skip the folders "Demos" and "UtilityScripts". + UtilityScripts can be useful for rapid prototyping but are optional to use. + "Important Files" are listed below. + + +Server + Exit Games Photon can be run on your servers or you can subscribe to the Photon Cloud for managed servers. + + The window "Photon Unity Networking" will help you setup a Photon Cloud account. + This service is geared towards room-based games and the server cannot be modified. + Read more about it: http://www.photonengine.com + + Alternatively, download the Server SDK and run your own Photon Server. + The SDK has the binaries to run immediately but also includes the source code and projects + for the game logic. You can use that as basis to modify and extend it. + A 100 concurrent user license is free (also for commercial use) per game. + Read more about it: http://www.photonengine.com/en/OnPremise + + +PUN+ and Networking Guide Subscriptions + Follow these steps when you bought an asset that includes an upgrade for a Photon Cloud subscription: + Use an existing Photon Cloud Account or register. https://www.photonengine.com/Account/SignUp + Sign in and open the Dashboard. https://www.photonengine.com/dashboard/Realtime/ + Select the Subscription to upgrade and click "Apply Unity Purchase". + Enter your Unity Invoice Number and App ID. + + You find the App ID on: https://www.photonengine.com/dashboard/Realtime/ + You find your Unity Invoice Number in the Unity AssetStore: + https://www.assetstore.unity3d.com/en/#!/account/transactions + Or while logged in to the Asset Store, click on your name on the top right. + From the drop-down select the payment method you used to obtain PUN+). + Navigate to your PUN+ purchase and copy the number following the "#" symbol (excluding the "#" and spaces). + + +Important Files + + Documentation + PhotonNetwork-Documentation.chm (a pdf is also included) + changelog.txt + + Extensions & Source + Photon Unity Networking\Editor\PhotonNetwork\*.* + Photon Unity Networking\Plugins\PhotonNetwork\*.* + Plugins\**\Photon*.* + + + The server-setup will be saved as file (can be moved into any Resources folder and edited in inspector) + Photon Unity Networking\Resources\PhotonServerSettings.asset + + Demos + All demos are in separate folders in Photon Unity Networking\Demos\. Delete this folder in your projects. + Each has a Demo-Scene. diff --git a/Project Undercover/Assets/Plugin/Photon Unity Networking/readme.txt.meta b/Project Undercover/Assets/Plugin/Photon Unity Networking/readme.txt.meta new file mode 100644 index 0000000..e8c13cd --- /dev/null +++ b/Project Undercover/Assets/Plugin/Photon Unity Networking/readme.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d90864ccbf99d4a449c87472b0a181e8 +labels: +- ExitGames +- PUN +- Photon +- Networking diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi.meta b/Project Undercover/Assets/Plugin/PhotonChatApi.meta new file mode 100644 index 0000000..5b2917b --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 57033d9928b8ed641902cdecd1fd7323 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatChannel.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatChannel.cs new file mode 100644 index 0000000..6ec553e --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatChannel.cs @@ -0,0 +1,106 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +#if UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_1 || UNITY_2017 +#define UNITY +#endif + +namespace ExitGames.Client.Photon.Chat +{ + using System.Collections.Generic; + using System.Text; + + #if UNITY || NETFX_CORE + using Hashtable = ExitGames.Client.Photon.Hashtable; + using SupportClass = ExitGames.Client.Photon.SupportClass; + #endif + + + /// + /// A channel of communication in Photon Chat, updated by ChatClient and provided as READ ONLY. + /// + /// + /// Contains messages and senders to use (read!) and display by your GUI. + /// Access these by: + /// ChatClient.PublicChannels + /// ChatClient.PrivateChannels + /// + public class ChatChannel + { + /// Name of the channel (used to subscribe and unsubscribe). + public readonly string Name; + + /// Senders of messages in chronoligical order. Senders and Messages refer to each other by index. Senders[x] is the sender of Messages[x]. + public readonly List Senders = new List(); + + /// Messages in chronoligical order. Senders and Messages refer to each other by index. Senders[x] is the sender of Messages[x]. + public readonly List Messages = new List(); + + /// If greater than 0, this channel will limit the number of messages, that it caches locally. + public int MessageLimit; + + /// Is this a private 1:1 channel? + public bool IsPrivate { get; internal protected set; } + + /// Count of messages this client still buffers/knows for this channel. + public int MessageCount { get { return this.Messages.Count; } } + + + /// Used internally to create new channels. This does NOT create a channel on the server! Use ChatClient.Subscribe. + public ChatChannel(string name) + { + this.Name = name; + } + + /// Used internally to add messages to this channel. + public void Add(string sender, object message) + { + this.Senders.Add(sender); + this.Messages.Add(message); + this.TruncateMessages(); + } + + /// Used internally to add messages to this channel. + public void Add(string[] senders, object[] messages) + { + this.Senders.AddRange(senders); + this.Messages.AddRange(messages); + this.TruncateMessages(); + } + + /// Reduces the number of locally cached messages in this channel to the MessageLimit (if set). + public void TruncateMessages() + { + if (this.MessageLimit <= 0 || this.Messages.Count <= this.MessageLimit) + { + return; + } + + int excessCount = this.Messages.Count - this.MessageLimit; + this.Senders.RemoveRange(0, excessCount); + this.Messages.RemoveRange(0, excessCount); + } + + /// Clear the local cache of messages currently stored. This frees memory but doesn't affect the server. + public void ClearMessages() + { + this.Senders.Clear(); + this.Messages.Clear(); + } + + /// Provides a string-representation of all messages in this channel. + /// All known messages in format "Sender: Message", line by line. + public string ToStringMessages() + { + StringBuilder txt = new StringBuilder(); + for (int i = 0; i < this.Messages.Count; i++) + { + txt.AppendLine(string.Format("{0}: {1}", this.Senders[i], this.Messages[i])); + } + return txt.ToString(); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatChannel.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatChannel.cs.meta new file mode 100644 index 0000000..0d73965 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatChannel.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35b2a4878e5e99e438c97fbe8dbbd863 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatClient.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatClient.cs new file mode 100644 index 0000000..e982027 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatClient.cs @@ -0,0 +1,1169 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +#if UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_1 || UNITY_2017 +#define UNITY +#endif + +namespace ExitGames.Client.Photon.Chat +{ + using System; + using System.Collections.Generic; + using ExitGames.Client.Photon; + + #if UNITY || NETFX_CORE + using Hashtable = ExitGames.Client.Photon.Hashtable; + using SupportClass = ExitGames.Client.Photon.SupportClass; + #endif + + + /// Central class of the Photon Chat API to connect, handle channels and messages. + /// + /// This class must be instantiated with a IChatClientListener instance to get the callbacks. + /// Integrate it into your game loop by calling Service regularly. If the target platform supports Threads/Tasks, + /// set UseBackgroundWorkerForSending = true, to let the ChatClient keep the connection by sending from + /// an independent thread. + /// + /// Call Connect with an AppId that is setup as Photon Chat application. Note: Connect covers multiple + /// messages between this client and the servers. A short workflow will connect you to a chat server. + /// + /// Each ChatClient resembles a user in chat (set in Connect). Each user automatically subscribes a channel + /// for incoming private messages and can message any other user privately. + /// Before you publish messages in any non-private channel, that channel must be subscribed. + /// + /// PublicChannels is a list of subscribed channels, containing messages and senders. + /// PrivateChannels contains all incoming and sent private messages. + /// + public class ChatClient : IPhotonPeerListener + { + const int FriendRequestListMax = 1024; + + /// The address of last connected Name Server. + public string NameServerAddress { get; private set; } + + /// The address of the actual chat server assigned from NameServer. Public for read only. + public string FrontendAddress { get; private set; } + + /// Region used to connect to. Currently all chat is done in EU. It can make sense to use only one region for the whole game. + private string chatRegion = "EU"; + + /// Settable only before you connect! Defaults to "EU". + public string ChatRegion + { + get { return this.chatRegion; } + set { this.chatRegion = value; } + } + + /// Current state of the ChatClient. Also use CanChat. + public ChatState State { get; private set; } + + public ChatDisconnectCause DisconnectedCause { get; private set; } + + public bool CanChat + { + get { return this.State == ChatState.ConnectedToFrontEnd && this.HasPeer; } + } + + public bool CanChatInChannel(string channelName) + { + return this.CanChat && this.PublicChannels.ContainsKey(channelName) && !this.PublicChannelsUnsubscribing.Contains(channelName); + } + + private bool HasPeer + { + get { return this.chatPeer != null; } + } + + /// The version of your client. A new version also creates a new "virtual app" to separate players from older client versions. + public string AppVersion { get; private set; } + + /// The AppID as assigned from the Photon Cloud. If you host yourself, this is the "regular" Photon Server Application Name (most likely: "LoadBalancing"). + public string AppId { get; private set; } + + + /// Settable only before you connect! + public AuthenticationValues AuthValues { get; set; } + + /// The unique ID of a user/person, stored in AuthValues.UserId. Set it before you connect. + /// + /// This value wraps AuthValues.UserId. + /// It's not a nickname and we assume users with the same userID are the same person. + public string UserId + { + get + { + return (this.AuthValues != null) ? this.AuthValues.UserId : null; + } + private set + { + if (this.AuthValues == null) + { + this.AuthValues = new AuthenticationValues(); + } + this.AuthValues.UserId = value; + } + } + + /// If greater than 0, new channels will limit the number of messages they cache locally. + /// + /// This can be useful to limit the amount of memory used by chats. + /// You can set a MessageLimit per channel but this value gets applied to new ones. + /// + /// Note: + /// Changing this value, does not affect ChatChannels that are already in use! + /// + public int MessageLimit; + + public readonly Dictionary PublicChannels; + public readonly Dictionary PrivateChannels; + + // channels being in unsubscribing process + // items will be removed on successful unsubscription or subscription (the latter required after attempt to unsubscribe from not existing channel) + private readonly HashSet PublicChannelsUnsubscribing; + + private readonly IChatClientListener listener = null; + public ChatPeer chatPeer = null; + private const string ChatAppName = "chat"; + private bool didAuthenticate; + + private int msDeltaForServiceCalls = 50; + private int msTimestampOfLastServiceCall; + + /// Defines if a background thread will call SendOutgoingCommands, while your code calls Service to dispatch received messages. + /// + /// The benefit of using a background thread to call SendOutgoingCommands is this: + /// + /// Even if your game logic is being paused, the background thread will keep the connection to the server up. + /// On a lower level, acknowledgements and pings will prevent a server-side timeout while (e.g.) Unity loads assets. + /// + /// Your game logic still has to call Service regularly, or else incoming messages are not dispatched. + /// As this typicalls triggers UI updates, it's easier to call Service from the main/UI thread. + /// + public bool UseBackgroundWorkerForSending { get; set; } + + /// Exposes the TransportProtocol of the used PhotonPeer. Settable while not connected. + public ConnectionProtocol TransportProtocol + { + get { return this.chatPeer.TransportProtocol; } + set + { + if (this.chatPeer == null || this.chatPeer.PeerState != PeerStateValue.Disconnected) + { + this.listener.DebugReturn(DebugLevel.WARNING, "Can't set TransportProtocol. Disconnect first! " + ((this.chatPeer != null) ? "PeerState: " + this.chatPeer.PeerState : "The chatPeer is null.")); + return; + } + this.chatPeer.TransportProtocol = value; + } + } + + /// Defines which IPhotonSocket class to use per ConnectionProtocol. + /// + /// Several platforms have special Socket implementations and slightly different APIs. + /// To accomodate this, switching the socket implementation for a network protocol was made available. + /// By default, UDP and TCP have socket implementations assigned. + /// + /// You only need to set the SocketImplementationConfig once, after creating a PhotonPeer + /// and before connecting. If you switch the TransportProtocol, the correct implementation is being used. + /// + public Dictionary SocketImplementationConfig + { + get { return this.chatPeer.SocketImplementationConfig; } + } + + + public ChatClient(IChatClientListener listener, ConnectionProtocol protocol = ConnectionProtocol.Udp) + { + this.listener = listener; + this.State = ChatState.Uninitialized; + + this.chatPeer = new ChatPeer(this, protocol); + + this.PublicChannels = new Dictionary(); + this.PrivateChannels = new Dictionary(); + + this.PublicChannelsUnsubscribing = new HashSet(); + } + + /// + /// Connects this client to the Photon Chat Cloud service, which will also authenticate the user (and set a UserId). + /// + /// Get your Photon Chat AppId from the Dashboard. + /// Any version string you make up. Used to separate users and variants of your clients, which might be incompatible. + /// Values for authentication. You can leave this null, if you set a UserId before. If you set authValues, they will override any UserId set before. + /// + public bool Connect(string appId, string appVersion, AuthenticationValues authValues) + { + this.chatPeer.TimePingInterval = 3000; + this.DisconnectedCause = ChatDisconnectCause.None; + + if (authValues != null) + { + this.AuthValues = authValues; + if (string.IsNullOrEmpty(this.AuthValues.UserId)) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Connect failed: no UserId specified in authentication values."); + } + return false; + } + } + else + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Connect failed: no authentication values specified"); + } + return false; + } + this.AppId = appId; + this.AppVersion = appVersion; + this.didAuthenticate = false; + this.chatPeer.QuickResendAttempts = 2; + this.chatPeer.SentCountAllowance = 7; + + + // clean all channels + this.PublicChannels.Clear(); + this.PrivateChannels.Clear(); + this.PublicChannelsUnsubscribing.Clear(); + + + #if UNITY_WEBGL + if (this.TransportProtocol == ConnectionProtocol.Tcp || this.TransportProtocol == ConnectionProtocol.Udp) + { + this.listener.DebugReturn(DebugLevel.WARNING, "WebGL requires WebSockets. Switching TransportProtocol to WebSocketSecure."); + this.TransportProtocol = ConnectionProtocol.WebSocketSecure; + } + #endif + + + this.NameServerAddress = this.chatPeer.NameServerAddress; + bool isConnecting = this.chatPeer.Connect(); + if (isConnecting) + { + this.State = ChatState.ConnectingToNameServer; + } + + if (this.UseBackgroundWorkerForSending) + { + SupportClass.StartBackgroundCalls(this.SendOutgoingInBackground, this.msDeltaForServiceCalls, "ChatClient Service Thread"); + } + + return isConnecting; + } + + /// + /// Must be called regularly to keep connection between client and server alive and to process incoming messages. + /// + /// + /// This method limits the effort it does automatically using the private variable msDeltaForServiceCalls. + /// That value is lower for connect and multiplied by 4 when chat-server connection is ready. + /// + public void Service() + { + // Dispatch until every already-received message got dispatched + while (this.HasPeer && this.chatPeer.DispatchIncomingCommands()) + { + } + + // if there is no background thread for sending, Service() will do that as well, in intervals + if (!this.UseBackgroundWorkerForSending) + { + if (Environment.TickCount - this.msTimestampOfLastServiceCall > this.msDeltaForServiceCalls || this.msTimestampOfLastServiceCall == 0) + { + this.msTimestampOfLastServiceCall = Environment.TickCount; + + while (this.HasPeer && this.chatPeer.SendOutgoingCommands()) + { + } + } + } + } + + /// + /// Called by a separate thread, this sends outgoing commands of this peer, as long as it's connected. + /// + /// True as long as the client is not disconnected. + private bool SendOutgoingInBackground() + { + while (this.HasPeer && this.chatPeer.SendOutgoingCommands()) + { + } + + return this.State != ChatState.Disconnected; + } + + + [Obsolete("Better use UseBackgroundWorkerForSending and Service().")] + public void SendAcksOnly() + { + if (this.HasPeer) this.chatPeer.SendAcksOnly(); + } + + + /// + /// Disconnects from the Chat Server by sending a "disconnect command", which prevents a timeout server-side. + /// + public void Disconnect() + { + if (this.HasPeer && this.chatPeer.PeerState != PeerStateValue.Disconnected) + { + this.chatPeer.Disconnect(); + } + } + + /// + /// Locally shuts down the connection to the Chat Server. This resets states locally but the server will have to timeout this peer. + /// + public void StopThread() + { + if (this.HasPeer) + { + this.chatPeer.StopThread(); + } + } + + /// Sends operation to subscribe to a list of channels by name. + /// List of channels to subscribe to. Avoid null or empty values. + /// If the operation could be sent at all (Example: Fails if not connected to Chat Server). + public bool Subscribe(string[] channels) + { + return this.Subscribe(channels, 0); + } + + /// + /// Sends operation to subscribe client to channels, optionally fetching a number of messages from the cache. + /// + /// + /// Subscribes channels will forward new messages to this user. Use PublishMessage to do so. + /// The messages cache is limited but can be useful to get into ongoing conversations, if that's needed. + /// + /// List of channels to subscribe to. Avoid null or empty values. + /// 0: no history. 1 and higher: number of messages in history. -1: all available history. + /// If the operation could be sent at all (Example: Fails if not connected to Chat Server). + public bool Subscribe(string[] channels, int messagesFromHistory) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Subscribe called while not connected to front end server."); + } + return false; + } + + if (channels == null || channels.Length == 0) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "Subscribe can't be called for empty or null channels-list."); + } + return false; + } + + return this.SendChannelOperation(channels, (byte)ChatOperationCode.Subscribe, messagesFromHistory); + } + + /// Unsubscribes from a list of channels, which stops getting messages from those. + /// + /// The client will remove these channels from the PublicChannels dictionary once the server sent a response to this request. + /// + /// The request will be sent to the server and IChatClientListener.OnUnsubscribed gets called when the server + /// actually removed the channel subscriptions. + /// + /// Unsubscribe will fail if you include null or empty channel names. + /// + /// Names of channels to unsubscribe. + /// False, if not connected to a chat server. + public bool Unsubscribe(string[] channels) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Unsubscribe called while not connected to front end server."); + } + return false; + } + + if (channels == null || channels.Length == 0) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "Unsubscribe can't be called for empty or null channels-list."); + } + return false; + } + + foreach (string ch in channels) + { + this.PublicChannelsUnsubscribing.Add(ch); + } + return this.SendChannelOperation(channels, ChatOperationCode.Unsubscribe, 0); + } + + /// Sends a message to a public channel which this client subscribed to. + /// + /// Before you publish to a channel, you have to subscribe it. + /// Everyone in that channel will get the message. + /// + /// Name of the channel to publish to. + /// Your message (string or any serializable data). + /// Optionally, public messages can be forwarded as webhooks. Configure webhooks for your Chat app to use this. + /// False if the client is not yet ready to send messages. + public bool PublishMessage(string channelName, object message, bool forwardAsWebhook = false) + { + return this.publishMessage(channelName, message, true, forwardAsWebhook); + } + + internal bool PublishMessageUnreliable(string channelName, object message, bool forwardAsWebhook = false) + { + return this.publishMessage(channelName, message, false, forwardAsWebhook); + } + + private bool publishMessage(string channelName, object message, bool reliable, bool forwardAsWebhook = false) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "PublishMessage called while not connected to front end server."); + } + return false; + } + + if (string.IsNullOrEmpty(channelName) || message == null) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "PublishMessage parameters must be non-null and not empty."); + } + return false; + } + + Dictionary parameters = new Dictionary + { + { (byte)ChatParameterCode.Channel, channelName }, + { (byte)ChatParameterCode.Message, message } + }; + if (forwardAsWebhook) + { + parameters.Add(ChatParameterCode.WebFlags, (byte)0x1); + } + return this.chatPeer.OpCustom((byte)ChatOperationCode.Publish, parameters, reliable); + } + + /// + /// Sends a private message to a single target user. Calls OnPrivateMessage on the receiving client. + /// + /// Username to send this message to. + /// The message you want to send. Can be a simple string or anything serializable. + /// Optionally, private messages can be forwarded as webhooks. Configure webhooks for your Chat app to use this. + /// True if this clients can send the message to the server. + public bool SendPrivateMessage(string target, object message, bool forwardAsWebhook = false) + { + return this.SendPrivateMessage(target, message, false, forwardAsWebhook); + } + + /// + /// Sends a private message to a single target user. Calls OnPrivateMessage on the receiving client. + /// + /// Username to send this message to. + /// The message you want to send. Can be a simple string or anything serializable. + /// Optionally, private messages can be encrypted. Encryption is not end-to-end as the server decrypts the message. + /// Optionally, private messages can be forwarded as webhooks. Configure webhooks for your Chat app to use this. + /// True if this clients can send the message to the server. + public bool SendPrivateMessage(string target, object message, bool encrypt, bool forwardAsWebhook) + { + return this.sendPrivateMessage(target, message, encrypt, true, forwardAsWebhook); + } + + internal bool SendPrivateMessageUnreliable(string target, object message, bool encrypt, bool forwardAsWebhook = false) + { + return this.sendPrivateMessage(target, message, encrypt, false, forwardAsWebhook); + } + + private bool sendPrivateMessage(string target, object message, bool encrypt, bool reliable, bool forwardAsWebhook = false) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "SendPrivateMessage called while not connected to front end server."); + } + return false; + } + + if (string.IsNullOrEmpty(target) || message == null) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "SendPrivateMessage parameters must be non-null and not empty."); + } + return false; + } + + Dictionary parameters = new Dictionary + { + { ChatParameterCode.UserId, target }, + { ChatParameterCode.Message, message } + }; + if (forwardAsWebhook) + { + parameters.Add(ChatParameterCode.WebFlags, (byte)0x1); + } + return this.chatPeer.OpCustom((byte)ChatOperationCode.SendPrivate, parameters, reliable, 0, encrypt); + } + + /// Sets the user's status (pre-defined or custom) and an optional message. + /// + /// The predefined status values can be found in class ChatUserStatus. + /// State ChatUserStatus.Invisible will make you offline for everyone and send no message. + /// + /// You can set custom values in the status integer. Aside from the pre-configured ones, + /// all states will be considered visible and online. Else, no one would see the custom state. + /// + /// The message object can be anything that Photon can serialize, including (but not limited to) + /// Hashtable, object[] and string. This value is defined by your own conventions. + /// + /// Predefined states are in class ChatUserStatus. Other values can be used at will. + /// Optional string message or null. + /// If true, the message gets ignored. It can be null but won't replace any current message. + /// True if the operation gets called on the server. + private bool SetOnlineStatus(int status, object message, bool skipMessage) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "SetOnlineStatus called while not connected to front end server."); + } + return false; + } + + Dictionary parameters = new Dictionary + { + { ChatParameterCode.Status, status }, + }; + + if (skipMessage) + { + parameters[ChatParameterCode.SkipMessage] = true; + } + else + { + parameters[ChatParameterCode.Message] = message; + } + return this.chatPeer.OpCustom(ChatOperationCode.UpdateStatus, parameters, true); + } + + /// Sets the user's status without changing your status-message. + /// + /// The predefined status values can be found in class ChatUserStatus. + /// State ChatUserStatus.Invisible will make you offline for everyone and send no message. + /// + /// You can set custom values in the status integer. Aside from the pre-configured ones, + /// all states will be considered visible and online. Else, no one would see the custom state. + /// + /// This overload does not change the set message. + /// + /// Predefined states are in class ChatUserStatus. Other values can be used at will. + /// True if the operation gets called on the server. + public bool SetOnlineStatus(int status) + { + return this.SetOnlineStatus(status, null, true); + } + + /// Sets the user's status without changing your status-message. + /// + /// The predefined status values can be found in class ChatUserStatus. + /// State ChatUserStatus.Invisible will make you offline for everyone and send no message. + /// + /// You can set custom values in the status integer. Aside from the pre-configured ones, + /// all states will be considered visible and online. Else, no one would see the custom state. + /// + /// The message object can be anything that Photon can serialize, including (but not limited to) + /// Hashtable, object[] and string. This value is defined by your own conventions. + /// + /// Predefined states are in class ChatUserStatus. Other values can be used at will. + /// Also sets a status-message which your friends can get. + /// True if the operation gets called on the server. + public bool SetOnlineStatus(int status, object message) + { + return this.SetOnlineStatus(status, message, false); + } + + /// + /// Adds friends to a list on the Chat Server which will send you status updates for those. + /// + /// + /// AddFriends and RemoveFriends enable clients to handle their friend list + /// in the Photon Chat server. Having users on your friends list gives you access + /// to their current online status (and whatever info your client sets in it). + /// + /// Each user can set an online status consisting of an integer and an arbitratry + /// (serializable) object. The object can be null, Hashtable, object[] or anything + /// else Photon can serialize. + /// + /// The status is published automatically to friends (anyone who set your user ID + /// with AddFriends). + /// + /// Photon flushes friends-list when a chat client disconnects, so it has to be + /// set each time. If your community API gives you access to online status already, + /// you could filter and set online friends in AddFriends. + /// + /// Actual friend relations are not persistent and have to be stored outside + /// of Photon. + /// + /// Array of friend userIds. + /// If the operation could be sent. + public bool AddFriends(string[] friends) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "AddFriends called while not connected to front end server."); + } + return false; + } + + if (friends == null || friends.Length == 0) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "AddFriends can't be called for empty or null list."); + } + return false; + } + if (friends.Length > FriendRequestListMax) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "AddFriends max list size exceeded: " + friends.Length + " > " + FriendRequestListMax); + } + return false; + } + + Dictionary parameters = new Dictionary + { + { ChatParameterCode.Friends, friends }, + }; + return this.chatPeer.OpCustom(ChatOperationCode.AddFriends, parameters, true); + } + + /// + /// Removes the provided entries from the list on the Chat Server and stops their status updates. + /// + /// + /// Photon flushes friends-list when a chat client disconnects. Unless you want to + /// remove individual entries, you don't have to RemoveFriends. + /// + /// AddFriends and RemoveFriends enable clients to handle their friend list + /// in the Photon Chat server. Having users on your friends list gives you access + /// to their current online status (and whatever info your client sets in it). + /// + /// Each user can set an online status consisting of an integer and an arbitratry + /// (serializable) object. The object can be null, Hashtable, object[] or anything + /// else Photon can serialize. + /// + /// The status is published automatically to friends (anyone who set your user ID + /// with AddFriends). + /// + /// Photon flushes friends-list when a chat client disconnects, so it has to be + /// set each time. If your community API gives you access to online status already, + /// you could filter and set online friends in AddFriends. + /// + /// Actual friend relations are not persistent and have to be stored outside + /// of Photon. + /// + /// AddFriends and RemoveFriends enable clients to handle their friend list + /// in the Photon Chat server. Having users on your friends list gives you access + /// to their current online status (and whatever info your client sets in it). + /// + /// Each user can set an online status consisting of an integer and an arbitratry + /// (serializable) object. The object can be null, Hashtable, object[] or anything + /// else Photon can serialize. + /// + /// The status is published automatically to friends (anyone who set your user ID + /// with AddFriends). + /// + /// + /// Actual friend relations are not persistent and have to be stored outside + /// of Photon. + /// + /// Array of friend userIds. + /// If the operation could be sent. + public bool RemoveFriends(string[] friends) + { + if (!this.CanChat) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "RemoveFriends called while not connected to front end server."); + } + return false; + } + + if (friends == null || friends.Length == 0) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "RemoveFriends can't be called for empty or null list."); + } + return false; + } + if (friends.Length > FriendRequestListMax) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "RemoveFriends max list size exceeded: " + friends.Length + " > " + FriendRequestListMax); + } + return false; + } + + Dictionary parameters = new Dictionary + { + { ChatParameterCode.Friends, friends }, + }; + return this.chatPeer.OpCustom(ChatOperationCode.RemoveFriends, parameters, true); + } + + /// + /// Get you the (locally used) channel name for the chat between this client and another user. + /// + /// Remote user's name or UserId. + /// The (locally used) channel name for a private channel. + public string GetPrivateChannelNameByUser(string userName) + { + return string.Format("{0}:{1}", this.UserId, userName); + } + + /// + /// Simplified access to either private or public channels by name. + /// + /// Name of the channel to get. For private channels, the channel-name is composed of both user's names. + /// Define if you expect a private or public channel. + /// Out parameter gives you the found channel, if any. + /// True if the channel was found. + public bool TryGetChannel(string channelName, bool isPrivate, out ChatChannel channel) + { + if (!isPrivate) + { + return this.PublicChannels.TryGetValue(channelName, out channel); + } + else + { + return this.PrivateChannels.TryGetValue(channelName, out channel); + } + } + + /// + /// Simplified access to all channels by name. Checks public channels first, then private ones. + /// + /// Name of the channel to get. + /// Out parameter gives you the found channel, if any. + /// True if the channel was found. + public bool TryGetChannel(string channelName, out ChatChannel channel) + { + bool found = false; + found = this.PublicChannels.TryGetValue(channelName, out channel); + if (found) return true; + + found = this.PrivateChannels.TryGetValue(channelName, out channel); + return found; + } + + /// + /// Sets the level (and amount) of debug output provided by the library. + /// + /// + /// This affects the callbacks to IChatClientListener.DebugReturn. + /// Default Level: Error. + /// + public DebugLevel DebugOut + { + set { this.chatPeer.DebugOut = value; } + get { return this.chatPeer.DebugOut; } + } + + #region Private methods area + + #region IPhotonPeerListener implementation + + void IPhotonPeerListener.DebugReturn(DebugLevel level, string message) + { + this.listener.DebugReturn(level, message); + } + + void IPhotonPeerListener.OnEvent(EventData eventData) + { + switch (eventData.Code) + { + case ChatEventCode.ChatMessages: + this.HandleChatMessagesEvent(eventData); + break; + case ChatEventCode.PrivateMessage: + this.HandlePrivateMessageEvent(eventData); + break; + case ChatEventCode.StatusUpdate: + this.HandleStatusUpdate(eventData); + break; + case ChatEventCode.Subscribe: + this.HandleSubscribeEvent(eventData); + break; + case ChatEventCode.Unsubscribe: + this.HandleUnsubscribeEvent(eventData); + break; + } + } + + void IPhotonPeerListener.OnOperationResponse(OperationResponse operationResponse) + { + switch (operationResponse.OperationCode) + { + case (byte)ChatOperationCode.Authenticate: + this.HandleAuthResponse(operationResponse); + break; + + // the following operations usually don't return useful data and no error. + case (byte)ChatOperationCode.Subscribe: + case (byte)ChatOperationCode.Unsubscribe: + case (byte)ChatOperationCode.Publish: + case (byte)ChatOperationCode.SendPrivate: + default: + if ((operationResponse.ReturnCode != 0) && (this.DebugOut >= DebugLevel.ERROR)) + { + if (operationResponse.ReturnCode == -2) + { + this.listener.DebugReturn(DebugLevel.ERROR, string.Format("Chat Operation {0} unknown on server. Check your AppId and make sure it's for a Chat application.", operationResponse.OperationCode)); + } + else + { + this.listener.DebugReturn(DebugLevel.ERROR, string.Format("Chat Operation {0} failed (Code: {1}). Debug Message: {2}", operationResponse.OperationCode, operationResponse.ReturnCode, operationResponse.DebugMessage)); + } + } + break; + } + } + + void IPhotonPeerListener.OnStatusChanged(StatusCode statusCode) + { + switch (statusCode) + { + case StatusCode.Connect: + if (!this.chatPeer.IsProtocolSecure) + { + this.chatPeer.EstablishEncryption(); + } + else + { + if (!this.didAuthenticate) + { + this.didAuthenticate = this.chatPeer.AuthenticateOnNameServer(this.AppId, this.AppVersion, this.chatRegion, this.AuthValues); + if (!this.didAuthenticate) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + ((IPhotonPeerListener)this).DebugReturn(DebugLevel.ERROR, "Error calling OpAuthenticate! Did not work. Check log output, AuthValues and if you're connected. State: " + this.State); + } + } + } + } + + if (this.State == ChatState.ConnectingToNameServer) + { + this.State = ChatState.ConnectedToNameServer; + this.listener.OnChatStateChange(this.State); + } + else if (this.State == ChatState.ConnectingToFrontEnd) + { + this.AuthenticateOnFrontEnd(); + } + break; + case StatusCode.EncryptionEstablished: + // once encryption is availble, the client should send one (secure) authenticate. it includes the AppId (which identifies your app on the Photon Cloud) + if (!this.didAuthenticate) + { + this.didAuthenticate = this.chatPeer.AuthenticateOnNameServer(this.AppId, this.AppVersion, this.chatRegion, this.AuthValues); + if (!this.didAuthenticate) + { + if (this.DebugOut >= DebugLevel.ERROR) + { + ((IPhotonPeerListener)this).DebugReturn(DebugLevel.ERROR, "Error calling OpAuthenticate! Did not work. Check log output, AuthValues and if you're connected. State: " + this.State); + } + } + } + break; + case StatusCode.EncryptionFailedToEstablish: + this.State = ChatState.Disconnecting; + this.chatPeer.Disconnect(); + break; + case StatusCode.Disconnect: + if (this.State == ChatState.Authenticated) + { + this.ConnectToFrontEnd(); + } + else + { + this.State = ChatState.Disconnected; + this.listener.OnChatStateChange(ChatState.Disconnected); + this.listener.OnDisconnected(); + } + break; + } + } + + #if SDK_V4 + void IPhotonPeerListener.OnMessage(object msg) + { + // in v4 interface IPhotonPeerListener + return; + } + #endif + + #endregion + + private bool SendChannelOperation(string[] channels, byte operation, int historyLength) + { + Dictionary opParameters = new Dictionary { { (byte)ChatParameterCode.Channels, channels } }; + + if (historyLength != 0) + { + opParameters.Add((byte)ChatParameterCode.HistoryLength, historyLength); + } + + return this.chatPeer.OpCustom(operation, opParameters, true); + } + + private void HandlePrivateMessageEvent(EventData eventData) + { + //Console.WriteLine(SupportClass.DictionaryToString(eventData.Parameters)); + + object message = (object)eventData.Parameters[(byte)ChatParameterCode.Message]; + string sender = (string)eventData.Parameters[(byte)ChatParameterCode.Sender]; + + string channelName; + if (this.UserId != null && this.UserId.Equals(sender)) + { + string target = (string)eventData.Parameters[(byte)ChatParameterCode.UserId]; + channelName = this.GetPrivateChannelNameByUser(target); + } + else + { + channelName = this.GetPrivateChannelNameByUser(sender); + } + + ChatChannel channel; + if (!this.PrivateChannels.TryGetValue(channelName, out channel)) + { + channel = new ChatChannel(channelName); + channel.IsPrivate = true; + channel.MessageLimit = this.MessageLimit; + this.PrivateChannels.Add(channel.Name, channel); + } + + channel.Add(sender, message); + this.listener.OnPrivateMessage(sender, message, channelName); + } + + private void HandleChatMessagesEvent(EventData eventData) + { + object[] messages = (object[])eventData.Parameters[(byte)ChatParameterCode.Messages]; + string[] senders = (string[])eventData.Parameters[(byte)ChatParameterCode.Senders]; + string channelName = (string)eventData.Parameters[(byte)ChatParameterCode.Channel]; + + ChatChannel channel; + if (!this.PublicChannels.TryGetValue(channelName, out channel)) + { + if (this.DebugOut >= DebugLevel.WARNING) + { + this.listener.DebugReturn(DebugLevel.WARNING, "Channel " + channelName + " for incoming message event not found."); + } + return; + } + + channel.Add(senders, messages); + this.listener.OnGetMessages(channelName, senders, messages); + } + + private void HandleSubscribeEvent(EventData eventData) + { + string[] channelsInResponse = (string[])eventData.Parameters[ChatParameterCode.Channels]; + bool[] results = (bool[])eventData.Parameters[ChatParameterCode.SubscribeResults]; + + for (int i = 0; i < channelsInResponse.Length; i++) + { + if (results[i]) + { + string channelName = channelsInResponse[i]; + if (!this.PublicChannels.ContainsKey(channelName)) + { + ChatChannel channel = new ChatChannel(channelName); + channel.MessageLimit = this.MessageLimit; + this.PublicChannels.Add(channel.Name, channel); + } + } + } + + this.listener.OnSubscribed(channelsInResponse, results); + } + + private void HandleUnsubscribeEvent(EventData eventData) + { + string[] channelsInRequest = (string[])eventData[ChatParameterCode.Channels]; + for (int i = 0; i < channelsInRequest.Length; i++) + { + string channelName = channelsInRequest[i]; + this.PublicChannels.Remove(channelName); + this.PublicChannelsUnsubscribing.Remove(channelName); + } + + this.listener.OnUnsubscribed(channelsInRequest); + } + + private void HandleAuthResponse(OperationResponse operationResponse) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.listener.DebugReturn(DebugLevel.INFO, operationResponse.ToStringFull() + " on: " + this.chatPeer.NameServerAddress); + } + + if (operationResponse.ReturnCode == 0) + { + if (this.State == ChatState.ConnectedToNameServer) + { + this.State = ChatState.Authenticated; + this.listener.OnChatStateChange(this.State); + + if (operationResponse.Parameters.ContainsKey(ParameterCode.Secret)) + { + if (this.AuthValues == null) + { + this.AuthValues = new AuthenticationValues(); + } + this.AuthValues.Token = operationResponse[ParameterCode.Secret] as string; + this.FrontendAddress = (string)operationResponse[ParameterCode.Address]; + + // we disconnect and status handler starts to connect to front end + this.chatPeer.Disconnect(); + } + else + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "No secret in authentication response."); + } + } + } + else if (this.State == ChatState.ConnectingToFrontEnd) + { + this.State = ChatState.ConnectedToFrontEnd; + this.listener.OnChatStateChange(this.State); + this.listener.OnConnected(); + } + } + else + { + //this.listener.DebugReturn(DebugLevel.INFO, operationResponse.ToStringFull() + " NS: " + this.NameServerAddress + " FrontEnd: " + this.frontEndAddress); + + switch (operationResponse.ReturnCode) + { + case ErrorCode.InvalidAuthentication: + this.DisconnectedCause = ChatDisconnectCause.InvalidAuthentication; + break; + case ErrorCode.CustomAuthenticationFailed: + this.DisconnectedCause = ChatDisconnectCause.CustomAuthenticationFailed; + break; + case ErrorCode.InvalidRegion: + this.DisconnectedCause = ChatDisconnectCause.InvalidRegion; + break; + case ErrorCode.MaxCcuReached: + this.DisconnectedCause = ChatDisconnectCause.MaxCcuReached; + break; + case ErrorCode.OperationNotAllowedInCurrentState: + this.DisconnectedCause = ChatDisconnectCause.OperationNotAllowedInCurrentState; + break; + } + + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Authentication request error: " + operationResponse.ReturnCode + ". Disconnecting."); + } + + + this.State = ChatState.Disconnecting; + this.chatPeer.Disconnect(); + } + } + + private void HandleStatusUpdate(EventData eventData) + { + string user = (string)eventData.Parameters[ChatParameterCode.Sender]; + int status = (int)eventData.Parameters[ChatParameterCode.Status]; + + object message = null; + bool gotMessage = eventData.Parameters.ContainsKey(ChatParameterCode.Message); + if (gotMessage) + { + message = eventData.Parameters[ChatParameterCode.Message]; + } + + this.listener.OnStatusUpdate(user, status, gotMessage, message); + } + + private void ConnectToFrontEnd() + { + this.State = ChatState.ConnectingToFrontEnd; + + if (this.DebugOut >= DebugLevel.INFO) + { + this.listener.DebugReturn(DebugLevel.INFO, "Connecting to frontend " + this.FrontendAddress); + } + + #if UNITY_WEBGL + if (this.TransportProtocol == ConnectionProtocol.Tcp || this.TransportProtocol == ConnectionProtocol.Udp) + { + this.listener.DebugReturn(DebugLevel.WARNING, "WebGL requires WebSockets. Switching TransportProtocol to WebSocketSecure."); + this.TransportProtocol = ConnectionProtocol.WebSocketSecure; + } + #endif + + this.chatPeer.Connect(this.FrontendAddress, ChatAppName); + } + + private bool AuthenticateOnFrontEnd() + { + if (this.AuthValues != null) + { + if (this.AuthValues.Token == null || this.AuthValues.Token == "") + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Can't authenticate on front end server. Secret is not set"); + } + return false; + } + else + { + Dictionary opParameters = new Dictionary { { (byte)ChatParameterCode.Secret, this.AuthValues.Token } }; + return this.chatPeer.OpCustom((byte)ChatOperationCode.Authenticate, opParameters, true); + } + } + else + { + if (this.DebugOut >= DebugLevel.ERROR) + { + this.listener.DebugReturn(DebugLevel.ERROR, "Can't authenticate on front end server. Authentication Values are not set"); + } + return false; + } + } + + #endregion + } +} diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatClient.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatClient.cs.meta new file mode 100644 index 0000000..0a1bea9 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatClient.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 692e391fa2a297c45b3d530aa85be610 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatDisconnectCause.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatDisconnectCause.cs new file mode 100644 index 0000000..8866d09 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatDisconnectCause.cs @@ -0,0 +1,36 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// Enumaration of causes for Disconnects (used in LoadBalancingClient.DisconnectedCause). + /// Read the individual descriptions to find out what to do about this type of disconnect. + public enum ChatDisconnectCause + { + /// No error was tracked. + None, + /// OnStatusChanged: The CCUs count of your Photon Server License is exausted (temporarily). + DisconnectByServerUserLimit, + /// OnStatusChanged: The server is not available or the address is wrong. Make sure the port is provided and the server is up. + ExceptionOnConnect, + /// OnStatusChanged: The server disconnected this client. Most likely the server's send buffer is full (receiving too much from other clients). + DisconnectByServer, + /// OnStatusChanged: This client detected that the server's responses are not received in due time. Maybe you send / receive too much? + TimeoutDisconnect, + /// OnStatusChanged: Some internal exception caused the socket code to fail. Contact Exit Games. + Exception, + /// OnOperationResponse: Authenticate in the Photon Cloud with invalid AppId. Update your subscription or contact Exit Games. + InvalidAuthentication, + /// OnOperationResponse: Authenticate (temporarily) failed when using a Photon Cloud subscription without CCU Burst. Update your subscription. + MaxCcuReached, + /// OnOperationResponse: Authenticate when the app's Photon Cloud subscription is locked to some (other) region(s). Update your subscription or master server address. + InvalidRegion, + /// OnOperationResponse: Operation that's (currently) not available for this client (not authorized usually). Only tracked for op Authenticate. + OperationNotAllowedInCurrentState, + /// OnOperationResponse: Authenticate in the Photon Cloud with invalid client values or custom authentication setup in Cloud Dashboard. + CustomAuthenticationFailed, + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatDisconnectCause.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatDisconnectCause.cs.meta new file mode 100644 index 0000000..c1f0c5b --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatDisconnectCause.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b90b85043f1857f43b94fd00edfc1ef1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatEventCode.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatEventCode.cs new file mode 100644 index 0000000..5fb6721 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatEventCode.cs @@ -0,0 +1,22 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// + /// Wraps up internally used constants in Photon Chat events. You don't have to use them directly usually. + /// + public class ChatEventCode + { + public const byte ChatMessages = 0; + public const byte Users = 1;// List of users or List of changes for List of users + public const byte PrivateMessage = 2; + public const byte FriendsList = 3; + public const byte StatusUpdate = 4; + public const byte Subscribe = 5; + public const byte Unsubscribe = 6; + } +} diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatEventCode.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatEventCode.cs.meta new file mode 100644 index 0000000..4c0b2e6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatEventCode.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 188e4a680bce12d4cbad8d57a24f7d44 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatOperationCode.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatOperationCode.cs new file mode 100644 index 0000000..c9e4ee9 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatOperationCode.cs @@ -0,0 +1,36 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// + /// Wraps up codes for operations used internally in Photon Chat. You don't have to use them directly usually. + /// + public class ChatOperationCode + { + /// (230) Operation Authenticate. + public const byte Authenticate = 230; + + /// (0) Operation to subscribe to chat channels. + public const byte Subscribe = 0; + /// (1) Operation to unsubscribe from chat channels. + public const byte Unsubscribe = 1; + /// (2) Operation to publish a message in a chat channel. + public const byte Publish = 2; + /// (3) Operation to send a private message to some other user. + public const byte SendPrivate = 3; + + /// (4) Not used yet. + public const byte ChannelHistory = 4; + + /// (5) Set your (client's) status. + public const byte UpdateStatus = 5; + /// (6) Add friends the list of friends that should update you of their status. + public const byte AddFriends = 6; + /// (7) Remove friends from list of friends that should update you of their status. + public const byte RemoveFriends = 7; + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatOperationCode.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatOperationCode.cs.meta new file mode 100644 index 0000000..0375688 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatOperationCode.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c90a2a73f3ce648409739c724d3e6cef +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatParameterCode.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatParameterCode.cs new file mode 100644 index 0000000..df38771 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatParameterCode.cs @@ -0,0 +1,52 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// + /// Wraps up codes for parameters (in operations and events) used internally in Photon Chat. You don't have to use them directly usually. + /// + public class ChatParameterCode + { + /// (0) Array of chat channels. + public const byte Channels = 0; + /// (1) Name of a single chat channel. + public const byte Channel = 1; + /// (2) Array of chat messages. + public const byte Messages = 2; + /// (3) A single chat message. + public const byte Message = 3; + /// (4) Array of names of the users who sent the array of chat mesages. + public const byte Senders = 4; + /// (5) Name of a the user who sent a chat message. + public const byte Sender = 5; + /// (6) Not used. + public const byte ChannelUserCount = 6; + /// (225) Name of user to send a (private) message to.The code is used in LoadBalancing and copied over here. + public const byte UserId = 225; + /// (8) Id of a message. + public const byte MsgId = 8; + /// (9) Not used. + public const byte MsgIds = 9; + /// (221) Secret token to identify an authorized user.The code is used in LoadBalancing and copied over here. + public const byte Secret = 221; + /// (15) Subscribe operation result parameter. A bool[] with result per channel. + public const byte SubscribeResults = 15; + + /// (10) Status + public const byte Status = 10; + /// (11) Friends + public const byte Friends = 11; + /// (12) SkipMessage is used in SetOnlineStatus and if true, the message is not being broadcast. + public const byte SkipMessage = 12; + + /// (14) Number of message to fetch from history. 0: no history. 1 and higher: number of messages in history. -1: all history. + public const byte HistoryLength = 14; + + /// (21) WebFlags object for changing behaviour of webhooks from client. + public const byte WebFlags = 21; + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatParameterCode.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatParameterCode.cs.meta new file mode 100644 index 0000000..b0d8707 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatParameterCode.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7a17b60c85fb30448492e397c58c7ce +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatPeer.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatPeer.cs new file mode 100644 index 0000000..a87a35a --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatPeer.cs @@ -0,0 +1,397 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +#if UNITY_4_7 || UNITY_5 || UNITY_5_0 || UNITY_5_1 || UNITY_2017 +#define UNITY +#endif + +namespace ExitGames.Client.Photon.Chat +{ + using System; + using System.Diagnostics; + using System.Collections.Generic; + using ExitGames.Client.Photon; + + #if UNITY || NETFX_CORE + using Hashtable = ExitGames.Client.Photon.Hashtable; + using SupportClass = ExitGames.Client.Photon.SupportClass; + #endif + + + /// + /// Provides basic operations of the Photon Chat server. This internal class is used by public ChatClient. + /// + public class ChatPeer : PhotonPeer + { + /// Name Server Host Name for Photon Cloud. Without port and without any prefix. + public const string NameServerHost = "ns.exitgames.com"; + + /// Name Server for HTTP connections to the Photon Cloud. Includes prefix and port. + public const string NameServerHttp = "http://ns.exitgamescloud.com:80/photon/n"; + + /// Name Server port per protocol (the UDP port is different than TCP, etc). + private static readonly Dictionary ProtocolToNameServerPort = new Dictionary() { { ConnectionProtocol.Udp, 5058 }, { ConnectionProtocol.Tcp, 4533 }, { ConnectionProtocol.WebSocket, 9093 }, { ConnectionProtocol.WebSocketSecure, 19093 } }; //, { ConnectionProtocol.RHttp, 6063 } }; + + /// Name Server Address for Photon Cloud (based on current protocol). You can use the default values and usually won't have to set this value. + public string NameServerAddress { get { return this.GetNameServerAddress(); } } + + virtual internal bool IsProtocolSecure { get { return this.UsedProtocol == ConnectionProtocol.WebSocketSecure; } } + + + public ChatPeer(IPhotonPeerListener listener, ConnectionProtocol protocol) : base(listener, protocol) + { + this.ConfigUnitySockets(); + } + + + [Conditional("UNITY")] + private void ConfigUnitySockets() + { + #pragma warning disable 0162 // the library variant defines if we should use PUN's SocketUdp variant (at all) + if (PhotonPeer.NoSocket) + { + #if !UNITY_EDITOR && (UNITY_PS3 || UNITY_ANDROID) + this.SocketImplementationConfig[ConnectionProtocol.Udp] = typeof(SocketUdpNativeDynamic); + #elif !UNITY_EDITOR && UNITY_IPHONE + this.SocketImplementationConfig[ConnectionProtocol.Udp] = typeof(SocketUdpNativeStatic); + #elif !UNITY_EDITOR && (UNITY_WINRT) + // this automatically uses a separate assembly-file with Win8-style Socket usage (not possible in Editor) + #else + Type udpSocket = Type.GetType("ExitGames.Client.Photon.SocketUdp, Assembly-CSharp"); + this.SocketImplementationConfig[ConnectionProtocol.Udp] = udpSocket; + if (udpSocket == null) + { + #if UNITY + UnityEngine.Debug.Log("Could not find a suitable C# socket class. This Photon3Unity3D.dll only supports native socket plugins."); + #endif + } + #endif + } + #pragma warning restore 0162 + + + #if UNITY_WEBGL + if (this.TransportProtocol != ConnectionProtocol.WebSocket && this.TransportProtocol != ConnectionProtocol.WebSocketSecure) + { + UnityEngine.Debug.Log("For UNITY_WEBGL, use protocol WebSocketSecure. Overriding currently set protcol " + this.TransportProtocol + "."); + this.TransportProtocol = ConnectionProtocol.WebSocketSecure; + } + #endif + + + // to support WebGL export in Unity, we find and assign the SocketWebTcpThread or SocketWebTcpCoroutine class (if it's in the project). + Type websocketType = Type.GetType("ExitGames.Client.Photon.SocketWebTcpThread, Assembly-CSharp", false); + websocketType = websocketType ?? Type.GetType("ExitGames.Client.Photon.SocketWebTcpThread, Assembly-CSharp-firstpass", false); + websocketType = websocketType ?? Type.GetType("ExitGames.Client.Photon.SocketWebTcpCoroutine, Assembly-CSharp", false); + websocketType = websocketType ?? Type.GetType("ExitGames.Client.Photon.SocketWebTcpCoroutine, Assembly-CSharp-firstpass", false); + if (websocketType != null) + { + this.SocketImplementationConfig[ConnectionProtocol.WebSocket] = websocketType; + this.SocketImplementationConfig[ConnectionProtocol.WebSocketSecure] = websocketType; + } + } + + + /// + /// Gets the NameServer Address (with prefix and port), based on the set protocol (this.UsedProtocol). + /// + /// NameServer Address (with prefix and port). + private string GetNameServerAddress() + { + var protocolPort = 0; + ProtocolToNameServerPort.TryGetValue(this.TransportProtocol, out protocolPort); + + switch (this.TransportProtocol) + { + case ConnectionProtocol.Udp: + case ConnectionProtocol.Tcp: + return string.Format("{0}:{1}", NameServerHost, protocolPort); + #if RHTTP + case ConnectionProtocol.RHttp: + return NameServerHttp; + #endif + case ConnectionProtocol.WebSocket: + return string.Format("ws://{0}:{1}", NameServerHost, protocolPort); + case ConnectionProtocol.WebSocketSecure: + return string.Format("wss://{0}:{1}", NameServerHost, protocolPort); + default: + throw new ArgumentOutOfRangeException(); + } + } + + public bool Connect() + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "Connecting to nameserver " + this.NameServerAddress); + } + + return this.Connect(this.NameServerAddress, "NameServer"); + } + + public bool AuthenticateOnNameServer(string appId, string appVersion, string region, AuthenticationValues authValues) + { + if (this.DebugOut >= DebugLevel.INFO) + { + this.Listener.DebugReturn(DebugLevel.INFO, "OpAuthenticate()"); + } + + var opParameters = new Dictionary(); + + opParameters[ParameterCode.AppVersion] = appVersion; + opParameters[ParameterCode.ApplicationId] = appId; + opParameters[ParameterCode.Region] = region; + + if (authValues != null) + { + if (!string.IsNullOrEmpty(authValues.UserId)) + { + opParameters[ParameterCode.UserId] = authValues.UserId; + } + + if (authValues != null && authValues.AuthType != CustomAuthenticationType.None) + { + opParameters[ParameterCode.ClientAuthenticationType] = (byte) authValues.AuthType; + if (!string.IsNullOrEmpty(authValues.Token)) + { + opParameters[ParameterCode.Secret] = authValues.Token; + } + else + { + if (!string.IsNullOrEmpty(authValues.AuthGetParameters)) + { + opParameters[ParameterCode.ClientAuthenticationParams] = authValues.AuthGetParameters; + } + if (authValues.AuthPostData != null) + { + opParameters[ParameterCode.ClientAuthenticationData] = authValues.AuthPostData; + } + } + } + } + + return this.OpCustom((byte)ChatOperationCode.Authenticate, opParameters, true, (byte)0, this.IsEncryptionAvailable); + } + } + + /// + /// Options for optional "Custom Authentication" services used with Photon. Used by OpAuthenticate after connecting to Photon. + /// + public enum CustomAuthenticationType : byte + { + /// Use a custom authentification service. Currently the only implemented option. + Custom = 0, + + /// Authenticates users by their Steam Account. Set auth values accordingly! + Steam = 1, + + /// Authenticates users by their Facebook Account. Set auth values accordingly! + Facebook = 2, + + /// Authenticates users by their Oculus Account and token. + Oculus = 3, + + /// Authenticates users by their PSN Account and token. + PlayStation = 4, + + /// Authenticates users by their Xbox Account and XSTS token. + Xbox = 5, + + /// Disables custom authentification. Same as not providing any AuthenticationValues for connect (more precisely for: OpAuthenticate). + None = byte.MaxValue + } + + + + /// + /// Container for user authentication in Photon. Set AuthValues before you connect - all else is handled. + /// + /// + /// On Photon, user authentication is optional but can be useful in many cases. + /// If you want to FindFriends, a unique ID per user is very practical. + /// + /// There are basically three options for user authentification: None at all, the client sets some UserId + /// or you can use some account web-service to authenticate a user (and set the UserId server-side). + /// + /// Custom Authentication lets you verify end-users by some kind of login or token. It sends those + /// values to Photon which will verify them before granting access or disconnecting the client. + /// + /// The Photon Cloud Dashboard will let you enable this feature and set important server values for it. + /// https://www.photonengine.com/dashboard + /// + public class AuthenticationValues + { + /// See AuthType. + private CustomAuthenticationType authType = CustomAuthenticationType.None; + + /// The type of custom authentication provider that should be used. Currently only "Custom" or "None" (turns this off). + public CustomAuthenticationType AuthType + { + get { return authType; } + set { authType = value; } + } + + /// This string must contain any (http get) parameters expected by the used authentication service. By default, username and token. + /// Standard http get parameters are used here and passed on to the service that's defined in the server (Photon Cloud Dashboard). + public string AuthGetParameters { get; set; } + + /// Data to be passed-on to the auth service via POST. Default: null (not sent). Either string or byte[] (see setters). + public object AuthPostData { get; private set; } + + /// After initial authentication, Photon provides a token for this client / user, which is subsequently used as (cached) validation. + public string Token { get; set; } + + /// The UserId should be a unique identifier per user. This is for finding friends, etc.. + public string UserId { get; set; } + + + /// Creates empty auth values without any info. + public AuthenticationValues() + { + } + + /// Creates minimal info about the user. If this is authenticated or not, depends on the set AuthType. + /// Some UserId to set in Photon. + public AuthenticationValues(string userId) + { + this.UserId = userId; + } + + /// Sets the data to be passed-on to the auth service via POST. + /// String data to be used in the body of the POST request. Null or empty string will set AuthPostData to null. + public virtual void SetAuthPostData(string stringData) + { + this.AuthPostData = (string.IsNullOrEmpty(stringData)) ? null : stringData; + } + + /// Sets the data to be passed-on to the auth service via POST. + /// Binary token / auth-data to pass on. + public virtual void SetAuthPostData(byte[] byteData) + { + this.AuthPostData = byteData; + } + + /// Adds a key-value pair to the get-parameters used for Custom Auth. + /// This method does uri-encoding for you. + /// Key for the value to set. + /// Some value relevant for Custom Authentication. + public virtual void AddAuthParameter(string key, string value) + { + string ampersand = string.IsNullOrEmpty(this.AuthGetParameters) ? "" : "&"; + this.AuthGetParameters = string.Format("{0}{1}{2}={3}", this.AuthGetParameters, ampersand, System.Uri.EscapeDataString(key), System.Uri.EscapeDataString(value)); + } + + public override string ToString() + { + return string.Format("AuthenticationValues UserId: {0}, GetParameters: {1} Token available: {2}", UserId, this.AuthGetParameters, Token != null); + } + } + + + public class ParameterCode + { + public const byte ApplicationId = 224; + /// (221) Internally used to establish encryption + public const byte Secret = 221; + public const byte AppVersion = 220; + /// (217) This key's (byte) value defines the target custom authentication type/service the client connects with. Used in OpAuthenticate + public const byte ClientAuthenticationType = 217; + + /// (216) This key's (string) value provides parameters sent to the custom authentication type/service the client connects with. Used in OpAuthenticate + public const byte ClientAuthenticationParams = 216; + + /// (214) This key's (string or byte[]) value provides parameters sent to the custom authentication service setup in Photon Dashboard. Used in OpAuthenticate + public const byte ClientAuthenticationData = 214; + /// (210) Used for region values in OpAuth and OpGetRegions. + public const byte Region = 210; + /// (230) Address of a (game) server to use. + public const byte Address = 230; + /// (225) User's ID + public const byte UserId = 225; + } + /// + /// ErrorCode defines the default codes associated with Photon client/server communication. + /// + public class ErrorCode + { + /// (0) is always "OK", anything else an error or specific situation. + public const int Ok = 0; + + // server - Photon low(er) level: <= 0 + + /// + /// (-3) Operation can't be executed yet (e.g. OpJoin can't be called before being authenticated, RaiseEvent cant be used before getting into a room). + /// + /// + /// Before you call any operations on the Cloud servers, the automated client workflow must complete its authorization. + /// In PUN, wait until State is: JoinedLobby (with AutoJoinLobby = true) or ConnectedToMaster (AutoJoinLobby = false) + /// + public const int OperationNotAllowedInCurrentState = -3; + + /// (-2) The operation you called is not implemented on the server (application) you connect to. Make sure you run the fitting applications. + public const int InvalidOperationCode = -2; + + /// (-1) Something went wrong in the server. Try to reproduce and contact Exit Games. + public const int InternalServerError = -1; + + // server - PhotonNetwork: 0x7FFF and down + // logic-level error codes start with short.max + + /// (32767) Authentication failed. Possible cause: AppId is unknown to Photon (in cloud service). + public const int InvalidAuthentication = 0x7FFF; + + /// (32766) GameId (name) already in use (can't create another). Change name. + public const int GameIdAlreadyExists = 0x7FFF - 1; + + /// (32765) Game is full. This rarely happens when some player joined the room before your join completed. + public const int GameFull = 0x7FFF - 2; + + /// (32764) Game is closed and can't be joined. Join another game. + public const int GameClosed = 0x7FFF - 3; + + /// (32762) Not in use currently. + public const int ServerFull = 0x7FFF - 5; + + /// (32761) Not in use currently. + public const int UserBlocked = 0x7FFF - 6; + + /// (32760) Random matchmaking only succeeds if a room exists thats neither closed nor full. Repeat in a few seconds or create a new room. + public const int NoRandomMatchFound = 0x7FFF - 7; + + /// (32758) Join can fail if the room (name) is not existing (anymore). This can happen when players leave while you join. + public const int GameDoesNotExist = 0x7FFF - 9; + + /// (32757) Authorization on the Photon Cloud failed becaus the concurrent users (CCU) limit of the app's subscription is reached. + /// + /// Unless you have a plan with "CCU Burst", clients might fail the authentication step during connect. + /// Affected client are unable to call operations. Please note that players who end a game and return + /// to the master server will disconnect and re-connect, which means that they just played and are rejected + /// in the next minute / re-connect. + /// This is a temporary measure. Once the CCU is below the limit, players will be able to connect an play again. + /// + /// OpAuthorize is part of connection workflow but only on the Photon Cloud, this error can happen. + /// Self-hosted Photon servers with a CCU limited license won't let a client connect at all. + /// + public const int MaxCcuReached = 0x7FFF - 10; + + /// (32756) Authorization on the Photon Cloud failed because the app's subscription does not allow to use a particular region's server. + /// + /// Some subscription plans for the Photon Cloud are region-bound. Servers of other regions can't be used then. + /// Check your master server address and compare it with your Photon Cloud Dashboard's info. + /// https://cloud.photonengine.com/dashboard + /// + /// OpAuthorize is part of connection workflow but only on the Photon Cloud, this error can happen. + /// Self-hosted Photon servers with a CCU limited license won't let a client connect at all. + /// + public const int InvalidRegion = 0x7FFF - 11; + + /// + /// (32755) Custom Authentication of the user failed due to setup reasons (see Cloud Dashboard) or the provided user data (like username or token). Check error message for details. + /// + public const int CustomAuthenticationFailed = 0x7FFF - 12; + } + +} diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatPeer.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatPeer.cs.meta new file mode 100644 index 0000000..a002c43 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatPeer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f712805dec728943a668b3bf19dc422 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatState.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatState.cs new file mode 100644 index 0000000..fd8ac81 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatState.cs @@ -0,0 +1,37 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// Possible states for a LoadBalancingClient. + public enum ChatState + { + /// Peer is created but not used yet. + Uninitialized, + /// Connecting to master (includes connect, authenticate and joining the lobby) + ConnectingToNameServer, + /// Connected to master server. + ConnectedToNameServer, + /// Usually when Authenticated, the client will join a game or the lobby (if AutoJoinLobby is true). + Authenticating, + /// Usually when Authenticated, the client will join a game or the lobby (if AutoJoinLobby is true). + Authenticated, + /// Transition from master to game server. + DisconnectingFromNameServer, + /// Transition to gameserver (client will authenticate and join/create game). + ConnectingToFrontEnd, + /// Connected to gameserver (going to auth and join game). + ConnectedToFrontEnd, + /// Transition from gameserver to master (after leaving a room/game). + DisconnectingFromFrontEnd, + /// Currently not used. + QueuedComingFromFrontEnd, + /// The client disconnects (from any server). + Disconnecting, + /// The client is no longer connected (to any server). Connect to master to go on. + Disconnected, + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatState.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatState.cs.meta new file mode 100644 index 0000000..e862818 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatState.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f482d8c4fe7ade4cbb08eb4a2d83b39 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatUserStatus.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatUserStatus.cs new file mode 100644 index 0000000..440145d --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatUserStatus.cs @@ -0,0 +1,35 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// Contains commonly used status values for SetOnlineStatus. You can define your own. + /// + /// While "online" (value 2 and up), the status message will be sent to anyone who has you on his friend list. + /// + /// Define custom online status values as you like with these rules: + /// 0: Means "offline". It will be used when you are not connected. In this status, there is no status message. + /// 1: Means "invisible" and is sent to friends as "offline". They see status 0, no message but you can chat. + /// 2: And any higher value will be treated as "online". Status can be set. + /// + public static class ChatUserStatus + { + /// (0) Offline. + public const int Offline = 0; + /// (1) Be invisible to everyone. Sends no message. + public const int Invisible = 1; + /// (2) Online and available. + public const int Online = 2; + /// (3) Online but not available. + public const int Away = 3; + /// (4) Do not disturb. + public const int DND = 4; + /// (5) Looking For Game/Group. Could be used when you want to be invited or do matchmaking. + public const int LFG = 5; + /// (6) Could be used when in a room, playing. + public const int Playing = 6; + } +} diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/ChatUserStatus.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatUserStatus.cs.meta new file mode 100644 index 0000000..bfd0c52 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/ChatUserStatus.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7db67e7f5face2e42b6daafcaf4e6c82 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/IChatClientListener.cs b/Project Undercover/Assets/Plugin/PhotonChatApi/IChatClientListener.cs new file mode 100644 index 0000000..0c1fe68 --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/IChatClientListener.cs @@ -0,0 +1,86 @@ +// ---------------------------------------------------------------------------------------------------------------------- +// The Photon Chat Api enables clients to connect to a chat server and communicate with other clients. +// ChatClient is the main class of this api. +// Photon Chat Api - Copyright (C) 2014 Exit Games GmbH +// ---------------------------------------------------------------------------------------------------------------------- + +namespace ExitGames.Client.Photon.Chat +{ + /// + /// Callback interface for Chat client side. Contains callback methods to notify your app about updates. + /// Must be provided to new ChatClient in constructor + /// + public interface IChatClientListener + { + /// + /// All debug output of the library will be reported through this method. Print it or put it in a + /// buffer to use it on-screen. + /// + /// DebugLevel (severity) of the message. + /// Debug text. Print to System.Console or screen. + void DebugReturn(DebugLevel level, string message); + + /// + /// Disconnection happened. + /// + void OnDisconnected(); + + /// + /// Client is connected now. + /// + /// + /// Clients have to be connected before they can send their state, subscribe to channels and send any messages. + /// + void OnConnected(); + + /// The ChatClient's state changed. Usually, OnConnected and OnDisconnected are the callbacks to react to. + /// The new state. + void OnChatStateChange(ChatState state); + + /// + /// Notifies app that client got new messages from server + /// Number of senders is equal to number of messages in 'messages'. Sender with number '0' corresponds to message with + /// number '0', sender with number '1' corresponds to message with number '1' and so on + /// + /// channel from where messages came + /// list of users who sent messages + /// list of messages it self + void OnGetMessages(string channelName, string[] senders, object[] messages); + + /// + /// Notifies client about private message + /// + /// user who sent this message + /// message it self + /// channelName for private messages (messages you sent yourself get added to a channel per target username) + void OnPrivateMessage(string sender, object message, string channelName); + + /// + /// Result of Subscribe operation. Returns subscription result for every requested channel name. + /// + /// + /// If multiple channels sent in Subscribe operation, OnSubscribed may be called several times, each call with part of sent array or with single channel in "channels" parameter. + /// Calls order and order of channels in "channels" parameter may differ from order of channels in "channels" parameter of Subscribe operation. + /// + /// Array of channel names. + /// Per channel result if subscribed. + void OnSubscribed(string[] channels, bool[] results); + + /// + /// Result of Unsubscribe operation. Returns for channel name if the channel is now unsubscribed. + /// + /// If multiple channels sent in Unsubscribe operation, OnUnsubscribed may be called several times, each call with part of sent array or with single channel in "channels" parameter. + /// Calls order and order of channels in "channels" parameter may differ from order of channels in "channels" parameter of Unsubscribe operation. + /// Array of channel names that are no longer subscribed. + void OnUnsubscribed(string[] channels); + + /// + /// New status of another user (you get updates for users set in your friends list). + /// + /// Name of the user. + /// New status of that user. + /// True if the status contains a message you should cache locally. False: This status update does not include a message (keep any you have). + /// Message that user set. + void OnStatusUpdate(string user, int status, bool gotMessage, object message); + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/PhotonChatApi/IChatClientListener.cs.meta b/Project Undercover/Assets/Plugin/PhotonChatApi/IChatClientListener.cs.meta new file mode 100644 index 0000000..797bdea --- /dev/null +++ b/Project Undercover/Assets/Plugin/PhotonChatApi/IChatClientListener.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bab7c8053b486e34aa0d4ca99dcbec80 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Plugins.meta b/Project Undercover/Assets/Plugin/Plugins.meta new file mode 100644 index 0000000..a682f29 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6a079c9932f945b4f957aa6fe425ee4f +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/Metro.meta b/Project Undercover/Assets/Plugin/Plugins/Metro.meta new file mode 100644 index 0000000..06375e6 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/Metro.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6ae3b9eba73d0234eb6ae6f892e80806 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.dll b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.dll new file mode 100644 index 0000000..76d9a0a Binary files /dev/null and b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.dll differ diff --git a/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.dll.meta b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.dll.meta new file mode 100644 index 0000000..a7b44bb --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.dll.meta @@ -0,0 +1,67 @@ +fileFormatVersion: 2 +guid: 3b5a0a7dce46a13459199d174ad3db3f +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + WP8: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: Assets/Plugins/Photon3Unity3D.dll + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: AnyCPU + WindowsStoreApps: + enabled: 1 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: Assets/Plugins/Photon3Unity3D.dll + SDK: AnySDK + ScriptingBackend: DotNet + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.pri b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.pri new file mode 100644 index 0000000..fa910b6 Binary files /dev/null and b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.pri differ diff --git a/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.pri.meta b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.pri.meta new file mode 100644 index 0000000..eb420ef --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/Metro/Photon3Unity3D.pri.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3439a9e4030efca45b6cc06240106c02 +timeCreated: 1460035811 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.dll b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.dll new file mode 100644 index 0000000..ed67fc1 Binary files /dev/null and b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.dll differ diff --git a/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.dll.meta b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.dll.meta new file mode 100644 index 0000000..f8184f3 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.dll.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: aadb37a20a33632429047acaef43658a +labels: +- ExitGames +- PUN +- Photon +- Networking +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 1 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + Linux: + enabled: 1 + settings: + CPU: x86 + Linux64: + enabled: 1 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 1 + settings: {} + OSXIntel: + enabled: 1 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 1 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 1 + settings: {} + PS4: + enabled: 1 + settings: {} + WP8: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + Web: + enabled: 1 + settings: {} + WebGL: + enabled: 1 + settings: {} + WebStreamed: + enabled: 1 + settings: {} + Win: + enabled: 1 + settings: + CPU: AnyCPU + Win64: + enabled: 1 + settings: + CPU: AnyCPU + WindowsStoreApps: + enabled: 1 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + SDK: AnySDK + ScriptingBackend: Il2Cpp + iOS: + enabled: 1 + settings: + CompileFlags: + FrameworkDependencies: + tvOS: + enabled: 1 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.xml b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.xml new file mode 100644 index 0000000..1c4e76d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.xml @@ -0,0 +1,2112 @@ + + + + Photon3Unity3D + + + + + This is a substitute for the Hashtable class, missing in: Win8RT and Windows Phone. It uses a Dictionary<object,object> as base. + + + Please be aware that this class might act differently than the Hashtable equivalent. + As far as Photon is concerned, the substitution is sufficiently precise. + + + + + Creates a shallow copy of the Hashtable. + + + A shallow copy of a collection copies only the elements of the collection, whether they are + reference types or value types, but it does not copy the objects that the references refer + to. The references in the new collection point to the same objects that the references in + the original collection point to. + + Shallow copy of the Hashtable. + + + + Contains several (more or less) useful static methods, mostly used for debugging. + + + + + Gets the local machine's "milliseconds since start" value (precision is described in remarks). + + + This method uses Environment.TickCount (cheap but with only 16ms precision). + PhotonPeer.LocalMsTimestampDelegate is available to set the delegate (unless already connected). + + Fraction of the current time in Milliseconds (this is not a proper datetime timestamp). + + + + Creates a background thread that calls the passed function in 100ms intervals, as long as that returns true. + + + + + Creates a background thread that calls the passed function in intervals, as long as that returns true. + + The function to call. Must return true, if it should be called again. + Milliseconds to sleep between calls of myThread. Default: 100ms. + An optional name for the task for eased debugging. + + + + Ends the thread with the given id (= index of the thread list). + + The unique ID of the thread. + True if the thread is canceled and false otherwise, e.g. if the thread with the given ID does not exist. + + + + Ends the thread with the given id (= index of the thread list). + + The unique ID of the thread. + True if the thread is canceled and false otherwise, e.g. if the thread with the given ID does not exist. + + + + Writes the exception's stack trace to the received stream. + + Exception to obtain information from. + Output sream used to write to. + + + + Writes the exception's stack trace to the received stream. Writes to: System.Diagnostics.Debug. + + Exception to obtain information from. + + + + This method returns a string, representing the content of the given IDictionary. + Returns "null" if parameter is null. + + + IDictionary to return as string. + + + The string representation of keys and values in IDictionary. + + + + + This method returns a string, representing the content of the given IDictionary. + Returns "null" if parameter is null. + + IDictionary to return as string. + + + + + Converts a byte-array to string (useful as debugging output). + Uses BitConverter.ToString(list) internally after a null-check of list. + + Byte-array to convert to string. + + List of bytes as string. + + + + + Class to wrap static access to the random.Next() call in a thread safe manner. + + + + + Defines block size for encryption/decryption algorithm + + + + + Defines IV size for encryption/decryption algorithm + + + + + Defines HMAC size for packet authentication algorithm + + + + + Enumeration of situations that change the peers internal status. + Used in calls to OnStatusChanged to inform your application of various situations that might happen. + + + Most of these codes are referenced somewhere else in the documentation when they are relevant to methods. + + + + the PhotonPeer is connected.
See {@link PhotonListener#OnStatusChanged}*
+
+ + the PhotonPeer just disconnected.
See {@link PhotonListener#OnStatusChanged}*
+
+ + the PhotonPeer encountered an exception and will disconnect, too.
See {@link PhotonListener#OnStatusChanged}*
+
+ + the PhotonPeer encountered an exception while opening the incoming connection to the server. The server could be down / not running or the client has no network or a misconfigured DNS.
See {@link PhotonListener#OnStatusChanged}*
+
+ + Used on platforms that throw a security exception on connect. Unity3d does this, e.g., if a webplayer build could not fetch a policy-file from a remote server. + + + PhotonPeer outgoing queue is filling up. send more often. + + + PhotonPeer outgoing queue is filling up. send more often. + + + Sending command failed. Either not connected, or the requested channel is bigger than the number of initialized channels. + + + PhotonPeer outgoing queue is filling up. send more often. + + + PhotonPeer incoming queue is filling up. Dispatch more often. + + + PhotonPeer incoming queue is filling up. Dispatch more often. + + + PhotonPeer incoming queue is filling up. Dispatch more often. + + + Exception, if a server cannot be connected. Most likely, the server is not responding. Ask user to try again later. + + + Disconnection due to a timeout (client did no longer receive ACKs from server). + + + Disconnect by server due to timeout (received a disconnect command, cause server misses ACKs of client). + + + Disconnect by server due to concurrent user limit reached (received a disconnect command). + + + Disconnect by server due to server's logic (received a disconnect command). + + + (1048) Value for OnStatusChanged()-call, when the encryption-setup for secure communication finished successfully. + + + (1049) Value for OnStatusChanged()-call, when the encryption-setup failed for some reason. Check debug logs. + + + + Callback interface for the Photon client side. Must be provided to a new PhotonPeer in its constructor. + + + These methods are used by your PhotonPeer instance to keep your app updated. Read each method's + description and check out the samples to see how to use them. + + + + + Provides textual descriptions for various error conditions and noteworthy situations. + In cases where the application needs to react, a call to OnStatusChanged is used. + OnStatusChanged gives "feedback" to the game, DebugReturn provies human readable messages + on the background. + + + All debug output of the library will be reported through this method. Print it or put it in a + buffer to use it on-screen. Use PhotonPeer.DebugOut to select how verbose the output is. + + DebugLevel (severity) of the message. + Debug text. Print to System.Console or screen. + + + + Callback method which gives you (async) responses for called operations. + + + Similar to method-calling, operations can have a result. + Because operation-calls are non-blocking and executed on the server, responses are provided + after a roundtrip as call to this method. + + Example: Trying to create a room usually succeeds but can fail if the room's name is already + in use (room names are their IDs). + + This method is used as general callback for all operations. Each response corresponds to a certain + "type" of operation by its OperationCode. + + + + When you join a room, the server will assign a consecutive number to each client: the + "actorNr" or "player number". This is sent back in the OperationResult's + Parameters as value of key . + + Fetch your actorNr of a Join response like this: + int actorNr = (int)operationResponse[(byte)OperationCode.ActorNr]; + + The response to an operation\-call. + + + + OnStatusChanged is called to let the game know when asyncronous actions finished or when errors happen. + + + Not all of the many StatusCode values will apply to your game. Example: If you don't use encryption, + the respective status changes are never made. + + The values are all part of the StatusCode enumeration and described value-by-value. + + A code to identify the situation. + + + + Called whenever an event from the Photon Server is dispatched. + + + Events are used for communication between clients and allow the server to update clients over time. + The creation of an event is often triggered by an operation (called by this client or an other). + + Each event carries its specific content in its Parameters. Your application knows which content to + expect by checking the event's 'type', given by the event's Code. + + Events can be defined and extended server-side. + + If you use the LoadBalancing application as base, several events like EvJoin and EvLeave are already defined. + For these events and their Parameters, the library provides constants, so check the EventCode and ParameterCode + classes. + + Photon also allows you to come up with custom events on the fly, purely client-side. To do so, use + OpRaiseEvent. + + Events are buffered on the client side and must be Dispatched. This way, OnEvent is always taking + place in the same thread as a call. + + The event currently being dispatched. + + + + The bytes between Position and Length are copied to the beginning of the buffer. Length decreased by Position. Position set to 0. + + + + + Brings StreamBuffer to the state as after writing of 'length' bytes. Returned buffer and offset can be used to actually fill "written" segment with data. + + + + + Sets stream length. If current position is greater than specified value, it's set to the value. + + + SetLength(0) resets the stream to initial state but preserves underlying byte[] buffer. + + + + + Guarantees that the buffer is at least neededSize bytes. + + + + + Value range for a Peer's connection and initialization state, as returned by the PeerState property. + + + While this is not the same as the StatusCode of IPhotonPeerListener.OnStatusChanged(), it directly relates to it. + In most cases, it makes more sense to build a game's state on top of the OnStatusChanged() as you get changes. + + + + The peer is disconnected and can't call Operations. Call Connect(). + + + The peer is establishing the connection: opening a socket, exchanging packages with Photon. + + + The connection is established and now sends the application name to Photon. + You set the "application name" by calling PhotonPeer.Connect(). + + + The peer is connected and initialized (selected an application). You can now use operations. + + + The peer is disconnecting. It sent a disconnect to the server, which will acknowledge closing the connection. + + + + These are the options that can be used as underlying transport protocol. + + + + Use UDP to connect to Photon, which allows you to send operations reliable or unreliable on demand. + + + Use TCP to connect to Photon. + + + A TCP-based protocol commonly supported by browsers.For WebGL games mostly. Note: No WebSocket IPhotonSocket implementation is in this Assembly. + This protocol is only available in Unity exports to WebGL. + + + A TCP-based, encrypted protocol commonly supported by browsers. For WebGL games mostly. Note: No WebSocket IPhotonSocket implementation is in this Assembly. + This protocol is only available in Unity exports to WebGL. + + + + Level / amount of DebugReturn callbacks. Each debug level includes output for lower ones: OFF, ERROR, WARNING, INFO, ALL. + + + + No debug out. + + + Only error descriptions. + + + Warnings and errors. + + + Information about internal workflows, warnings and errors. + + + Most complete workflow description (but lots of debug output), info, warnings and errors. + + + + Instances of the PhotonPeer class are used to connect to a Photon server and communicate with it. + + + A PhotonPeer instance allows communication with the Photon Server, which in turn distributes messages + to other PhotonPeer clients. + An application can use more than one PhotonPeer instance, which are treated as separate users on the + server. Each should have its own listener instance, to separate the operations, callbacks and events. + + + + False if this library build contains C# Socket code. If true, you must set some type as SocketImplementation before connecting. + + + True, if this library needs a native Photon "Encryptor" plugin library for "Datagram Encryption". If false, this dll attempts to use managed encryption. + + + True if the library was compiled with DEBUG setting. + + + A simplified identifier for client SDKs. Photon's APIs might modify this (as a dll can be used in more than one product). Helps debugging. + + + For the Init-request, we shift the ClientId by one and the last bit signals a "debug" (0) or "release" build (1). + + + Defines if Key Exchange for Encryption is done asynchronously in another thread. + + + Version of this library as string. + + + Enables selection of a (Photon-)serialization protocol. Used in Connect methods. + Defaults to SerializationProtocol.GpBinaryV16; + + + Defines which IPhotonSocket class to use per ConnectionProtocol. + + Several platforms have special Socket implementations and slightly different APIs. + To accomodate this, switching the socket implementation for a network protocol was made available. + By default, UDP and TCP have socket implementations assigned. + + You only need to set the SocketImplementationConfig once, after creating a PhotonPeer + and before connecting. If you switch the TransportProtocol, the correct implementation is being used. + + + + + Can be used to read the IPhotonSocket implementation at runtime (before connecting). + + + Use the SocketImplementationConfig to define which IPhotonSocket is used per ConnectionProtocol. + + + + + Sets the level (and amount) of debug output provided by the library. + + + This affects the callbacks to IPhotonPeerListener.DebugReturn. + Default Level: Error. + + + + + Gets the IPhotonPeerListener of this instance (set in constructor). + Can be used in derived classes for Listener.DebugReturn(). + + + + + Gets count of all bytes coming in (including headers, excluding UDP/TCP overhead) + + + + + Gets count of all bytes going out (including headers, excluding UDP/TCP overhead) + + + + + Gets the size of the dispatched event or operation-result in bytes. + This value is set before OnEvent() or OnOperationResponse() is called (within DispatchIncomingCommands()). + + + Get this value directly in OnEvent() or OnOperationResponse(). Example: + void OnEvent(...) { + int eventSizeInBytes = this.peer.ByteCountCurrentDispatch; + //... + + void OnOperationResponse(...) { + int resultSizeInBytes = this.peer.ByteCountCurrentDispatch; + //... + + + + Returns the debug string of the event or operation-response currently being dispatched or string. Empty if none. + In a release build of the lib, this will always be empty. + + + + Gets the size of the last serialized operation call in bytes. + The value includes all headers for this single operation but excludes those of UDP, Enet Package Headers and TCP. + + + Get this value immediately after calling an operation. + Example: + + this.loadbalancingClient.OpJoinRoom("myroom"); + int opjoinByteCount = this.loadbalancingClient.ByteCountLastOperation; + + + + + Gets the byte-count of incoming "low level" messages, which are either Enet Commands or Tcp Messages. + These include all headers, except those of the underlying internet protocol Udp or Tcp. + + + + + Gets the byte-count of outgoing "low level" messages, which are either Enet Commands or Tcp Messages. + These include all headers, except those of the underlying internet protocol Udp or Tcp. + + + + + Gets a statistic of incoming and outgoing traffic, split by operation, operation-result and event. + + + Operations are outgoing traffic, results and events are incoming. + Includes the per-command header sizes (Udp: Enet Command Header or Tcp: Message Header). + + + + + Returns the count of milliseconds the stats are enabled for tracking. + + + + + Enables or disables collection of statistics in TrafficStatsIncoming, TrafficStatsOutgoing and TrafficstatsGameLevel. + + + Setting this to true, also starts the stopwatch to measure the timespan the stats are collected. + Enables the traffic statistics of a peer: TrafficStatsIncoming, TrafficStatsOutgoing and TrafficstatsGameLevel (nothing else). + Default value: false (disabled). + + + + + Creates new instances of TrafficStats and starts a new timer for those. + + + + Size of CommandLog. Default is 0, no logging. + + A bigger log is better for debugging but uses more memory. + Get the log as string via CommandLogToString. + + + + Converts the CommandLog into a readable table-like string with summary. + + Sent reliable commands begin with SND. Their acknowledgements with ACK. + ACKs list the reliable sequence number of the command they acknowledge (not their own). + Careful: This method should not be called frequently, as it's time- and memory-consuming to create the log. + + + + + Debugging option to tell the Photon Server to log all datagrams. + + + + + Up to 4 resend attempts for a reliable command can be done in quick succession (after RTT+4*Variance). + + + By default 0. Any later resend attempt will then double the time before the next resend. + Max value = 4; + Make sure to adjust SentCountAllowance to a slightly higher value, as more repeats will get done. + + + + + This is the (low level) state of the connection to the server of a PhotonPeer. Managed internally and read-only. + + + Don't mix this up with the StatusCode provided in IPhotonListener.OnStatusChanged(). + Applications should use the StatusCode of OnStatusChanged() to track their state, as + it also covers the higher level initialization between a client and Photon. + + + + + This peer's ID as assigned by the server or 0 if not using UDP. Will be 0xFFFF before the client connects. + + Used for debugging only. This value is not useful in everyday Photon usage. + + + + Initial size internal lists for incoming/outgoing commands (reliable and unreliable). + + + This sets only the initial size. All lists simply grow in size as needed. This means that + incoming or outgoing commands can pile up and consume heap size if Service is not called + often enough to handle the messages in either direction. + + Configure the WarningSize, to get callbacks when the lists reach a certain size. + + UDP: Incoming and outgoing commands each have separate buffers for reliable and unreliable sending. + There are additional buffers for "sent commands" and "ACKs". + TCP: Only two buffers exist: incoming and outgoing commands. + + + + (default=2) minimum number of open connections + + + (default=6) maximum number of open connections, should be > RhttpMinConnections + + + + Limits the queue of received unreliable commands within DispatchIncomingCommands before dispatching them. + This works only in UDP. + This limit is applied when you call DispatchIncomingCommands. If this client (already) received more than + LimitOfUnreliableCommands, it will throw away the older ones instead of dispatching them. This can produce + bigger gaps for unreliable commands but your client catches up faster. + + + This can be useful when the client couldn't dispatch anything for some time (cause it was in a room but + loading a level). + If set to 20, the incoming unreliable queues are truncated to 20. + If 0, all received unreliable commands will be dispatched. + This is a "per channel" value, so each channel can hold up to LimitOfUnreliableCommands commands. + This value interacts with DispatchIncomingCommands: If that is called less often, more commands get skipped. + + + + + Count of all currently received but not-yet-Dispatched reliable commands + (events and operation results) from all channels. + + + + + Count of all commands currently queued as outgoing, including all channels and reliable, unreliable. + + + + + Gets / sets the number of channels available in UDP connections with Photon. + Photon Channels are only supported for UDP. + The default ChannelCount is 2. Channel IDs start with 0 and 255 is a internal channel. + + + + + While not connected, this controls if the next connection(s) should use a per-package CRC checksum. + + + While turned on, the client and server will add a CRC checksum to every sent package. + The checksum enables both sides to detect and ignore packages that were corrupted during transfer. + Corrupted packages have the same impact as lost packages: They require a re-send, adding a delay + and could lead to timeouts. + + Building the checksum has a low processing overhead but increases integrity of sent and received data. + Packages discarded due to failed CRC cecks are counted in PhotonPeer.PacketLossByCrc. + + + + + Count of packages dropped due to failed CRC checks for this connection. + + + + + + Count of packages dropped due to wrong challenge for this connection. + + + + + Count of commands that got repeated (due to local repeat-timing before an ACK was received). + + + + + The WarningSize was used test all message queues for congestion. + + + + + Number of send retries before a peer is considered lost/disconnected. Default: 7. + The initial timeout countdown of a command is calculated by the current roundTripTime + 4 * roundTripTimeVariance. + Please note that the timeout span until a command will be resent is not constant, but based on + the roundtrip time at the initial sending, which will be doubled with every failed retry. + + DisconnectTimeout and SentCountAllowance are competing settings: either might trigger a disconnect on the + client first, depending on the values and Roundtrip Time. + + + + + Sets the milliseconds without reliable command before a ping command (reliable) will be sent (Default: 1000ms). + The ping command is used to keep track of the connection in case the client does not send reliable commands + by itself. + A ping (or reliable commands) will update the RoundTripTime calculation. + + + + + Milliseconds after which a reliable UDP command triggers a timeout disconnect, unless acknowledged by server. + This value currently only affects UDP connections. + DisconnectTimeout is not an exact value for a timeout. The exact timing of the timeout depends on the frequency + of Service() calls and commands that are sent with long roundtrip-times and variance are checked less often for + re-sending! + + DisconnectTimeout and SentCountAllowance are competing settings: either might trigger a disconnect on the + client first, depending on the values and Roundtrip Time. + Default: 10000 ms. + + + + + Approximated Environment.TickCount value of server (while connected). + + + UDP: The server's timestamp is automatically fetched after connecting (once). This is done + internally by a command which is acknowledged immediately by the server. + TCP: The server's timestamp fetched with each ping but set only after connecting (once). + + The approximation will be off by +/- 10ms in most cases. Per peer/client and connection, the + offset will be constant (unless FetchServerTimestamp() is used). A constant offset should be + better to adjust for. Unfortunately there is no way to find out how much the local value + differs from the original. + + The approximation adds RoundtripTime / 2 and uses this.LocalTimeInMilliSeconds to calculate + in-between values (this property returns a new value per tick). + + The value sent by Photon equals Environment.TickCount in the logic layer. + + + 0 until connected. + While connected, the value is an approximation of the server's current timestamp. + + + + The internally used "per connection" time value, which is updated infrequently, when the library executes some connectio-related tasks. + + This integer value is an infrequently updated value by design. + The lib internally sets the value when it sends outgoing commands or reads incoming packages. + This is based on SupportClass.GetTickCount() and an initial time value per (server) connection. + This value is also used in low level Enet commands as sent time and optional logging. + + + + The last ConnectionTime value, when some ACKs were sent out by this client. + Only applicable to UDP connections. + + + The last ConnectionTime value, when SendOutgoingCommands actually checked outgoing queues to send them. Must be connected. + Available for UDP and TCP connections. + + + + Gets a local timestamp in milliseconds by calling SupportClass.GetTickCount(). + See LocalMsTimestampDelegate. + + + + + This setter for the (local-) timestamp delegate replaces the default Environment.TickCount with any equal function. + + + About Environment.TickCount: + The value of this property is derived from the system timer and is stored as a 32-bit signed integer. + Consequently, if the system runs continuously, TickCount will increment from zero to Int32..::.MaxValue + for approximately 24.9 days, then jump to Int32..::.MinValue, which is a negative number, then increment + back to zero during the next 24.9 days. + + Exception is thrown peer.PeerState is not PS_DISCONNECTED. + + + + Time until a reliable command is acknowledged by the server. + + The value measures network latency and for UDP it includes the server's ACK-delay (setting in config). + In TCP, there is no ACK-delay, so the value is slightly lower (if you use default settings for Photon). + + RoundTripTime is updated constantly. Every reliable command will contribute a fraction to this value. + + This is also the approximate time until a raised event reaches another client or until an operation + result is available. + + + + + Changes of the roundtriptime as variance value. Gives a hint about how much the time is changing. + + + + + Stores timestamp of the last time anything (!) was received from the server (including + low level Ping and ACKs but also events and operation-returns). This is not the time when + something was dispatched. + If you enable NetworkSimulation, this value is affected as well. + + + + + The server address which was used in PhotonPeer.Connect() or null (before Connect() was called). + + + The ServerAddress can only be changed for HTTP connections (to replace one that goes through a Loadbalancer with a direct URL). + + + + The protocol this peer is currently connected/connecting with (or 0). + + + This is the protocol to be used for next connect (see remarks). + The TransportProtocol can be changed anytime but it will not change the protocol + of currently active connections. Instead, TransportProtocol will be applied on next Connect. + + + + + Gets or sets the network simulation "enabled" setting. + Changing this value also locks this peer's sending and when setting false, + the internally used queues are executed (so setting to false can take some cycles). + + + + + Gets the settings for built-in Network Simulation for this peer instance + while IsSimulationEnabled will enable or disable them. + Once obtained, the settings can be modified by changing the properties. + + + + + Defines the initial size of an internally used StreamBuffer for Tcp. + The StreamBuffer is used to aggregate operation into (less) send calls, + which uses less resoures. + + + The size is not restricing the buffer and does not affect when poutgoing data is actually sent. + + + + + The Maximum Trasfer Unit (MTU) defines the (network-level) packet-content size that is + guaranteed to arrive at the server in one piece. The Photon Protocol uses this + size to split larger data into packets and for receive-buffers of packets. + + + This value affects the Packet-content. The resulting UDP packages will have additional + headers that also count against the package size (so it's bigger than this limit in the end) + Setting this value while being connected is not allowed and will throw an Exception. + Minimum is 576. Huge values won't speed up connections in most cases! + + + + + This property is set internally, when OpExchangeKeysForEncryption successfully finished. + While it's true, encryption can be used for operations. + + + + + While true, the peer will not send any other commands except ACKs (used in UDP connections). + + + + Implements the message-protocol, based on the underlying network protocol (udp, tcp, http). + + + + Creates a new PhotonPeer instance to communicate with Photon and selects either UDP or TCP as + protocol. We recommend UDP. + + a IPhotonPeerListener implementation + Protocol to use to connect to Photon. + + + + This method does a DNS lookup (if necessary) and connects to the given serverAddress. + + The return value gives you feedback if the address has the correct format. If so, this + starts the process to establish the connection itself, which might take a few seconds. + + When the connection is established, a callback to IPhotonPeerListener.OnStatusChanged + will be done. If the connection can't be established, despite having a valid address, + the OnStatusChanged is called with an error-value. + + The applicationName defines the application logic to use server-side and it should match the name of + one of the apps in your server's config. + + By default, the applicationName is "LoadBalancing" but there is also the "MmoDemo". + You can setup your own application and name it any way you like. + + + Address of the Photon server. Format: ip:port (e.g. 127.0.0.1:5055) or hostname:port (e.g. localhost:5055) + + + The name of the application to use within Photon or the appId of PhotonCloud. + Should match a "Name" for an application, as setup in your PhotonServer.config. + + + true if IP is available (DNS name is resolved) and server is being connected. false on error. + + + + + This method does a DNS lookup (if necessary) and connects to the given serverAddress. + + The return value gives you feedback if the address has the correct format. If so, this + starts the process to establish the connection itself, which might take a few seconds. + + When the connection is established, a callback to IPhotonPeerListener.OnStatusChanged + will be done. If the connection can't be established, despite having a valid address, + the OnStatusChanged is called with an error-value. + + The applicationName defines the application logic to use server-side and it should match the name of + one of the apps in your server's config. + + By default, the applicationName is "LoadBalancing" but there is also the "MmoDemo". + You can setup your own application and name it any way you like. + + + Address of the Photon server. Format: ip:port (e.g. 127.0.0.1:5055) or hostname:port (e.g. localhost:5055) + + + The name of the application to use within Photon or the appId of PhotonCloud. + Should match a "Name" for an application, as setup in your PhotonServer.config. + + + Allows you to send some data, which may be used by server during peer creation + (e.g. as additional authentication info). + You can use any serializable data type of Photon. + Helpful for self-hosted solutions. Server will read this info on peer creation stage, + and may reject client without creating of peer if auth info is invalid. + + + true if IP is available (DNS name is resolved) and server is being connected. false on error. + + + + + This method initiates a mutual disconnect between this client and the server. + + + Calling this method does not immediately close a connection. Disconnect lets the server + know that this client is no longer listening. For the server, this is a much faster way + to detect that the client is gone but it requires the client to send a few final messages. + + On completion, OnStatusChanged is called with the StatusCode.Disconnect. + + If the client is disconnected already or the connection thread is stopped, then there is no callback. + + The default server logic will leave any joined game and trigger the respective event + () for the remaining players. + + + + + This method immediately closes a connection (pure client side) and ends related listening Threads. + + + Unlike Disconnect, this method will simply stop to listen to the server. Udp connections will timeout. + If the connections was open, this will trigger a callback to OnStatusChanged with code StatusCode.Disconnect. + + + + + This will fetch the server's timestamp and update the approximation for property ServerTimeInMilliseconds. + + The server time approximation will NOT become more accurate by repeated calls. Accuracy currently depends + on a single roundtrip which is done as fast as possible. + + The command used for this is immediately acknowledged by the server. This makes sure the roundtrip time is + low and the timestamp + rountriptime / 2 is close to the original value. + + + + + This method creates a public key for this client and exchanges it with the server. + + + Encryption is not instantly available but calls OnStatusChanged when it finishes. + Check for StatusCode EncryptionEstablished and EncryptionFailedToEstablish. + + Calling this method sets IsEncryptionAvailable to false. + This method must be called before the "encrypt" parameter of OpCustom can be used. + + If operation could be enqueued for sending + + + PayloadEncryption Secret. Message payloads get encrypted with it individually and on demand. + + + + Initializes Datagram Encryption. + + secret used to chipher udp packets + secret used for authentication of udp packets + + + + This method excutes DispatchIncomingCommands and SendOutgoingCommands in your application Thread-context. + + + The Photon client libraries are designed to fit easily into a game or application. The application + is in control of the context (thread) in which incoming events and responses are executed and has + full control of the creation of UDP/TCP packages. + + Sending packages and dispatching received messages are two separate tasks. Service combines them + into one method at the cost of control. It calls DispatchIncomingCommands and SendOutgoingCommands. + + Call this method regularly (2..20 times a second). + + This will Dispatch ANY remaining buffered responses and events AND will send queued outgoing commands. + Fewer calls might be more effective if a device cannot send many packets per second, as multiple + operations might be combined into one package. + + + You could replace Service by: + + while (DispatchIncomingCommands()); //Dispatch until everything is Dispatched... + SendOutgoingCommands(); //Send a UDP/TCP package with outgoing messages + + + + + + + This method creates a UDP/TCP package for outgoing commands (operations and acknowledgements) + and sends them to the server. + This method is also called by Service(). + + + As the Photon library does not create any UDP/TCP packages by itself. Instead, the application + fully controls how many packages are sent and when. A tradeoff, an application will + lose connection, if it is no longer calling SendOutgoingCommands or Service. + + If multiple operations and ACKs are waiting to be sent, they will be aggregated into one + package. The package fills in this order: + ACKs for received commands + A "Ping" - only if no reliable data was sent for a while + Starting with the lowest Channel-Nr: + Reliable Commands in channel + Unreliable Commands in channel + + This gives a higher priority to lower channels. + + A longer interval between sends will lower the overhead per sent operation but + increase the internal delay (which adds "lag"). + + Call this 2..20 times per second (depending on your target platform). + + The if commands are not yet sent. Udp limits it's package size, Tcp doesnt. + + + + This method directly causes the callbacks for events, responses and state changes + within a IPhotonPeerListener. DispatchIncomingCommands only executes a single received + command per call. If a command was dispatched, the return value is true and the method + should be called again. + This method is called by Service() until currently available commands are dispatched. + + + In general, this method should be called until it returns false. In a few cases, it might + make sense to pause dispatching (if a certain state is reached and the app needs to load + data, before it should handle new events). + + The callbacks to the peer's IPhotonPeerListener are executed in the same thread that is + calling DispatchIncomingCommands. This makes things easier in a game loop: Event execution + won't clash with painting objects or the game logic. + + + + + Returns a string of the most interesting connection statistics. + When you have issues on the client side, these might contain hints about the issue's cause. + + If true, Incoming and Outgoing low-level stats are included in the string. + Stats as string. + + + + Channel-less wrapper for OpCustom(). + + Operations are handled by their byte\-typed code. + The codes of the "LoadBalancong" application are in the class . + Containing parameters as key\-value pair. The key is byte\-typed, while the value is any serializable datatype. + Selects if the operation must be acknowledged or not. If false, the + operation is not guaranteed to reach the server. + If operation could be enqueued for sending + + + + Allows the client to send any operation to the Photon Server by setting any opCode and the operation's parameters. + + + Photon can be extended with new operations which are identified by a single + byte, defined server side and known as operation code (opCode). Similarly, the operation's parameters + are defined server side as byte keys of values, which a client sends as customOpParameters + accordingly. + Operations are handled by their byte\-typed code. The codes of the + "LoadBalancing" application are in the class . + Containing parameters as key\-value pair. The key is byte\-typed, while the value is any serializable datatype. + Selects if the operation must be acknowledged or not. If false, the + operation is not guaranteed to reach the server. + The channel in which this operation should be sent. + If operation could be enqueued for sending + + + + Allows the client to send any operation to the Photon Server by setting any opCode and the operation's parameters. + + + Variant with encryption parameter. + + Use this only after encryption was established by EstablishEncryption and waiting for the OnStateChanged callback. + + Operations are handled by their byte\-typed code. The codes of the + "LoadBalancing" application are in the class . + Containing parameters as key\-value pair. The key is byte\-typed, while the value is any serializable datatype. + Selects if the operation must be acknowledged or not. If false, the + operation is not guaranteed to reach the server. + The channel in which this operation should be sent. + Can only be true, while IsEncryptionAvailable is true, too. + If operation could be enqueued for sending + + + + Allows the client to send any operation to the Photon Server by setting any opCode and the operation's parameters. + + + Variant with an OperationRequest object. + + This variant offers an alternative way to describe a operation request. Operation code and it's parameters + are wrapped up in a object. Still, the parameters are a Dictionary. + + The operation to call on Photon. + Use unreliable (false) if the call might get lost (when it's content is soon outdated). + Defines the sequence of requests this operation belongs to. + Encrypt request before sending. Depends on IsEncryptionAvailable. + If operation could be enqueued for sending + + + + Registers new types/classes for de/serialization and the fitting methods to call for this type. + + + SerializeMethod and DeserializeMethod are complementary: Feed the product of serializeMethod to + the constructor, to get a comparable instance of the object. + + After registering a Type, it can be used in events and operations and will be serialized like + built-in types. + + Type (class) to register. + A byte-code used as shortcut during transfer of this Type. + Method delegate to create a byte[] from a customType instance. + Method delegate to create instances of customType's from byte[]. + If the Type was registered successfully. + + + Param code. Used in internal op: InitEncryption. + + + Encryption-Mode code. Used in internal op: InitEncryption. + + + Param code. Used in internal op: InitEncryption. + + + Code of internal op: InitEncryption. + + + TODO: Code of internal op: Ping (used in PUN binary websockets). + + + Result code for any (internal) operation. + + + The server's address, as set by a Connect() call, including any protocol, ports and or path. + If rHTTP is used, this can be set directly. + + + Byte count of last sent operation (set during serialization). + + + Byte count of last dispatched message (set during dispatch/deserialization). + + + The command that's currently being dispatched. + + + EnetPeer will set this value, so trafficstats can use it. TCP has 0 bytes per package extra + + + See PhotonPeer value. + + + See PhotonPeer value. + + + See PhotonPeer value. + + + See PhotonPeer value. + + + This ID is assigned by the Realtime Server upon connection. + The application does not have to care about this, but it is useful in debugging. + + + + This is the (low level) connection state of the peer. It's internal and based on eNet's states. + + Applications can read the "high level" state as PhotonPeer.PeerState, which uses a different enum. + + + + The serverTimeOffset is serverTimestamp - localTime. Used to approximate the serverTimestamp with help of localTime + + + + + Gets the currently used settings for the built-in network simulation. + Please check the description of NetworkSimulationSet for more details. + + + + Size of CommandLog. Default is 0, no logging. + + + Log of sent reliable commands and incoming ACKs. + + + Log of incoming reliable commands, used to track which commands from the server this client got. Part of the PhotonPeer.CommandLogToString() result. + + + Reduce CommandLog to CommandLogSize. Oldest entries get discarded. + + + Initializes the CommandLog and InReliableLog according to CommandLogSize. A value of 0 will set both logs to 0. + + + Converts the CommandLog into a readable table-like string with summary. + + + + Count of all bytes going out (including headers) + + + + + Count of all bytes coming in (including headers) + + + + Set via Connect(..., customObject) and sent in Init-Request. + + + Temporary cache of AppId. Used in Connect() to keep the AppId until we send the Init-Request (after the network-level (and Enet) connect). + + + + This is the replacement for the const values used in eNet like: PS_DISCONNECTED, PS_CONNECTED, etc. + + + + No connection is available. Use connect. + + + Establishing a connection already. The app should wait for a status callback. + + + + The low level connection with Photon is established. On connect, the library will automatically + send an Init package to select the application it connects to (see also PhotonPeer.Connect()). + When the Init is done, IPhotonPeerListener.OnStatusChanged() is called with connect. + + Please note that calling operations is only possible after the OnStatusChanged() with StatusCode.Connect. + + + Connection going to be ended. Wait for status callback. + + + Acknowledging a disconnect from Photon. Wait for status callback. + + + Connection not properly disconnected. + + + Set to timeInt, whenever SendOutgoingCommands actually checks outgoing queues to send them. Must be connected. + + + Connect to server and send Init (which inlcudes the appId). + If customData is not null, the new init will be used (http-based). + + + If IPhotonSocket.Connected is true, this value shows if the server's address resolved as IPv6 address. + + You must check the socket's IsConnected state. Otherwise, this value is not initialized. + Sent to server in Init-Request. + + + + Must be called by a IPhotonSocket when it connected to set IsIpv6. + The new value of IsIpv6. + + + + + + + + + + + + Checks the incoming queue and Dispatches received data if possible. + + If a Dispatch happened or not, which shows if more Dispatches might be needed. + + + + Checks outgoing queues for commands to send and puts them on their way. + This creates one package per go in UDP. + + If commands are not sent, cause they didn't fit into the package that's sent. + + + Returns the UDP Payload starting with Magic Number for binary protocol + + + Maximum Transfer Unit to be used for UDP+TCP + + + (default=2) Rhttp: minimum number of open connections + + + (default=6) Rhttp: maximum number of open connections, should be > rhttpMinConnections + + + + Internally uses an operation to exchange encryption keys with the server. + + If the op could be sent. + + + + Core of the Network Simulation, which is available in Debug builds. + Called by a timer in intervals. + + + + One list for all channels keeps sent commands (for re-sending). + + + One pool of ACK byte arrays ( 20 bytes each) for all channels to keep acknowledgements. + + + Gets enabled by "request" from server (not by client). + + + Initial PeerId as used in Connect command. If EnableServerTracing is false. + + + Initial PeerId to enable Photon Tracing, as used in Connect command. See: EnableServerTracing. + + + + Checks the incoming queue and Dispatches received data if possible. + + If a Dispatch happened or not, which shows if more Dispatches might be needed. + + + + gathers acks until udp-packet is full and sends it! + + + + + gathers commands from all (out)queues until udp-packet is full and sends it! + + + + + Checks if any channel has a outgoing reliable command. + + True if any channel has a outgoing reliable command. False otherwise. + + + + Checks connected state and channel before operation is serialized and enqueued for sending. + + operation parameters + code of operation + send as reliable command + channel (sequence) for command + encrypt or not + usually EgMessageType.Operation + if operation could be enqueued + + + reliable-udp-level function to send some byte[] to the server via un/reliable command + only called when a custom operation should be send + (enet) command type + data to carry (operation) + channel in which to send + the invocation ID for this operation (the payload) + + + Serializes an operation into our binary messages (magic number, msg-type byte and message). Optionally encrypts. + This method is mostly the same in EnetPeer, TPeer and HttpPeerBase. Also, for raw messages, we have another variant. + + + reads incoming udp-packages to create and queue incoming commands* + + + queues incoming commands in the correct order as either unreliable, reliable or unsequenced. return value determines if the command is queued / done. + + + removes commands which are acknowledged* + + + Internal class for "commands" - the package in which operations are sent. + + + this variant does only create outgoing commands and increments . incoming ones are created from a DataInputStream + + + + ACKs should never be created as NCommand. use CreateACK to wrtie the serialized ACK right away... + + + + + + + + + reads the command values (commandHeader and command-values) from incoming bytestream and populates the incoming command* + + + TCP "Package" header: 7 bytes + + + TCP "Message" header: 2 bytes + + + TCP header combined: 9 bytes + + + Defines if the (TCP) socket implementation needs to do "framing". + The WebSocket protocol (e.g.) includes framing, so when that is used, we set DoFraming to false. + + + + Checks the incoming queue and Dispatches received data if possible. Returns if a Dispatch happened or + not, which shows if more Dispatches might be needed. + + + + + gathers commands from all (out)queues until udp-packet is full and sends it! + + + + Sends a ping in intervals to keep connection alive (server will timeout connection if nothing is sent). + Always false in this case (local queues are ignored. true would be: "call again to send remaining data"). + + + Serializes an operation into our binary messages (magic number, msg-type byte and message). Optionally encrypts. + This method is mostly the same in EnetPeer, TPeer and HttpPeerBase. Also, for raw messages, we have another variant. + + + enqueues serialized operations to be sent as tcp stream / package + + + Sends a ping and modifies this.lastPingResult to avoid another ping for a while. + + + reads incoming tcp-packages to create and queue incoming commands* + + + + Serialize creates a byte-array from the given object and returns it. + + The object to serialize + The serialized byte-array + + + + Deserialize returns an object reassembled from the given StreamBuffer. + + The buffer to be Deserialized + The Deserialized object + + + + Deserialize returns an object reassembled from the given byte-array. + + The byte-array to be Deserialized + The Deserialized object + + + + Container for an Operation request, which is a code and parameters. + + + On the lowest level, Photon only allows byte-typed keys for operation parameters. + The values of each such parameter can be any serializable datatype: byte, int, hashtable and many more. + + + + Byte-typed code for an operation - the short identifier for the server's method to call. + + + The parameters of the operation - each identified by a byte-typed code in Photon. + + + + Contains the server's response for an operation called by this peer. + The indexer of this class actually provides access to the Parameters Dictionary. + + + The OperationCode defines the type of operation called on Photon and in turn also the Parameters that + are set in the request. Those are provided as Dictionary with byte-keys. + There are pre-defined constants for various codes defined in the LoadBalancing application. + Check: OperationCode, ParameterCode, etc. + + An operation's request is summarized by the ReturnCode: a short typed code for "Ok" or + some different result. The code's meaning is specific per operation. An optional DebugMessage can be + provided to simplify debugging. + + Each call of an operation gets an ID, called the "invocID". This can be matched to the IDs + returned with any operation calls. This way, an application could track if a certain OpRaiseEvent + call was successful. + + + + The code for the operation called initially (by this peer). + Use enums or constants to be able to handle those codes, like OperationCode does. + + + A code that "summarizes" the operation's success or failure. Specific per operation. 0 usually means "ok". + + + An optional string sent by the server to provide readable feedback in error-cases. Might be null. + + + A Dictionary of values returned by an operation, using byte-typed keys per value. + + + + Alternative access to the Parameters, which wraps up a TryGetValue() call on the Parameters Dictionary. + + The byte-code of a returned value. + The value returned by the server, or null if the key does not exist in Parameters. + + + ToString() override. + Relatively short output of OpCode and returnCode. + + + Extensive output of operation results. + To be used in debug situations only, as it returns a string for each value. + + + + Contains all components of a Photon Event. + Event Parameters, like OperationRequests and OperationResults, consist of a Dictionary with byte-typed keys per value. + + + The indexer of this class provides access to the Parameters Dictionary. + + The operation RaiseEvent allows you to provide custom event content. Defined in LoadBalancing, this + CustomContent will be made the value of key ParameterCode.CustomEventContent. + + + + The event code identifies the type of event. + + + The Parameters of an event is a Dictionary<byte, object>. + + + + Alternative access to the Parameters. + + The key byte-code of a event value. + The Parameters value, or null if the key does not exist in Parameters. + + + ToString() override. + Short output of "Event" and it's Code. + + + Extensive output of the event content. + To be used in debug situations only, as it returns a string for each value. + + + + Type of serialization methods to add custom type support. + Use PhotonPeer.ReisterType() to register new types with serialization and deserialization methods. + + The method will get objects passed that were registered with it in RegisterType(). + Return a byte[] that resembles the object passed in. The framework will surround it with length and type info, so don't include it. + + + + Type of deserialization methods to add custom type support. + Use PhotonPeer.RegisterType() to register new types with serialization and deserialization methods. + + The framwork passes in the data it got by the associated SerializeMethod. The type code and length are stripped and applied before a DeserializeMethod is called. + Return a object of the type that was associated with this method through RegisterType(). + + + + Provides tools for the Exit Games Protocol + + + + + Serialize creates a byte-array from the given object and returns it. + + The object to serialize + The serialized byte-array + + + + Deserialize returns an object reassembled from the given byte-array. + + The byte-array to be Deserialized + The Deserialized object + + + + Serializes a short typed value into a byte-array (target) starting at the also given targetOffset. + The altered offset is known to the caller, because it is given via a referenced parameter. + + The short value to be serialized + The byte-array to serialize the short to + The offset in the byte-array + + + + Serializes an int typed value into a byte-array (target) starting at the also given targetOffset. + The altered offset is known to the caller, because it is given via a referenced parameter. + + The int value to be serialized + The byte-array to serialize the short to + The offset in the byte-array + + + + Serializes an float typed value into a byte-array (target) starting at the also given targetOffset. + The altered offset is known to the caller, because it is given via a referenced parameter. + + The float value to be serialized + The byte-array to serialize the short to + The offset in the byte-array + + + + Deserialize fills the given int typed value with the given byte-array (source) starting at the also given offset. + The result is placed in a variable (value). There is no need to return a value because the parameter value is given by reference. + The altered offset is this way also known to the caller. + + The int value to deserialize into + The byte-array to deserialize from + The offset in the byte-array + + + + Deserialize fills the given short typed value with the given byte-array (source) starting at the also given offset. + The result is placed in a variable (value). There is no need to return a value because the parameter value is given by reference. + The altered offset is this way also known to the caller. + + The short value to deserialized into + The byte-array to deserialize from + The offset in the byte-array + + + + Deserialize fills the given float typed value with the given byte-array (source) starting at the also given offset. + The result is placed in a variable (value). There is no need to return a value because the parameter value is given by reference. + The altered offset is this way also known to the caller. + + The float value to deserialize + The byte-array to deserialize from + The offset in the byte-array + + + + Exit Games GpBinaryV16 protocol implementation + + + + + The gp type. + + + + + Unkown type. + + + + + An array of objects. + + + This type is new in version 1.5. + + + + + A boolean Value. + + + + + A byte value. + + + + + An array of bytes. + + + + + An array of objects. + + + + + A 16-bit integer value. + + + + + A 32-bit floating-point value. + + + This type is new in version 1.5. + + + + + A dictionary + + + This type is new in version 1.6. + + + + + A 64-bit floating-point value. + + + This type is new in version 1.5. + + + + + A Hashtable. + + + + + A 32-bit integer value. + + + + + An array of 32-bit integer values. + + + + + A 64-bit integer value. + + + + + A string value. + + + + + An array of string values. + + + + + A custom type. 0x63 + + + + + Null value don't have types. + + + + + Calls the correct serialization method for the passed object. + + + + + DeserializeInteger returns an Integer typed value from the given stream. + + + + Uses C# Socket class from System.Net.Sockets (as Unity usually does). + Incompatible with Windows 8 Store/Phone API. + + + + Sends a "Photon Ping" to a server. + + Address in IPv4 or IPv6 format. An address containing a '.' will be interpretet as IPv4. + True if the Photon Ping could be sent. + + + The protocol for this socket, defined in constructor. + + + Address, as defined via a Connect() call. Including protocol, port and or path. + + + Contains only the server's hostname (stripped protocol, port and or path). Set in IphotonSocket.Connect(). + + + Contains only the server's port address (as string). Set in IphotonSocket.Connect(). + + + Where available, this exposes if the server's address was resolved into an IPv6 address or not. + + + + Separates the given address into address (host name or IP) and port. Port must be included after colon! + + + This method expects any address to include a port. The final ':' in addressAndPort has to separate it. + IPv6 addresses have multiple colons and must use brackets to separate address from port. + + Examples: + ns.exitgames.com:5058 + http://[2001:db8:1f70::999:de8:7648:6e8]:100/ + [2001:db8:1f70::999:de8:7648:6e8]:100 + See: + http://serverfault.com/questions/205793/how-can-one-distinguish-the-host-and-the-port-in-an-ipv6-url + + + + Implements a (very) simple test if a (valid) IPAddress is IPv6 by testing for colons (:). + The reason we use this, is that some DotNet platforms don't provide (or allow usage of) the System.Net namespace. + A valid IPAddress or null. + If the IPAddress.ToString() contains a colon (which means it's IPv6). + + + + Returns null or the IPAddress representing the address, doing Dns resolution if needed. + + Only returns IPv4 or IPv6 adresses, no others. + The string address of a server (hostname or IP). + IPAddress for the string address or null, if the address is neither IPv4, IPv6 or some hostname that could be resolved. + + + Internal class to encapsulate the network i/o functionality for the realtime libary. + + + used by PhotonPeer* + + + Endless loop, run in Receive Thread. + + + + Internal class to encapsulate the network i/o functionality for the realtime libary. + + + + + used by TPeer* + + + + + A simulation item is an action that can be queued to simulate network lag. + + + + With this, the actual delay can be measured, compared to the intended lag. + + + Timestamp after which this item must be executed. + + + Action to execute when the lag-time passed. + + + Starts a new Stopwatch + + + + A set of network simulation settings, enabled (and disabled) by PhotonPeer.IsSimulationEnabled. + + + For performance reasons, the lag and jitter settings can't be produced exactly. + In some cases, the resulting lag will be up to 20ms bigger than the lag settings. + Even if all settings are 0, simulation will be used. Set PhotonPeer.IsSimulationEnabled + to false to disable it if no longer needed. + + All lag, jitter and loss is additional to the current, real network conditions. + If the network is slow in reality, this will add even more lag. + The jitter values will affect the lag positive and negative, so the lag settings + describe the medium lag even with jitter. The jitter influence is: [-jitter..+jitter]. + Packets "lost" due to OutgoingLossPercentage count for BytesOut and LostPackagesOut. + Packets "lost" due to IncomingLossPercentage count for BytesIn and LostPackagesIn. + + + + internal + + + internal + + + internal + + + internal + + + internal + + + internal + + + internal + + + This setting overrides all other settings and turns simulation on/off. Default: false. + + + Outgoing packages delay in ms. Default: 100. + + + Randomizes OutgoingLag by [-OutgoingJitter..+OutgoingJitter]. Default: 0. + + + Percentage of outgoing packets that should be lost. Between 0..100. Default: 1. TCP ignores this setting. + + + Incoming packages delay in ms. Default: 100. + + + Randomizes IncomingLag by [-IncomingJitter..+IncomingJitter]. Default: 0. + + + Percentage of incoming packets that should be lost. Between 0..100. Default: 1. TCP ignores this setting. + + + Counts how many outgoing packages actually got lost. TCP connections ignore loss and this stays 0. + + + Counts how many incoming packages actually got lost. TCP connections ignore loss and this stays 0. + + + + Only in use as long as PhotonPeer.TrafficStatsEnabled = true; + + + + Gets sum of outgoing operations in bytes. + + + Gets count of outgoing operations. + + + Gets sum of byte-cost of incoming operation-results. + + + Gets count of incoming operation-results. + + + Gets sum of byte-cost of incoming events. + + + Gets count of incoming events. + + + + Gets longest time it took to complete a call to OnOperationResponse (in your code). + If such a callback takes long, it will lower the network performance and might lead to timeouts. + + + + Gets OperationCode that causes the LongestOpResponseCallback. See that description. + + + + Gets longest time a call to OnEvent (in your code) took. + If such a callback takes long, it will lower the network performance and might lead to timeouts. + + + + Gets EventCode that caused the LongestEventCallback. See that description. + + + + Gets longest time between subsequent calls to DispatchIncomgingCommands in milliseconds. + Note: This is not a crucial timing for the networking. Long gaps just add "local lag" to events that are available already. + + + + + Gets longest time between subsequent calls to SendOutgoingCommands in milliseconds. + Note: This is a crucial value for network stability. Without calling SendOutgoingCommands, + nothing will be sent to the server, who might time out this client. + + + + + Gets number of calls of DispatchIncomingCommands. + + + + + Gets number of calls of DispatchIncomingCommands. + + + + + Gets number of calls of SendOutgoingCommands. + + + + Gets sum of byte-cost of all "logic level" messages. + + + Gets sum of counted "logic level" messages. + + + Gets sum of byte-cost of all incoming "logic level" messages. + + + Gets sum of counted incoming "logic level" messages. + + + Gets sum of byte-cost of all outgoing "logic level" messages (= OperationByteCount). + + + Gets sum of counted outgoing "logic level" messages (= OperationCount). + + + + Resets the values that can be maxed out, like LongestDeltaBetweenDispatching. See remarks. + + + Set to 0: LongestDeltaBetweenDispatching, LongestDeltaBetweenSending, LongestEventCallback, LongestEventCallbackCode, LongestOpResponseCallback, LongestOpResponseCallbackOpCode. + Also resets internal values: timeOfLastDispatchCall and timeOfLastSendCall (so intervals are tracked correctly). + + + + Gets the byte-size of per-package headers. + + + + Counts commands created/received by this client, ignoring repeats (out command count can be higher due to repeats). + + + + Gets count of bytes as traffic, excluding UDP/TCP headers (42 bytes / x bytes). + + + Timestamp of the last incoming ACK that has been read (every PhotonPeer.TimePingInterval milliseconds this client sends a PING which must be ACKd). + + + Timestamp of last incoming reliable command (every second we expect a PING). + + + + Provides classical Diffie-Hellman Modular Exponentiation Groups defined by the + OAKLEY Key Determination Protocol (RFC 2412). + + + + + Gets the genrator (N) used by the the well known groups 1,2 and 5. + + + + + Gets the 768 bit prime for the well known group 1. + + + + + Gets the 1024 bit prime for the well known group 2. + + + + + Gets the 1536 bit prime for the well known group 5. + + + + + Initializes a new instance of the class. + + + + + Gets the public key that can be used by another DiffieHellmanCryptoProvider object + to generate a shared secret agreement. + + + + + Derives the shared key is generated from the secret agreement between two parties, + given a byte array that contains the second party's public key. + + + The second party's public key. + + +
+
diff --git a/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.xml.meta b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.xml.meta new file mode 100644 index 0000000..671d824 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/Photon3Unity3D.xml.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8d4f08d435c4b6343969d8af249460ff +labels: +- ExitGames +- PUN +- Photon +- Networking +TextScriptImporter: + userData: diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket.meta b/Project Undercover/Assets/Plugin/Plugins/WebSocket.meta new file mode 100644 index 0000000..66cd08a --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 408ebebc353ee464ebb0b11ab5f12598 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.cs b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.cs new file mode 100644 index 0000000..af0a3cf --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.cs @@ -0,0 +1,155 @@ +#if UNITY_WEBGL || WEBSOCKET + +using System; +using System.Text; + +#if UNITY_WEBGL && !UNITY_EDITOR +using System.Runtime.InteropServices; +#else +using System.Collections.Generic; +//using System.Security.Authentication; +#endif + + +public class WebSocket +{ + private Uri mUrl; + + public WebSocket(Uri url) + { + mUrl = url; + + string protocol = mUrl.Scheme; + if (!protocol.Equals("ws") && !protocol.Equals("wss")) + throw new ArgumentException("Unsupported protocol: " + protocol); + } + + public void SendString(string str) + { + Send(Encoding.UTF8.GetBytes (str)); + } + + public string RecvString() + { + byte[] retval = Recv(); + if (retval == null) + return null; + return Encoding.UTF8.GetString (retval); + } + +#if UNITY_WEBGL && !UNITY_EDITOR + [DllImport("__Internal")] + private static extern int SocketCreate (string url); + + [DllImport("__Internal")] + private static extern int SocketState (int socketInstance); + + [DllImport("__Internal")] + private static extern void SocketSend (int socketInstance, byte[] ptr, int length); + + [DllImport("__Internal")] + private static extern void SocketRecv (int socketInstance, byte[] ptr, int length); + + [DllImport("__Internal")] + private static extern int SocketRecvLength (int socketInstance); + + [DllImport("__Internal")] + private static extern void SocketClose (int socketInstance); + + [DllImport("__Internal")] + private static extern int SocketError (int socketInstance, byte[] ptr, int length); + + int m_NativeRef = 0; + + public void Send(byte[] buffer) + { + SocketSend (m_NativeRef, buffer, buffer.Length); + } + + public byte[] Recv() + { + int length = SocketRecvLength (m_NativeRef); + if (length == 0) + return null; + byte[] buffer = new byte[length]; + SocketRecv (m_NativeRef, buffer, length); + return buffer; + } + + public void Connect() + { + m_NativeRef = SocketCreate (mUrl.ToString()); + + //while (SocketState(m_NativeRef) == 0) + // yield return 0; + } + + public void Close() + { + SocketClose(m_NativeRef); + } + + public bool Connected + { + get { return SocketState(m_NativeRef) != 0; } + } + + public string Error + { + get { + const int bufsize = 1024; + byte[] buffer = new byte[bufsize]; + int result = SocketError (m_NativeRef, buffer, bufsize); + + if (result == 0) + return null; + + return Encoding.UTF8.GetString (buffer); + } + } +#else + WebSocketSharp.WebSocket m_Socket; + Queue m_Messages = new Queue(); + bool m_IsConnected = false; + string m_Error = null; + + public void Connect() + { + m_Socket = new WebSocketSharp.WebSocket(mUrl.ToString(), new string[] { "GpBinaryV16" });// modified by TS + // m_Socket.SslConfiguration.EnabledSslProtocols = m_Socket.SslConfiguration.EnabledSslProtocols | (SslProtocols)(3072| 768); + m_Socket.OnMessage += (sender, e) => m_Messages.Enqueue(e.RawData); + m_Socket.OnOpen += (sender, e) => m_IsConnected = true; + m_Socket.OnError += (sender, e) => m_Error = e.Message + (e.Exception == null ? "" : " / " + e.Exception); + m_Socket.ConnectAsync(); + } + + public bool Connected { get { return m_IsConnected; } }// added by TS + + + public void Send(byte[] buffer) + { + m_Socket.Send(buffer); + } + + public byte[] Recv() + { + if (m_Messages.Count == 0) + return null; + return m_Messages.Dequeue(); + } + + public void Close() + { + m_Socket.Close(); + } + + public string Error + { + get + { + return m_Error; + } + } +#endif +} +#endif \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.cs.meta b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.cs.meta new file mode 100644 index 0000000..241c921 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1bad04f7805f764dba77f0d4518e0f0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.jslib b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.jslib new file mode 100644 index 0000000..3ddb2c5 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.jslib @@ -0,0 +1,116 @@ +var LibraryWebSockets = { +$webSocketInstances: [], + +SocketCreate: function(url) +{ + var str = Pointer_stringify(url); + var socket = { + socket: new WebSocket(str, ['GpBinaryV16']), + buffer: new Uint8Array(0), + error: null, + messages: [] + } + socket.socket.binaryType = 'arraybuffer'; + socket.socket.onmessage = function (e) { +// if (e.data instanceof Blob) +// { +// var reader = new FileReader(); +// reader.addEventListener("loadend", function() { +// var array = new Uint8Array(reader.result); +// socket.messages.push(array); +// }); +// reader.readAsArrayBuffer(e.data); +// } + if (e.data instanceof ArrayBuffer) + { + var array = new Uint8Array(e.data); + socket.messages.push(array); + } + }; + socket.socket.onclose = function (e) { + if (e.code != 1000) + { + if (e.reason != null && e.reason.length > 0) + socket.error = e.reason; + else + { + switch (e.code) + { + case 1001: + socket.error = "Endpoint going away."; + break; + case 1002: + socket.error = "Protocol error."; + break; + case 1003: + socket.error = "Unsupported message."; + break; + case 1005: + socket.error = "No status."; + break; + case 1006: + socket.error = "Abnormal disconnection."; + break; + case 1009: + socket.error = "Data frame too large."; + break; + default: + socket.error = "Error "+e.code; + } + } + } + } + var instance = webSocketInstances.push(socket) - 1; + return instance; +}, + +SocketState: function (socketInstance) +{ + var socket = webSocketInstances[socketInstance]; + return socket.socket.readyState; +}, + +SocketError: function (socketInstance, ptr, bufsize) +{ + var socket = webSocketInstances[socketInstance]; + if (socket.error == null) + return 0; + var str = socket.error.slice(0, Math.max(0, bufsize - 1)); + writeStringToMemory(str, ptr, false); + return 1; +}, + +SocketSend: function (socketInstance, ptr, length) +{ + var socket = webSocketInstances[socketInstance]; + socket.socket.send (HEAPU8.buffer.slice(ptr, ptr+length)); +}, + +SocketRecvLength: function(socketInstance) +{ + var socket = webSocketInstances[socketInstance]; + if (socket.messages.length == 0) + return 0; + return socket.messages[0].length; +}, + +SocketRecv: function (socketInstance, ptr, length) +{ + var socket = webSocketInstances[socketInstance]; + if (socket.messages.length == 0) + return 0; + if (socket.messages[0].length > length) + return 0; + HEAPU8.set(socket.messages[0], ptr); + socket.messages = socket.messages.slice(1); +}, + +SocketClose: function (socketInstance) +{ + var socket = webSocketInstances[socketInstance]; + socket.socket.close(); +} +}; + +autoAddDeps(LibraryWebSockets, '$webSocketInstances'); +mergeInto(LibraryManager.library, LibraryWebSockets); diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.jslib.meta b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.jslib.meta new file mode 100644 index 0000000..e5a1c7d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/WebSocket.jslib.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 04bb5f307f2e48b4fbaa6da865fd4091 +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + WebGL: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.README b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.README new file mode 100644 index 0000000..2f14990 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.README @@ -0,0 +1,3 @@ +websocket-sharp.dll built from https://github.com/sta/websocket-sharp.git, commit 869dfb09778de51081b0ae64bd2c3217cffe0699 on Aug 24, 2016. + +websocket-sharp is provided under The MIT License as mentioned here: https://github.com/sta/websocket-sharp#license \ No newline at end of file diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.README.meta b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.README.meta new file mode 100644 index 0000000..47cc15d --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.README.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3e262c2b04eaa8440987b50a91e86674 +DefaultImporter: + userData: diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.dll b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.dll new file mode 100644 index 0000000..6eabebe Binary files /dev/null and b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.dll differ diff --git a/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.dll.meta b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.dll.meta new file mode 100644 index 0000000..a586786 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/WebSocket/websocket-sharp.dll.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 748eb70bc0d7515498ef73fed155520a +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + WP8: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: AnyCPU + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + SDK: AnySDK + XboxOne: + enabled: 1 + settings: {} + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Plugin/Plugins/release_history.txt b/Project Undercover/Assets/Plugin/Plugins/release_history.txt new file mode 100644 index 0000000..c8af578 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/release_history.txt @@ -0,0 +1,1395 @@ +* release_history.txt +* Release history for the DotNet Photon Client Library (DotNet / Unity / Windows Store 8.1 and 10) +(C) 2016 Exit Games GmbH, http://www.photonengine.com + +Questions? Visit: +https://www.photonengine.com +https://doc.photonengine.com +http://forum.photonengine.com + + +*** Version 4.1.1.15 (17. July 2017 - rev4232) +WebSocket: + Changed: WebSockets are now treated like "addons", as their implementations are complex and potentially not running on some platforms (be it UWP or some Unity export). The Readme-Photon-WebSocket.txt tells you how to add them to your project and set them up. + Added: Folder "PhotonWebSocket" with SocketWebTcpCoroutine and SocketWebTcpThread classes, to support platforms with and without Thread API. + Added: PingHttp.cs for Unity WebGL exports, to support "Best Region" selection in PUN. +LoadBalancing: + Added: LoadBalancingClient.TransportProtocol as shortcut to the use PhotonPeer's TransportProtocol value. This enables setting the protocol easily while not connected. + Added: LoadBalancingClient.SocketImplementationConfig as shortcut to modify PhotonPeer's SocketImplementationConfig. This enables you to setup which IPhotonSocket implementation to use for which network protocol. + Changed: LoadBalancingPeer.ConfigUnitySockets() to try to find our websocket implementations in the assembly, making the SocketWebTcpCoroutine and SocketWebTcpThread classes optional. + Removed: Class "SocketWebTcp" is no longer found by ConfigUnitySockets(). +Chat: + Added: ChatClient.TransportProtocol as shortcut to the use PhotonPeer's TransportProtocol value. This enables setting the protocol easily while not connected. + Added: ChatClient.SocketImplementationConfig as shortcut to modify PhotonPeer's SocketImplementationConfig. This enables you to setup which IPhotonSocket implementation to use for which network protocol. + Changed: ChatPeer.ConfigUnitySockets() to try to find our websocket implementations in the assembly, making the SocketWebTcpCoroutine and SocketWebTcpThread classes optional. + Removed: Class "SocketWebTcp" is no longer found by ConfigUnitySockets(). + + +*** Version 4.1.1.14 (5. July 2017 - rev4191) + Changed: SupportClass StartBackgroundCalls method now assigns an ID to each thread/task and enables you to cancel it explicitly via StopBackgroundCalls. CallInBackground is now obsolete due to renaming. +LoadBalancing + Changed: The ClientState "Uninitialized" is now "PeerCreated". This is the initial state. ConnectedToMaster is now ConnectedToMasterserver (both use the same value). + Updated: ClientState values descriptions. + Internal: GameEnteredOnGameServer() first sets the local player's actorNumber, then updates the player lists. +Chat: + Added: ChatClient can optionally run a thread to call SendOutgoingCommands in intervals. This makes sure the connection doesn't fail easily (e.g. when Unity is loading scenes, etc.). You still have to call Service to dispatch received messages. + Added: ChatClient.UseBackgroundWorkerForSending. Set this to true, to use the new background thread. Note: Do not use this in WebGL exports from Unity cause Threads are unavailable in them. +WebSocket: + Changed: Updated enabled protocols for WebSocket.cs. Now it is posible to connect to a server which supports only either TLS 1.1 or TLS 1.2 or TLS 1.0 or any combination of them. + +*** Version 4.1.1.13 (2. June 2017 - rev4112) + Internal: Fixed StreamBuffer.Seek() which was throwing an exception when seeking position 0 in an empty stream. + Removed: The queue-length checks which were using OnStatusChanged to warn about the amount of data queued for sending. Several StatusCode values are now obsolete accordingly. + Removed: StatusCode InternalReceiveException = 1039 and TcpRouter* which were obsolete for a longer time. + +*** Version 4.1.1.12 (24. May 2017 - rev4086) + Fixed: Peer.timeLastSendOutgoing was set in SendAcksOnly and ReceiveIncomingCommands. This should not happen. In PUN, this led to an issue with the fallback thread, which could not keep the connection. + Fixed: DNS resolution in the UDP socket is no longer inside a lock. Even if it takes longer (without network), the socket can now be closed before it's even opened properly, avoiding a freeze. + Fixed: UWP clients can set a SocketImplementationConfig. This opens up the use of WebSockets or any IPhotonSocket implementation in UWP, too. + Internal: Acknowledgements are no longer created as "commands" and serialized on send. Instead, they are directly written to a byte[] buffer, which is using less memory. + Added: PhotonPeer.EnableServerTracing to enable UDP Datagram Tracing on server side. We might ask you to use this when debugging connection issues. Otherwise, don't use this, as you can't access the server's logs anyways. + +*** Version 4.1.1.11 (13. April 2017 - rev3922) + Fixed: Bug of v4.1.1.10, which caused disconnects after a short time. + +*** Version 4.1.1.10 (11. April 2017 - rev3916) + Internal: Memory Allocation for nCommand and EnetPeer within SendoutGoingCommand, and AreReliableCommandInTransit + Internal: Refactoring of SerializeToBuffer to prevent memory allocation and access udpBuffer directly instead of using BlockCopy. + Internal: EnetPeer.channels got removed and replaced by a simple array and a GetChannel() method to access all channels. + +*** Version 4.1.1.9 (15. March 2017 - rev3884) + Fixed: Size calculation for Datagram Encryption (used on one console only, so far), when the MTU was changed from default. In some cases, an Exception was thrown: ArgumentException: Offset and length were out of bounds [...] at System.Buffer.BlockCopy. Adjusted GetFragmentLength() and CalculateBufferLen() internally. + +*** Version 4.1.1.8 (24. February 2017 - rev3873) + Fixed: Handling of non-fatal "WouldBlock" SocketExceptions when receiving data via TCP. This led to disconnects before. This affects only TCP connections in libs other than Windows Store. + Changed: Memory usage for TCP socket usage. Less memory is being allocated per receive. As we have to queue incoming data, it still has to get copied once. + Changed: Memory usage for encrypting messages. + Changed: SupportClass.DictionaryToString() now logs the length of a byte-array (not the content). + Changed: Deserializing unknown "Custom Types" returns the sent byte[]. There is no warning/error log yet but deserialization won't fail entirely. + Changed: PeerBase.SerializeMessageToMessage() to use less memory for encryption. Also, Raw-Messages can now be de/encrypted successfully. + Internal: Added StreamBuffer.ToArrayFromPos(), enabling you to get a buffer copy, starting with some offset (position of the buffer). + Internal: Removed some NETFX special build cases (obsolete due to using our own SteamBuffer). +PhotonVoice: + Breaking: LocalVoice.Transmit = true by default. + Fixed: LoadBalancingFrontend.DebugEchoMode setter checks if value changed. + Changed: better singleton handling and error logging. +LoadBalancing: + Added: Player.UserId field and code to read published UserIds from the player properties in CacheProperties(). When publishing the UserId in a room (RoomOptions.PublishUserId = true), the UserId becomes available for all players in a room. Good to find/make friends or follow a team player into another room. + Added: New matchmaking operation: OpGetGameList(typedLobby, sqlFilter). This fetches a list of rooms that match the filter. You can show lists of rooms with specific properties, if needed (or still use OpJoinRandom). + Fixed: WebFlags properties setters. + +*** Version 4.1.1.7 (16. December 2016) + Note: No new lib version. Just updated demos for the SDK. +Demos: + Fixed: Demos with persistent (Turnbased) games. The Memory Demo was not setting up rooms correctly (which led to errors joining them) and used a "join" rather than a "rejoin" to get into saved games (getting added to the room once more). + +*** Version 4.1.1.6 (9. December 2016 - rev3801) + Changed: Default SentCountAllowance = 7. +Loadbalancing: + Added: OpJoinRandom will now "remember" to send ExpectedUsers to the Game Server (by caching the value). + Added: AuthEvent and it's handling. This (internally sent) event can now update the client's token anytime (before that expires). + Added: LoadBalancingClient.OpChangeGroups(). + Changed: LoadBalancingClient.Disconnect() no longer sets it's own State to Disconnected. It waits till the state-change callback gets called by the lib. + +*** Version 4.1.1.5 (18. November 2016 - rev3775) +Internal: + Fixed: Photon-init request is now created by the factory method CreateAndEnqueueCommand to make sure we fragment the init if needed (for small MTU and more init-data). + Fixed: Bug in TrafficStatsReset method, which caused the averaged stats to go up infinitely after a reset. + +*** Version 4.1.1.4 (21. October 2016 - rev3737) + Internal: Added ArraySegment support for byte[]. This way, we can internally reuse more memory. + Changed: Implementations of PeerBase Disconnect() are now using EnqueueStatusCallback(StatusCode.Disconnect) to delay the "callback". That enables any thread to call Disconnect() while the status change correctly gets called in the main thread via DispatchIncomingCommands(). + Changed: When a SocketImplementationConfig for UDP is set, this will be used via Activator.CreateInstance(socketImplementation, this). + +*** Version 4.1.1.3 (20. September 2016 - rev3673) + Changed: NETFX_CORE implementation for UDP. This no longer attempts to detach the stream after every single Send, which caused issues when connecting and getting a lot of messages. + +*** Version 4.1.1.2 (13. September 2016 - rev3652) + Changed: There are less variants of the Photon library now, which makes it easier to integrate, run and test. There is a general "DotNet" version and a Windows Store (universal) dll. These two also come as Unity build and in Debug and Release. UWP can use the Universal/WSA library. + Added: PhotonPeer.SocketImplementationConfig. This allows easier configuration of the IPhotonSocket type to use per protocol, so that switching protocols is easier (compared to having to set a SocketImplementation before connecting). + Changed: PhotonPeer.SocketImplementation can't be set public. Use the SocketImplementationConfig instead. + Internal: This release summarizes a lot of internal refactorings. It's easy now to switch protocols (internally), to set socket implementations (platform dependent) if needed, etc. +LoadBalancing: + Removed: LoadBalancingClient.PlayerName and Player.Name. Were obsolete for more than a year. There is a NickName and the UserId can be set in the AuthValues. + Removed: OpJoinRoom() overload with actorNumber. This was obsolete. To enable clients to return to a room, set AuthValues and a userID. + Changed: LoadBalancingClient no longer overrides the protocol for Unity WebGL. This is done in the LoadBalancingPeer.ConfigUnitySockets(). + Changed: GetNameServerAddress() is the same in Chat and LoadBalancing APIs now. + Added: DisconnectCause.DisconnectByServerLogic and handling for this case. You can check this DisconnectedCause when the LoadBalancingClient.State is ClientState.Disconnected. + Added: Hashtable definition to use Photon's own implementation for Windows Store builds (NETFX_CORE). This must be used but it means you to use the same Hashtable definition in all builds (no matter if 8.1 or 10). + Added: Support for WebGL export in Unity. + Changed: OnStateChangeAction, OnEventAction and OnOpResponseAction are now events. To register a method in one of those, use += and to deregister you need to use -=. This prevents assigning a new method and de-registering any previously registered ones. +Chat: + Changed: ChatPeer now has ConfigUnitySockets(), which defines the SocketImplementationConfig. It's only used in Unity (using UNITY define). + Changed: ChatClient is not setting socket implementations anymore. + Added: Hashtable definition to use Photon's own implementation for Windows Store builds (NETFX_CORE). This must be used but it means you to use the same Hashtable definition in all builds (no matter if 8.1 or 10). + Added: Support for WebGL export in Unity. + +*** Version 4.1.1.1 (22. August 2016 - rev3549) + Fixed: IPv6 support. The init-message was missing it in 4.1.1.0. + Fixed: UWP build for Unity now has (Photon-)Hashtable class once more. Unlike Windows RT, UWP does support Hashtable (again). But in Unity, we always use ours. + +*** Version 4.1.1.0 (15. August 2016 - rev3536) + Changed: Unity exports now need to set the API Compatibility to ".Net 2.0". The ".Net 2.0 Subset" won't work anymore, due to need of some features for a new encryption mode. + Fixed: Windows Store implementation of TCP Socket. This is now compatible with 8.1 and 10 and the locally configured timeout is also applied while connecting initially. + Fixed: OpWebRPC documentation. +LoadBalancing: + Fixed: Room.ClearExpectedUsers() is now sending it's current, local "expected users" to update the server with "CAS" (Check and Swap). This gives the client an update when the values become valid (which updates the local cache after the roundtrip). + Added: Support for the 'Server Side Master Client' feature. The Room will read master client updates from the server accordingly. Room.SetMasterClient() enables you to override the server's selection (provided it did not change before your operation gets executed). + Changed: Option for bool WebForward into the new "WebFlags". This allows fine control of which data is being sent to WebHooks. This affects all SetProperties, OpWebRPC and the RaiseEventOptions. + Added: WebRPC.cs to the LoadBalancing API folder (was available separately before). It contains WebFlags and WebRpcResponse. +Internal: + Changed: Instead of Windows Phone 8.0 support, we now have a Windows 8.1 Universal library ("Metro") and one for Windows 10 Universal ("UWP"). + Changed: Changed initialization of PhotonPeer and related classes. + Changed: Workflow to send Init command. + Added: Option for "Datagram Encryption" and a new Authentication Workflow ("AuthOnce" and "AuthOnceWss"). This is part of the LoadBalancing API. + Added: ClientSdkId, which is used internally for reference. + +*** Version 4.1.0.6 (30. June 2016 - rev3400) + Changed: ExchangeKeysForEncryption() and internally called DeriveSharedKey() can now be executed in their own Thread. + Added: static PhotonPeer.AsyncKeyExchange to define if encryption calculations are done in parallel. +Internal: + Changed: NetworkSimulationSet.IsSimulationEnabled only does any work, if the value gets changed (saving some surplus work). + +*** Version 4.1.0.6 (21. June 2016 - rev3376) +Internal: + Removed: The wrapper for the optional "native encryption library" from most assemblies. It didn't get certified for the Windows Store and caused problems in the Unity WebPlayer. This will be provided on demand instead. + Removed: Our upcoming protocol implementation until it's fully compatible with all supported platforms. Despite not being used, it also caused some issues on some Unity exports. + Changed: Usage of MemoryStream is being replaced with a StreamBuffer. This is our own implementation and always grants access to the underlying byte[] (which is not possible in Windows Phone / Store API in some cases). For your Custom Type serialization, replace MemoryStream with StreamBuffer. That's all. + Internal: Commands are now split into header and payload byte-arrays, instead of copying them into yet another buffer before sending them. + Added: Support for IPv6 adresses in Photon Ping classes. This supports "Best Region" usage in PUN. + Fixed: After DNS resolution, IPv6 adresses are preferred over IPv4 ones. +LoadBalancing: + Fixed: LoadBalancingPeer.OpRaiseEvent(...) to send operations (and events) unencrypted again. + +*** Version 4.1.0.4 (19. May 2016 - rev3322) +Internal: + Updated: For Unity, the usage of the optional "native sockets" library is now compatible with IPv6 addresses, as required by Apple. + +*** Version 4.1.0.3 (28. April 2016) +Internal: + Added: An optional native library for encryption. This speeds up the (rarely used) key-exchange and encryption of messages. The usual case is to use the C# variant, as before. + +*** Version 4.1.0.2 (21. April 2016 - rev3283) +Internal: + Changed: PeerBase: ipv6 flag set in INIT_BYTES[5] after dns lookup, when ip address type already known + Changed: PeerBase: INIT_BYTES[4] contains clientlibid and release flag (15) + Changed: PeerBase: client version packed in INIT_BYTES[5,7,6] bytes + Changed: pProtocol prefix and path parsed (and trimmed) in IPhotonSocket.TryParseAddress to support websocket urls + Changed: Client version moved to separate version.cs + Changed: Protocol static methods reworked to instance methods, IProtocol interface extracted + Changed: PeerBase.DeserializeMessageAndCallback() to use a variant of new MemoryStream that exists in Windows 10 Universal APIs, too. +LoadBalancing: + Added: Expected Users. This affects the Room, LoadBalancingClient, JoinRoom, JoinOrCreateRoom and CreateRoom. + Added: null check in Extensions.StripToStringKeys(). + Fixed: FriendInfo.IsInRoom, which returned the opposite of it's naming! Also changed FriendInfo ToString() according to PUN's. + Added: RoomInfo expectedUsersField, which is updated with room properties (well known ones). + Added: Room.ExpectedUsers and ClearExpectedUsers() to expose the list of expected players. + Added: RoomInfo.serverSideMasterClient and masterClientIdField (also updated with well known properties). + Changed: OpRaiseEvent now re-uses a Dictionary in the LoadBalancingPeer. It uses Clear(), rather than creating a new Dict each time. + Changed: AuthenticationValues to also use C# properties and and backup-fields. This is guaranteed to work in Unity. + Updated: EventCode ErrorInfo reference with a link to "WebHooks" doc online. + Changed: Disconnect handling in the LoadBalancingClient. The client should reset correctly and log info, if it's in a State where a disconnect is a proper error. Note: In some cases like "switching server", a disconnect is expected, so it's not an error then. + Fixed: PlayerProperties sent to game server will now include well-known properties again. This fixes the "NickName missing" bug. + Fixed: LoadBalancingClient.State value when the client fails to join or create a game on the Master Server. The state is correctly re-set to ClientState.JoinedLobby or ClientState.ConnectedToMaster. + Internal: Added private inLobby value, to store if the client was/is in a lobby on the Master Server. + Fixed: DemoClient (in demo-loadbalancing) now makes use of the Name Server by using: ConnectToRegionMaster("eu"). + Added: DemoClient now has debug output when the connection times out or can't be established. + + +*** Version 4.0.5.1 (18. January 2016 - rev3187) + Fixed: EnetPeer.ExecuteCommand(). Fixed: Receiving a Disconnect-command didn't clear the receive-buffers. However, it has to be the last command executed. + Note: The bug related to the Disconnect-command happened, when an app paused, queued incoming commands and executed the Disconnect while incoming commands were queued. + Fixed: Setting of DisconnectTimeout for TCP connections (ReceiveTimeout and SendTimeout). + Changed: Our protocol serializes Enums implicitly as their underlying Type. This means you can easily send them but will lose the Type info (they don't arrive as your Enum type). This is now also working in Windows Store libraries (NETFX_CORE). +LoadBalancing: + Added: OpSetCustomPropertiesOfActor() and OpSetCustomPropertiesOfRoom() now check locally, if the client is currently in a room. It must be, to be able to set these properties. An exception exists for setting properties for the local player's actorNumber, but those are better set via LoadBalancingClient.LocalPlayer. +Unity SDK: + Changed: The Unity condition which defines "using Hashtable = ExitGames.Client.Photon.Hashtable;". All versions of Unity 4 and up now define that Photon's Hashtable is needed. This is only in the LoadBalancing API, not in the demos. + Added: WebGL support + +*** Version 4.0.5.0 (3. December 2015 - rev3144) + Changed: Signature of SetCustomProperties methods. All overloads now include a final, optional "webForward" parameter. This enables you to update a WebHook when properties change. This is intended for turnbased games, not for high-frequency updates - use with care. + Internal: Added more debug output to error messages from the socket usage. This should now always include the ServerAddress to make things easier to debug server-side, if needed. + Added: Serveral new ErrorCode values, which will be used by v4RC5 and newer servers. See ErrorCode.JoinFailed***, HttpLimitReached and ExternalHttpCallFailed. + Fixed: LoadBalancing API now reads the correct "NickName" key from the server's authentication response. So far, it was reading a key that is never used. Note: This means you can set a user's NickName server-side to override the client's nickname. +Chat + Added: A MessageLimit field for ChatClient and ChatChannel to limit the number of messages the client keeps locally. It might be useful to limit memory usage in long running chats. Set ChatClient.MessageLimit to apply the limit to any channel subscribed afterwards or apply a limit individually. + +*** Version 4.0.0.12 (3. November 2015 - rev3112) + Added: Support for IPv6. Note: IPv6 does not work in Unity yet. It has issues with IPv6. (Case 740910) + Note: Host name resolution will prefer IPv4 over IPv6, if both IPs should be available. IPv6 Addresses must use brackets! Example: [::1]:5055. This separates the port from the address. + Added: Error logging when Addresses can not be resolved to IPs. + Changed: LoadBalancingClient OpJoinOrCreateRoom() no longer allows you to re-join a room. Simply remove the ActorNumber from the parameters. To re-join, use OpJoin with actorNumber (Player.ID that was assigned in the room). + Added: Support for PS4 in Unity LoadBalancing SDK. Note: The demos are not all updated with controller support, as we use the old UI, still. To test export, use the Particle Demo. + +*** Version 4.0.0.11 (28. October 2015 - rev3093) + Changed: Sending a generic Dictionary (with specific types) will now throw an Exception, if any key or value is null. This limitation does not include Dictionaries which use object as type. Those Exceptions are one of the few, which are not catched and turned into a debug message. Catch them by wrapping Operation calls, where needed (OpRaiseEvent()). + Changed: TrafficStatsGameLevel public properties are now settable. This enables you to reset individual values to (e.g.) show "LongestDeltaBetweenSending of the past second". + Added: CommandLog debugging option. This can be used to get a list of sent reliable commands and their ACKs (from the server). Default is 0 size ("off"). + Added: CommandLogSize and CommandLogToString() to PhotonPeer. This is part of a LoadBalancingClient.loadBalancingPeer. + Added: Several PhotonPeer values to analyze connections: ConnectionTime, LastSendAckTime and LastSendOutgoingTime. PacketLossByChallenge is probably a tempoary addition to check if we have to drop corrupted packages due to bad "challenge" value. + Added: Log for incoming reliable commands. The most recent 200 entries will be logged with the CommandLogToString(). This is probably temporary. + Changed: Timing for resending reliable commands in RUDP. The peer will check the sent-queue more frequently now, no matter at what time some random command would have to be repeated. Repeats should be more timely, based on their dynamic resend-timing. + Changed: PhotonPeer.MaximumTransferUnit minimum is now 576 (was 520, which was lower than on the server). + Internal: Channels in the EnetPeer are now stored in an array, so we can replace some foreach-loops with for-loops. +LoadBalancing (Realtime and Turnbased API) + Added: LeaveLobby handling in OnOperationResponse(), which sets the client's state correctly. + Changed: Order of execution for Ev Join. If user is known (inactive user rejoins), the player's props are read. The actor list is used, if available. + Changed: RoomOptions to use properties with backup-fields to avoid issues in Unity which has issues with Object Initializer (curly brackets). + Changed: JoinMode 2 is now "JoinOrRejoin". Was: "Rejoin". + Added: ErrorCode constant AuthenticationTicketExpired. + Internal: OpJoinRoom, OpCreateRoom and OpJoinRandomRoom no longer use a (growing) list of properties. Instead, classes were created to "sum up" their parameters. The api for games didn't change. + Internal: Related to the refactoring of Join/Create, the LoadBalancingClient now creates a Room instance when the client arrived on the GameServer (before, it got created in the initial "create" call). +Chat + Added: More sanity checks on operations (empty userId or secret, max friends). + Added: Special debug logging when the server returns an error for "Operation Unknown". In this case, it's highly likely that you don't use a Chat AppId. + Added: More helpful error logging. + +*** Version 4.0.0.10 (14. July 2015 - rev2988) + Removed: LitePeer class and complete "Lite" namespace. It's highly recommended to use the LoadBalancing API (LoadBalancingClient, etc). The (few) operations that were defined in Lite are no longer required really. + Refactored: Some "base" enumerations that were provided by the Lite peer. They are now in LoadBalancingPeer. + Added: support for RoomOptions.Plugins. Which we need now since we support multiple plugins per plugin dll - for testing purposes for instance. + Fixed: The wrapper classes for the native sockets now do a Sleep(15) when there's nothing to receive. This reduces CPU load considerably. + Fixed: Unity library SocketWebTcp class for websocket support. It requires a coroutine on a new GameObject which is now marked as DontDestroyOnLoad(go) and survives scene loading. + Fixed: The Windows 8 SDKs now include the release assemblies. This makes sure you can submit your app to the Windows Store. + Added: ConnectionProtocol WebSocket and WebSocketSecure. It's simply a different protocol, compared to UDP and TCP, so it should be separated. + Internal: DoFraming is now a part of TPeer (was in IPhotonSocket). It's set by the ConnectionProtocol which avoids misconfiguration. + Changed: SendPing can now send a ping binary message or enqueue the Ping Operation (when DoFraming is false). + Added: A null-check for TrafficStatsStopwatch to avoid NullReferenceExceptions. + Added: Compile condition for Ping result handling. It's only used when the client uses Sockets as well (for the time being). + Added: Unity WebGL export also sets a "using" Hashtable definition. + Fixed: An exception in Photon.Hashtable.ToString() if a value was null. The assumption was that there are no null-values. + Changed: SocketUdp and SocketTcp now implement IDisposable, which seems to help with infrequent freezes in the Unity Editor. + Added: PhotonPeer.QuickResendAttempts. Sets how many resend attempts for a reliable command will be done in quick succession (after RTT+4*Variance), before the time between repeats will be increased. Use with care and with low values. + Added: IP/Hostname to logged exceptions when Connect fails. This is easier to support (e.g. DNS lookup fails). + Fixed: Library for PUN+ export to WebGL. Originally, we forced UDP as protocol for PUN+ export, as the native sockets library doesn't support TCP. However, WebGL export introduced a new use case. + Added: LoadBalancingClient.EnableLobbyStatistics and .LobbyStatistics. They provide an overview which lobbies your game uses and how busy they are. + Fixed: The LB Demo should set CustomProperties instead of directly setting (any) properties. + Fixed: SocketWebTcp is completely empty, unless WEBSOCKET is defined. Before the file still contained the "using" part of the class. +LoadBalancing (Realtime and Turnbased API) + Updated: Description for IsConnectedAndReady. + Changed: NameServerAddress to return a fitting address depending on protocol (including WebSocket but not yet RHTTP). + Updated: The only name server host is now "ns.exitgames.com", which gets turned into a proper address by protocol. + Changed: LoadBalancingClient.CustomAuthenticationValues is now .AuthValues. You can use those values to identify a user, even if you don't setup an external, custom authentication service. + Changed: LoadBalancingClient.UserId no longer directly stores the id but puts it into AuthValues. This means, the UserId could also be set via setting AuthValues. + Changed: The API of AuthenticationValues. There is now the UserId and AddAuthParameter() replaces the less general SetAuthParameters() (which only set specific key/values). + Changed: PlayerName gets renamed to NickName, so PhotonPlayer.Name becomes .NickName and LoadBalancingClient.Name becomes .NickName, too. The old naming is marked as obsolete. + Changed: Particle Demo now connects to the Cloud by default (because it's easier to setup and try). You can define your own Master Server (Photon OnPremise) of course. + Added: GamePropertyKey.MasterClientId (248) and ParameterCode.MasterClientId (203) + Added: ParameterCode.ExpectedValues (231) + Added: ParameterCode.SuppressRoomEvents (237) +Chat API: + Added: A Unity 4.6 demo with uGUI. It's missing a few features but should give you a good start to making your own. + Added: Unity/WebGL support (merged from PUN). + Added: Breaking! IChatClientListener.DebugReturn(). Photon lib and chat client log via this method (no logging to console by default). + Changed: ChatClient.CustomAuthenticationValues is now .AuthValues. You can use those values to identify a user, even if you don't setup an external, custom authentication service. + Changed: ChatClient.UserId no longer directly stores the id but puts it into AuthValues. This means, the UserId could also be set via setting AuthValues. + Changed: The API of AuthenticationValues. There is now the UserId and AddAuthParameter() replaces the less general SetAuthParameters() (which only set specific key/values). + Note: All users should have a UserId. You can set chatClient.UserId before you connect, or you can set the AuthenticationValues in Connect(..., authValues) to set a UserId. + Added: ChatChannel.ToStringMessages(), which gets all messages in a single string, line by line. The format is "Sender:Message". + Added: ChatClient.TryGetChannel() to find a channel only by name, no matter if public or private. +Photon Unity SDK + Changed: Organization of APIs and Assemblies in SDK. Now you can copy the content of folder "PhotonAssets" into your project's Assets folder and you have all APIs. + Added: PhotonAssets-U5 folder which includes only the Windows Universal DLL. + +*** Version 4.0.0.8 (14. January 2015 - rev2765) + Fixed: Serialization of custom types with nested Serialize-calls. In this case, re-using a specific memory stream breaks it. + +*** Version 4.0.0.7 (12. January 2015 - rev2763) + Fixed: Serialization of arrays of custom-types. +Chat API + Internal: Changed code for UserID from 7 to 225. The latter is used in LoadBalancing, too, so we want to re-use the code here. + +*** Version 4.0.0.6 (05. December 2014 - rev2758) + Added: ChatApi and LoadBalancingApi folders to Unity SDK. They are needed in any Photon project with Unity. When updating, copy and paste the files over existing ones and make sure to replace the assembly-files, too. + Changed: Protocol to save more memory or re-use it. The idea is to have less Garbage Collection (primarily for Unity/PUN and custom types). + Added: New CustomType de/serialization methods which provide the MemoryStream, instead of a byte[] COPY from the stream. + Changed: Now using one method to identify a Type. This was duplicated code before. + Changed: De/Serialization of some types. + Note: The drawback is now, that there are more places with: lock(). This is far from optimal but the alternative would be to make Protocol instances per thread. As most is static at the moment, this would not be an easy task. + Added: position check for DeserializeStreamFunction() call. Stream position must be "previous + customtype length". It gets corrected but at the moment no error is thrown. + Changed: DispatchIncomingCommands() no longer instantiates the commandsToRemove each call. This is reused and thus saves memory. + Changed: net_fx build will now check IsConstructedGenericType to detect if something is a dictionary +LoadBalancing + Added: LoadBalancingClient.OpJoinOrCreateRoom overload which has lobby as parameter. If a room gets created, this defines in which lobby it belongs. + Changed: LoadBalancingPeer: Added new error code PluginMismatch, documentation for Plugins parameter code. + +*** Version 4.0.0.5 (23. September 2014 - rev2738) + Updated: AddFriends and RemoveFriends doc. + Changed: Logging level for two cases. Dropping a package due to failed CRC-check is now logged for INFO. It's expected and certainly not an error. Dropping a package when the incoming challenge does not match is also not an ERROR. It is expected when you switch servers and packages arrive late. This is now debug level ALL. + +*** Version 4.0.0.4 (19. September 2014 - rev2736) + Fixed: Fragmentation when CRC checks are enabled. This kept clients from sending fragmented commands when the additional 4 bytes CRC were included later on. + Fixed: An issue in the ChatClient which was referring to a class from Photon Unity networking. This caused compile issues in the Unity Chat Demo. + Updated: Reference doc generation. + +*** Version 4.0.0.3 (15. September 2014 - rev2731) + Updated: Doc generation settings and style. + Note: This version has no code changes to rev2728 described below. That version is already released in the Unity Asset Store in PUN. + +*** Version 4.0.0.3 (11. September 2014 - rev2728) + Fixed: A simple "order of things" issue when detecting a timeout (due to resends). We first have to set "Zombie" state so that any Disconnect() call created a disconnect-command with reserved byte = 2 = "due to timeout". + Fixed: Chat to be compatible with native sockets of PUN+ (iOS and Android exports from Unity). + Fixed: Access to native sockets (in classes SocketUdpNativeDynamic and SocketUdpNativeStatic) is now using a lock(). The native methods are not thread safe but we need more than one socket for PUN+ and Chat (with native sockets, too). + Changed: Logging for the case "Ignoring received package due to wrong challenge". This got logged on log-level ERROR but maybe is better as WARNING only. Now this should log less often. + Internal: Updated to a newer native-sockets interface. + Internal: Updated to a newer native-sockets interface (affects PUN+ only). Cleaned up precompile defines and #if usage. + +*** Version 4.0.0.2 (01. August 2014 - rev2715) + Added: PhotonPing class and subclasses per platform. Allows clients to use regular UDP messages to ping our servers and find the best region. + Added: Native and Win8 support for PhotonPing. + Known Issue: Native ping has to be done "one by one" and without any other connection in Unity. It's not yet thread safe (but that is ok as we don't want to ping most of the time but only rarely and out of game). + Added: PhotonPing class/file to Win8 platforms. + Changed: The extern static methods for the native libs are now internal (instead of private). Pings are using them, too. + Changed: WebRpcResponse.ReturnCode comment to include fail code. + Changed: OpWebRpc doc is now much more complete and helpful. + Updated: Unity SDK Particle Demo (more) and LoadBalancing Demo (just a bit). + +*** Version 4.0.0.1 (17. June 2014 - rev2663) + Fixed: DotNet assembly no longer contains classes that try to include our Unity native socket libs. This was causing issues in some cases. + Added: PhotonPeer.CommandInfoCurrentDispatch. This property gives you the debug string of the currently dispatched command (events or responses). Only useful for UDP. +LoadBalancing: + Added: LoadBalancingClient.OpRaiseEvent(). Now that LoadBalancingClient USES a loadBalancingPeer (and doesn't extend it), things are much easier by offering this method, too! + Added: LoadBalancingClient.IsConnected and .IsConnectedAndReady to LB API. Going to be part of the API from now on. + Removed: Unused fields clientId and clientCount. + Changed: Field for internal use "lastJoinActorNumber" is now private as intended. + Changed: LoadBalancingClient.Disconnect is now setting it's own state to Disconnected if the connection got closed (as expected). +Chat: + Changed: How the server responds to Subscribe and Unsubscribe. Events will now contain success/failure of those. This allows us to send the answer after calling a WebHook if needed and we can even send it to multiple clients (which authenticated with the same userID). + Changed: Handling of subscription responsed. This is done to allow web services to subscribe a client remotely and to be able to prevent joining some channel that a user should not join (the channel of some guild or another team, e.g.). + Changed: Debug loggging. In Unity we can't use Debug.Assert, etc. So we have to log more cleanly. This works in Editor and several platforms (but not all). + Changed: Folder for Chat API. It now begins with "Photon" which provides some context no matter where you copy the files. Easier to find in Unity projects. + Changed: Operation FriendList and method SendFriendList renamed to AddFriends + Added: Operation RemoveFriends and corresponding method in ChatClient.cs + Added: Console Demo has new command 'fr' to remove friends + +*** Version 4.0.0.0 (23. May 2014 - rev2614) + Changed: This version contains a few features that are not compatible with the Photon Server SDK v3.x. Notable features that are not in the Server SDK are: NameServer, WebHooks and Turnbased API features. + Changed: This SDK is the first that contains all current APIs for Realtime, Turnbased and Chat. + Fixed: Release build of the Unity assembly now also excludes native-socket using code, fixing a Unity Free export issue. We only use the debug assembly in our demos though and suggest you do the same. +LoadBalancing: + Changed: LoadBalancingClient.FriendList creation/update is delayed until the server's response is available. This avoids cases where the friends are offline for the moment between requesting the update and getting it. Initially, it is null as before. + Added: some methods to Player to find next player, etc. Useful for turnbased games to find an opponent. + Added: LoadBalancingClient.UserId, which is the ID of a user(account). This is used in FindFriends and when you fetch account-related data (like save-games for Turnbased games). Set it before Connect*(). As fallback when empty during connect, the PlayerName is used instead. + Removed: LoadBalancingPeer.OpSetCustomPropertiesOfActor and OpSetPropertyOfRoom which were too special to be so low level. Could be implemented to LBClient. +Turnbased: + Fixed: OpJoinRandomRoom and OpCreateRoom which didn't reset the ActorNr to claim when entering the room. Depending on previous actions, some calls of those methods did fail when the actorNumber wasn't available. + Changed: OperationCode.Rpc is now called OperationCode.WebRpc. It's simply much cleaner (considering PUN has RPCs as well but in a different context). + Changed: WebRpcResponse reading to be able to handle additional data. + Added: Parameter webForward to: OpSetCustomPropertiesOfRoom and OpSetPropertiesOfRoom. The "old" overloads of these methods are still there, too. If webForward is true, the properties are sent to the WebHooks. +Chat: + Added: SendPrivateMessage() overload that has option to encrypt private messages. Public messages don't need encryption. + Removed: lastId and LastMessageIndex from channels. Those were impractical and should be removed from the API. + Changed: UserStatus class to ChatUserStatus. + Changed: Most classes are defined in their own file now. + Removed: Folders "Shared" and their subfolders. This gives a much better overview. + Added: Handling for event SubscribeResponse. This is not actually a response but gives you info about channels that got subscribed (e.g. when you re-login quickly or when a user is logged in in multiple clients). + Added: HandleSubscriptionResults() method to handle the event and proper responses. + +*** Version 3.2.2.6 (13. May - rev2575) + Fixed: Windows Store and Windows Phone libraries now only send the bytes they should send. This means we have to copy the payload from the "complete package buffer" in order to send it. + Fixed: SocketTcp now handles all exceptions during reading. Still, abort-by-server is treated as ServerDisconnect. Everything else as client side disconnect. This fix is especially for iOS exports from Unity. The iOS Power-button will immediately cut any connection. The Home-button allows us to keep the connection if we return the app to focus within a few seconds. + Fixed: TPeer.StopConnection() now clears the incoming queue when it disconnects. This avoids getting any more (already received) commands. + Changed: TPeer.Disconnect() now uses StopConnection instead of implementing the same code again. + +*** Version 3.2.2.5 (30. April - rev2566) +LoadBalancing: + Added: TypedLobby class to replace lobby name/type pair. + Added: LoadbalancingClient.CurrentLobby property. CurrentLobbyName and CurrentLobbyType are obsolete. + Added: New overloads in LoadbalancingClient with TypedLobby parameter instead of separate lobby name and type: OpJoinLobby, OpJoinRandomRoom. Old methods marked obsolete. + Added: New overloads in LoadbalancingClient for OpJoinOrCreateRoom, OpCreateRoom, CreateRoom with parameters packed in RoomOptions class. Old methods marked obsolete. + Breaking: LoadbalancingClient.CreateRoom parameters changed to (string roomName, RoomOptions opt). + Internal: Removed obsolete LoadBalancingPeer overloads of OpCreateRoom and OpJoinRoom + Internal: Added 'onGameServer' parameter to LoadBalancingPeer OpCreateRoom, OpJoinRoom; used to avoid sending extra data to master (player- and room-props) + Internal: Loadbalancing Room constructor(string roomName, RoomOptions opt). + Internal: Added use of the "JoinMode" parameter which is used in context of Turnbased games. + Fixed: Bug in OpLeaveLobby which joined the default lobby instead of leaving any lobby. +General: + Fixed: Server ports were read as short, which was wrong. We now use the correct unsigned short to convert from the address string). + Fixed: A minor issue in the SupportClass ToString conversion which used a Hashtable's key type instead of the value's type in one place. + +*** Version 3.2.2.4 (21. March 2014 - rev2519) + Internal: For Unity, the classes that handle native sockets can now be compiled in a variant that does not actually reference the native-socket-libs. The dll for PUN+ uses native sockets and need the native libs. Any regular dll will have the (not used and empty) classes for build-compatibility reasons. + Added: Values to enum EventCaching: SliceIncreaseIndex, SliceSetIndex, SlicePurgeIndex and SlicePurgeUpToIndex. They are in Lite but used in LoadBalancing. This is likely to be cleaned up in the next major release. + Changed: EventCaching MergeCache, ReplaceCache and RemoveCache as they belong to an outdated form of caching. The "RoomCache" is the better option in any case. +LoadBalancing: + Added: RaiseEventOptions class. It's used for OpRaiseEvent to avoid further parameter- and overload-clutter for this operation. While it's still not optimal for all cases, the fields in the RaiseEventOptions class are hopefully more clear how to use. Maybe some constructors will be added soon. + Changed: All OpRaiseEvent variants, except the one with RaiseEventOptions is now obsolete. + Added: Event Cache Slicing. Cached events can now be organized into "slices" which allows you to handle them in chunks. You can purge events in specific slices (e.g. get rid of the previous game-rounds events). +Turnbased: + Added: RaiseEventOptions.ForwardToWebhook which allows you to forward an event to a webhook (to be defined in Dashboard). Use this rarely, as it has an impact on (server) performance! + +*** Version 3.2.2.3 (18. February 2013 - rev2493) + Added: const PhotonPeer.NoSocket, so programs using our assemblies can detect if they must provide an external SocketImplementation. Some builds avoid using the Socket class (cause Unity Free doesn't support it on all platforms). + Added: PhotonPeer.SendMessage method in order to send any serializable object to server. + Added: IPhotonPeerListener.OnMessage in order to be notified about getting message from server. + Added: new 'Connect' method, which accepts as third parameter any serializable object. You may use this object on server before creating peer. + Added: OnMessage callback to samples + Changed: TCP and UDP both set the socket to null explicitly in Disconnect(). Hopefully this fixes a misbehaviour in Unity Editor which locked up often. + Changed: SocketTCP now has a syncer object and locks in Disconnect(), so only one Disconnect call can be made anytime. + Fixed: Nullreference when calling DispatchIncomingCommands() before Connect(). This was due to a (new) use of the socket wrapper. Commented this out until needed. + Fixed: Nullreference when calling SendAcksOnly() before Connect() with a new non-null check. + Fixed: breaking issue in Hashtable replacement class. Enumerators used in 2 "foreach" loops were breaking with a nullreference. Fix: No caching of enumerator. + Changed: AutoJoinLobby now uses this.CurrentLobbyName and this.CurrentLobbyType to join a specified lobby. + Changed: EnetPeer.StopConnection will always reset the state to be able to re-connect. + Changed: Disconnect() in SocketTcp and SocketUdp sets this.socket = null, even if socket.Close() caused an exception. This is what was expected. + Added: SocketUdpNativeDynamic and SocketUdpNativeStatic to "regular" Unity Lib, to improve compatibility in Unity for different export platforms (with and without native sockets). + +*** Version 3.2.2.1 (17. October 2013 - rev2335) + Note: This lib contains a lot of breaking changes and socket handling has been refactored. By now, this is well tested and confirmed working. + Changed: The way sockets are handled and added native-socket-lib support. There is a new IPhotonSocket interface which even allows to use external classes as socket wrapper. + Added: SocketImplementation property to set a class as socket implementation (Unity. sets native implementation or c# socket at compile time) + Changed: Win 8 RT and Phone now use fewer separate classes and files. Instead, more files from the (regular) DotNet client are used. RT and Phone are now part of the trunk folder in our SVN. + Added: TrafficStats.TimestampOfLastAck and .TimestampOfLastReliableCommand + Changed: Handling of server-side shutdown (a form of TCP disconnect) is now handled specifically as server-side-disconnect (was: generic receive exception) + Added: If a UDP connection times out in a client, it sends a special flag in it's disconnect command (to the server). This enables us to detect which side is triggering timeouts more often (and we can improve things). +LoadBalancing API + Fixed: issue where we called a virtual member from a constructor (http://confluence.jetbrains.com/display/ReSharper/Virtual+method+call+in+constructor) + Changed: LocalPlayer is now a property which checks null and returns a new Player (via virtual CreatePlayer) on demand. + Added: OpJoinRoom now optionally creates a room if parameter "createIfNotExists" is set to true and the room didn't exist. Room properties can't be set "on create" this way. LocalPlayer.IsMasterClient will be true. + Added: When OpJoinRoom can create a room, it also won't define which properties go into the lobby. You can use the new Room.SetPropertiesListedInLobby(). + Added: You can pass a actorNumber to OpJoinRoom when you re-enter a room and want to reclaim a specific actorNumber in that room. In best case, the client can re-join after a disconnect/crash and seamlessly go on playing. + +*** Version 3.2.1.6 (15. August 2013 - rev2272) + Changed: The library for Unity now contains a ExitGames.Client.Photon.Hashtable to be compatible with Win 8 exports. This must be used from now on! + Note: In Unity, the compiler will complain about ambiguous Hashtable definitions. To solve this, add this to the "using" part of your code: using Hashtable = ExitGames.Client.Photon.Hashtable; + Removed: Builds for Silverlight and Windows Phone 7.1 (this is not affecting Windows 8 RT and Windows 8 Phone SDKs which are of course supported) + Fixed: A null-reference check for a TCP connection's SendAcksOnly(). + +*** Version 3.2.1.5 (06.08.2013 - rev2242) + Added: Steam and Facebook entries to CustomAuthenticationType enum. + Fixed: Potential nullreference exception in TCP SendAcksOnly() code. If called before Connect(), this always failed. + Updated: Replacement classes for datatypes not supported on some platforms (Hashtable mostly). + Added: Hashtable got a new GetEnumerator that returns a IDictionary just like the standard Hashtable does. + Changed: Constructor with int InitialSize now calls the matching base constructor. + Removed: Synchronized() method which didn't do much and is not used. + Changed: ToString is now an override instead a "new" method. + Changed: DataTypes.cs: the Stopwatch is only implemented for Silverlight (non Windows Phone 8) + Updated: Description. + Changed: Protocol to expect Hashtable always providing a DictionaryEntry. Related to change in DataTypes.cs. + Changed: Protocol now has conditional "Dictionary" detection. In WP8 the API is different for that. Uses #if WINDOWS_PHONE. same file now works in W8 and WP8. + Changed: Removed PRPCAttribute from SupportClass.cs. This is used only in PUN and needs conditional per-platform compilation anyways, so it gets implemented there. + Removed: surplus debug output in ReceiveIncomingCommands(). + Fixed: Debug output in FetchServerTimestamp() depended on the Thread calling the method. Correct: The output is enqueued and dispatched later on. + Fixed: FetchServerTimestamp no longer fails with a SendError when the state is not "Connected". + Internal: Metro-Alike project now uses DataTypes.cs of Silverlight (like everyone else). Removed surplus copy. + Internal: DataTypes.cs and Protocol.cs files can now be used in DotNet 3.5, Windows Store and Windows 8 Phone. + Internal: outdated compiler-definitions "Photon" and "METROALIKE". + +*** Version 3.2.1.4 (10.07.2013 - rev2209) + Added: "Typed Lobby" API. Photon Cloud and Loadbalancing now support multiple lobbies per app/title. Also, different types of lobbies are now possible, each can have different options and different rules for matchmaking. + Added: enum LobbyType with "Default" and "SqlLobby". The SqlLobby is a new type of lobby that uses up to 10 room properties with sql-like filters. The filter being written like the "where" part of a sql query. + Changed: FetchServerTimestamp now enqueues callbacks (can be called by socket-receive-thread). also no longer causes a disconnect callback if offline + Changed: RemoveSentReliableCommand now enqueues callbacks (can be called by socket-receive-thread) + Internal: SendAcksOnly override in TCP's TPeer class. This now sends pings but nothing else. That resets the server's timeout for this peer +LoadBalancing API + Updated: LoadBalancing API in the Unity demos (now gets copied over at build time, making sure it's identical to the DotNet "original") + Fixed: LoadBalancingClient now handles SecurityException and InternalReceiveExceptions and disconnects correctly. Before, especially Unity web clients would get stuck in "Disconnecting" state. + Fixed: LoadBalancingClient state on disconnect (no matter what caused the disconnect). + +*** Version 3.2.1.3 (19.06.2013 - rev2170) + Fixed: surplus conversion of incoming data to string, which was used in debugging. + +*** Version 3.2.1.2 (17.06.2013 - rev2160) + Fixed: custom auth will send custom auth parameters if any authentication params are set + +*** Version 3.2.1.1 (10.06.2013 - rev2148) + Added: new POST value for Custom Authentication. POST can carry more data than GET (usually used). AuthenticationValues has a setter for this. +LoadBalancing API + Changed: LoadBalancingClient.AuthValues is renamed to CustomAuthenticationValues property (sets the custom authentication values). + Changed: Player class now compares by ActorNumer (assigned by server) instead of comparing the instance. + Internal: SupportClass.GetMethods() now returns type.GetRuntimeMethods(), filtered by attribute (if at all needed). This is used by Photon Unity Networking (PUN) internally. It also returns inherited methods now, not only Declared. + +*** Version 3.2.1.0 (24.05.2013 - rev2112) + Added: Feature "Custom Authentication" which lets you authorize players/users in the Photon Cloud with an external account/user service. More on that online: http://doc.photonengine.com/photon-cloud/CustomAuthentication + Added: LoadBalancing API Feature "Friend Finding" which enables a client to find friends in rooms by userId. If an external service provides a userID per player and a friend list, this can be used to find a friend's room (game) and join it (unless closed or full). + Added: CustomAuthenticationType enum to enable differnt types of custom auth later on (only one actually useful value so far). + Added: Class AuthenticationValues as container for authentication values. + Added: LoadBalancingClient.Connect overload which takes a AuthenticationValues parameter. + Added: LoadBalancingPeer.AuthValues property to set the custom authentication values. + Added: Parameter authValues to OpAuthenticate. This is used to provide the authentication parameters and or the secret/ticket provided by Photon. + Added: ErrorCode.CustomAuthenticationFailed to be used in switches for OperationResponse.ErrorCode (for OpAuthenticate). + Changed: LoadBalancingClient.PlayerName can be set before connecting to get a UserId which is "findable" by OpFindFriends(). Find friends does NOT use any values set for custom authentication! + Added: Class FriendInfo to contain a friend's name, online state and room name (if available and after using OpFindFriends()). + Added: OpFindFriends() to actually find the friends. Use on the Master Server only, not on a room. + Added: LoadBalancingClient.FriendList, a List of FriendInfo entries. Filled by using OpFindFriends (don't modify this list directly!). + Added: LoadBalancingClient.FriendListAge, to let you know how old the FriendList is. Only get updates when the list gets "old". + Fixed: OpRaiseEvent will no longer send "group" if it's 0 (which is the default). + Added: OpRaiseEvent overload to send object instead of Hashtable. This overload uses another parameter order to not mix up with the older implementation. You can send any serializable datatype now but must be aware if the event is Hashtable or something else. + Changed: Several variants of OpAuthenticate(), Connect() and ConnectToMaster() are now obsolete or removed. Use the alternative implementations (which should be cleaner). + Internal: Added several (operation) parameters to enum ParameterCode: ClientAuthenticationType, ClientAuthenticationParams, FindFriendsRequestList, FindFriendsResponseOnlineList, FindFriendsResponseRoomIdList. + Added: PhotonPeer.ResentReliableCommands to get count of re-sent commands (might be higher than out command count (as that counts created commands only) + Internal: Address (string) handling now uses string.Split instead of IndexOf to separate port from address and short.TryParse instead of short.Parse + Added: TrafficStatsGameLevel.ResetMaximumCounters() to reset those values that could max-out easily. Allows to get "longest delta between SendOutgoingCommands()-calls since last query". + +*** Version 3.2.0.2 (21.02.2013 - rev2066) + Fixed: Potential lock-up during sending. This could cause infinite blocking and thus a crash in some apps. (Win8 / Win Store api only) + +*** Version 3.2.0.1 (15.02.2013 - rev2060) + Fixed: Issue with delayed sending of operations in udp. The data could become overwritten before being sent. The bug was leading to high disconnect rates for clients using Windows Phone 7 and 8 and Silverlight or any client that used Network Simulation. + +*** Version 3.2.0.0 (13.02.2013 - rev2053) + Note: This release only changed the version, matching the new Server SDK v3.2.0.0 + Updated: readme.txt + Fixed: Reference for Windows 8 RT and Windows Phone 8 SDKs. + Added: Particle Demo to Unity Client SDK. + +*** Version 3.0.1.18 (11.02.2013 - rev1998) + Added: Optional per package CRC checksums to filter out compromised packages (avoiding more issues, compared to reading bad values). + Added: PhotonPeer .CrcEnabled and .PacketLossByCrc to handle CRC and get the count of affected (incoming) packages. + Note: Checking packages with CRC will take some computation time. Consider this an option to detect if/why someone's connection is bad. It's likely not good to be enabled by default. +Windows 8 RT & Windows 8 Phone: + Fixed: Serialization of foat and double values. These caused exceptions when used in object-arrays. + +*** Version 3.0.1.17 (19.12.2012 - rev1946) + Added: New Platform: Mono 4 Android. Please check the Readme.txt for hints how to build the demo in Mono 4 Android. + Changed: The referenced DotNet assemblies used by our libraries, which makes ours compatible with Mono 4 Android and others. + Changed: The Particle Demo Logic to also handle events sent by JavaScript clients. In case these are used, the types used in event differ from what DotNet or other clients send. + Changed: PhotonPeer.LocalTimeInMilliSeconds property now uses SupportClass.GetTickCount(). That method is using Environment.TickCount (which can be replaced if needed). + Changed: Any place that directly used Environment.TickCount (as the way SupportClass.GetTickCount() gets the value can be replaced). + Renamed: GetLocalMsTimestampDelegate is now: SupportClass.IntegerMillisecondsDelegate (rarely used if at all). + +*** Version 3.0.1.16 (29.11.2012 - rev1923) + Internal: A client timeout now internally sets connectionState to Zombie and then calls Disconnect() instead of stopping the connection right away. + Changed: Disconnect() sends a disconnect-command in any case (except not connected or disconnecting). If the connection is not in state connected anymore, said command is unsequenced (unreliable) and the disconnect is locally executed immediately as call to StopThread(). As before, disconnecting and disconnected clients won't send this. + Changed: Ping creation is now more strict and checks also if any reliable commands are outgoing AreReliableCommandsInTransit(). this avoids a few pings. + Fixed: NullReference exception in StopConnection() if it's called before being connected for the first time (late object creation made this fail). + Changed: PhotonPeer.LocalTimeInMilliSeconds property now uses SupportClass.GetTickCount(). That method is using Environment.TickCount (which can be replaced if needed). + Changed: Any place that directly used Environment.TickCount (as the way SupportClass.GetTickCount() gets the value can be replaced). + Renamed: GetLocalMsTimestampDelegate is now: SupportClass.IntegerMillisecondsDelegate (rarely used if at all). + + +*** Version 3.0.1.15 (27.11.2012 - rev1917) + Note: Silverlight SDK release only! + Updated: Silverlight projects with proper references (hopefully). In case you wonder: Some projects are included even though only their (source) files are linked in Silverlight. We can't reference DotNet projects directly, so we use the (shared) files instead. + Updated: Silverlight Particle Demo now has a basic gui and hopefully helps with your first steps. + +*** Version 3.0.1.14 (16.11.2012 - rev1891) + Added: Interest Groups! In rooms, you might send events to an interest group, identified by a byte (255 groups are currently allowed). OpChangeGroups lets you add or remove groups you're interested in. + Added: New platform! Welcome Windows 8 RT and Windows Phone 8. Both are "preview" releases but based on the stable DotNet basis we have. + Note: The Windows Phone 8 SDK does not yet have a LoadBalancing demo but the API is available (Windows Phone 8 is separate from the still existing Windows Phone 7.1 SDK). + Added: Another new platform: Playstation Mobile! This is Sony's SDK for mobile platforms. Find out more about it: www.playstation.com/psm + Added: Silverlight 4 SDK is back. Now with LoadBalancing API (the demo implementation is not finished but the basic "logic" is running). + Fixed: Windows Phone 7 and Silverlight TCP error handling while connecting to the server. This should fix issues with failing connects due to missing policy settings. + Internal: Windows Phone 7 and Silverlight TCP connections now set their state a bit differently (this doesn't affect the workflow though). + Internal: Http implementation now checks if a Proxy was set deliberately. Check is: (WebRequest.DefaultWebProxy as WebProxy != null). + Internal: DispatchIncomingCommands() now avoids copying lists when checking for commands that need a repeat. + Internal: SendOutgoingCommands() now re-uses a buffer to create UDP packages in before sending. This should save a lot of memory allocation. +LoadBalancing API: + Added: New demo "Particle". You will notice it's similar to the "Realtime Demo" but LoadBalancing- and Cloud-compatible and it makes better use of the default features. Check out Particle "Logic". + Added: LoadBalancingClient.DisconnectedCause to track certain disconnect causes (no matter if the connection or an operation caused the disconnect). + Added: DisconnectCause enum to enumerate those disconnection causes. + Changed: LoadBalancing OnOperationResponse() and OnStatusChanged() to track most disconnect reasons (in DisconnectedCause). + Removed: LoadBalancing Connect() variants that essentially were duplicates of others. + Changed: LoadBalancingClient debug output now goes to: Debug.WriteLine (which is available in debugger, while Console is not always). + Changed: CacheProperties method is now virtual for Room and Player. This allows you to override it and use this as callback to update props. + Added: Player.Tag to store arbitrary (game) data with the Player. Put in (e.g.) a player's representation/avatar or similar. + Added: ErrorCode constants MaxCcuReached and InvalidRegion. These are important for the Photon Cloud. + Added: Handling for DisconnectedByUserLimit. This is a status of OnStatusChanged when a Photon Server License's CCU limit is reached. This no longer will try to connect to a Game Server (where it gets rejected, too). + Changed: Debug output of loadBalancingClient now goes to Debug.WriteLine (which is available in debugger). + Changed: API now uses a factory method to create Room instances (this makes it possible to extend the Room class and instantiate the new class instead). + Changed: The Player constructor now has an "actorProperties" parameter and will cache the provided properties. This makes sure actor-props are available locally. +Windows Phone 8: + Added: Demo for Cloud / LoadBalancing. The Particle Demo only has a special WP8 GUI and links it's logic from a separate project (read: folder). +Windows 8 RT: + Added: Demo "Phong", which is a simplified, basic multiplayer game. It's focus is to show how to sync data, not to make it super smooth and error free. Let us know any issues but bear with us as it isn't fully featured. + +*** Version 3.0.1.13 (26.09.2012 - rev1731) + Fixed: Internals of method DispatchIncomingCommands() for UDP. In some cases this removed commands from a dictionary inside a foreach loop (which causes an Exception due to changing the dictionary) + Added: Support for Dictionary<,>[]. This is not a very lean way to send data (especially when using ) but if needed, it now works + Changed: Replaced several foreach loops with for loops (it doesn't change usage but in Unity exports to iOS, foreach uses more memory than for) + Added: Doc for public methods in Protocol class (they are useful to quickly write values into an existing byte-array) + Fixed: Unity UDP send code: iOS 5 devices will kill a socket when the power button is pressed (screen locked). This case was not detectable by checking socket.Connected. + Added: Unity UDP send code: Now tries to open another socket to refresh/keep the connection. This is affected by timeouts still, of course (as are all connections). + Internal: locked usage of UDP / enet channels + +*** Version 3.0.1.12 (26.07.2012 - rev1683) + Changed: The DotNet client libraries are now Thread safe! You could start a background Thread to keep calling SendOutgoingCommands in intervals and still call it from a game loop, too + Changed: Due to the thread safety, the demos no longer use excessive locks. This is now solved by the lib, more streamlined and hidden. One Thread is used instead of Timers (which could fire concurrently if execution was longer then their interval) + Changed: Moved the enable/disable property fro NetworkSimulationSettings to PhotonPeer.IsSimulationEnabled (this should now be thread safe) + Changed: NetworkSimulation will create and keep one thread when you first enable it in a (debug) client. Disabling it, will execute any delayed action immediately (in IsSimulationEnabled!) and pause the simulation thread + Changed: All demos are updated. We assigned new event codes (starting at 0, like any developer's code should) and extended the comments. Check them out + Changed: All Loadbalancing demos are now using the same DemoBasisCode linked in, so it can be changed in one position. Where needed an extension is made + Updated: comments / documentation for LoadBalancing API, Lite API and basic Photon API (basically anything public) + Changed: SupportClass.NumberToByteArray is now obsolete. It can be replaced with Protocol.Serialize() easily and that is performing better + Fixed: Windows Phone UDP socket was sending a full package of zeros on connect. It didn't break anything but is not needed, of course. + Fixed: SupportClass.StripKeysWithNullValues method was prone to throw an exception +LoadBalancing API: + Changed: LoadBalancingClient.OpLeaveRoom() skips execution when the room is null or the server is not GameServer or the client is disconnecting from GS already + Note: LoadBalancingClient.OpLeaveRoom() returns false in those cases and won't change the state, so check return of this method + Fixed: workflow for authentication (which should be called only once per connection, instead of "any time we establish encryption) + +*** Version 3.0.1.11 (05.06.2012 - rev1569) + Fixed: Udp issue with channels and unreliable commands. Unreliable commands of one channel were discarded, when another channel had unreliable commands, too + +*** Version 3.0.1.10 (04.06.2012 - rev1561) + Fixed: TCP connection issues for DotNet and Unity (Silverlight and WindowsPhone are different) + Fixed: DotNet+Unity TCP send calls with 0 bytes to send (this was ignored by the socket but useless anyways) + Moved: DNS resolution and socket.Connect() are now handled in the connection thread (TCP in DotNet and Unity) + Fixed: Issue with (TCP) socket connections being closed directly while connecting. in this case, socket.Receive() might receive 0 bytes instead of blocking until more bytes are available. without sending anything, the socket never updates its .Connected state and never throws a Exception. now we send a ping and thus trigger a exception + Fixed: Some documentation errors (due to changed API, etc) +Loadbalancing API: + Changed: LoadBalancingClient.OnEvent() now uses a join-event's actornumber-list to create Player instances for anyone who wasn't created as Player before + Fixed: LoadBalancingClient.OnEvent() handling for join-event does not expect any actor/player properties anymore (which fixes a potential null-reference exception when not even a name is set) + +*** Version 3.0.1.9 (10.05.2012 - rev1512) + Fixed: Reference to project in Windows Phone SDK + +*** Version 3.0.1.8 (09.05.2012 - rev1508) + Fixed: The OpJoinRandom of the LoadBalancingAPI failed to filter rooms for their custom room properties. Instead, any room matched. This is fixed now. + Added: New Demo for Windows Phone: Cloud Basics + Changed: The loadbalancing / cloud-based demos are refactored to share a similar codebase + +*** Version 3.0.1.6 (07.05.2012 - rev1489) + Note: This is a "stable" release, containing only a few updates. The bulk of changes are in the "odd" numbered releases. Read those updates carefully. + +*** Version 3.0.1.5 + Changed: adopted the even/odd version numbering system. versions ending on a odd number = intermediate/in-development version, even number = released (that makes 3.0.1.5 a intermediate) + Fixed: When NetworkSimulation is disabled, all remaining packages are sent/received immediately (ignoring the former delays) + Note: NetworkSimulation should be working nicely now. Be aware that sudden, additional lag might (!) lead to a disconnect. Play with the settings to find out which ones work for you + Changed: Protocol class now has a few methods to (effectively) serialize some datatypes to arrays (and into existing arrays) + Removed: Surplus public methods from Protocol that were "type-named" like SerializeFloat. The functionality is in still with overloaded methods + Added: count of packages (requests) outgoing if TrafficStatsEnabled +Demo Realtime: + Changed: The commandline arguments are now server:port, protocol (udp,tcp,http), reliable sending, interval dispatch, interval send, interval move. Example: localhost:5055 Udp false 15 25 15 + Changed: Demo Realtime: If the commandline sets an unknown protocol, the client shows a message and closes gracefully + Changed: Demo Realtime: The demo now starts in the grid view (showing something). Local player and player list are created with the Game instance. Player startpoint is randomized. +Loadbalancing API: + Renamed: LoadBalancingClient.lbPeer to .loadBalancingPeer + Fixed: LocalPlayer.SetCustomProperties() usage + Added: Service() method, which calls the LoadBalancingClient's Service simply + Changed: LoadBalancingClient is no longer extending LoadBalancingPeer but instead using one + Changed: the many overloads of Operations are gone in LoadBalancingPeer to streamline the api + Changed: ActorProperties are no longer set via JoinRoom, JoinRandomRoom or CreateRoom. instead, set the properties in the LocalPlayer and let the LoadBalancingClient send and sync them where necessary + Fixed: MasterClientId is now 0 when there are no more players in the room (it was set to int.max before) +Internal: + Changed: all DispatchIncomingCommands now use a while loop to dispatch the ActionQueue (in the hope this is the fastest way to do it) + Changed: DispatchIncomingCommands now looks for the received unreliable command with lowest unreliable seqNr to dispatch this + Changed: DispatchIncomingCommands discards commands if the reliable OR unreliable sequence is beyond the command's sequences + Changed: DispatchIncomingCommands now truncates the incoming unreliable commands to limitOfUnreliableCommands (if that's > 0) + Changed: the next reliable command to dispatch is now fetched with Dictionary.TryGetValue() (for being faster) + Changed: no longer using BinaryReader streams anywhere (this should improve speed and reduce mem usage) + Changed: PeerBase accordingly + Changed: Unit test MyType de/serialization now supports null-references (as 1 byte being 0) + Changed: Protocol.SerializeOperationRequest is now used in the same way, no matter if request is "top level" or inside some other datatype + Changed: the peer bases accordingly to use only one SerializeMemStream and lock it + Changed: how encryption fits in to the new serialization (it is a special case, as only the operation bytes get encrypted) + Added: Protocol.SerializeParameterTable() as requests, events and responses all use the same way to write their parameters + Changed: SerializeOperationToMessage parameter order + Changed: Order of Protocol methods to make more sense (from byte to more complex types for serialization) + New: PhotonDotNet library prototype for windows 8 metro + +*** Version 3.0.1.3 (13.04.2012 - rev1430) + Known issues: The Network Simulation is currently not guaranteed to work properly. Please bear with us. + Note: the following change might be a breaking one: + Changed: When dispatching a server's disconnect-command, the state is changed to ConnectionStateValue.Disconnecting BEFORE any callback due to state change is called. This should disallow game-code from calling any operations immediately. + Changed: Many internals. This should result in better performance + Changed: Service() now calls SendOutgoingCommands() until send-queues are empty. This might take more time but gets important commands out. If you need more control, Service() can be replaced with DispatchIncomingCommands and SendOutgoingCommands! + Added: null check to GetEndpoint() to avoid issues when the host address is null + Fixed: queueIncomingCommand() debug out message when a command is being received AND in in-queue (the list it accesses is now a dict) + Added: new "vital" stats to TrafficStats + Added: LongestOpResponseCallback and LongestOpResponseCallbackOpCode (opcode and time of longest callback) + Added: LongestEventCallback and LongestEventCallbackCode (event code and time of longest callback) + Added: LongestDeltaBetweenDispatching and LongestDeltaBetweenSending to detect "gaps" between subsequent calls of those + Added: DispatchCalls and SendOutgoingCommandsCalls to measure average call-rate + Fixed: PeerBase.TrafficStatsEnabledTime now checks if a stopwatch is set, else it returns 0 + Fixed: TrafficStatsReset() now works as intended (starting a new stopwatch, too) +Internal: + Changed: name of variable timeLastReceive. is now: timeLastAckReceive (better fit with what it does) + Internal: queueOutgoingReliableCommand() to use a lock on the channel it accesses + Internal: SerializeOperationRequest() now locks the MemoryStream while using it (avoids threading-issues with calling OPs) + Internal: SendUdpPackage() now checks if socket is obsolete (and disconnected for a reason) or not. only if not, a error is logged + Internal: EnetChannel now uses Dictionary and Queue for commands (should be faster to access) + Internal: simplified access methods in EnetChannel according to changes + Internal: outgoingAcknowledgementsList is now a Queue + Internal: receiveIncomingCommands() no longer has a local variable sentTime. instead using this.serverSentTime directly + Internal: UDP sending is now done with a synchronous socket call (profiling told us: this is cheaper) + Internal: re-using the socket arguments for receiving packages (saves some buffer allocation) + Internal: socket to non-blocking (maybe not possible on all devices) + Removed: initial-HTTP-protocol support (HTTP support not public yet) + Added: support for encryption with HTTP protocol + +*** Version 3.0.1.2 +- Added: Rooms now have a "well known" property to list the custom properties that should be available in the lobby. This can be set per room (but most likely makes sense per title/application). +- Added: LoadBalancingClient.OpCreateRoom() has a new parameter "propsListedInLobby" and Room.PropsListedInLobby is available to check this list (if needed at all). +- Added: GameProperties.PropsListedInLobby as "well known property" key +- Changed: LoadBalancingPeer.OpCreateRoom now sets ParameterCode.CleanupCacheOnLeave to true by default. This makes the server clean a player's event cache on leave. +- Added: SupportClass.DictionaryToString() will now print values of string[] and optionally leaves out type information. +- Note: 3.0.1.1 didn't get it's own SDK, so read that version's changes, too + +*** Version 3.0.1.1 +- Added: PhotonPeer.TrafficStatsElapsedMs, which gives you the milliseconds that the traffic stats are enabled. This internally uses a stopwatch (for now) which might not be available on all platforms. Please report if this new SDK causes issues. +- Added: PhotonPeer.TrafficStatsReset() to reset the traffic stats and the timer. This could be useful to get stats of "in game" versus "out of game". Note: Loadbalancing includes frequent server-switching and each disconnect/reconnect causes a reset. +- Changed: In LoadBalancingPeer EventCode.SetProperties is obsolete and replaced with EventCode.PropertiesChanged. Please switch to new constant. +- Added: Support in LoadBalancingAPI for Player.IsMasterClient. For this, the Players now get a RoomReference set (when added). The active player with the lowest ID is the master (per room). +- Added: Room.MasterClientId, which is updated when new players are added or the current master is removed. +- Added: SupportClass.DictionaryToString() has an overload which doesn't "print" the Type per key/value. +- Added: Loadbalancing API overload for OpJoinRandomRoom(...) taking additional parameter 'playerProperties' +- Added: Loadbalancing API CacheProperties() and Room.GetPlayer() are public now +- Added: LoadBalancingClient will now handle ExceptionOnConnect and keep clients from re-connecting if establishing a connection fails +- Note: The following changes affect only HTTP, which is an upcoming option for connections. So far, the public server SDKs don't support this. Feel free to contact us about it. +- Added: setter for PhotonPeer.ServerAddress to allow setting a http url (even while connected) +- Added: PhotonPeer.HttpUrlParameters setting parameters to be added to end of url (must begin with '&') +- Added: HttpUrlParameters to PeerBase +- Added: HttpUrlParameters is now attached to the end of a URL in http usecase +- Added: "Http2" support to Unity library +- Internal: method HttpBase.ConnectAsync is no longer needed and Request() is now directly passed to thread + +*** Version 3.0.1.0 +- Added: Loadbalancing (Cloud) Features +- Added: Project with the Loadbalancing sourcecode for DotNet, WindowsPhone and Unity3d (usable without PUN) +- Added: Initial, simple Loadbalancing demos for each platform (will update and extend those) +- Note: The API of the client libraries didn't change. The new features were added on top of the known API +- Added: VS2010 solutions for DotNet and Windows Phone SDKs containing the demos and APIs in the package +- Added: readme.txt with initial help to setup the Cloud/Loadbalancing demos +- Added: default appId for Loadblanacing demos: "" + +*** Version 3.0.0.10 +- Added: When UDP StartConnection (internal method) fails, callbacks to OnStatusChanged(StatusCode.Disconnect) are now done additionally to the SecurityExceptionOnConnect and ExceptionOnConnect calls. This happens direcly inside PhotonPeer.Connect()! +- Changed: When Unity UDP implementation fails to connect due to missing DNS resolution, it now also calls OnStatusChanged(StatusCode.ExceptionOnConnect) +- Removed: StatusCode.Exception_Connect value (obsolete, replaced by ExceptionOnConnect, same value) +- Fixed: Http connections (DotNet & Unity) now skip results while in disconnected state +- Fixed: Http connections (DotNet & Unity) now ignore results after a disconnect and reconnect was done (this applies only to HttpBase, not HttpBase2) +- Fixed: misleading debug out (pointing to WindowsPhone while the class is now in general use) +- Changed: DotNet UDP connection now only logs socket errors if the connection isn't obsolete (disconnected) already + +*** Version 3.0.0.9 +- Fixed: issue with HTTP connections and EstablishEncryption() +- Changed: ActionQueue is now a Queue, allowing Dequeue in a while loop instead of foreach(i in list) and clear() +- Changed: Unity HttpBase DispatchIncomingCommands() to make use of the queue +- Fixed: init byte[] length (internal. did not have consequences) +- Fixed: LitePeer OpRaiseEvent() was sending encrypted +- Internal: ContainsUnreliableSequenceNumber() check if reliable list needed sorting +- Fixed: Unity/Silverlight bug with encryption. Their implementation of BigInteger.GetBytes() failed when the 2nd, 3rd or 4th of the first 4 bytes was 0 but the previous wasnt. This led to incompatible secrets. +- Changed: TCP socket sending debug output now checks debuglevel (when send is skipped, cause the sender is obsolete already) +- Added: caching option RemoveFromRoomCacheForActorsLeft = 7 +- Internal: Added another http-based communication protocol. Please note: The fitting server's are not yet publicly released. This does not affect UDP or TCP protocols. + +*** Version 3.0.0.8 +- Fixed: Udp fragment reassembly in case fragments are received out of order and incoming queue was not yet sorted +- Fixed: Handling of incoming reliable commands (udp) which were skipped in some cases, if not received in order +- Fixed: Network simulation issue which caused lost incoming commands +- Fixed: Demo Realtime. protocol is now again Udp, fitting the default server address "localhost:5055" (make sure to build the demo with your server's address if Photon is not on the same machine) + +*** Version 3.0.0.7 +- Changed: Udp socket usage for Unity 3d lib. Both threads (send (in game loop) and receive (separate)) now have minimal locks while using the socket +- Fixed: SendOutgoingCommands now returns true if anything didn't make it into the outgoing UDP package +- Internal: TCP connections also skip network simulation when it's turned off + +*** Version 3.0.0.6 +- Fixed: SendOutgoingCommands now returns true if commands are remaining in outgoing queues (UDP only sends one package per call, TCP will send anything outgoing). +- Added: New "RoomCache" for Events. The EventCaching enum allows you to use it. Events in this cache will keep the order in which they arrived in the server. A filter makes deleting them very flexible. +- Internal: Ability to make lib send only ACKs and nothing else. This is probably a temp solution as it might be better to make sending and calling ops completely thread safe. +- Internal: PhotonPeer.IsSendingOnlyAcks, which is locked with the sending (not changing while sending). This makes SendOutgoingCommands() thread safe, which is good if you need a separate thread to keep connection. You could call operations while sending. +- Internal: Unity3d's connection now also syncs socket usage + +*** Version 3.0.0.5 +- Fixed: ObjectDisposedException in DotNet UDP workflow. This was caused by disconnecting while incoming data was processed (and before the next datagram was accepted) +- Added: PhotonPeer.LimitOfUnreliableCommands property. This helps you skip potentially "outdated" unreliable commands (events), which helps if you couldn't dispatch for a while +- Internal: Minor performance improvements. Example: The check if network simulation is turned on is done earlier in the workflow, which avoids a bit of overhead + +*** Version 3.0.0.4 +- Fixed: Tcp connections have been throwing ArgumentNullException in DispatchIncomgingCommands() if they were not connected yet +- Internal: Adjusted Http client to server rev2360 + +*** Version 3.0.0.3 RC2 +- Internal: Communication with HTTP server is WIP (Work In Progress - not a publicly available feature) + +*** Version 3.0.0.2 +- Fixed: OpRaiseEvent overload with EventCaching and ReceiverGroup parameters was not sending the customEventContent as expected. This was always null. +- Fixed: Time fetching case where no time was accepted. Servertime is now accepted, if the fetch-time-command was less or equal as the current roundtrip time. Avoids issues if rtt is exceptionally low immediately. +- Internal: When using multiple channels, dispatching incoming commands now will continue with the next channel, if one doesn't yet have the next reliable command (reliable sequence of one channel does not affect others) +- Internal: Changed protocol for TCP and message headers. This will support bigger message sizes. Also changed debug out related to unknown headers. +- Internal: Changed handling of TCP receive-callbacks for unfinished messages in Silverlight and WP. This should fix handling of very big data that's received in multiple "chunks" +- Internal: Http messages are now deserialized the same way that content in tcp or udp is handled + +*** Version 3.0.0.1 RC1 +- Fixed: Packaging of SDK now includes all files in demo folders, except a list of ignored file-endings (xaml and jpg files were missing in previous Silverlight and WindowsPhone SDKs) + +*** Version 3.0.0.0 RC1 +- Changed: Filenames! Now include a '3' for Photon v3. Update your references! Also, Silverlight libraries now use "Silverlight" in the filename (was: SL) +- Changed: Versioning. A dll's version has now 4 digits. The first 2 match Major and Minor number of the Server SDK. The latter 2 are Release and Build respectively +- Changed: Silverlight DataTypes (like Hashtable) are now in namespace ExitGames.Client.Photon. This is easier to include (as that namespace is in "using" in most cases) + +*** Version 6.4.5 +- Changed: Parameters for OpCustom are now of type Dictionary, making sure that only byte-codes are used for parameters +- Changed: Most IPhotonPeer names (to match those in server code): EventAction -> OnEvent, OperationResult -> OnOperationResponse, PeerStatusCallback -> OnStatusChanged +- Added: SupportClass.DictionaryToString(), which converts the content to string (includes support for Hashtables) +- Moved: Definitions of Lite and Lite Lobby specific codes for Parameters, operations and events are now in LitePeer. Will be available as source and could be replaced +- Changed: Usage of codes in Lite and Lite Lobby. Now pre-defined codes are starting at 255 and go down. Your events, operations and operation-parameters can now start at 0 and go up without clashing with pre-defined ones +- Changed: Constants that are non-exclusive (like event codes and OpKeys, which can be extended) are no longer "defined" as enums but as class of const byte values. Less casting but also less convenient "name" representation in debug output +- Added: LiteEventKey.CustomContent as key to access the content you sent via OpRaiseEvent ("Data" seems a bit misleading but is also available) +- Changed: Namespace of LitePeer to ExitGames.Client.Photon.Lite (the Lite-specific class is still compiled into the library for convenience but can be ignored quite easily this way) +- Added: Property MaximumTransferUnit. The default is 1200 bytes. Usually this is ok. In few cases, it might make sense to lower this value to ~520, which is commonly assumed the minimum MTU. Don't change this, if you don't know why. +- Added: New classes to wrap up op-requests (OperationRequest), op-results (OperationResponse) and events (EventData). Those new classes are now used in callback methods OnEvent and OnOperationResponse +- Changed: by using the new classes (note above), the client is a bit more like the server in its naming. We didn't want to change every last bit though. +- Internal: Changed protocol (to 1.6) so that it does not require any parameter codes internally. Any application can now define any operation, parameter and event codes it wants to. +- Changed: Encryption is now triggered by you and resolved by the library. You don't have to look out for the result of EstablishEncryption and use it. Instead: wait for OnPeerStateChanged call with either EncryptionEstablished or EncryptionFailedToEstablish +- Removed: InvocationId. This concept was very rarely used but confusing. It's easy to implement, if needed. If you don't know what this means: Nevermind. +- Changed: Operation calls now return bool: if they could be enqueued or not. If enqueued (cause you are connected and the data was serializable), then SendOutgoingCommands will send those operations (as before). +- Added: Support to de/serialize Dictionary. If the types are more specific than object, the serialization writes the type-code only once (lean byte usage in protocol) +- Added: Support to de/serialize null. Enables you to send a null value, e.g. in a Hashtable +- Added: ReceiverGroup enum to select a range of players that get an event via Operation Raise Event +- Added: Event Caching. Any event sent via RaiseEvent can now be buffered on the server side and is "repeated" when a new player is joining a room. This is similar to Properties but lets you categorize your info better and works just like regular events, too. +- Added: EventCaching enum to select if an event is to be cached and how it's cached: either "not at all" (default), replacing anything cached so far (fast) or "merge" (which will add new and replace old keys with new values). Optionally, a event can be raise with option "remove". +- Added: new overload of OpRaiseEvent() with the two new parameters noted above +- Added: Support for custom de/serializer methods. By writing 2 methods to convert a object into a byte-array (and back from that), Photon now supports any custom object type (standard datatypes are still supported out of the box) +- Added: PhotonPeer.RegisterType() to register serializer and deserialize methods for a certain type. Per object, a length and one byte 'type code' are added to the serialized data +- Added: Support for non-strict object[]. Unlike strictly-typed array, here each element will carry its own type. +- Note: If you want to use the new Custom Types or the object[], you have to update your server! Older Servers don't support the new features. As long as you don't use these features, the library is compatible with previous servers. +- Added: ByteCountCurrentDispatch and ByteCountLastOperation properties to PhotonPeer (the ancestor of LiteGame, etc). A game can now access the size of operation-results and events as well as operation-call size. +- Added: Traffic statistic set: PhotonPeer.TrafficStatsGameLevel as "high level" game-related traffic statistic. Counts bytes used by operations, their results and events. This includes overhead for these types of messages, but excludes connection-related overhead +- Added: Traffic statistic set: PhotonPeer.TrafficStatsIncoming and PhotonPeer.TrafficStatsOutgoing as low level statistics of the traffic +- Added: PhotonPeer.TrafficStatsEnabled which enables two sets of traffic statistics. By default, statistics are turned off. +- Added: Classes TrafficStats and TrafficStatsGameLevel for the two statistic cases metioned above +- Changed: NetworkSimulation now starts a Thread when it becomes enabled and the thread ends on simulation disable. Disable the NetworkSimulation to stop the thread, as Disconnect does not change the simulation settings! +- Internal: Cleanup and renaming of several properties +- Internal: Each new peer increases the PeerCount but it is no longer reduced on disconnect (it is existing still, after all) +- Internal: Udp commands will be buffered when serialized. This saves some work when re-sending a reliable command +- Added: TCP Routing code (not in Silverlight). To be used when running Photon on Azure (can be ignored in regular use) +- Added: to StatusCode: TcpRouterResponseOk = 1044, TcpRouterResponseNodeIdUnknown = 1045, TcpRouterResponseEndpointUnknown = 1046 and TcpRouterResponseNodeNotReady = 1047, +- Added: override for PhotonPeer.Connect() with node +- Internal: DotNet now reads the 2 bytes routing response, if a routing request was made (also, not in Silverlight) +- Internal: If TConnect sent a routing request, nothing else will be sent until 2 bytes response are read. +- Internal: If the routing-response does not start with ProxyResponseMarkerByte = 0xF1, a debug message is enqueued and TCP will disconnect +- Internal: Init request for TCP is now always enqueued instead sent directly. This way, it can be delayed if a routing node is selected +- Internal: TPeer EnqueueInit() and SendProxyInit() now create init and routing request respectively +- Internal: TConnect.sendTcp() checks isRunning before it tries to send (the socket might close before the NetSim does). This won't be an issue anytime, still INFO-level callback to DebugReturn is done. +- Removed: debug out for "send package" situation (even on ALL-level, this is more or less spam) +- Internal: updated version numbers of init to 6.4.5 +- Changed: SupportClass HashtableToString() returns "null" if parameter is null +- Internal: Removed SortedCommandList and CommandList classes. Replaced by List and a Sort() where necessary +- Internal: EnetPeer.channels is now a Dictionary instead of a SortedList +- Internal: the channels are initialized with channel 0xff first - this makes 0xff high prio in all foreach usaged +- Internal: NCommand class is now IComparable for usage in Sort() + + +*** Version 6.4.4 +- Added: PhotonPeer.TimestampOfLastSocketReceive now provides the time when something was received. Can be used warn players of bad communication-timing even before the disconnect timeout will be happening +- Fixed: OpGetPropertiesOfActor did use the actorNrList correctly, which always got you all properties of all players + +*** Version 6.4.3 +- Changed: A udp connection timeout in Unity will now end the socket-handling thread correctly +- Changed: The thread for Network simulation is now stopped when the client disconnects and started on connection (instead of keeping it per peer) +- Fixed: Exceptions in network simulation, when Disconnect() was called soon after Connect() but before the connection was established. + +*** Version 6.4.2 +- Fixed: It was possible to send PhotonPeer.FetchServerTimestamp() before being connected properly. Now the method triggers debug output (INFO level) and the callback PeerStatusCallback(StatusCode.SendError) +- Internal: Added a lock in the UDP version of SendOutgoingCommands(). It's still illegal to access a peer from multiple threads but the follow-up issues this lock avoids are very difficult to track. +- Internal: to stay compatible with all exports of Unity, the use of System.Threading.Interlocked.Exchange was replaced by simply replacing the list's reference instead + +*** Version 6.4.1 +- Changed: The Unity library now uses the WWW class for Http based requests. Results are checked within DispatchIncomingCommands(). Important: Unity allows handling WWW requests only on the MainThread, so dispatch must be called from this context! +- Note: Photon does not support Http requests out of the box. Customers get access to a fitting server on demand +- Changed: outgoing list is now replaced on send, instead of calling remove(0) repeatedly (which takes longer). Internal: this uses System.Threading.Interlocked.Exchange to switch to a new outgoing list in one step + +*** Version 6.4.0 +- Fixed: TCP handling of incoming data. This avoids loss of data (operation-results or events) when a lot of data is incoming. +- Changed: PeerStatusCallback() is less often called for queue-length warnings (e.g.: StatusCode.QueueIncomingReliableWarning). Only if a queue has a multiple of PhotonPeer.WarningSize items. +- Changed: WarningSize is now 100 by default +- Changed: Description of PhotonPeer.WarningSize and PhotonPeer.CommandBufferSize, which really is just the initial size of any buffer. The warnings are there to avoid situations where all heap is used up. +- Changed: Naming: StatusCode.Exception_Connect is now Obsolete and replaced with StatusCode.ExceptionOnConnect +- Added: Missing summary for StatusCode.SecurityExceptionOnConnect +- Added: NetworkSimulationSet.ToString override to provide a better overview +- Added: Support for arrays of Hashtables + +*** Version 6.3.1 +- Fixed: Network simulation now delays incoming packages by IncomingLag and IncomingJitter as expected (it was using the outgoing values, too) + +*** Version 6.3.0 +- Added: Network simulation (lag, jitter and drop rate) to debug builds +- Added: class NetworkSimulationSet with properties to control network simulation +- Added: NetworkSimulationSettings.NetworkSimulationSettings property to get current simulation settings +- Changed: only the first peerId of a VerifyConnect is accepted in client (avoids surplus peerID changes) +- Internal: added PeerBase.SendNetworkSimulated() and PeerBase.ReceiveNetworkSimulated() and a Thread to run delay simulation +Siverlight: +- Updated: to Silverlight v4.0 +- Added: Encryption to Silverlight library +- Internal: updated internal BigInteger class for Silverlight +- Internal: DiffieHellmanCryptoProvider in Silverlight, so it uses AesManaged instead of Rijndael (which is not part of Silverlight 3) +- Added: Stopwatch class to DataTypes.cs (for Silverlight only) + +*** Version 6.2.0 +- Added: "Demo LiteLobby Chatroom" to Unity SDK +- Updated: Demo Realtime in Unity client SDK. It's still compatible with the demo on other platforms but cleaned up and much better commented +- Updated: Documentation is now clearer on where the Lite logic is used (it runs on Photon but is not the only application logic) +- Updated: Documentation for the enumerations in IPhotonListener. The Lite application based ones are better described and it's now clear which ones are essential to the Photon client (not only in Lite) +- Updated: Documentation in several other places +- Added: StatusCode.SecurityExceptionOnConnect which is thrown if a security exception keeps a socket from connecting (happens in Unity when it's missing a policy file) +- Added: PhotonEventKey and PhotonOpParameterKey which contain the fixed byte keys that cannot be re-assigned by applications at will (as these keys are used in the clients and server in their respective context) +- Change: PhotonPeer.PeerState is no longer a byte but of type PhotonPeer.PeerStateValue, which makes checking the state simpler. The PeerStateCallback() for state changes is still called as before. +- Changed: Property PhotonPeer.PeerState. It now converts the low level ConnectionStateValue to a PeerStateValue, which now includes a state InitializingApplication. See reference for PeerStateValue. +- Changed: PeerStateValue enum is now part of the ExitGames.Client.Photon namespace, making it more accessible +- Internal: NConnect in DotNet and Unity to catch security exceptions +- Internal: from using var to explicit type usage in DiffieHellmanCryptoProvider.cs (Mono Develop friendly) +- Internal: made const: ENET_PEER_PACKET_LOSS_SCALE, ENET_PEER_DEFAULT_ROUND_TRIP_TIME and ENET_PEER_PACKET_THROTTLE_INTERVAL +- Internal: PeerBase "PeerStateValue peerState" is now: "ConnectionStateValue peerConnectionState" (holding the low level connection state, nothing more) +- Internal: added PeerBase.ApplicationIsInitialized, which stores if the init command was answered by Photon (reset on connect/disconnect) +- Removed: PhotonDemoServerUrlPort and PhotonDemoServerIpPort of PhotonPeer. All demos now use "localhost:5055" and you should run your own server. +- Added: enum ConnectionProtocol to get rid of the "useTcp" parameter in the PhotonPeer constructor (which was less clear than the explicit enum now in use) +- Added: overload of PhotonPeer constructor, which is still compatible with the "useTcp" bool parameter (to avoid a breaking change for the time being) +- Added: PhotonPeer.UsedProtocol property to find out this peer's protcol +- Added: LitePeer.OpLeave() overload without the gameName parameter. That name is not checked in the Lite application (on the server), so it's not really needed + +*** Version 6.1.0 +- Added: Encryption for Unity and DotNet. Operations (and their responses) can be encrypted after exchanging the public keys with the server +- Added: OpExchangeKeysForEncryption(), DeriveSharedKey() and IsEncryptionAvailable to PhotonPeer (and LitePeer inherits these) +- Added: OpCustom() will throw an ArgumentException if the operation should be encrypted but keys are not yet exchanged (exchange keys first) +- Added: LiteOpCode.ExchangeKeysForEncryption = (byte)95 +- Added: Overloaded PhotonPeer.OpCustom() with new "encrypt" parameter +- Added: property PhotonPeer.IsEncryptionAvailable is true if public-keys are exchanged and the secret is compiled from them +- Added: Encryption demo to Realtime Demo. Press E to exchange keys and R to toggle encrypted sending for the move data (even though events are never encrypted) +- Changed: PeerBase methods: sendOperation()->EnqueueOperation(...,encrypt), updateRoundTripTimeAndVariance()->UpdateRoundTripTimeAndVariance() +- Updated: the Unity client is now a Unity v3.1 project. Make sure to change the server address before you build for iPhone (localhost:5055 won't work on the mobile) +- Removed: the outdated, separate iPhone demo (was: Unity v1.7 for iPhone) +- Updated: PhotonPeer documentation for Service(), DispatchIncomingCommands() and SendOutgoingCommands() +- Added: OpRaiseEvent() overload with parameter TargetActors. Sends optional list of actors that will receive the event (if null, all *other* actors will receive the event, as default) +- Internal: Added source BigInteger.cs, DiffieHellmanCryptoProvider.cs and OakleyGroups.cs +- Internal: PeerBase.CryptoProvider, PeerBase.ExchangeKeysForEncryption() and PeerBase.DeriveSharedKey() +- Internal: EnetPeer.initPhotonPeer() and TPeer.initPhotonPeer() are setting PeerBase.isEncryptionAvailable = false +- Internal: De/Serialization methods (and some variables for it) are moved from NConnect to PeerBase and renamed to: SerializeOperationToMessage() and DeserializeMessageAndCallback() +- Internal: switched project to allow "unsafe" functions (used by BigInteger) +- Internal: renamed PhotonPeer.sendOperation()->EnqueueOperation +- Internal: changed assembly version to 6.1.0 and "client version" in init-byte-block to 6,1,0 +- Internal: moved protocol handling to EnetPeer and TPeer classes (where encryption is added) +- Internal: moved InitBlock to (shared) PeerBase (same for UDP/TCP) +- Internal: serialization is now done by Protocol.SerializeOpParameters(), which excludes the message header. this makes encryption simpler + +*** Version 6.0.0 +- Changed: This library requires Photon v2.2.0 and up! (in other words: the libraries are not compatible with older Photon servers, due to servertime changes) +- Added: Support for arrays in arrays. Any serializable datatype can now be used in nested arrays. Even arrays of Hashtables are possible. +- Added: Realtime Demo optional command line arguments for game config. set all or none: serverAddress, useTcp (true/false), useReliable (true/false), int intervalDispatch, intervalSend (ms), intervalMove (ms) +- Note: Realtime Demo commandline might look like this: start demo-realtime.exe localhost:5055 false true 5 25 100 +- Changed: renamed GetLocalMsTimestamp property to LocalMsTimestampDelegate (it does not have a getter, despite the old name's implication) +- Added: PhotonPeer.LocalTimeInMilliSeconds property to use the timestamp delegate to get the current client milliseconds (by default this is Environment.TickCount) +- Changed: UDP: The default value for PhotonPeer.RoundTripTime (300ms, used before connecting) is now replaced with the turnaround time of connect. This should lead to accurate RTT values much sooner +- Changed: PhotonPeer.ServerTimeInMilliSeconds is no longer updated all the time. Instead it's fetched soon after connect (when initialization won't affect rountrips anymore) and extrapolated. It should be better to be off by a constant value than by a changing value +- Changed: PhotonPeer.ServerTimeInMilliSeconds now returns 0 until the server's timestamp is fetched. Updated the documentation with some internals for this. +- Added: PhotonPeer.FetchServerTimestamp() to send the time fetch command (this is done automatically as well. this method is here for completeness) +- Fixed: roundtrip time calculation is no longer affected by long intervals between Service() or DispatchIncomingCommands() calls (bug of v5.9.0, caused by internal action queues) +- Added: internally for UDP, we use a new command to fetch the timestamp which minimizes the latency for that roundtrip. this one is excluded in roundtrip time measuring +- Changed: internal: ACKs by the server are again directly executed (other commands which are put into the action queue and dispatched) +- Fixed: Peers with TCP as protocol will no longer try to disconnect while not being connected (does not do anything of disconnected or disconnecting) +- Changed: Peers with TCP as protocol will clear the outgoing queue when disconnect() is called (while connected. see fix above) +- Updated: Silverlight Realtime Demo slightly +- Added: PhotonPeer.Listener property to give subclasses access to the IPhotonPeerListener (set in constructor). Can be useful to call Listener.DebugReturn() +- Added: LitePeer-Source.cs to demo-realtime. This is the source of a LitePeer and could be used as sample to create custom operations on the client side + +*** Version 5.9.0 +- Release: of changes in 5.7.6 and 5.7.5 + +*** Version 5.7.6 +- Fixed: a debug output line for TCP connections which did not heed the debug-level. +- Changed: PhotonPeer uses less locking internally and will handle incoming data in the game thread (inside DispatchIncomingCommands() or Service()). +- Changed: Internally, all commands are put into a (locked) queue which is processed within DispatchIncomingCommands(). Your dispatch interval affects local lag but not the PhotonPeer.RoundTripTime value. +- Note: Don't use a peer from multiple threads! It's not thread safe. All callbacks to IPhotonPeerListener methods are happening in your game thread (again: inside DispatchIncomingCommands()). +- Changed: removed locks inside the callbacks (according to above change). +- Changed: DNS resolution is now done in Connect() unless you provide a valid IP address (if IPAddress.Parse(address) is successful, the IP is used directly). +- Fixed: PhotonPeer.Connect() should fail if the IP is unknown or unavailable. Exception: using a localhost might succeed but fail when we try to receive anything. +- Updated: Game.cs now initialized the timing intervals. This avoids issues if the client system is having a negative TickCount. +- Added: ServerAddress property to PhotonPeer, which might help while developing with several servers and peers. +- Changed: This version includes GetLocalMsTimestampDelegate and the PhotonPeer property GetLocalMsTimestamp to set the delegate for local timestamp. + +*** Version 5.7.5 +- Changed: All precompiled demos now connect to localhost! From now on, you need to run Photon before trying any of the demos (as we don't guarantee that udp.exitgames.com is online anyways) +- Changed: OpCustom() now accepts null as parameter Hashtable, which is a shortcut to "no parameters" for simple operations (an empty hashtable is sent though, it does not reduce bandwidth) +- Added: new feature: UDP timeout definition by setting PhotonPeer.DisconnectTimeout (individual per command, set in milliseconds, checked when a command is repeated) +- Renamed: enum ReturnCode to StatusCode. The StatusCode values are only used for status callbacks (not as operation results) +- Changed: parameter type of PeerStatusCallback() from int to StatusCode (to differentiate them from operation ReturnCodes, which are customizable) +- Removed: StatusCode.Ok (as it was actually an Operation ReturnCode) +- Added: new StatusCallback value: StatusCode.SendError. Used for sending error cases: "not connected" and "channel not available" +- Changed: sendOperation() (Udp and Tcp) does not throw an exception while disconnected or for wrong channel (using StatusCode.SendError instead) +- Changed: callback DebugReturn() now has the additional parameter (DebugLevel)level, analog to logging +- Changed: UDP connection is disconnected when a read exception happens (before we tried to read despite this until a timeout ended it) +- Changed: EnetPeer.Disconnect() now ignores calls when peer is disconnected or disconnecting already +- Fixed: TCP code tried to detect socket issues by checking for IOExceptions but now checks SocketException instead +- Changed: internal threading: Callbacks due to incoming packages and commands are now queued and triggered by dispatch (in game loop) +- Changed: dispatch of action-queue as added to DispatchIncomingCommands (in EnetPeer and TPeer) +- Changed: internally, there is no locking for outgoing reliable and unreliable command lists anymore +- Changed: Realtime Demo timer usage to avoid nullref on form-close +- Changed: Realtime Demo propety isReliable is now in the Player class +- Changed: Game.cs and Player.cs for all realtime demos. There is now something like a gameloop (Update()) which must be called regularly and makes (pretty) sure just one thread accesses the peer +- Changed: all realtime demos to use the new Update() method and use more similar Game and Player classes (cleanup for less differences) +- Fixed: RoundtripTimeVariance is now also reset on connect / init, so the resend-timing of reliable udp does not suffer when a peer connects after a disconnect +- Fixed: typo in ExitGames.Client.Photon.StatusCode.QueueIncomingUnreliableWarning (was QueueIncomingUneliableWarning) + +*** Version 5.7.4 RC3 +- Changed: Unity3D lib again has it's own UDP handling (the DotNet one causes browser crashes on web-player exit) + +*** Version 5.7.3 RC3 +- Changed: Unity3D lib is now identical to DotNet lib (Unity iPhone is compatible with DotNet 2.0 now and this got tested) +- Fixed: DNS resolution (did not work for "localhost", which gave two results (IPv4 and IPv6), mixing up things + +*** Version 5.7.2 RC3 +- Changed: Unity3D lib: the receive thread will now receive until no data is available, then sleep 5ms and check again +- Changed: serverTime is now a signed int (as on server) and adds averaged rountripTime/2 when it gets an update +- Changed: ServerTimeInMilliSeconds doc (more concrete, explains how server time works) +- Added: support for serverTime, RountripTime and RoundtripTimeVariance when using TCP (Silverlight does not allow UDP) +- Added: Silverlight supports either URL:Port and IP:Port as server url string + +*** Version 5.7.1 RC2 +- Added: DotNet "Lobby Demo" which uses the "LiteLobby" application of the server SDK to show running games and their player-count +- Changed: the realtime demos to use the more similar Game and Player classes + +*** Version 5.7.0 RC1 +- Added: documentation: project for Silverlight Hashtable and ArrayList substitutes. +- Changed: RealtimeDemo uses same classes Game and Player for Unity3 + Silverlight +- Changed: Silverlight: Hashtable and ArrayList are now a separate project / lib +- Internal: Silverlight: listener interfaces (Photon and Neutron) now conditionally use ExitGames.Client datatypes from lib +- Changed: Photon: connect callback is now deferred to on-init-response (instead of enet-connect) which ensures "no ops before init" +- Changed: Unity Realtime demo: using game and player classes merged over from silverlight and re-wrote sample code to display players +- Internal: photon projects now have a pre-compile setting "Photon" +- Changed: SupportClass Namespace is now compiling into either ExitGames.Client .Photon or .Neutron (to avoid ambiguation) +- Added: LitePeer as Lite Application specific peer (with OpJoin and the rest) +- Changed: demos accordingly +- Changed: case of PhotonPeer methods to first-letter-is-uppercase (as usual in C#) +- Removed: nNet-prefix (Connect and Disconnect are self-explanatory) +- Renamed: PropertyTypes are now LitePropertyTypes (as they belong to the Lite application) +- Changed: Peer state constants with PS_* converted into enum "PeerStateValue" +- Removed: URL_RT_SERVER, URL_RT_SERVER_DEV, IP_RT_SERVER and IP_RT_SERVER_DEV +- Added: PhotonDemoServerUrlPort and PhotonDemoServerIpPort +- Renamed: NPeer to PhotonPeer +- Renamed: PhotonPeerListener to IPhotonListener (class and file) +- Changed: namespace from Com.ExitGames to ExitGames and ExitGames.Client, ExitGames.Client.Photon and ExitGames.Client.Neutron +- Removed: QueueOutgoingUnreliableError, QueueOutgoingAcksError, QueueIncomingReliableError, QueueIncomingUneliableError, QueueSentError (no errors, only warnings) +- Removed: error "report" when TCP incoming queue getts fuller +- Internal: updates Neutron part to run with Protocol.cs de/serialization (added a serializeParametersNeutron() as there are multiple differences to UDP part) +- Changed: projects and scripts to build documentation xml in debug builds +- Renamed: demo-photon-SL to demo-realtime-SL (according to other demo realtime implementations) +- Changed: many classes and properties are now internal. e.g. Protocol, EnetChannel, EnetPeer (and inner classes), TPeer, SuppportClass.ReadInput() +- Updated: AssemblyInfo.cs for photon dotnet and silverlight +- Internal: projects to have precompile-flags also in release builds +- Updated: build scripts for SDK building +- Removed: Compact Framework support + +*** Version 5.6.1 +- Fixed: 0 element arrays caused bugs +- Fixed: double type was cast incorrectly after being read + +*** Version 5.6.0 +- Added: more supported datatypes: float, double and arrays of all basic datatypes (no arrays of hashtable or arrays) +- Internal: changed Photon protocol internally to 1.5. (needs a server update to Photon Server SDK 1.6.1+)! +- Changed: Channels for Photon UDP are now priorized (from low to high) getting the lower channels out first +- Internal: switched de/serialization at several places from manual shifting to a support function, which should provide endian-correctness (Photon Unity PPC compatibility) +- Added: Unity info about "Application.runInBackground = true;" to Unity Appendix in doc +- Changed: Photon return values are put into a NEW hashtable on receive. not just a cleared one which was not reference-safe (no more need to deep-copy the data of events) +- Added: Photon support for "disconnect-reason" which is sent by server in the enet "reserved" byte +- Added: Photon ReturnCode.DisconnectByServerUserLimit and .DisconnectByServerLogic +- Removed: NPeer.IncomingReliableCommands (was more or less useless) +- Added: QueuedIncomingCommands and QueuedOutgoingCommands as metric for how effective send and dispatch is done +- Changed: now throwing exceptions when trying to set init-values at runtime (to be fixed at development-time) +- Added: doc for sequencing and updated channel doc, (too) short chapter on custom operations, topic "opCodes: byte versus short", doc for property-related functions +- Added: overloaded functions for opGetProperties*() for byte-keys +- Fixed: Realtime Demo keypress in input-fields have been used as in-game actions, too +- Changed: Realtime Demo game-name is now that of the native samples ("play" with other platform SDKs) +- Changed: Silverlight SDK has a different port in the constants NPeer.URL_RT_SERVER* and .IP_RT_SERVER* (as Silverlight uses TCP port 4350) + +*** Version 5.4.1 +- Added: missing documentation in Unity3d SDK + +*** Version 5.4.0 +- Change: The timespan until a sent and unacknowledged reliable command is considered lost, is now calculated by + current roundTripTime + 4 * roundTripTimeVariance + The result of this calculation is doubled with every following resend. The maximum number of retries can still be defined by calling SetSentCountAllowance. +- Change: Removed TimeAllowanceInt +- Change: removed surplus debug out, adjusted levels for other, output of command sent-time from hex to decimal +- Added: fragmentation support: bigger data is now placed into multiple packages and reassembled +- Internal: command-buffers are replaced with CommandList and SortedCommandList (major change, but fully internal) +- Fixed: possibility of command buffer overflow. now everything is stored and warnings are used as hint for temporary problems +- Added: property NPeer.IncomingReliableCommands, which returns the count of reliable commands currently queued +- Added: callback on NCommand.CT_DISCONNECT to inform the NPeerListener about a disconnect from server (see above) +- Added: disconnect command will be sent by server in case of timeout, connection-limitations or other issues +- Added: NPeer ReturnCode.DisconnectByServer is called on server-side disconnect (see description) +- Added: call to StopConnection() on disconnect (by server) +- Added: NPeer.PeerID property to get ENet's peerID (useful while debugging) +- Internal: SupportClass.WriteIntToByteArray() to ease writing ints to byte[] +- Internal: added several values to NCommand to store fragments +- Added: support for channels. read more about this in the documentation +- Added: NPeer.ChannelCount which sets the number of channels while not connected (default: 2) +- Changed: opRaiseEvent() and opCustom() now optionally have a channel parameter +- Added: Photon properties functions to NPeer (available with Photon Server SDK v1.5.0) and doc +- Added: LiteEventKey.SetProperties = 92 for broadcasted property set +- Added: LiteOpKey.Broadcast = 13 and .Properties = 12 +- Added: LiteEventKey.TargetActorNr = 10 (actorNr the properties are attached to) and .Properties = 12 (changed properties) + + +*** Version 5.3.11 +- Change: all bytes sent to and from server are treated as unsigned bytes (standard for c#). same for byte-arrays +- Change: updated realtime demo to use int for posx,posy but still sending just a byte-value (the field is 16x16, after all) + +*** Version 5.3.10 +- Change: switched from sbyte-array to byte-array in de/serialization! important: bytes (ev-keys etc) are sbyte. arrays of bytes are unsigned (on client and server) +- Change: NeutronListener functions getShadowReturn() and HasbadwordsReturn() now have byte-array return values. please adjust, even if you don't use those +- Internal: changed SupportClass for Compact Framework +- Internal: getting ticks sitched from expensive "System.DateTime.Now.Ticks / 10000" to cheap "Environment.TickCount" +- Change: Unity lib will now give more debug out if serialisation fails + +*** Version 5.3.9 +- Fixed: result-queue, timeouts and customOps work also fine for Unity build again (were broken due to Neutron Unity webplayer compatibility changes in 5.3.8 for Unity) +- Fixed: if the browser is closed and the unity webplayer immediatly can't use http anymore, Neutron now informs the application via NetworkStatusReturn() + +*** Version 5.3.8 +- Fixed: Neutron Unity now also works fine in webplayer -> Neutron and Photon now both support all platforms of Unity und Unity iPhone +- Fixed: default value for parameter encrypt of NeutronGame::RaiseEvent() now is false like for all other RaiseEvent methods and like on all other platforms, instead of true, as it was before + +*** Version 5.3.7 +- Fixed: .Net UDP issue, where standard MTU settings caused dropped UDP packages +- Internal: refactored ACK queue to arraylist + +*** Version 5.3.6 +- Fixed: NPeer issue with ACKs for repeated commands. this enhances handling of lost packages +- Changed: NPeer.opJoin() no longer needs the SID + +*** Version 5.3.5 +- Known issues: to use Photon on iPhone device, you do need Unity iPhone 1.0.2b1 or higher (current official release is 1.0.1, so please ask for a prerelease or wait until next official release), but of course you can use Photon with Unity iPhone 1.0.1 IDE +- Merged: renamed .NET 1.1 NeutronUnity3DiPhone into NeutronUnity3D to replace the old .NET 2.0 lib of that name, which means, that you can use the same .NET 1.1 based lib for Unity and for Unity iPhone now, since 1.1 cpmpatibility fixes are all done now +- Fixed: photon is fully compatible to .NET 1.1 now +- Internal: optimized UDP package size in Unity3D library (was sending surplus bytes, which were ignored) +- Fixed: NPeer.opCustom() now sends the operation given by parameter +- Changed: IP_RT_SERVER points to new server IP of udp.exitgames.com +- Changed: a new NeutronSession now clears the NetworkLoss state and the sendQueue +- Changed: timeout of a HTTP request to 10 seconds. it triggers + +*** Version 5.3.4 +- Added: prealpha Unity3DiPhone version of Neutron .NET: core lib already functional, but realtime part not usable on device yet +- Internal: there are 4 different versions of Neutron.NET now: + - Full .NET: .NET 2.0 based, with asnyc realtime part + - Compact Framework: .NET 2.0 based, with threaded realtime part + - Unity3D: .NET 2.0 based, with Unity www-class based http part and threaded realtime part + - Unity3DiPhone: .NET 1.1 based, with Unity www-class based http part and threaded realtime part + +*** Version 5.3.3 +- New: ReturnCode.RC_RT_EXCEPTION_CONNECT, which covers the cases where a server is not running +- New: NPeer can now be created with UDP or TCP (by new bool parameter) +- Change: renamed most of the constants for NPeer (in INPeerListener structs) +- Note: TCP does not offer ServerTime or RoundTripTime jet + +*** Version 5.3.2 +- Internal: reverted to threaded model in NConnect (as async UDP is not supported by Unity3D) + +*** Version 5.3.1 +- New: login(), register(), customOperation() and raiseEvent() (all variants) can be encrypted with additional parameter "encrypt" (overloaded function) +- New: encryption uses HTTPs as transfer, by changing the "http:" url to a "https:" url +- New: returnCode for failure of encrypted HTTPs requests: RC_SSL_AUTHENTICATION_FAILED (if certificate is not found, valid or expired) +- Fixed: Realtime Demo using the older Realtime Server + +*** Version 5.3.0 +- New: separated libraries into "Compact Framework" (CF) and "Regular Framework" (no name postfix) +- Change: libraries are now in "libs" folder as debug/release and in libs/CompactFramework debug/release +- Change: libs default URL set to EU/Test. use setServerURL() with Neutron.URL_NEUTRON_* for other Neutron instances +- Internal: lib now uses async UDP communication now with "regular" framework +- Added: properties serverTimeInMilliSeconds, serverTimeAsTimeSpan and serverTimeAsDateTime for getting the current server time +- Removed: serverTimeOffset is now internal only and removed from the API (was only needed to calculate the servertime by yourself, before neutron could do this for you) +- Change: debug out for realtime classes is now layered +- Change: debug level NPeer.DebugOut is now a NPeer.DebugLevel enum and will include all lower levels in output, default: DebugLevel.ERROR +- Fixed: size of realtime demo board +- Change: NPeer constructor now always throws an exception if listener is null +- Change: EventAction() parameter eventCode is now of type sbyte (was int), which corresponds to type of RaiseEvent (and server-side used type) +- Internal: NPeer.opRaiseEvent() now treats eventCode as parameter of operation RaiseEvent (as changed in latest RT server) +- Change: NPeer has its own listener (INPeerListener) and several (better named) structs for the constants used with NPeer / realtime +- Added: LiteOpKey and LiteOpKey.ActorNumber to have a constant for the only OP key of interest +- Change: EventAction() always returns the complete event, which contains a code, the ActorNumber (if any given) and data from raiseEvent (see below) +- Change: in custom events, the data from opRaiseEvent() is in placed as value of key: LiteEventKey.EV_RT_KEY_DATA. to get the data use: Hashtable data = (Hashtable)neutronEvent[LiteEventKey.EV_RT_KEY_DATA]; + +*** Version 5.2.0 +- changed library filename to neutron-lib__.dll with server "test" and "run" (no debug out) and billing "dummy" and "none" +- removed US build of library. please use NeutronSession.SetServerUrl() and the constants: Neutron.URL_NEUTRON_SERVER_*. + +*** Version 5.1.0 +- added realtime classes to DotNet library: ported NPeer (and internal: NCommand and NConnect) classes +- added nPeerReturn() to NeutronListener interface +- added constants for realtime returnCodes (RC_RT_*): RC_RT_CONNECT, RC_RT_DISCONNECT and RC_RT_EXCEPTION +- added constants for realtime eventCodes (EV_RT_*) +- added constants for Neutron servers to Neutron class: URL_NEUTRON_* +- added Reamtime Demo +- updated samples +- added test for UDP to NUnit + +*** Version 5.0.1 +- New: operation Spectate (including new SpectateReturn) to get events from any game (as admin) +- New: SetServerUrl and SetCustomServerUrl now return the URL to debugReturn +- Internal: constant "DEBUG_- InternalS" to be used for intern debugging output + +*** Version 5.0.0 +- New: hasBadwords() as OP and return. Server side check of strings for badwords + +*** Version 5.0.0 RC3 +- Internal: changed constant values: EV_KEY_PROPERTIES = "Data", EV_KEY_REVISION = "Rev" +- New: EV_KEY_CHANNELTYPE for channel-type in property-change events +- New: constants for default channels, CHANNEL_APPLICATION_LONGLIFE, CHANNEL_ACTOR_SHORTLIFE, CHANNEL_ACTOR_LONGLIFE and CHANNEL_APPINSTANCE +- Change: operations that fail due to missing moderation-rights now return RC_MODERATION_DENIED instead of RC_COMMAND_ACCESS_DENIED +- Change: actor-properties can no longer be broadcasted in any way - removed "broadcast" parameter from setActorProperties() +- Change: properties now have a revision which is increased on each change. this way outdated updates might be skipped +- Change: parameters of GetPropertiesReturn(). property-type is replaced by channel. added revision +- Change: EV_PROPERTIES_CHANGE now has a key EV_KEY_OWNERNR if it's a "player property" (the key is missing if it's a game-property) +- Internal: changed setProperties and getProperties to new operation-codes using different parameters (with similar results) +- New: parameter "textMessage" for NeutronGame.invite() adds personal message to invited players (in EV_INV and gameListInvitations()) +- New: key EV_KEY_INFO will be added to EV_INV if "textMessage" was used in NeutronGame.invite() (it's not there otherwise) +- New: gameListInvitations() has new value parameter {t} to get "textMessage" from NeutronGame.invite() +- New: RC_APPINSTANCE_NOT_OPEN is now used for "singleton namebased pools" where a game is full (not able to join / instanciate) +- New: gameCreate() with invitations will fail if the chosen game-name is already taken in a "singleton namebased pool" +- New: RC_APPINSTANCE_ALREADY_EXISTS for the case above + +*** Version 5.0.0 RC2 +- Change: gameCreateReturn() now returns RC_APPINSTANCE_NOT_OPEN (instead of RC_AI_TOO_MANY_ACTORSESSIONS) for full games in "singleton" pools +- Change: obsolete events EV_TURN, EV_TXTMSG and EV_DATA which could be sent by raiseEvent*() and still handled +- Change: switched Neutron URLs to "[..].neutron5.[..]" for test/run libs +- Fix: Polling (getEvents operation) again calls sendGameDataReturn() for all errors (as intended for v4.9.2 already) +- New: constant NeutronListener.EV_KEY_TYPE as part of event EV_BUDDNOTICE + +*** Version 5.0.0 RC1 +- New: RaiseEvent (all functions of this name) now has a "filter" parameter. If filter is true, all String-typed values in an event are badword filtered +- Change: signature of NeutronGame.raiseEvent(), NeutronGame.raiseEventInChannel(), NeutronSession.raiseEventInChannel(), NeutronSession.raiseEventForActor() start with: byte eventCode, Hashtable event, boolean filter +- Change: signature of NeutronSession.raiseEventForActor() is changed to "byte eventCode, Hashtable eventData, boolean filter, String userID, int minutesValid, byte maxTypeCount, byte channel" +- Change: NeutronGame.doModerate() is now isModerator() +- Change: moved GpOperation.SerializeData() and GpOperation.DeserializeData() to Neutron.SerializeData() and Neutron.DeserializeData(). +- New: errorCode RC_INVALID_TARGET and RC_PARAMETER_NOT_SUPPLIED added as constant. + +*** Version 4.9.3 +- New: Errors constants in NeutronListener: RC_FATAL_LOGIC, RC_MATCHMAKING_NOT_COMPLETED, RC_CHANNEL_ACCESS_VIOLATION +- New: for game-creation you can now reserve "spots", which are not filled up by Neutron matchmaking. players can be invited to fill the spots, or they can be deblocked later on +- New: Parameter reservedSpots in NeutronSession.gameCreate() +- New: NeutronGame.setReservedSpots() to modify the number of reserved slots (to make them available to matchmaking again, or block/reserve them) +- New: event EV_RESERVED_SPOTS will update the NeutronGame.reservedSpots value after a call to NeutronGame.setReservedSpots() +- New: NeutronSession.listBannedPlayers() gives you the list of banned players for a known game - only usable by "admin" users +- New: NeutronSession.unbanPlayer() is a modified "kick" operation which allows the respective user to join a certain game again - only usable by "admin" users +- New: the event invitation includes now the game's name (in the new key EV_KEY_NAME) +- New: NeutronSession.gameListPerPool() has now three options to sort the results: by game-name, player-count or "persistent games first" +- Removed: NeutronGame: handoverTurn(), sendData(), sendTextMsg(), getEventHistory() and getEventHistoryReturn(). Obsolete events: EV_TURN, EV_TXTMSG, EV_DATA. Session: getScorePosition()+getScorePositionReturn() +- Update: release_history.txt was updated from v4.0. All changes up to v4.0.4 are added to v4.9.3 + +*** Version 4.9.2 +- New: Players can be admins (by list of logins on server) or moderator (by being the first active player of a game) +- New: Players may request and become moderator for game: NeutronSession.gameCanModerate(boolean), NeutronSession.canModerate, NeutronGame.doModerate() and NeutronGame.moderatorActorNr +- Change: the new value NeutronSession.canModerate will be sent with gameCreate() operations (if set to true) +- New: Event key NeutronListener.EV_KEY_MODERATOR to get moderator's actorNr from events +- Change: EV_QUIT and EV_KICKED now carry the new key EV_KEY_MODERATOR which tells all players who is the current moderator (by actorNr); this is stored into NeutronGame.moderatorActorNr +- New: Players in NeutronGame can have new state PLAYER_KICKED (player-data is updated with EV_KICKED) +- New: NeutronGame.kickPlayer() (for moderators) and NeutronSession.kickPlayer() (for admin's who are not active in the game to shutdown) +- New: NeutronSession.shutdownGame() can be used by admin-players (for others, this operation will fail) +- New: Namebased pools can now be defined as "singleton": only one instance per pool and name will be created; if such a game is full players get an error instead of a new game +- New: Errors constants in NeutronListener: RC_ACTORSESSION_KICKED, RC_ACTORSESSION_BANNED, RC_APPINSTANCE_CLOSED, RC_ACTORSESSION_ALREADY_JOINED +- Change: NeutronGame.raiseEvent() accepts a "targetActorNr" which defines a single player to get the raised event; leave 0 to target "all players in game" (as before) +- New: NeutronGame.quitLocally() to release a NeutronGame instance locally (without having to quit()); used after a player was kicked or game shutdown +- Update: NeutronGame.playerGetCount() is updated to simply count all active or inactive players (excluding quit and kicked ones) +- Internal: NeutronGame constructor reads new parameter: P_MODERATOR +- Change: Polling (getEvents operation) now calls sendGameDataReturn() for all errors (not just RC_ACTORSESSION_EXPIRED and RC_ACTORSESSION_NOT_FOUND); takes care of kicked/banned errors +- Fix: Fatal server errors cause a returnCode of NeutronListener.RC_OP_SERVER again; debug test-server libs print out debug text! (during development fatal errors could happen in case of not matching client/server setups) +- Change: removed (already deprecated) NeutronListener.gameListPerPoolReturn() +- Change / Internal: canModerate is sent as Byte (not bool) as in definition; Code: if ( canModerate ) op.addParameter(Neutron.P_MODERATOR , new Byte((byte)1)); +- Add: NeutronGame.PLAYER_KICKED is now listed in JavaDoc for NeutronGame.playerGetStatus() +- Update: JavaDoc package.html, gameCreateReturn(), gamesListReturn(), EV_DEACTIVATE, kickPlayer(), quitLocally(), RC_ACTORSESSION_KICKED, RC_ACTORSESSION_BANNED, RC_APPINSTANCE_CLOSED, RC_ACTORSESSION_ALREADY_JOINED +- Added: Event EV_STATUS (50) includes a key EV_KEY_ISADMIN if the current player has administrator rights; the value is (byte)1 in that case. The key does not exist in any other case (normal users) +- Update: JavaDoc gameCreateReturn; +- New: Added constant RC_APPINSTANCE_NOT_FOUND = 137 for shutdownGameReturn() +- Fix: serializable datatypes are now completely listed in NeutronSession JavaDoc +- New: Constant for property-change events: EV_PROPERTIES_CHANGE including new keys: EV_KEY_PROPERTY_TYPE, EV_KEY_PROPERTIES, EV_KEY_ISDIFF +- Update: JavaDoc for properties in NeutronSession + +*** Version 4.1.1 +- Fix: gameListPerPool() defaults to 10 games and no offset if the values are less than 1 +- Fix: gamesListReturn() JavaDoc description for "listType" is now: 0 = open games; 1 = invitations; 2 = pool's open games list +- Update: gameListPerPool() sends "{gn}" as values-parameter if it's null +- Update: getPropertiesReturn() gets new parameters: actorNr, userID. These are optional and are available in certain situations only. See JavaDoc +- Update: gameListPerPoolReturn() is now deprecated and merged into gamesListReturn() which in turn got a "type" to identify the list-type +- New: getListBuddyIgnore() got one more value: 't'. This requests the type of relation to users. useful when getting lists of type "both". this is buddies and ignores. +- Change: renamed returned parameters to: count and countOnline. These values are referring to the number in the returned list +- Internal: parameter P_USERID = 85; used in getProperties +- New: made methods nullpointer resistant: getListBuddyIgnore, buddySet, get/set PlayerProperties, get/set ActorProperties, get/set GameProperties; some methods throw exceptions in debug version + +*** Version 4.1.0 +- New: Properties. NeutronSession: setActorProperties(), getActorProperties(). NeutronGame: setLocalPlayerProperties(), getPlayerProperties(), getGameProperties(), setGameProperties() +- New: Buddylist and Ignorelist in NeutronSession: listBuddies(), listIgnored(), getListBuddyIgnore(), buddySet() +- New: Listing of games per pool in NeutronSession: NeutronSession gameListPerPool() +- New: Games with password (only usable for named games) +- Internal: Changed parameter in buddySet from P_STATUS to P_TYPE + +*** Version 4.0.4 +- Change: NeutronGame.handoverTurn() and NeutronGame.sendData() are now getting a Hashtable parameter instead of Object +- New: RC_ACTORSESSION_BUSY (121) constant to help identify common development error! check in gameCreateReturn() + +*** Version 4.0.3 +- New: RC_INVALID_CONNECTIONSTRING (74) constant to help identify a common error! check in loginReturn() +- Update: list of serializable datatypes in NeutronSession JavaDoc +- Fix: Fatal server errors cause a returnCode of NeutronListener.RC_OP_SERVER again; debug test-server libs print out debug text! (during development fatal errors could happen in case of not matching client/server setups) + +*** Version 4.0.2 +- Internal: Neutron.deserializeData() now returns either the P_DATA part of the deserialized data (if available / serialized by serializeData()) or the resulting hashtable itself + +*** Version 4.0.1 +- New: NConnectSE connects to server defined by parameter: ipPort (before: fixed host) +- New: SE version is now completely independent from Java ME classes (were not used, but had to be present) +- Fix: Changed versioning for "ClientLibVersion" in Login/CC +*** Version 4.0.0.0 + +- Removed methods: + - NeutronSession.BuggyGetList - replaced by new GetListBuddyIgnore method; + - NeutronSession.ReSubscribe; + - NeutrinSession.ConfirmBilling; + - NeutronListener.ResubscribeReturn; + +- Added methods: + - NeutronSession.GameCreateNamed with password parameter; + - NeutronSession.GameListPerPool; + - NeutronSession.GetActorProperties; + - NeutronSession.SetActorProperties; + - NeutronSession.GetListBuddyIgnore - replaces removed BuggyGetList; + - NeutronSession.ListBuddies; + - NeutronSession.ListIgnore; + - NeutronSession.BillingInitPayment; + - NeutronSession.BillingProcessPayment; + - NeutronGame.Invite; + - NeutronGame.GetGameProperties; + - NeutronGame.SetGameProperties; + - NeutronGame.GetPlayerProperties; + - NeutronGame.SetLocatPlayerProperties; + - NeutronListener.GameInviteReturn; + - NeutronListener.GetPropertiesReturn; + - NeutronListener.SetPropertiesReturn; + +- Changed argument list: + - NeutronSession.GameCreate - added password parameter; + - NeutronListener.GamesListReturn added listType parameter; + - NeutronListener.BuddyGetListReturn all buddy related info now in passing in one strings array parrameter; + - NeutronListener.BuddySetReturn added type parameter; + - NeutronListener.BillingInitPaymentReturn; + + +- added constants: + - OPC_INVITE + - OPC_TELLAFRIEND + - OPC_LISTGAMES + - OPC_SETPROPERTIES + - OPC_GETPROPERTIES + - P_USERID + - P_RESERVE + - P_RESULT + - P_PROPERTIES + - P_BROADCAST + - P_ISDIFF + - RCB_CHARGING_ERROR + - RCB_POST_CHARGING_ERROR + - RCB_TIMEOUT + - RCB_PRICE_- Changed + - RCB_PRICE_INVALID + - RCB_FATAL_SERVER_ERROR + - RCB_FATAL_LOGIC_ERROR + - RCB_NOT_INCLUDED + - RCB_WMA_UNAVAILABLE + +*** Version 3.0.2.2 +- CLS-specifications largely corrected + +*** Version 3.0.1.1 +- changes in neutron-java-lib integrated + +*** +- Removed: NeutronGame: playerNames, playerIDs, playerLobbies, playerStats +- Change: removed GpOperation.roundtripTime, now using public Neutron.roundtripTime + to be sent in operation headers (GpOperation.serializeParameters(), internal) +- Change: channelRaiseEvent() is now raiseEventInChannel() and gets the eventCode + as seperate parameter value - analog to raiseEventForActor() +- Fix: renamed EV_KEY_M_MIPLAYERS to EV_KEY_M_MINPLAYERS (number of min players of game, before start) +- Fix: values for EV_KEY_M_MINPLAYERS and EV_KEY_M_MAXPLAYERS corrected (wrong case so far) +- Changed: Neutron.millisecondsToWait (current value of polling-interval) is now + set in Neutron.receiveResponse() for login, register and alike diff --git a/Project Undercover/Assets/Plugin/Plugins/release_history.txt.meta b/Project Undercover/Assets/Plugin/Plugins/release_history.txt.meta new file mode 100644 index 0000000..a06c625 --- /dev/null +++ b/Project Undercover/Assets/Plugin/Plugins/release_history.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c29089d5f5388bf479c9c8c96ba6df54 +labels: +- ExitGames +- PUN +- Photon +- Networking diff --git a/Project Undercover/Assets/Prefabs/NPC.prefab b/Project Undercover/Assets/Prefabs/NPC.prefab deleted file mode 100644 index 9b682b2..0000000 --- a/Project Undercover/Assets/Prefabs/NPC.prefab +++ /dev/null @@ -1,146 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 1057615597006810} - m_IsPrefabParent: 1 ---- !u!1 &1057615597006810 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 4550573785341638} - - component: {fileID: 33086112975945044} - - component: {fileID: 65286041577059446} - - component: {fileID: 23479163004144910} - - component: {fileID: 54771552521138126} - - component: {fileID: 114024861962930332} - - component: {fileID: 195715453755731944} - m_Layer: 0 - m_Name: NPC - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4550573785341638 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4, y: 0.5, z: 0} - m_LocalScale: {x: 0.5, y: 1, z: 0.5} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &23479163004144910 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: f36b9789b902b3f4fb77a1a9bb7d8cba, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &33086112975945044 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!54 &54771552521138126 -Rigidbody: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &65286041577059446 -BoxCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &114024861962930332 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 08ac21f34fab492479c8ba517d134d33, type: 3} - m_Name: - m_EditorClassIdentifier: - updateTime: 2 ---- !u!195 &195715453755731944 -NavMeshAgent: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 1057615597006810} - m_Enabled: 1 - m_AgentTypeID: 0 - m_Radius: 0.5 - m_Speed: 1.5 - m_Acceleration: 20 - avoidancePriority: 50 - m_AngularSpeed: 0 - m_StoppingDistance: 0 - m_AutoTraverseOffMeshLink: 1 - m_AutoBraking: 1 - m_AutoRepath: 1 - m_Height: 1 - m_BaseOffset: 0.5 - m_WalkableMask: 4294967295 - m_ObstacleAvoidanceType: 4 diff --git a/Project Undercover/Assets/Resources.meta b/Project Undercover/Assets/Resources.meta new file mode 100644 index 0000000..dc4461d --- /dev/null +++ b/Project Undercover/Assets/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b931d093ce4ef2a4f886042745286b76 +folderAsset: yes +timeCreated: 1505887640 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Resources/CameraRig.prefab b/Project Undercover/Assets/Resources/CameraRig.prefab new file mode 100644 index 0000000..7d6c288 --- /dev/null +++ b/Project Undercover/Assets/Resources/CameraRig.prefab @@ -0,0 +1,194 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1009033979625728} + m_IsPrefabParent: 1 +--- !u!1 &1009033979625728 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4142260045970492} + m_Layer: 0 + m_Name: CameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1356979015583938 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4528405103896718} + - component: {fileID: 20211282122902080} + - component: {fileID: 124831225345854946} + - component: {fileID: 92066355603594928} + - component: {fileID: 81875630459540270} + - component: {fileID: 114133959295157678} + - component: {fileID: 114906276905213650} + m_Layer: 0 + m_Name: Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1487403287234544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4933956028562368} + m_Layer: 0 + m_Name: Pivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4142260045970492 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1009033979625728} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4933956028562368} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4528405103896718 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4933956028562368} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4933956028562368 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1487403287234544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4528405103896718} + m_Father: {fileID: 4142260045970492} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &20211282122902080 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!81 &81875630459540270 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_Enabled: 1 +--- !u!92 &92066355603594928 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_Enabled: 1 +--- !u!114 &114133959295157678 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f7a72291221ddc42900e92a2a18c629, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} + catchSpeedDamp: 0 + rotationSmoothing: 15 +--- !u!114 &114906276905213650 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f0d309eaff637d4ea4ff2f9f6bb3c0f, type: 3} + m_Name: + m_EditorClassIdentifier: + distanceToTarget: 2.5 + nearClipPlaneExtentMultiplier: 1.2 + occlusionMoveTime: 0.025 + ignoreLayerMask: + serializedVersion: 2 + m_Bits: 256 + visualizeInScene: 1 +--- !u!124 &124831225345854946 +Behaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1356979015583938} + m_Enabled: 1 diff --git a/Project Undercover/Assets/Resources/CameraRig.prefab.meta b/Project Undercover/Assets/Resources/CameraRig.prefab.meta new file mode 100644 index 0000000..81f0ca9 --- /dev/null +++ b/Project Undercover/Assets/Resources/CameraRig.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1764211b5690c164d82aa46fa4ec707d +timeCreated: 1505971280 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Resources/NPC.prefab b/Project Undercover/Assets/Resources/NPC.prefab new file mode 100644 index 0000000..eb9fe6d --- /dev/null +++ b/Project Undercover/Assets/Resources/NPC.prefab @@ -0,0 +1,497 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1057615597006810} + m_IsPrefabParent: 1 +--- !u!1 &1057615597006810 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4550573785341638} + - component: {fileID: 114359923699139636} + - component: {fileID: 195715453755731944} + - component: {fileID: 114024861962930332} + m_Layer: 0 + m_Name: NPC + m_TagString: NPC + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1126820300319554 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4217374063523058} + - component: {fileID: 33735188809925466} + - component: {fileID: 65860989226947862} + - component: {fileID: 23941815072123448} + m_Layer: 8 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1381665766028140 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4096024655937812} + - component: {fileID: 111890134124086190} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1444155670206188 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4200115977521848} + - component: {fileID: 33845168317084218} + - component: {fileID: 23262448647501294} + m_Layer: 0 + m_Name: RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1531674994177130 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4337374595919606} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1777684086661350 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4351823664398018} + - component: {fileID: 33877953466603606} + - component: {fileID: 23611067882153422} + m_Layer: 0 + m_Name: Nose + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1812520457084846 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4819433964098212} + - component: {fileID: 33257890776926430} + - component: {fileID: 23725026200600758} + m_Layer: 0 + m_Name: LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1888886586997398 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4404938505999528} + m_Layer: 0 + m_Name: CameraTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4096024655937812 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1381665766028140} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.3, y: -0.3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4819433964098212} + m_Father: {fileID: 4550573785341638} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4200115977521848 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444155670206188} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.19999999, z: 0} + m_LocalScale: {x: 0.099999994, y: 0.5, z: 0.099999994} + m_Children: [] + m_Father: {fileID: 4337374595919606} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4217374063523058 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126820300319554} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalScale: {x: 0.5, y: 1, z: 0.5} + m_Children: [] + m_Father: {fileID: 4550573785341638} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4337374595919606 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1531674994177130} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.3, y: -0.3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4200115977521848} + m_Father: {fileID: 4550573785341638} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4351823664398018 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1777684086661350} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.26999998, z: 0.25} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: [] + m_Father: {fileID: 4550573785341638} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4404938505999528 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1888886586997398} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550573785341638} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4550573785341638 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1057615597006810} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4096024655937812} + - {fileID: 4337374595919606} + - {fileID: 4404938505999528} + - {fileID: 4351823664398018} + - {fileID: 4217374063523058} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4819433964098212 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1812520457084846} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.19999999, z: 0} + m_LocalScale: {x: 0.099999994, y: 0.5, z: 0.099999994} + m_Children: [] + m_Father: {fileID: 4096024655937812} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23262448647501294 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444155670206188} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23611067882153422 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1777684086661350} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23725026200600758 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1812520457084846} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23941815072123448 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126820300319554} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f36b9789b902b3f4fb77a1a9bb7d8cba, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &33257890776926430 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1812520457084846} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33735188809925466 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126820300319554} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33845168317084218 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1444155670206188} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33877953466603606 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1777684086661350} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &65860989226947862 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1126820300319554} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!111 &111890134124086190 +Animation: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1381665766028140} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: 7400000, guid: 0d1b4be09a8f56b49ae0c9839f5e5570, type: 2} + m_Animations: + - {fileID: 7400000, guid: 0d1b4be09a8f56b49ae0c9839f5e5570, type: 2} + m_WrapMode: 0 + m_PlayAutomatically: 0 + m_AnimatePhysics: 0 + m_CullingType: 0 +--- !u!114 &114024861962930332 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1057615597006810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 08ac21f34fab492479c8ba517d134d33, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &114359923699139636 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1057615597006810} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: [] + ObservedComponentsFoldoutOpen: 1 + viewIdField: 0 + instantiationId: -1 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!195 &195715453755731944 +NavMeshAgent: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1057615597006810} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 1.5 + m_Acceleration: 20 + avoidancePriority: 50 + m_AngularSpeed: 100 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 1 + m_BaseOffset: 1 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 diff --git a/Project Undercover/Assets/Prefabs/NPC.prefab.meta b/Project Undercover/Assets/Resources/NPC.prefab.meta similarity index 100% rename from Project Undercover/Assets/Prefabs/NPC.prefab.meta rename to Project Undercover/Assets/Resources/NPC.prefab.meta diff --git a/Project Undercover/Assets/Resources/PhotonServerSettings.asset b/Project Undercover/Assets/Resources/PhotonServerSettings.asset new file mode 100644 index 0000000..c283137 --- /dev/null +++ b/Project Undercover/Assets/Resources/PhotonServerSettings.asset @@ -0,0 +1,60 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f3758f8f58fdef43803eb9be1df0608, type: 3} + m_Name: PhotonServerSettings + m_EditorClassIdentifier: + AppID: 50077b63-ed3c-409e-b651-7381c8f9cd30 + VoiceAppID: + ChatAppID: + HostType: 4 + PreferredRegion: 0 + EnabledRegions: -990 + Protocol: 0 + ServerAddress: + ServerPort: 5055 + VoiceServerPort: 5055 + JoinLobby: 0 + EnableLobbyStatistics: 0 + PunLogging: 0 + NetworkLogging: 1 + RunInBackground: 1 + RpcList: + - Chat + - ColorRpc + - DestroyRpc + - DoJump + - Flash + - InstantiateRpc + - Marco + - PickupItemInit + - Polo + - PunPickup + - PunPickupSimple + - PunRespawn + - RequestForPickupItems + - RequestForPickupTimes + - TaggedPlayer + - MovePlayerToGuards + - MovePlayerToSpys + - CreatePlayerPanel + - UpdatePlayerPanels + - SetTarget + - UpdateRotation + - UpdateTarget + - UpdateTargetRPC + - TeleportToTarget + - SetColorRPC + - HandshakeRPC + - CompleteMissionRPC + - ShowGuardsWinScreen + - ShowSpysWinScreen + - ShowSpiesWinScreen + DisableAutoOpenWizard: 1 diff --git a/Project Undercover/Assets/Resources/PhotonServerSettings.asset.meta b/Project Undercover/Assets/Resources/PhotonServerSettings.asset.meta new file mode 100644 index 0000000..747c751 --- /dev/null +++ b/Project Undercover/Assets/Resources/PhotonServerSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a22d96d4a5939904f88ccf2fa712daec +timeCreated: 1505316452 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Resources/PlayerPanel.prefab b/Project Undercover/Assets/Resources/PlayerPanel.prefab new file mode 100644 index 0000000..be86031 --- /dev/null +++ b/Project Undercover/Assets/Resources/PlayerPanel.prefab @@ -0,0 +1,196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1736100760300452} + m_IsPrefabParent: 1 +--- !u!1 &1736100760300452 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224274532606258166} + - component: {fileID: 222471177591866172} + - component: {fileID: 114563229062076432} + - component: {fileID: 114451597677598164} + - component: {fileID: 114261728440639258} + m_Layer: 5 + m_Name: PlayerPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1785172600161324 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224610640245592606} + - component: {fileID: 222277171219387844} + - component: {fileID: 114580003191073334} + m_Layer: 5 + m_Name: PlayerNameText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &114261728440639258 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736100760300452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6dd39f8b6d42e104684b6ba413663fe1, type: 3} + m_Name: + m_EditorClassIdentifier: + playerName: {fileID: 114580003191073334} +--- !u!114 &114451597677598164 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736100760300452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 3 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: + - {fileID: 114261728440639258} + ObservedComponentsFoldoutOpen: 1 + viewIdField: 0 + instantiationId: -1 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!114 &114563229062076432 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736100760300452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 1, b: 0.048275948, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114580003191073334 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1785172600161324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Player Name +--- !u!222 &222277171219387844 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1785172600161324} +--- !u!222 &222471177591866172 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736100760300452} +--- !u!224 &224274532606258166 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736100760300452} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224610640245592606} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 250, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224610640245592606 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1785172600161324} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224274532606258166} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Project Undercover/Assets/Resources/PlayerPanel.prefab.meta b/Project Undercover/Assets/Resources/PlayerPanel.prefab.meta new file mode 100644 index 0000000..d421632 --- /dev/null +++ b/Project Undercover/Assets/Resources/PlayerPanel.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 74fad1cbde9aa4f4cabb64a8094a425c +timeCreated: 1505889971 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Resources/Spy.prefab b/Project Undercover/Assets/Resources/Spy.prefab new file mode 100644 index 0000000..9f22bad --- /dev/null +++ b/Project Undercover/Assets/Resources/Spy.prefab @@ -0,0 +1,685 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1802754264274306} + m_IsPrefabParent: 1 +--- !u!1 &1032208385951094 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4779048883842138} + - component: {fileID: 111145754345681274} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1036170259174936 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224270912928746930} + - component: {fileID: 222756374511622092} + - component: {fileID: 114606643333230990} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1257584423858482 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4430354943358540} + - component: {fileID: 33669237329726310} + - component: {fileID: 65457508975598666} + - component: {fileID: 23330507826903970} + m_Layer: 8 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1286496733549970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4793872894975840} + m_Layer: 0 + m_Name: CameraTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1346753426744742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4746764511021966} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1620001557903490 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4045646946691380} + - component: {fileID: 33829691036055006} + - component: {fileID: 23652756610397682} + m_Layer: 0 + m_Name: RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1688595544132444 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4678702805608212} + - component: {fileID: 33557797566304358} + - component: {fileID: 23114392502969186} + m_Layer: 0 + m_Name: Nose + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1732268044639884 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224646681756712024} + - component: {fileID: 223669680760996550} + - component: {fileID: 114343748296349344} + - component: {fileID: 114874158646270740} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1793856925762854 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4237908354403846} + - component: {fileID: 33987673697585266} + - component: {fileID: 23166375077367682} + m_Layer: 0 + m_Name: LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1802754264274306 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4378487762680274} + - component: {fileID: 114281114656434320} + - component: {fileID: 114717847564585420} + - component: {fileID: 195162594393817470} + - component: {fileID: 114178078561552090} + m_Layer: 0 + m_Name: Spy + m_TagString: Spy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4045646946691380 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1620001557903490} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.19999999, z: 0} + m_LocalScale: {x: 0.099999994, y: 0.5, z: 0.099999994} + m_Children: [] + m_Father: {fileID: 4746764511021966} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4237908354403846 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1793856925762854} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.19999999, z: 0} + m_LocalScale: {x: 0.099999994, y: 0.5, z: 0.099999994} + m_Children: [] + m_Father: {fileID: 4779048883842138} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4378487762680274 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1802754264274306} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4779048883842138} + - {fileID: 4746764511021966} + - {fileID: 4793872894975840} + - {fileID: 4678702805608212} + - {fileID: 4430354943358540} + - {fileID: 224646681756712024} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4430354943358540 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1257584423858482} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalScale: {x: 0.5, y: 1, z: 0.5} + m_Children: [] + m_Father: {fileID: 4378487762680274} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4678702805608212 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1688595544132444} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.26999998, z: 0.25} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: [] + m_Father: {fileID: 4378487762680274} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4746764511021966 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1346753426744742} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.3, y: -0.3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4045646946691380} + m_Father: {fileID: 4378487762680274} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4779048883842138 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1032208385951094} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.3, y: -0.3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4237908354403846} + m_Father: {fileID: 4378487762680274} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4793872894975840 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1286496733549970} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4378487762680274} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23114392502969186 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1688595544132444} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23166375077367682 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1793856925762854} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23330507826903970 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1257584423858482} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f36b9789b902b3f4fb77a1a9bb7d8cba, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23652756610397682 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1620001557903490} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &33557797566304358 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1688595544132444} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33669237329726310 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1257584423858482} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33829691036055006 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1620001557903490} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33987673697585266 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1793856925762854} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &65457508975598666 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1257584423858482} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!111 &111145754345681274 +Animation: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1032208385951094} + m_Enabled: 1 + serializedVersion: 3 + m_Animation: {fileID: 7400000, guid: 0d1b4be09a8f56b49ae0c9839f5e5570, type: 2} + m_Animations: + - {fileID: 7400000, guid: 0d1b4be09a8f56b49ae0c9839f5e5570, type: 2} + m_WrapMode: 0 + m_PlayAutomatically: 0 + m_AnimatePhysics: 0 + m_CullingType: 0 +--- !u!114 &114178078561552090 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1802754264274306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6424f0a0a27cd694d9871b7cf3137e8d, type: 3} + m_Name: + m_EditorClassIdentifier: + shakeAnimation: {fileID: 111145754345681274} + isShaking: 0 + nameTag: {fileID: 1732268044639884} +--- !u!114 &114281114656434320 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1802754264274306} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: [] + ObservedComponentsFoldoutOpen: 1 + viewIdField: 0 + instantiationId: -1 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!114 &114343748296349344 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732268044639884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 10 +--- !u!114 &114606643333230990 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1036170259174936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Spy +--- !u!114 &114717847564585420 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1802754264274306} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c9e5b8e36b3b0747811ece9fa00437a, type: 3} + m_Name: + m_EditorClassIdentifier: + particle: {fileID: 1985718805234408, guid: c88d3f518f298774f86ed97b96c1bdc5, type: 2} + cameraRigPrefab: {fileID: 1009033979625728, guid: 1764211b5690c164d82aa46fa4ec707d, + type: 2} + cameraTarget: {fileID: 4793872894975840} +--- !u!114 &114874158646270740 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732268044639884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!195 &195162594393817470 +NavMeshAgent: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1802754264274306} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 1.5 + m_Acceleration: 20 + avoidancePriority: 50 + m_AngularSpeed: 100 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 1 + m_BaseOffset: 1 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!222 &222756374511622092 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1036170259174936} +--- !u!223 &223669680760996550 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732268044639884} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &224270912928746930 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1036170259174936} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224646681756712024} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224646681756712024 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1732268044639884} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.02, y: 0.02, z: 1} + m_Children: + - {fileID: 224270912928746930} + m_Father: {fileID: 4378487762680274} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0.358} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Project Undercover/Assets/Resources/Spy.prefab.meta b/Project Undercover/Assets/Resources/Spy.prefab.meta new file mode 100644 index 0000000..7a1b6fb --- /dev/null +++ b/Project Undercover/Assets/Resources/Spy.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 776584f30673ec24b9c1251ae4070352 +timeCreated: 1505968599 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Resources/WayPointIndicator.prefab b/Project Undercover/Assets/Resources/WayPointIndicator.prefab new file mode 100644 index 0000000..b5e9d4f --- /dev/null +++ b/Project Undercover/Assets/Resources/WayPointIndicator.prefab @@ -0,0 +1,3369 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1985718805234408} + m_IsPrefabParent: 1 +--- !u!1 &1985718805234408 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4003849733575748} + - component: {fileID: 198465961139612228} + - component: {fileID: 199122437435764832} + - component: {fileID: 114497565126989678} + m_Layer: 0 + m_Name: WayPointIndicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4003849733575748 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1985718805234408} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -1.205, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!114 &114497565126989678 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1985718805234408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4a49b7670afaa4199b22e1ae7786a7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!198 &198465961139612228 +ParticleSystem: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1985718805234408} + serializedVersion: 5 + lengthInSec: 0.25 + simulationSpeed: 1 + looping: 0 + prewarm: 0 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + useRigidbodyForVelocity: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 0 + moveWithCustomTransform: {fileID: 0} + scalingMode: 1 + randomSeed: -1574431785 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.25 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 2 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 0, b: 0, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + maxNumParticles: 1000 + size3D: 0 + rotation3D: 0 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 5 + enabled: 1 + type: 4 + angle: 25 + length: 5 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 0 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0} + m_Scale: {x: 1, y: 1, z: 1} + placementMode: 0 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + randomDirectionAmount: 0 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 0.01 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 100 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 0 + m_Bursts: [] + SizeModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 1 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + enabled: 0 + mode: 0 + frameOverTime: + serializedVersion: 2 + minMaxState: 1 + scalar: 0.9999 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + flipU: 0 + flipV: 0 + randomRow: 1 + sprites: + - sprite: {fileID: 0} + VelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ForceModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + enabled: 0 + multiplier: 1 + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + dampen: 1 + NoiseModule: + enabled: 0 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 0.5 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 3 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + plane0: {fileID: 0} + plane1: {fileID: 0} + plane2: {fileID: 0} + plane3: {fileID: 0} + plane4: {fileID: 0} + plane5: {fileID: 0} + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 0 + TriggerModule: + enabled: 0 + collisionShape0: {fileID: 0} + collisionShape1: {fileID: 0} + collisionShape2: {fileID: 0} + collisionShape3: {fileID: 0} + collisionShape4: {fileID: 0} + collisionShape5: {fileID: 0} + inside: 1 + outside: 0 + enter: 0 + exit: 0 + radiusScale: 1 + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - emitter: {fileID: 0} + type: 0 + properties: 0 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!199 &199122437435764832 +ParticleSystemRenderer: + serializedVersion: 4 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1985718805234408} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_RenderMode: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.5 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_RenderAlignment: 0 + m_Pivot: {x: 0, y: 0, z: 0} + m_UseCustomVertexStreams: 0 + m_VertexStreams: 00010304 + m_Mesh: {fileID: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MaskInteraction: 0 diff --git a/Project Undercover/Assets/Resources/WayPointIndicator.prefab.meta b/Project Undercover/Assets/Resources/WayPointIndicator.prefab.meta new file mode 100644 index 0000000..58212ce --- /dev/null +++ b/Project Undercover/Assets/Resources/WayPointIndicator.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c88d3f518f298774f86ed97b96c1bdc5 +timeCreated: 1505967859 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scenes/Launcher.unity b/Project Undercover/Assets/Scenes/Launcher.unity new file mode 100644 index 0000000..45950f1 --- /dev/null +++ b/Project Undercover/Assets/Scenes/Launcher.unity @@ -0,0 +1,1057 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &22636098 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 22636099} + - component: {fileID: 22636101} + - component: {fileID: 22636100} + - component: {fileID: 22636102} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &22636099 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22636098} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 302761214} + - {fileID: 1147174348} + m_Father: {fileID: 871952083} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 250, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &22636100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22636098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &22636101 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22636098} +--- !u!114 &22636102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22636098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &32780178 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 32780180} + - component: {fileID: 32780179} + m_Layer: 0 + m_Name: Launcher + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &32780179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32780178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfae5ad9cd8c6ab47a2d6543a20e2d7c, type: 3} + m_Name: + m_EditorClassIdentifier: + controlPanel: {fileID: 302761213} + progressLabel: {fileID: 603106572} + MaxPlayersPerRoom: 4 +--- !u!4 &32780180 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32780178} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &302761213 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 302761214} + - component: {fileID: 302761217} + - component: {fileID: 302761216} + - component: {fileID: 302761215} + - component: {fileID: 302761218} + m_Layer: 5 + m_Name: InputField + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &302761214 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 302761213} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 606582671} + - {fileID: 1370458407} + m_Father: {fileID: 22636099} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &302761215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 302761213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 302761216} + m_TextComponent: {fileID: 1370458408} + m_Placeholder: {fileID: 606582672} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 302761218} + m_MethodName: SetPlayerName + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!114 &302761216 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 302761213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &302761217 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 302761213} +--- !u!114 &302761218 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 302761213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 945d1d1b53c2d9240a91962286a0ae06, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &603106570 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 603106571} + - component: {fileID: 603106573} + - component: {fileID: 603106572} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &603106571 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603106570} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1147174348} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &603106572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603106570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Play +--- !u!222 &603106573 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603106570} +--- !u!1 &606582670 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 606582671} + - component: {fileID: 606582673} + - component: {fileID: 606582672} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &606582671 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606582670} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302761214} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &606582672 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606582670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter your name... +--- !u!222 &606582673 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606582670} +--- !u!1 &871952079 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 871952083} + - component: {fileID: 871952082} + - component: {fileID: 871952081} + - component: {fileID: 871952080} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &871952080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 871952079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &871952081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 871952079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &871952082 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 871952079} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &871952083 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 871952079} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 22636099} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1010525981 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1010525983} + - component: {fileID: 1010525982} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1010525982 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1010525981} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1010525983 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1010525981} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1147174347 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1147174348} + - component: {fileID: 1147174351} + - component: {fileID: 1147174350} + - component: {fileID: 1147174349} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1147174348 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1147174347} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 603106571} + m_Father: {fileID: 22636099} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1147174349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1147174347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1147174350} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 32780179} + m_MethodName: Connect + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1147174350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1147174347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1147174351 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1147174347} +--- !u!1 &1197867400 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1197867403} + - component: {fileID: 1197867402} + - component: {fileID: 1197867401} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1197867401 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1197867400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1197867402 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1197867400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1197867403 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1197867400} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1322316020 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1322316025} + - component: {fileID: 1322316024} + - component: {fileID: 1322316023} + - component: {fileID: 1322316022} + - component: {fileID: 1322316021} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1322316021 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1322316020} + m_Enabled: 1 +--- !u!124 &1322316022 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1322316020} + m_Enabled: 1 +--- !u!92 &1322316023 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1322316020} + m_Enabled: 1 +--- !u!20 &1322316024 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1322316020} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1322316025 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1322316020} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1370458406 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1370458407} + - component: {fileID: 1370458409} + - component: {fileID: 1370458408} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1370458407 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1370458406} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302761214} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1370458408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1370458406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1370458409 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1370458406} diff --git a/Project Undercover/Assets/Scenes/Launcher.unity.meta b/Project Undercover/Assets/Scenes/Launcher.unity.meta new file mode 100644 index 0000000..368c218 --- /dev/null +++ b/Project Undercover/Assets/Scenes/Launcher.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 915b937f0bf8c1a40bdc9f49e93cedb0 +timeCreated: 1505888366 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scenes/Lobby.unity b/Project Undercover/Assets/Scenes/Lobby.unity new file mode 100644 index 0000000..12e9a49 --- /dev/null +++ b/Project Undercover/Assets/Scenes/Lobby.unity @@ -0,0 +1,1751 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &117129219 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 117129220} + - component: {fileID: 117129221} + - component: {fileID: 117129222} + m_Layer: 0 + m_Name: LobbyManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &117129220 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 117129219} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &117129221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 117129219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a07e85085fdfcd74ea129407dbb85517, type: 3} + m_Name: + m_EditorClassIdentifier: + playerPanelPrefab: {fileID: 1736100760300452, guid: 74fad1cbde9aa4f4cabb64a8094a425c, + type: 2} + guardsPanel: {fileID: 1687808033} + spysPanel: {fileID: 1137219694} + startButton: {fileID: 399083359} +--- !u!114 &117129222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 117129219} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: + - {fileID: 0} + ObservedComponentsFoldoutOpen: 1 + viewIdField: 1 + instantiationId: 1 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!1 &233897632 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 233897633} + - component: {fileID: 233897635} + - component: {fileID: 233897634} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &233897633 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 233897632} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1160234674} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &233897634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 233897632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: '>' +--- !u!222 &233897635 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 233897632} +--- !u!1 &399083357 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 399083358} + - component: {fileID: 399083361} + - component: {fileID: 399083360} + - component: {fileID: 399083359} + m_Layer: 5 + m_Name: StartButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &399083358 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399083357} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1286088441} + m_Father: {fileID: 1619536836} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -154.48} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &399083359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399083357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 399083360} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 117129221} + m_MethodName: StartGame + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &399083360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399083357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &399083361 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399083357} +--- !u!1 &516105858 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 516105859} + - component: {fileID: 516105861} + - component: {fileID: 516105860} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &516105859 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 516105858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1311584182} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &516105860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 516105858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Leave Room +--- !u!222 &516105861 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 516105858} +--- !u!1 &528310362 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 528310363} + - component: {fileID: 528310366} + - component: {fileID: 528310365} + - component: {fileID: 528310364} + m_Layer: 5 + m_Name: SwitchToGuardsButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &528310363 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 528310362} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2067358599} + m_Father: {fileID: 1619536836} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -25, y: 0} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &528310364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 528310362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 528310365} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 117129221} + m_MethodName: ClickSwitchToGuards + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &528310365 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 528310362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &528310366 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 528310362} +--- !u!1 &690978761 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 690978763} + - component: {fileID: 690978762} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &690978762 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 690978761} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &690978763 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 690978761} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &941761406 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 941761409} + - component: {fileID: 941761408} + - component: {fileID: 941761407} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &941761407 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941761406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &941761408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941761406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &941761409 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941761406} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1137219694 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1137219695} + - component: {fileID: 1137219698} + - component: {fileID: 1137219697} + - component: {fileID: 1137219696} + m_Layer: 5 + m_Name: SpyPlayersPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1137219695 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1137219694} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2146513244} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 160} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1137219696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1137219694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 10 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!114 &1137219697 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1137219694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1137219698 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1137219694} +--- !u!1 &1160234673 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1160234674} + - component: {fileID: 1160234677} + - component: {fileID: 1160234676} + - component: {fileID: 1160234675} + m_Layer: 5 + m_Name: SwitchToSpysButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1160234674 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160234673} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 233897633} + m_Father: {fileID: 1619536836} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1160234675 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160234673} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1160234676} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 117129221} + m_MethodName: ClickSwitchToSpys + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1160234676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160234673} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1160234677 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1160234673} +--- !u!1 &1225786981 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1225786986} + - component: {fileID: 1225786985} + - component: {fileID: 1225786984} + - component: {fileID: 1225786983} + - component: {fileID: 1225786982} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1225786982 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1225786981} + m_Enabled: 1 +--- !u!124 &1225786983 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1225786981} + m_Enabled: 1 +--- !u!92 &1225786984 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1225786981} + m_Enabled: 1 +--- !u!20 &1225786985 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1225786981} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1225786986 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1225786981} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1286088440 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1286088441} + - component: {fileID: 1286088443} + - component: {fileID: 1286088442} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1286088441 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1286088440} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 399083358} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1286088442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1286088440} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Start Game +--- !u!222 &1286088443 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1286088440} +--- !u!1 &1311584181 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1311584182} + - component: {fileID: 1311584185} + - component: {fileID: 1311584184} + - component: {fileID: 1311584183} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1311584182 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311584181} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 516105859} + m_Father: {fileID: 1619536836} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1311584183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311584181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1311584184} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 117129221} + m_MethodName: LeaveRoom + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1311584184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311584181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1311584185 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1311584181} +--- !u!1 &1477022901 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1477022902} + - component: {fileID: 1477022904} + - component: {fileID: 1477022903} + m_Layer: 5 + m_Name: GroupName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1477022902 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1477022901} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2146513244} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1477022903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1477022901} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Spys +--- !u!222 &1477022904 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1477022901} +--- !u!1 &1509060436 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1509060437} + - component: {fileID: 1509060439} + - component: {fileID: 1509060438} + m_Layer: 5 + m_Name: GuardPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1509060437 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1509060436} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1727026637} + - {fileID: 1687808034} + m_Father: {fileID: 1619536836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -200, y: 0} + m_SizeDelta: {x: 300, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1509060438 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1509060436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1509060439 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1509060436} +--- !u!1 &1619536832 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1619536836} + - component: {fileID: 1619536835} + - component: {fileID: 1619536834} + - component: {fileID: 1619536833} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1619536833 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1619536832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1619536834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1619536832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1619536835 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1619536832} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1619536836 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1619536832} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1509060437} + - {fileID: 2146513244} + - {fileID: 528310363} + - {fileID: 1160234674} + - {fileID: 1311584182} + - {fileID: 399083358} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1687808033 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1687808034} + - component: {fileID: 1687808037} + - component: {fileID: 1687808036} + - component: {fileID: 1687808035} + m_Layer: 5 + m_Name: GuardPlayersPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1687808034 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1687808033} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1509060437} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 160} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1687808035 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1687808033} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 10 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!114 &1687808036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1687808033} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1687808037 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1687808033} +--- !u!1 &1727026636 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1727026637} + - component: {fileID: 1727026639} + - component: {fileID: 1727026638} + m_Layer: 5 + m_Name: GroupName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1727026637 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1727026636} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1509060437} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1727026638 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1727026636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Guards +--- !u!222 &1727026639 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1727026636} +--- !u!1 &2067358598 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2067358599} + - component: {fileID: 2067358601} + - component: {fileID: 2067358600} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2067358599 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2067358598} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 528310363} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2067358600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2067358598} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: < +--- !u!222 &2067358601 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2067358598} +--- !u!1 &2146513243 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2146513244} + - component: {fileID: 2146513246} + - component: {fileID: 2146513245} + m_Layer: 5 + m_Name: SpyPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2146513244 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2146513243} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1477022902} + - {fileID: 1137219695} + m_Father: {fileID: 1619536836} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 200, y: 0} + m_SizeDelta: {x: 300, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2146513245 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2146513243} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2146513246 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2146513243} diff --git a/Project Undercover/Assets/Scenes/Lobby.unity.meta b/Project Undercover/Assets/Scenes/Lobby.unity.meta new file mode 100644 index 0000000..3504160 --- /dev/null +++ b/Project Undercover/Assets/Scenes/Lobby.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d65756f3d12ef647aea0782245fc241 +timeCreated: 1505888373 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scenes/scene.meta b/Project Undercover/Assets/Scenes/scene.meta index a7874ba..a422d61 100644 --- a/Project Undercover/Assets/Scenes/scene.meta +++ b/Project Undercover/Assets/Scenes/scene.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 guid: 320b8ace903cab542b05f6b990f62ebe folderAsset: yes -timeCreated: 1505749249 +timeCreated: 1505887228 licenseType: Free DefaultImporter: userData: diff --git a/Project Undercover/Assets/Scenes/scene.unity b/Project Undercover/Assets/Scenes/scene.unity index 44bdff9..f7e1a6a 100644 --- a/Project Undercover/Assets/Scenes/scene.unity +++ b/Project Undercover/Assets/Scenes/scene.unity @@ -26,7 +26,7 @@ RenderSettings: m_AmbientIntensity: 1 m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_SkyboxMaterial: {fileID: 0} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 @@ -107,54 +107,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 - m_NavMeshData: {fileID: 23800000, guid: d7eb36ff892a3a7438b868633aac89d0, type: 2} ---- !u!1 &36514389 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 36514390} - m_Layer: 0 - m_Name: AI - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &36514390 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 36514389} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 392142454} - - {fileID: 218340194} - - {fileID: 1345263901} - - {fileID: 984138133} - - {fileID: 1073567124} - - {fileID: 1773076926} - - {fileID: 55812906} - - {fileID: 751667265} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!4 &55812906 stripped -Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, - type: 2} - m_PrefabInternal: {fileID: 1270101074} ---- !u!4 &218340194 stripped -Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, - type: 2} - m_PrefabInternal: {fileID: 377057537} ---- !u!1001 &339319393 + m_NavMeshData: {fileID: 23800000, guid: b1f9d2b2f3968434586b7c398ede29d4, type: 2} +--- !u!1001 &55707631 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -163,35 +117,35 @@ Prefab: m_Modifications: - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalPosition.x - value: 4.5 + value: -4 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalPosition.y - value: 3 + value: 2.856 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalPosition.z - value: -4.5 + value: -4 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.x - value: 0.5 + value: -0.19295451 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.y - value: 0 + value: -0.25689447 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.z - value: 0 + value: 0.05242455 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.w - value: 0.8660254 + value: -0.9455292 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_RootOrder - value: 5 + value: 11 objectReference: {fileID: 0} - target: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_IsActive @@ -203,21 +157,21 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalScale.y - value: 0.625 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalScale.z - value: 1.7499999 + value: 1 objectReference: {fileID: 0} - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_NormalizedViewPortRect.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_NormalizedViewPortRect.width - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, type: 2} @@ -226,172 +180,1453 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalEulerAnglesHint.x - value: 60.000004 + value: 23.068 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalEulerAnglesHint.y - value: 0 + value: 390.4 objectReference: {fileID: 0} - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: field of view + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_TagString + value: GuardCamera + objectReference: {fileID: 0} + - target: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_Name + value: Guard Camera 2 + objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114306799516802978, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 81070402336043930, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: c67fa24334c0f364cad8798522e92116, type: 2} m_IsPrefabParent: 0 ---- !u!1001 &377057537 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: -4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (6) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &392142454 stripped -Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, +--- !u!1 &55707632 stripped +GameObject: + m_PrefabParentObject: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, type: 2} - m_PrefabInternal: {fileID: 1032732991} ---- !u!1001 &415128191 + m_PrefabInternal: {fileID: 55707631} +--- !u!114 &55707633 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 55707632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b4e3fd11940c1048a7e28e5dfc80560, type: 3} + m_Name: + m_EditorClassIdentifier: + xRotation: 0 + yRotation: 0 +--- !u!114 &55707634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 55707632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: + - {fileID: 0} + ObservedComponentsFoldoutOpen: 1 + viewIdField: 4 + instantiationId: 4 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!1 &115526831 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 115526832} + m_Layer: 0 + m_Name: RoomWalls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &115526832 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 115526831} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1141970351} + - {fileID: 1954217024} + - {fileID: 1475431002} + - {fileID: 1430656045} + - {fileID: 577153999} + - {fileID: 646484925} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &174068757 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 174068758} + - component: {fileID: 174068761} + - component: {fileID: 174068760} + - component: {fileID: 174068759} + m_Layer: 0 + m_Name: Hub (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &174068758 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 174068757} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.091, z: 0} + m_LocalScale: {x: 0.8, y: 0.25, z: 0.8} + m_Children: [] + m_Father: {fileID: 1832836190} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &174068759 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 174068757} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &174068760 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 174068757} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &174068761 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 174068757} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &188510044 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 114306799516802978, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + m_PrefabInternal: {fileID: 339319393} + m_Script: {fileID: 11500000, guid: 1ef9de564c5529c4faeace3894ec9e0b, type: 3} +--- !u!1 &203256963 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 203256964} + - component: {fileID: 203256965} + m_Layer: 0 + m_Name: Spotlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &203256964 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 203256963} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1407316752} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!108 &203256965 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 203256963} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 0 + m_Color: {r: 1, g: 0.97160244, b: 0.74264705, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 79.5 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &253479611 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 253479612} + - component: {fileID: 253479614} + - component: {fileID: 253479613} + m_Layer: 5 + m_Name: WinPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &253479612 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 253479611} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 257446575} + m_Father: {fileID: 522116873} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 350, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &253479613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 253479611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &253479614 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 253479611} +--- !u!1 &257446574 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 257446575} + - component: {fileID: 257446577} + - component: {fileID: 257446576} + m_Layer: 5 + m_Name: WinText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &257446575 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 257446574} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 253479612} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 290.8, y: 96} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &257446576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 257446574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 50 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 5 + m_MaxSize: 50 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: SPIES WIN! +--- !u!222 &257446577 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 257446574} +--- !u!1 &262423688 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 262423689} + - component: {fileID: 262423691} + - component: {fileID: 262423690} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &262423689 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 262423688} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 400798139} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &262423690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 262423688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Leave Game +--- !u!222 &262423691 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 262423688} +--- !u!1 &301831507 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 301831508} + - component: {fileID: 301831509} + m_Layer: 0 + m_Name: Spotlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &301831508 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 301831507} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 365301667} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!108 &301831509 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 301831507} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 0 + m_Color: {r: 1, g: 0.97160244, b: 0.74264705, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 79.5 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1001 &339319393 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 36514390} + m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalPosition.x value: 4 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalPosition.y - value: 0.5 + value: 2.856 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalPosition.z value: -4 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.x - value: -0 + value: -0.18472917 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.y - value: -0 + value: 0.3749558 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.z - value: -0 + value: -0.07651737 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_LocalRotation.w - value: 1 + value: -0.9052229 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} propertyPath: m_RootOrder value: 2 objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (5) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &751667265 stripped -Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, - type: 2} - m_PrefabInternal: {fileID: 1636419337} ---- !u!1001 &812858326 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w + - target: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 4 + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_LocalScale.x + value: 1 objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (3) + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_LocalScale.y + value: 1 objectReference: {fileID: 0} - - target: {fileID: 54771552521138126, guid: b25e969032ebb1f4089308db11ee93b1, + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, type: 2} - propertyPath: m_IsKinematic + propertyPath: m_NormalizedViewPortRect.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_NormalizedViewPortRect.width value: 1 objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_NormalizedViewPortRect.height + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_LocalEulerAnglesHint.x + value: 23.068 + objectReference: {fileID: 0} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: 315 + objectReference: {fileID: 0} + - target: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: field of view + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, type: 2} + propertyPath: m_TagString + value: GuardCamera + objectReference: {fileID: 0} + - target: {fileID: 114306799516802978, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 20437103875467350, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 81070402336043930, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: c67fa24334c0f364cad8798522e92116, type: 2} m_IsPrefabParent: 0 +--- !u!1 &339319394 stripped +GameObject: + m_PrefabParentObject: {fileID: 1889434021946074, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + m_PrefabInternal: {fileID: 339319393} +--- !u!114 &339319395 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 339319394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b4e3fd11940c1048a7e28e5dfc80560, type: 3} + m_Name: + m_EditorClassIdentifier: + xRotation: 0 + yRotation: 0 +--- !u!114 &339319396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 339319394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: [] + ObservedComponentsFoldoutOpen: 1 + viewIdField: 9 + instantiationId: 9 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!1 &365301666 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 365301667} + m_Layer: 0 + m_Name: HangingLight (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &365301667 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 365301666} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 5, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2116889711} + - {fileID: 1530102710} + - {fileID: 301831508} + - {fileID: 1636421338} + m_Father: {fileID: 2076422813} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &400798138 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 400798139} + - component: {fileID: 400798142} + - component: {fileID: 400798141} + - component: {fileID: 400798140} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &400798139 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 400798138} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 262423689} + m_Father: {fileID: 522116873} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &400798140 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 400798138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 400798141} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1532800877} + m_MethodName: LeaveRoom + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &400798141 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 400798138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &400798142 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 400798138} +--- !u!1 &406490954 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 406490955} + - component: {fileID: 406490957} + - component: {fileID: 406490956} + - component: {fileID: 406490958} + m_Layer: 5 + m_Name: ScoreBoard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &406490955 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406490954} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1935546407} + - {fileID: 1664649929} + m_Father: {fileID: 522116873} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 70} + m_Pivot: {x: 1, y: 1} +--- !u!114 &406490956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406490954} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &406490957 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406490954} +--- !u!114 &406490958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406490954} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!4 &429213519 stripped +Transform: + m_PrefabParentObject: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, + type: 2} + m_PrefabInternal: {fileID: 55707631} +--- !u!1 &522116869 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 522116873} + - component: {fileID: 522116872} + - component: {fileID: 522116871} + - component: {fileID: 522116870} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &522116870 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 522116869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &522116871 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 522116869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &522116872 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 522116869} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &522116873 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 522116869} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 400798139} + - {fileID: 406490955} + - {fileID: 253479612} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &577153995 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 577153999} + - component: {fileID: 577153998} + - component: {fileID: 577153997} + - component: {fileID: 577153996} + m_Layer: 0 + m_Name: East Wall (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &577153996 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 577153995} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 773533f606fb73d4fb27b5a2ed5cf8d6, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &577153997 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 577153995} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &577153998 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 577153995} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &577153999 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 577153995} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5, y: 3, z: 0} + m_LocalScale: {x: 0.5, y: 6, z: 11} + m_Children: [] + m_Father: {fileID: 115526832} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &625829505 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 625829506} + - component: {fileID: 625829509} + - component: {fileID: 625829508} + - component: {fileID: 625829507} + m_Layer: 0 + m_Name: Hub + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625829506 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625829505} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.75, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 1407316752} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &625829507 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625829505} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 589cb9a3c1f004049a397907ef9631d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &625829508 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625829505} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &625829509 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 625829505} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &646484924 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 646484925} + - component: {fileID: 646484928} + - component: {fileID: 646484927} + - component: {fileID: 646484926} + m_Layer: 0 + m_Name: InnerWall (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 1 + m_StaticEditorFlags: 8 + m_IsActive: 1 +--- !u!4 &646484925 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646484924} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.25, z: 3.25} + m_LocalScale: {x: 0.5, y: 2.5, z: 3} + m_Children: [] + m_Father: {fileID: 115526832} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &646484926 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646484924} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 773533f606fb73d4fb27b5a2ed5cf8d6, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &646484927 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646484924} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &646484928 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646484924} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &743938565 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 743938566} + - component: {fileID: 743938569} + - component: {fileID: 743938568} + - component: {fileID: 743938567} + m_Layer: 0 + m_Name: Hub (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &743938566 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743938565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.091, z: 0} + m_LocalScale: {x: 0.8, y: 0.25, z: 0.8} + m_Children: [] + m_Father: {fileID: 1367198325} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &743938567 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743938565} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &743938568 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743938565} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &743938569 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743938565} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &938246058 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 938246059} + - component: {fileID: 938246060} + m_Layer: 0 + m_Name: Spotlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &938246059 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 938246058} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1832836190} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!108 &938246060 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 938246058} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 0 + m_Color: {r: 1, g: 0.97160244, b: 0.74264705, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 79.5 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 --- !u!1 &966385051 GameObject: m_ObjectHideFlags: 0 @@ -412,7 +1647,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!23 &966385052 MeshRenderer: m_ObjectHideFlags: 0 @@ -475,7 +1710,7 @@ Transform: m_LocalScale: {x: 0.5, y: 1, z: 0.5} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!54 &966385056 Rigidbody: @@ -504,6 +1739,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: particle: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + cameraRigPrefab: {fileID: 0} + cameraTarget: {fileID: 0} --- !u!195 &966385058 NavMeshAgent: m_ObjectHideFlags: 0 @@ -525,62 +1762,158 @@ NavMeshAgent: m_BaseOffset: 0.5 m_WalkableMask: 4294967295 m_ObstacleAvoidanceType: 2 ---- !u!4 &984138133 stripped +--- !u!4 &1112250644 stripped Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, + m_PrefabParentObject: {fileID: 4661043116803332, guid: c67fa24334c0f364cad8798522e92116, type: 2} - m_PrefabInternal: {fileID: 1762499515} ---- !u!1001 &1032732991 -Prefab: + m_PrefabInternal: {fileID: 339319393} +--- !u!1 &1122471462 +GameObject: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (7) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1073567124 stripped + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1122471464} + - component: {fileID: 1122471463} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1122471463 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1122471462} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.7 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1122471464 Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, - type: 2} - m_PrefabInternal: {fileID: 812858326} + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1122471462} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 20, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &1140252358 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1140252359} + - component: {fileID: 1140252362} + - component: {fileID: 1140252361} + - component: {fileID: 1140252360} + m_Layer: 0 + m_Name: Hub + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1140252359 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1140252358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.75, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 1367198325} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1140252360 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1140252358} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 589cb9a3c1f004049a397907ef9631d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1140252361 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1140252358} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1140252362 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1140252358} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1141970347 GameObject: m_ObjectHideFlags: 0 @@ -657,36 +1990,36 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1141970347} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 4.6282964, y: -1.4782486, z: 0.23928754} - m_LocalScale: {x: 0.1, y: 1, z: 10.1} + m_LocalPosition: {x: 5, y: 3, z: 0} + m_LocalScale: {x: 0.5, y: 6, z: 11} m_Children: [] - m_Father: {fileID: 1430923538} + m_Father: {fileID: 115526832} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1267399098 +--- !u!1 &1167603078 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1267399102} - - component: {fileID: 1267399101} - - component: {fileID: 1267399100} - - component: {fileID: 1267399099} - m_Layer: 0 - m_Name: West Wall + - component: {fileID: 1167603082} + - component: {fileID: 1167603081} + - component: {fileID: 1167603080} + - component: {fileID: 1167603079} + m_Layer: 9 + m_Name: Floor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 + m_StaticEditorFlags: 8 m_IsActive: 1 ---- !u!23 &1267399099 +--- !u!23 &1167603079 MeshRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1267399098} + m_GameObject: {fileID: 1167603078} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -694,7 +2027,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 773533f606fb73d4fb27b5a2ed5cf8d6, type: 2} + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -713,190 +2046,414 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!65 &1267399100 +--- !u!65 &1167603080 BoxCollider: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1267399098} + m_GameObject: {fileID: 1167603078} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 2 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1267399101 +--- !u!33 &1167603081 MeshFilter: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1267399098} + m_GameObject: {fileID: 1167603078} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1267399102 +--- !u!4 &1167603082 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1267399098} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -5.3717036, y: -1.4782486, z: 0.23928754} - m_LocalScale: {x: 0.1, y: 1, z: 10.1} + m_GameObject: {fileID: 1167603078} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0.5, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} m_Children: [] - m_Father: {fileID: 1430923538} - m_RootOrder: 1 + m_Father: {fileID: 0} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1270101074 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (1) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1345263901 stripped -Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, - type: 2} - m_PrefabInternal: {fileID: 415128191} ---- !u!1 &1353476739 +--- !u!1 &1180594178 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1353476744} - - component: {fileID: 1353476745} - - component: {fileID: 1353476743} - - component: {fileID: 1353476742} - - component: {fileID: 1353476741} - - component: {fileID: 1353476740} + - component: {fileID: 1180594179} + - component: {fileID: 1180594180} m_Layer: 0 - m_Name: Spy Camera - m_TagString: MainCamera + m_Name: Point light + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &1353476740 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1353476739} - m_Enabled: 1 ---- !u!124 &1353476741 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1353476739} - m_Enabled: 1 ---- !u!92 &1353476742 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1353476739} - m_Enabled: 1 ---- !u!20 &1353476743 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1353476739} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0.5 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &1353476744 +--- !u!4 &1180594179 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1353476739} - m_LocalRotation: {x: 0.5, y: -0, z: -0, w: 0.8660254} - m_LocalPosition: {x: 0, y: 7.5, z: -5.5} - m_LocalScale: {x: 1, y: 0.625, z: 1.7499999} + m_GameObject: {fileID: 1180594178} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 60, y: 0, z: 0} ---- !u!114 &1353476745 -MonoBehaviour: + m_Father: {fileID: 1339720426} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1180594180 +Light: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1353476739} + m_GameObject: {fileID: 1180594178} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5277ef44f4e110947993697cba721d20, type: 3} - m_Name: - m_EditorClassIdentifier: + serializedVersion: 8 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &1243434758 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1243434759} + - component: {fileID: 1243434762} + - component: {fileID: 1243434761} + - component: {fileID: 1243434760} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1243434759 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1243434758} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.25, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 1112250644} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1243434760 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1243434758} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1243434761 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1243434758} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1243434762 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1243434758} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1284539760 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1284539761} + - component: {fileID: 1284539764} + - component: {fileID: 1284539763} + - component: {fileID: 1284539762} + m_Layer: 0 + m_Name: Hub (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1284539761 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1284539760} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.091, z: 0} + m_LocalScale: {x: 0.8, y: 0.25, z: 0.8} + m_Children: [] + m_Father: {fileID: 1407316752} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1284539762 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1284539760} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1284539763 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1284539760} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1284539764 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1284539760} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1339720422 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1339720426} + - component: {fileID: 1339720425} + - component: {fileID: 1339720424} + - component: {fileID: 1339720423} + m_Layer: 0 + m_Name: MiddleLight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1339720423 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339720422} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 589cb9a3c1f004049a397907ef9631d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!135 &1339720424 +SphereCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339720422} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1339720425 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339720422} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1339720426 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339720422} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 5.786, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 1180594179} + m_Father: {fileID: 2076422813} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1367198324 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1367198325} + m_Layer: 0 + m_Name: HangingLight (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1367198325 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1367198324} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 5, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1140252359} + - {fileID: 2087163221} + - {fileID: 1807653394} + - {fileID: 743938566} + m_Father: {fileID: 2076422813} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1407316751 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1407316752} + m_Layer: 0 + m_Name: HangingLight (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1407316752 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1407316751} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 5, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 625829506} + - {fileID: 2036898601} + - {fileID: 203256964} + - {fileID: 1284539761} + m_Father: {fileID: 2076422813} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1430656044 GameObject: m_ObjectHideFlags: 0 @@ -909,11 +2466,11 @@ GameObject: - component: {fileID: 1430656047} - component: {fileID: 1430656046} m_Layer: 0 - m_Name: Inner Wall + m_Name: InnerWall m_TagString: Untagged m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 + m_NavMeshLayer: 1 + m_StaticEditorFlags: 8 m_IsActive: 1 --- !u!4 &1430656045 Transform: @@ -922,11 +2479,11 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1430656044} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -1.53, z: -3.26} - m_LocalScale: {x: 0.099999994, y: 1, z: 3} + m_LocalPosition: {x: 0, y: 1.25, z: -3.25} + m_LocalScale: {x: 0.5, y: 2.5, z: 3} m_Children: [] - m_Father: {fileID: 1430923538} - m_RootOrder: 4 + m_Father: {fileID: 115526832} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &1430656046 MeshRenderer: @@ -1001,16 +2558,11 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1430923537} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.37170354, y: 6, z: -0.23928754} - m_LocalScale: {x: 1, y: 3, z: 1} - m_Children: - - {fileID: 1141970351} - - {fileID: 1267399102} - - {fileID: 1954217024} - - {fileID: 1475431002} - - {fileID: 1430656045} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1475430998 GameObject: @@ -1088,133 +2640,49 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1475430998} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.37170354, y: -1.4782486, z: -4.7607126} - m_LocalScale: {x: 10.1, y: 1, z: 0.1} + m_LocalPosition: {x: 0, y: 3, z: -5} + m_LocalScale: {x: 11, y: 6, z: 0.5} m_Children: [] - m_Father: {fileID: 1430923538} - m_RootOrder: 3 + m_Father: {fileID: 115526832} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1636419337 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: -4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (0) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 ---- !u!1001 &1762499515 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: -4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: -4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (4) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 ---- !u!4 &1773076926 stripped -Transform: - m_PrefabParentObject: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, - type: 2} - m_PrefabInternal: {fileID: 2143698602} ---- !u!1 &1873926728 +--- !u!1 &1530102709 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1873926732} - - component: {fileID: 1873926731} - - component: {fileID: 1873926730} - - component: {fileID: 1873926729} + - component: {fileID: 1530102710} + - component: {fileID: 1530102713} + - component: {fileID: 1530102712} + - component: {fileID: 1530102711} m_Layer: 0 - m_Name: Floor + m_Name: Rod m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 8 + m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!23 &1873926729 +--- !u!4 &1530102710 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1530102709} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.349, z: 0} + m_LocalScale: {x: 0.1, y: 2.57, z: 0.10000001} + m_Children: [] + m_Father: {fileID: 365301667} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1530102711 MeshRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1873926728} + m_GameObject: {fileID: 1530102709} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -1222,7 +2690,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 88dd65666a636bf4fa2a7e8f159f6013, type: 2} + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1241,69 +2709,605 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!64 &1873926730 -MeshCollider: +--- !u!65 &1530102712 +BoxCollider: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1873926728} + m_GameObject: {fileID: 1530102709} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 serializedVersion: 2 - m_Convex: 0 - m_InflateMesh: 0 - m_SkinWidth: 0.01 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &1873926731 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1530102713 MeshFilter: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1873926728} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1873926732 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1873926728} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1928888237 + m_GameObject: {fileID: 1530102709} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1532800876 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1928888239} - - component: {fileID: 1928888238} + - component: {fileID: 1532800878} + - component: {fileID: 1532800877} + - component: {fileID: 1532800879} + - component: {fileID: 1532800880} m_Layer: 0 - m_Name: Directional Light + m_Name: GameManager + m_TagString: GameManager + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1532800877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532800876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d137f9629e081d64a81c3c6139493989, type: 3} + m_Name: + m_EditorClassIdentifier: + guardCamera: {fileID: 188510044} + spyPrefab: {fileID: 1802754264274306, guid: 776584f30673ec24b9c1251ae4070352, type: 2} + NCPPrefab: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} + spyMissionsComplete: 0 + waitBetweenMissions: 5 + onMissionCooldown: 0 + missionsCompleteText: {fileID: 1664649930} + winPanel: {fileID: 253479611} + winText: {fileID: 257446576} +--- !u!4 &1532800878 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532800876} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1532800879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532800876} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa584fbee541324448dd18d8409c7a41, type: 3} + m_Name: + m_EditorClassIdentifier: + ownerId: 0 + group: 0 + OwnerShipWasTransfered: 0 + prefixBackup: -1 + synchronization: 0 + onSerializeTransformOption: 3 + onSerializeRigidBodyOption: 2 + ownershipTransfer: 0 + ObservedComponents: [] + ObservedComponentsFoldoutOpen: 1 + viewIdField: 10 + instantiationId: 10 + currentMasterID: -1 + isRuntimeInstantiated: 0 +--- !u!82 &1532800880 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532800876} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: 4c08f73877bf0b2499ffa79dc92ef7db, type: 3} + m_PlayOnAwake: 1 + m_Volume: 0.159 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!1 &1586613241 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1586613244} + - component: {fileID: 1586613243} + - component: {fileID: 1586613242} + m_Layer: 0 + m_Name: EventSystem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!108 &1928888238 +--- !u!114 &1586613242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1586613241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1586613243 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1586613241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1586613244 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1586613241} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1636421337 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1636421338} + - component: {fileID: 1636421341} + - component: {fileID: 1636421340} + - component: {fileID: 1636421339} + m_Layer: 0 + m_Name: Hub (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1636421338 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636421337} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.091, z: 0} + m_LocalScale: {x: 0.8, y: 0.25, z: 0.8} + m_Children: [] + m_Father: {fileID: 365301667} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1636421339 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636421337} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1636421340 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636421337} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1636421341 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1636421337} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1646037482 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1646037483} + - component: {fileID: 1646037486} + - component: {fileID: 1646037485} + - component: {fileID: 1646037484} + m_Layer: 0 + m_Name: Hub + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1646037483 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646037482} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.75, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 1832836190} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1646037484 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646037482} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 589cb9a3c1f004049a397907ef9631d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1646037485 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646037482} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1646037486 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646037482} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1664649928 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1664649929} + - component: {fileID: 1664649931} + - component: {fileID: 1664649930} + m_Layer: 5 + m_Name: CompletedMissionsText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1664649929 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1664649928} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 406490955} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 40.7} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1664649930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1664649928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 114 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0/3 +--- !u!222 &1664649931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1664649928} +--- !u!1 &1692556951 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1692556952} + - component: {fileID: 1692556955} + - component: {fileID: 1692556954} + - component: {fileID: 1692556953} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1692556952 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1692556951} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.25, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 429213519} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1692556953 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1692556951} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1692556954 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1692556951} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1692556955 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1692556951} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1807653393 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1807653394} + - component: {fileID: 1807653395} + m_Layer: 0 + m_Name: Spotlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1807653394 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1807653393} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1367198325} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!108 &1807653395 Light: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1928888237} + m_GameObject: {fileID: 1807653393} m_Enabled: 1 serializedVersion: 8 - m_Type: 1 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Type: 0 + m_Color: {r: 1, g: 0.97160244, b: 0.74264705, a: 1} m_Intensity: 1 m_Range: 10 - m_SpotAngle: 30 + m_SpotAngle: 79.5 m_CookieSize: 10 m_Shadows: m_Type: 2 @@ -1323,37 +3327,118 @@ Light: m_Lightmapping: 4 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 m_ColorTemperature: 6570 m_UseColorTemperature: 0 m_ShadowRadius: 0 m_ShadowAngle: 0 ---- !u!4 &1928888239 +--- !u!1 &1832836189 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1832836190} + m_Layer: 0 + m_Name: HangingLight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1832836190 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1928888237} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} + m_GameObject: {fileID: 1832836189} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 5, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1646037483} + - {fileID: 2044423865} + - {fileID: 938246059} + - {fileID: 174068758} + m_Father: {fileID: 2076422813} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1935546406 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1935546407} + - component: {fileID: 1935546409} + - component: {fileID: 1935546408} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1935546407 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1935546406} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 0} + m_Father: {fileID: 406490955} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1935546408 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1935546406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Missions Completed + +' +--- !u!222 &1935546409 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1935546406} --- !u!1 &1954217020 GameObject: m_ObjectHideFlags: 0 @@ -1430,55 +3515,452 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1954217020} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.37170354, y: -1.4782486, z: 5.2392874} - m_LocalScale: {x: 10.1, y: 1, z: 0.1} + m_LocalPosition: {x: 0, y: 3, z: 5} + m_LocalScale: {x: 11, y: 6, z: 0.5} m_Children: [] - m_Father: {fileID: 1430923538} - m_RootOrder: 2 + m_Father: {fileID: 115526832} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &2143698602 -Prefab: +--- !u!1 &2036898600 +GameObject: m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2036898601} + - component: {fileID: 2036898604} + - component: {fileID: 2036898603} + - component: {fileID: 2036898602} + m_Layer: 0 + m_Name: Rod + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2036898601 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2036898600} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.349, z: 0} + m_LocalScale: {x: 0.1, y: 2.57, z: 0.10000001} + m_Children: [] + m_Father: {fileID: 1407316752} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2036898602 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2036898600} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &2036898603 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2036898600} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 36514390} - m_Modifications: - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalPosition.z - value: -4 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4550573785341638, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 1057615597006810, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - propertyPath: m_Name - value: NPC (2) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: b25e969032ebb1f4089308db11ee93b1, type: 2} - m_IsPrefabParent: 0 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2036898604 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2036898600} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2044423864 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2044423865} + - component: {fileID: 2044423868} + - component: {fileID: 2044423867} + - component: {fileID: 2044423866} + m_Layer: 0 + m_Name: Rod + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2044423865 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2044423864} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.349, z: 0} + m_LocalScale: {x: 0.1, y: 2.57, z: 0.10000001} + m_Children: [] + m_Father: {fileID: 1832836190} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2044423866 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2044423864} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &2044423867 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2044423864} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2044423868 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2044423864} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2051732869 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2051732873} + - component: {fileID: 2051732872} + - component: {fileID: 2051732871} + - component: {fileID: 2051732870} + m_Layer: 0 + m_Name: Ceiling + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2051732870 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051732869} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &2051732871 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051732869} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2051732872 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051732869} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2051732873 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051732869} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 6.5, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2076422812 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2076422813} + m_Layer: 0 + m_Name: Lights + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2076422813 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2076422812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1339720426} + - {fileID: 1832836190} + - {fileID: 1407316752} + - {fileID: 1367198325} + - {fileID: 365301667} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2087163220 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2087163221} + - component: {fileID: 2087163224} + - component: {fileID: 2087163223} + - component: {fileID: 2087163222} + m_Layer: 0 + m_Name: Rod + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2087163221 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087163220} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.349, z: 0} + m_LocalScale: {x: 0.1, y: 2.57, z: 0.10000001} + m_Children: [] + m_Father: {fileID: 1367198325} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2087163222 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087163220} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &2087163223 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087163220} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2087163224 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087163220} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2116889710 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2116889711} + - component: {fileID: 2116889714} + - component: {fileID: 2116889713} + - component: {fileID: 2116889712} + m_Layer: 0 + m_Name: Hub + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2116889711 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2116889710} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.004} + m_LocalScale: {x: 0.75, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 365301667} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2116889712 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2116889710} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 589cb9a3c1f004049a397907ef9631d5, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &2116889713 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2116889710} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2116889714 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2116889710} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Project Undercover/Assets/Scenes/scene/NavMesh.asset b/Project Undercover/Assets/Scenes/scene/NavMesh.asset index c81ff1d..f8e094b 100644 Binary files a/Project Undercover/Assets/Scenes/scene/NavMesh.asset and b/Project Undercover/Assets/Scenes/scene/NavMesh.asset differ diff --git a/Project Undercover/Assets/Scenes/scene/NavMesh.asset.meta b/Project Undercover/Assets/Scenes/scene/NavMesh.asset.meta index 4f03872..d7cfcf6 100644 --- a/Project Undercover/Assets/Scenes/scene/NavMesh.asset.meta +++ b/Project Undercover/Assets/Scenes/scene/NavMesh.asset.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: d7eb36ff892a3a7438b868633aac89d0 -timeCreated: 1505764510 +guid: b1f9d2b2f3968434586b7c398ede29d4 +timeCreated: 1505987547 licenseType: Free NativeFormatImporter: mainObjectFileID: 23800000 diff --git a/Project Undercover/Assets/Scenes/test_scene.unity b/Project Undercover/Assets/Scenes/test_scene.unity new file mode 100644 index 0000000..a280320 --- /dev/null +++ b/Project Undercover/Assets/Scenes/test_scene.unity @@ -0,0 +1,458 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &785035952 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 785035953} + - component: {fileID: 785035956} + - component: {fileID: 785035955} + - component: {fileID: 785035954} + m_Layer: 0 + m_Name: Hub + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785035953 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785035952} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.25, z: 0.75} + m_Children: [] + m_Father: {fileID: 1189552345} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &785035954 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785035952} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &785035955 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785035952} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &785035956 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785035952} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &922455070 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 922455075} + - component: {fileID: 922455074} + - component: {fileID: 922455073} + - component: {fileID: 922455072} + - component: {fileID: 922455071} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &922455071 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922455070} + m_Enabled: 1 +--- !u!124 &922455072 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922455070} + m_Enabled: 1 +--- !u!92 &922455073 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922455070} + m_Enabled: 1 +--- !u!20 &922455074 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922455070} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &922455075 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 922455070} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1189552344 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1189552345} + m_Layer: 0 + m_Name: HangingLight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1189552345 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1189552344} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 785035953} + - {fileID: 1468386145} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1468386144 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1468386145} + - component: {fileID: 1468386148} + - component: {fileID: 1468386147} + - component: {fileID: 1468386146} + m_Layer: 0 + m_Name: Rod + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1468386145 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1468386144} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.349, z: 0} + m_LocalScale: {x: 0.1, y: 2.57, z: 0.10000001} + m_Children: [] + m_Father: {fileID: 1189552345} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1468386146 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1468386144} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1468386147 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1468386144} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1468386148 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1468386144} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1761764910 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1761764912} + - component: {fileID: 1761764911} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1761764911 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1761764910} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1761764912 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1761764910} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/Project Undercover/Assets/Scenes/test_scene.unity.meta b/Project Undercover/Assets/Scenes/test_scene.unity.meta new file mode 100644 index 0000000..a704375 --- /dev/null +++ b/Project Undercover/Assets/Scenes/test_scene.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08ec2fdd66328994fb2e587eb9b72a00 +timeCreated: 1505886272 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Camera.meta b/Project Undercover/Assets/Scripts/Camera.meta new file mode 100644 index 0000000..019d010 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7c7ca76e4faf7f84f8aa1fbe1ac931fc +folderAsset: yes +timeCreated: 1505966886 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Camera/CameraOcclusionProtector.cs b/Project Undercover/Assets/Scripts/Camera/CameraOcclusionProtector.cs new file mode 100644 index 0000000..70f6848 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera/CameraOcclusionProtector.cs @@ -0,0 +1,169 @@ +using UnityEngine; + +public class CameraOcclusionProtector : MonoBehaviour +{ + private const float MIN_DISTANCE_TO_PLAYER = 1f; + private const float MAX_DISTANCE_TO_PLAYER = 5f; + private const float MIN_NEAR_CLIP_PLANE_EXTENT_MULTIPLIER = 1f; + private const float MAX_NEAR_CLIP_PLANE_EXTENT_MULTIPLIER = 2f; + private const float MIN_OCCLUSION_MOVE_TIME = 0f; + private const float MAX_OCCLUSION_MOVE_TIME = 1f; + + private struct ClipPlaneCornerPoints + { + public Vector3 UpperLeft { get; set; } + + public Vector3 UpperRight { get; set; } + + public Vector3 LowerLeft { get; set; } + + public Vector3 LowerRight { get; set; } + } + + // Serializable fields + [SerializeField] + [Range(MIN_DISTANCE_TO_PLAYER, MAX_DISTANCE_TO_PLAYER)] + [Tooltip("The original distance to target (in meters)")] + private float distanceToTarget = 2.5f; // In meters + + [SerializeField] + [Range(MIN_NEAR_CLIP_PLANE_EXTENT_MULTIPLIER, MAX_NEAR_CLIP_PLANE_EXTENT_MULTIPLIER)] + [Tooltip("Higher values ensure better occlusion protection, but decrease the distance between the camera and the target")] + private float nearClipPlaneExtentMultiplier = 1.2f; + + [SerializeField] + [Range(MIN_OCCLUSION_MOVE_TIME, MAX_OCCLUSION_MOVE_TIME)] + [Tooltip("The time needed for the camera to reach secure position when an occlusion occurs (in seconds)")] + private float occlusionMoveTime = 0.025f; // The lesser, the better + + [SerializeField] + [Tooltip("What objects should the camera ignore when checked for clips and occlusions")] + private LayerMask ignoreLayerMask = 0; // What objects should the camera ignore when checked for clips and occlusions + +#if UNITY_EDITOR + [SerializeField] + private bool visualizeInScene = true; +#endif + + // Private fields + private new Camera camera; + private Transform pivot; // The point at which the camera pivots around + private Vector3 cameraVelocity; + private float nearClipPlaneHalfHeight; + private float nearClipPlaneHalfWidth; + private float sphereCastRadius; + + protected virtual void Awake() + { + this.camera = this.GetComponent(); + this.pivot = this.transform.parent; + + float halfFOV = (this.camera.fieldOfView / 2.0f) * Mathf.Deg2Rad; // vertical FOV in radians + this.nearClipPlaneHalfHeight = Mathf.Tan(halfFOV) * this.camera.nearClipPlane * this.nearClipPlaneExtentMultiplier; + this.nearClipPlaneHalfWidth = nearClipPlaneHalfHeight * this.camera.aspect; + this.sphereCastRadius = new Vector2(this.nearClipPlaneHalfWidth, this.nearClipPlaneHalfHeight).magnitude; // Pythagoras + } + + protected virtual void LateUpdate() + { + this.UpdateCameraPosition(); + +#if UNITY_EDITOR + this.DrawDebugVisualization(); +#endif + } + +#if UNITY_EDITOR + private void DrawDebugVisualization() + { + if (this.visualizeInScene) + { + ClipPlaneCornerPoints nearClipPlaneCornerPoints = this.GetNearClipPlaneCornerPoints(this.transform.position); + + Debug.DrawLine(this.pivot.position, this.transform.position - this.transform.forward * this.camera.nearClipPlane, Color.red); + Debug.DrawLine(this.pivot.position, nearClipPlaneCornerPoints.UpperLeft, Color.green); + Debug.DrawLine(this.pivot.position, nearClipPlaneCornerPoints.UpperRight, Color.green); + Debug.DrawLine(this.pivot.position, nearClipPlaneCornerPoints.LowerLeft, Color.green); + Debug.DrawLine(this.pivot.position, nearClipPlaneCornerPoints.LowerRight, Color.green); + Debug.DrawLine(nearClipPlaneCornerPoints.UpperLeft, nearClipPlaneCornerPoints.UpperRight, Color.green); + Debug.DrawLine(nearClipPlaneCornerPoints.UpperRight, nearClipPlaneCornerPoints.LowerRight, Color.green); + Debug.DrawLine(nearClipPlaneCornerPoints.LowerRight, nearClipPlaneCornerPoints.LowerLeft, Color.green); + Debug.DrawLine(nearClipPlaneCornerPoints.LowerLeft, nearClipPlaneCornerPoints.UpperLeft, Color.green); + } + } +#endif + + /// + /// Checks if the camera is Occluded. + /// + /// The position of the camera + /// if the camera is occluded, the new distance to target is saved in this variable + /// + private bool IsCameraOccluded(Vector3 cameraPosition, ref float outDistanceToTarget) + { + // Cast a sphere along a ray to see if the camera is occluded + Ray ray = new Ray(this.pivot.transform.position, -this.transform.forward); + float rayLength = this.distanceToTarget - this.camera.nearClipPlane; + RaycastHit hit; + + if (Physics.SphereCast(ray, this.sphereCastRadius, out hit, rayLength, ~this.ignoreLayerMask)) + { + outDistanceToTarget = hit.distance + this.sphereCastRadius; + return true; + } + else + { + outDistanceToTarget = -1f; + return false; + } + } + + private void UpdateCameraPosition() + { + Vector3 newCameraLocalPosition = this.transform.localPosition; + newCameraLocalPosition.z = -this.distanceToTarget; + Vector3 newCameraPosition = this.pivot.TransformPoint(newCameraLocalPosition); + float newDistanceToTarget = this.distanceToTarget; + + if (this.IsCameraOccluded(newCameraPosition, ref newDistanceToTarget)) + { + newCameraLocalPosition.z = -newDistanceToTarget; + newCameraPosition = this.pivot.TransformPoint(newCameraLocalPosition); + } + + this.transform.localPosition = Vector3.SmoothDamp( + this.transform.localPosition, newCameraLocalPosition, ref this.cameraVelocity, this.occlusionMoveTime); + } + + private ClipPlaneCornerPoints GetNearClipPlaneCornerPoints(Vector3 cameraPosition) + { + ClipPlaneCornerPoints nearClipPlanePoints = new ClipPlaneCornerPoints(); + + nearClipPlanePoints.UpperLeft = cameraPosition - this.transform.right * nearClipPlaneHalfWidth; + nearClipPlanePoints.UpperLeft += this.transform.up * nearClipPlaneHalfHeight; + nearClipPlanePoints.UpperLeft += this.transform.forward * this.camera.nearClipPlane; + + nearClipPlanePoints.UpperRight = cameraPosition + this.transform.right * nearClipPlaneHalfWidth; + nearClipPlanePoints.UpperRight += this.transform.up * nearClipPlaneHalfHeight; + nearClipPlanePoints.UpperRight += this.transform.forward * this.camera.nearClipPlane; + + nearClipPlanePoints.LowerLeft = cameraPosition - this.transform.right * nearClipPlaneHalfWidth; + nearClipPlanePoints.LowerLeft -= this.transform.up * nearClipPlaneHalfHeight; + nearClipPlanePoints.LowerLeft += this.transform.forward * this.camera.nearClipPlane; + + nearClipPlanePoints.LowerRight = cameraPosition + this.transform.right * nearClipPlaneHalfWidth; + nearClipPlanePoints.LowerRight -= this.transform.up * nearClipPlaneHalfHeight; + nearClipPlanePoints.LowerRight += this.transform.forward * this.camera.nearClipPlane; + + return nearClipPlanePoints; + } + + //private void OnDrawGizmos() + //{ + // if (Application.isPlaying) + // { + // Gizmos.color = Color.yellow; + // Gizmos.DrawSphere(this.pivot.transform.position - (this.transform.forward * (this.distanceToTarget - this.camera.nearClipPlane)), this.sphereCastRadius); + // } + //} +} diff --git a/Project Undercover/Assets/Scripts/Camera/CameraOcclusionProtector.cs.meta b/Project Undercover/Assets/Scripts/Camera/CameraOcclusionProtector.cs.meta new file mode 100644 index 0000000..0766d3e --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera/CameraOcclusionProtector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9f0d309eaff637d4ea4ff2f9f6bb3c0f +timeCreated: 1505966887 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Camera/PlayerInput.cs b/Project Undercover/Assets/Scripts/Camera/PlayerInput.cs new file mode 100644 index 0000000..55c564a --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera/PlayerInput.cs @@ -0,0 +1,74 @@ +using UnityEngine; + +public static class PlayerInput +{ + private static float lookAngle = 0f; + private static float tiltAngle = 0f; + + public static Vector3 GetMovementInput(Camera relativeCamera) + { + Vector3 moveVector; + float horizontalAxis = Input.GetAxis("Horizontal"); + float verticalAxis = Input.GetAxis("Vertical"); + + if (relativeCamera != null) + { + // Calculate the move vector relative to camera rotation + Vector3 scalerVector = new Vector3(1f, 0f, 1f); + Vector3 cameraForward = Vector3.Scale(relativeCamera.transform.forward, scalerVector).normalized; + Vector3 cameraRight = Vector3.Scale(relativeCamera.transform.right, scalerVector).normalized; + + moveVector = (cameraForward * verticalAxis + cameraRight * horizontalAxis); + } + else + { + // Use world relative directions + moveVector = (Vector3.forward * verticalAxis + Vector3.right * horizontalAxis); + } + + if (moveVector.magnitude > 1f) + { + moveVector.Normalize(); + } + + return moveVector; + } + + public static Quaternion GetMouseRotationInput(float mouseSensitivity = 3f, float minTiltAngle = -75f, float maxTiltAngle = 45f) + { + //if (!Input.GetMouseButton(1)) + //{ + // return; + //} + + float mouseX = Input.GetAxis("Mouse X"); + float mouseY = Input.GetAxis("Mouse Y"); + + // Adjust the look angle (Y Rotation) + lookAngle += mouseX * mouseSensitivity; + lookAngle %= 360f; + + // Adjust the tilt angle (X Rotation) + tiltAngle += mouseY * mouseSensitivity; + tiltAngle %= 360f; + tiltAngle = MathfExtensions.ClampAngle(tiltAngle, minTiltAngle, maxTiltAngle); + + var controlRotation = Quaternion.Euler(-tiltAngle, lookAngle, 0f); + return controlRotation; + } + + public static bool GetSprintInput() + { + return Input.GetButton("Sprint"); + } + + public static bool GetJumpInput() + { + return Input.GetButtonDown("Jump"); + } + + public static bool GetToggleWalkInput() + { + return Input.GetButtonDown("Toggle Walk"); + } +} diff --git a/Project Undercover/Assets/Scripts/Camera/PlayerInput.cs.meta b/Project Undercover/Assets/Scripts/Camera/PlayerInput.cs.meta new file mode 100644 index 0000000..6ad27d9 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera/PlayerInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3ae762df4dcfc2943b28b392a7ea9d14 +timeCreated: 1505966997 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Camera/ThirdPersonCameraController.cs b/Project Undercover/Assets/Scripts/Camera/ThirdPersonCameraController.cs new file mode 100644 index 0000000..3311b76 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera/ThirdPersonCameraController.cs @@ -0,0 +1,99 @@ +using UnityEngine; + +public class ThirdPersonCameraController : MonoBehaviour +{ + // Const variables + private const float MIN_CATCH_SPEED_DAMP = 0f; + private const float MAX_CATCH_SPEED_DAMP = 1f; + private const float MIN_ROTATION_SMOOTHING = 0f; + private const float MAX_ROTATION_SMOOTHING = 30f; + + // Serializable fields + [SerializeField] + private Transform target = null; // The target to follow + + [SerializeField] + [Range(MIN_CATCH_SPEED_DAMP, MAX_CATCH_SPEED_DAMP)] + private float catchSpeedDamp = MIN_CATCH_SPEED_DAMP; + + [SerializeField] + [Range(MIN_ROTATION_SMOOTHING, MAX_ROTATION_SMOOTHING)] + [Tooltip("How fast the camera rotates around the pivot")] + private float rotationSmoothing = 15.0f; + + // private fields + private Transform rig; // The root transform of the camera rig + private Transform pivot; // The point at which the camera pivots around + private Quaternion pivotTargetLocalRotation; // Controls the X Rotation (Tilt Rotation) + private Quaternion rigTargetLocalRotation; // Controlls the Y Rotation (Look Rotation) + private Vector3 cameraVelocity; // The velocity at which the camera moves + + protected virtual void Awake() + { + this.pivot = this.transform.parent; + this.rig = this.pivot.parent; + + this.transform.localRotation = Quaternion.identity; + } + + protected virtual void Update() + { + if (!Input.GetMouseButton(1)) + return; + var controlRotation = PlayerInput.GetMouseRotationInput(); + this.UpdateRotation(controlRotation); + } + + protected virtual void LateUpdate() + { + this.FollowTarget(); + } + + //public void SetDistanceToTarget(float distanceToTarget) + //{ + // Vector3 cameraTargetLocalPosition = Vector3.zero; + // cameraTargetLocalPosition.z = -distanceToTarget; + // this.transform.localPosition = cameraTargetLocalPosition; + //} + + private void FollowTarget() + { + if (this.target == null) + { + return; + } + + this.rig.position = Vector3.SmoothDamp(this.rig.position, this.target.transform.position, ref this.cameraVelocity, this.catchSpeedDamp); + } + + private void UpdateRotation(Quaternion controlRotation) + { + if (this.target != null) + { + // Y Rotation (Look Rotation) + this.rigTargetLocalRotation = Quaternion.Euler(0f, controlRotation.eulerAngles.y, 0f); + + // X Rotation (Tilt Rotation) + this.pivotTargetLocalRotation = Quaternion.Euler(controlRotation.eulerAngles.x, 0f, 0f); + + if (this.rotationSmoothing > 0.0f) + { + this.pivot.localRotation = + Quaternion.Slerp(this.pivot.localRotation, this.pivotTargetLocalRotation, this.rotationSmoothing * Time.deltaTime); + + this.rig.localRotation = + Quaternion.Slerp(this.rig.localRotation, this.rigTargetLocalRotation, this.rotationSmoothing * Time.deltaTime); + } + else + { + this.pivot.localRotation = this.pivotTargetLocalRotation; + this.rig.localRotation = this.rigTargetLocalRotation; + } + } + } + + public void SetTarget(Transform target) + { + this.target = target; + } +} diff --git a/Project Undercover/Assets/Scripts/Camera/ThirdPersonCameraController.cs.meta b/Project Undercover/Assets/Scripts/Camera/ThirdPersonCameraController.cs.meta new file mode 100644 index 0000000..de42a66 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Camera/ThirdPersonCameraController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f7a72291221ddc42900e92a2a18c629 +timeCreated: 1505966887 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Extensions.meta b/Project Undercover/Assets/Scripts/Extensions.meta new file mode 100644 index 0000000..e1b6640 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Extensions.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b8a583e35872a724d84da462fa6b6e80 +folderAsset: yes +timeCreated: 1505967054 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Extensions/ListExtensions.cs b/Project Undercover/Assets/Scripts/Extensions/ListExtensions.cs new file mode 100644 index 0000000..928cb5d --- /dev/null +++ b/Project Undercover/Assets/Scripts/Extensions/ListExtensions.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +public static class ListExtensions +{ + public static T GetRandomElement(this List list) + { + int randomIndex = UnityEngine.Random.Range(0, list.Count); + return list[randomIndex]; + } +} diff --git a/Project Undercover/Assets/Scripts/Extensions/ListExtensions.cs.meta b/Project Undercover/Assets/Scripts/Extensions/ListExtensions.cs.meta new file mode 100644 index 0000000..116f408 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Extensions/ListExtensions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d4dd4bc8fff92dd4b99f6ed6b3dd1e3c +timeCreated: 1433682675 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/Extensions/MathfExtensions.cs b/Project Undercover/Assets/Scripts/Extensions/MathfExtensions.cs new file mode 100644 index 0000000..274fdcb --- /dev/null +++ b/Project Undercover/Assets/Scripts/Extensions/MathfExtensions.cs @@ -0,0 +1,48 @@ +using System; +using UnityEngine; + +public static class MathfExtensions +{ + public static float ClampAngle(float angle, float min, float max) + { + while (angle < -360f || angle > 360f) + { + if (angle < -360f) + { + angle += 360f; + } + else if (angle > 360f) + { + angle -= 360f; + } + } + + return Mathf.Clamp(angle, min, max); + } + + public static float ApplyGravity(float speed, float gravity, float maxSpeed) + { + return Mathf.Max(-maxSpeed, speed - gravity * Time.deltaTime); + } + + public static float AccelerateSpeed(float speed, float acceleration, float maxSpeed, bool negative) + { + if (negative) + { + return Mathf.Max(-maxSpeed, speed - acceleration * Time.deltaTime); + } + + return Mathf.Min(maxSpeed, speed + acceleration * Time.deltaTime); + } + + public static float DecelerateSpeed(float speed, float deceleration) + { + if (speed > 0f) + { + return Mathf.Max(0f, speed - deceleration * Time.deltaTime); + } + + return Mathf.Min(0f, speed + deceleration * Time.deltaTime); + } +} + diff --git a/Project Undercover/Assets/Scripts/Extensions/MathfExtensions.cs.meta b/Project Undercover/Assets/Scripts/Extensions/MathfExtensions.cs.meta new file mode 100644 index 0000000..1899efc --- /dev/null +++ b/Project Undercover/Assets/Scripts/Extensions/MathfExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 92c8d014fee32cc418185954e6a18e78 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Project Undercover/Assets/Scripts/GameManager.cs b/Project Undercover/Assets/Scripts/GameManager.cs new file mode 100644 index 0000000..ae0abf2 --- /dev/null +++ b/Project Undercover/Assets/Scripts/GameManager.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.SceneManagement; + + +public class GameManager : Photon.PunBehaviour { + + public GuardCameraController guardCamera; + public GameObject spyPrefab, NCPPrefab; + private int numNCPs = 9; + public int spyMissionsComplete = 0; + public float waitBetweenMissions = 5.0f; + public bool onMissionCooldown = false; + public Text missionsCompleteText; + public GameObject winPanel; + public Text winText; + private int numOfMissions = 3; + + public override void OnLeftRoom() + { + SceneManager.LoadScene("Launcher"); + } + + + public override void OnPhotonPlayerConnected(PhotonPlayer other) + { + Debug.Log("OnPhotonPlayerConnected() " + other.NickName); // not seen if you're the player connecting + } + + + public override void OnPhotonPlayerDisconnected(PhotonPlayer other) + { + Debug.Log("OnPhotonPlayerDisconnected() " + other.NickName); // seen when other disconnects + LeaveRoom(); + } + + public void LeaveRoom() + { + PhotonNetwork.LeaveRoom(); + } + + void Awake() + { + if (PersistantPlayerSettings.character == PersistantPlayerSettings.Character.Guard) + { + guardCamera.SetCameraEnabled(guardCamera, true); + } + else + { + Vector3 randPos = SimpleNPCBehavior.GetRandomLocation(); + var spy = PhotonNetwork.Instantiate(spyPrefab.name, randPos, Quaternion.identity, 0); + spy.GetComponent().enabled = true; + spy.GetComponent().SetColor(); + } + if (PhotonNetwork.isMasterClient) + { + for (int i = 0; i < numNCPs; i++) + { + Vector3 randPos = SimpleNPCBehavior.GetRandomLocation(); + var npc = PhotonNetwork.Instantiate(NCPPrefab.name, randPos, Quaternion.identity, 0); + } + } + } + + public void CompleteMission() + { + if (!PhotonNetwork.isMasterClient || onMissionCooldown) + return; + StartCoroutine(MissionCooldown()); + spyMissionsComplete++; + photonView.RPC("CompleteMissionRPC", PhotonTargets.All, spyMissionsComplete); + + if (spyMissionsComplete >= numOfMissions) + photonView.RPC("ShowSpiesWinScreen", PhotonTargets.All); + } + + [PunRPC] + void CompleteMissionRPC(int missionsCompleted) + { + spyMissionsComplete = missionsCompleted; + missionsCompleteText.text = spyMissionsComplete + "/3"; + } + + [PunRPC] + void ShowSpiesWinScreen() + { + winPanel.SetActive(true); + winText.text = "SPIES WIN!"; + } + + [PunRPC] + void ShowGuardsWinScreen() + { + winPanel.SetActive(true); + winText.text = "GUARDS WIN!"; + } + + IEnumerator MissionCooldown() + { + onMissionCooldown = true; + yield return new WaitForSeconds(waitBetweenMissions); + onMissionCooldown = false; + } +} diff --git a/Project Undercover/Assets/Scripts/GameManager.cs.meta b/Project Undercover/Assets/Scripts/GameManager.cs.meta new file mode 100644 index 0000000..3d80d1e --- /dev/null +++ b/Project Undercover/Assets/Scripts/GameManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d137f9629e081d64a81c3c6139493989 +timeCreated: 1505888264 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/GuardCamera.cs b/Project Undercover/Assets/Scripts/GuardCamera.cs new file mode 100644 index 0000000..ef0e26e --- /dev/null +++ b/Project Undercover/Assets/Scripts/GuardCamera.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class GuardCamera : Photon.PunBehaviour { + + public float xRotation = 0.0f; + public float yRotation = 0.0f; + + void Start () { + xRotation = transform.eulerAngles.y; + yRotation = transform.eulerAngles.x; + } + + void Update () { + transform.localRotation = Quaternion.AngleAxis(xRotation, Vector3.up); + transform.localRotation *= Quaternion.AngleAxis(-yRotation, -Vector3.right); + } + + public void UpdateRotation() + { + photonView.RPC("UpdateRotation", PhotonTargets.All, xRotation, yRotation); + } + + [PunRPC] + void UpdateRotation(float xRotation, float yRotation) + { + this.xRotation = xRotation; + this.yRotation = yRotation; + } +} diff --git a/Project Undercover/Assets/Scripts/GuardCamera.cs.meta b/Project Undercover/Assets/Scripts/GuardCamera.cs.meta new file mode 100644 index 0000000..80881b7 --- /dev/null +++ b/Project Undercover/Assets/Scripts/GuardCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5b4e3fd11940c1048a7e28e5dfc80560 +timeCreated: 1505971935 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/GuardCameraController.cs b/Project Undercover/Assets/Scripts/GuardCameraController.cs index 38f1539..e5c273b 100644 --- a/Project Undercover/Assets/Scripts/GuardCameraController.cs +++ b/Project Undercover/Assets/Scripts/GuardCameraController.cs @@ -2,21 +2,89 @@ using System.Collections.Generic; using UnityEngine; -public class GuardCameraController : MonoBehaviour { +public class GuardCameraController : Photon.PunBehaviour { private float camSens = 120.0f; - private float xRotation = 0.0f; - private float yRotation = 0.0f; + private GuardCamera cam; + + static List cameras; + static int currentCamera; void Start () { - xRotation = transform.eulerAngles.y; - yRotation = transform.eulerAngles.x; - } + cam = GetComponent(); + if (cameras == null) + { + cameras = new List(); + foreach (var camera in GameObject.FindGameObjectsWithTag(tag)) + { + cameras.Add(camera.GetComponent()); + } + for (int i=0; i < cameras.Count; i++) + { + if (cameras[i] == this) + currentCamera = i; + else + SetCameraEnabled(cameras[i], false); + } + } + } + + GuardCameraController GetCurrentCamera() + { + return cameras[currentCamera]; + } + + GuardCameraController GetNextCamera(out int nextCameraPos) + { + nextCameraPos = (currentCamera + 1) % cameras.Count; + return cameras[nextCameraPos]; + } + void SwitchCamera() + { + var nextCam = GetNextCamera(out currentCamera); + SetCameraEnabled(nextCam, true); + SetCameraEnabled(this, false); + } + + public void SetCameraEnabled(GuardCameraController camera, bool enabled) + { + camera.GetComponent().enabled = enabled; + camera.GetComponent().enabled = enabled; + camera.enabled = enabled; + } + void Update () { - xRotation += Time.deltaTime * Input.GetAxis ("Horizontal") * camSens; - yRotation += Time.deltaTime * Input.GetAxis ("Vertical") * camSens; - transform.localRotation = Quaternion.AngleAxis (xRotation, Vector3.up); - transform.localRotation *= Quaternion.AngleAxis (yRotation, -Vector3.right); + if (Input.GetKeyDown("space")) + SwitchCamera(); + + RaycastHit hit; + if (Input.GetButtonDown("Fire1")) + { + Ray ray = GetComponent().ScreenPointToRay(Input.mousePosition); + + if (Physics.Raycast(ray, out hit, 100.0f)) + { + if (hit.transform.gameObject.tag == "NPC") + { + var manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent(); + manager.photonView.RPC("ShowSpiesWinScreen", PhotonTargets.All); + } + else if (hit.transform.gameObject.tag == "Spy") + { + var manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent(); + manager.photonView.RPC("ShowGuardsWinScreen", PhotonTargets.All); + } + } + } + + if (Input.GetAxis("Horizontal") == 0 && Input.GetAxis("Vertical") == 0) + return; + + cam.xRotation += Time.deltaTime * Input.GetAxis("Horizontal") * camSens; + cam.yRotation += Time.deltaTime * -Input.GetAxis("Vertical") * camSens; + cam.xRotation = cam.xRotation % 360; + cam.yRotation = Mathf.Clamp(cam.yRotation, -45, 80); + cam.UpdateRotation(); } } \ No newline at end of file diff --git a/Project Undercover/Assets/Scripts/Launcher.cs b/Project Undercover/Assets/Scripts/Launcher.cs new file mode 100644 index 0000000..3c3d1ab --- /dev/null +++ b/Project Undercover/Assets/Scripts/Launcher.cs @@ -0,0 +1,121 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Com.MyCompany.MyGame +{ + public class Launcher : Photon.PunBehaviour + { + #region Public Variables + [Tooltip("The Ui Panel to let the user enter name, connect and play")] + public GameObject controlPanel; + [Tooltip("The UI Label to inform the user that the connection is in progress")] + public Text progressLabel; + public byte MaxPlayersPerRoom = 4; + #endregion + + + #region Private Variables + string _gameVersion = "1"; + /// + /// Keep track of the current process. Since connection is asynchronous and is based on several callbacks from Photon, + /// we need to keep track of this to properly adjust the behavior when we receive call back by Photon. + /// Typically this is used for the OnConnectedToMaster() callback. + /// + bool isConnecting; + #endregion + + + #region MonoBehaviour CallBacks + /// + /// MonoBehaviour method called on GameObject by Unity during early initialization phase. + /// + void Awake() + { + // #Critical + // we don't join the lobby. There is no need to join a lobby to get the list of rooms. + PhotonNetwork.autoJoinLobby = false; + + + // #Critical + // This makes sure we can use PhotonNetwork.LoadLevel() on the master client + // and all clients in the same room sync their level automatically + PhotonNetwork.automaticallySyncScene = true; + } + + + /// + /// MonoBehaviour method called on GameObject by Unity during initialization phase. + /// + void Start() + { + // progressLabel.SetActive(false); + controlPanel.SetActive(true); + //Connect(); + } + #endregion + + + #region Public Methods + /// + /// Start the connection process. + /// - If already connected, we attempt joining a random room + /// - if not yet connected, Connect this application instance to Photon Cloud Network + /// + public void Connect() + { + // keep track of the will to join a room, because when we come back from the game we will get a callback that we are connected, so we need to know what to do then + isConnecting = true; + progressLabel.text = "Connecting..."; + // we check if we are connected or not, we join if we are , else we initiate the connection to the server. + if (PhotonNetwork.connected) + { + // #Critical we need at this point to attempt joining a Random Room. + // If it fails, we'll get notified in OnPhotonRandomJoinFailed() and we'll create one. + PhotonNetwork.JoinRandomRoom(); + } + else + { + // #Critical, we must first and foremost connect to Photon Online Server. + PhotonNetwork.ConnectUsingSettings(_gameVersion); + } + } + #endregion + + + #region Photon.PunBehaviour CallBacks + public override void OnConnectedToMaster() + { + Debug.Log("DemoAnimator/Launcher: OnConnectedToMaster() was called by PUN"); + // we don't want to do anything if we are not attempting to join a room. + // this case where isConnecting is false is typically when you lost or quit the game, when this level is loaded, OnConnectedToMaster will be called, in that case + // we don't want to do anything. + if (isConnecting) + { + // #Critical: The first we try to do is to join a potential existing room. If there is, good, else, we'll be called back with OnPhotonRandomJoinFailed() + PhotonNetwork.JoinRandomRoom(); + } + } + + + public override void OnDisconnectedFromPhoton() + { + Debug.LogWarning("DemoAnimator/Launcher: OnDisconnectedFromPhoton() was called by PUN"); + } + + public override void OnPhotonRandomJoinFailed(object[] codeAndMsg) + { + Debug.Log("Launcher:OnPhotonRandomJoinFailed() was called by PUN. No random room available, so we create one." + + "\nCalling: PhotonNetwork.CreateRoom(null, new RoomOptions() {maxPlayers = MaxPlayersPerRoom}, null);"); + // #Critical: we failed to join a random room, maybe none exists or they are all full. No worries, we create a new room. + PhotonNetwork.CreateRoom(null, new RoomOptions() { MaxPlayers = MaxPlayersPerRoom }, null); + } + + public override void OnJoinedRoom() + { + Debug.Log("Launcher: OnJoinedRoom() called by PUN. Now this client is in a room."); + // #Critical: We only load if we are the first player, else we rely on PhotonNetwork.automaticallySyncScene to sync our instance scene. + PhotonNetwork.LoadLevel("Lobby"); + } + #endregion + } +} diff --git a/Project Undercover/Assets/Scripts/Launcher.cs.meta b/Project Undercover/Assets/Scripts/Launcher.cs.meta new file mode 100644 index 0000000..8ffb3d2 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Launcher.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bfae5ad9cd8c6ab47a2d6543a20e2d7c +timeCreated: 1505888264 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/LobbyManager.cs b/Project Undercover/Assets/Scripts/LobbyManager.cs new file mode 100644 index 0000000..f6f1169 --- /dev/null +++ b/Project Undercover/Assets/Scripts/LobbyManager.cs @@ -0,0 +1,85 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.SceneManagement; + +public class LobbyManager : Photon.PunBehaviour { + + public GameObject playerPanelPrefab; + public GameObject guardsPanel, spysPanel; + private GameObject localPanel; + public Button startButton; + + void Start() + { + CreateLocalPlayerPanel(); + if (!PhotonNetwork.isMasterClient) + startButton.gameObject.SetActive(false); + } + + void CreateLocalPlayerPanel() + { + if (localPanel != null) + Debug.LogError("LobbyManager: localPlayerPanel already exists"); + CreatePlayerPanel(PhotonNetwork.playerName); + } + + void CreatePlayerPanel(string playerName) + { + // if (!PhotonNetwork.isMasterClient) + // Debug.LogError("LobbyManager: Can't add player on non-master client"); + localPanel = PhotonNetwork.Instantiate(playerPanelPrefab.name, Vector3.zero, Quaternion.identity, 0); + if (PhotonNetwork.room.PlayerCount % 2 == 1) + ClickSwitchToGuards(); + else + ClickSwitchToSpys(); + localPanel.GetComponent().SetPlayerName(playerName); + } + + public void StartGame() + { + if (PhotonNetwork.isMasterClient) + PhotonNetwork.LoadLevel("scene"); + } + + public override void OnPhotonPlayerConnected(PhotonPlayer other) + { + Debug.Log("OnPhotonPlayerConnected() " + other.NickName); + if (PhotonNetwork.isMasterClient) + { + Debug.Log("OnPhotonPlayerConnected isMasterClient " + PhotonNetwork.isMasterClient); + } + } + + public override void OnPhotonPlayerDisconnected(PhotonPlayer other) + { + Debug.Log("OnPhotonPlayerDisconnected() " + other.NickName); + if (PhotonNetwork.isMasterClient) + { + Debug.Log("OnPhotonPlayerDisonnected isMasterClient " + PhotonNetwork.isMasterClient); + } + } + + public override void OnLeftRoom() + { + SceneManager.LoadScene(0); + } + + public void LeaveRoom() + { + PhotonNetwork.LeaveRoom(); + } + + public void ClickSwitchToGuards() + { + localPanel.transform.SetParent(guardsPanel.transform, false); + PersistantPlayerSettings.character = PersistantPlayerSettings.Character.Guard; + } + + public void ClickSwitchToSpys() + { + localPanel.transform.SetParent(spysPanel.transform, false); + PersistantPlayerSettings.character = PersistantPlayerSettings.Character.Spy; + } +} diff --git a/Project Undercover/Assets/Scripts/LobbyManager.cs.meta b/Project Undercover/Assets/Scripts/LobbyManager.cs.meta new file mode 100644 index 0000000..7e39dbf --- /dev/null +++ b/Project Undercover/Assets/Scripts/LobbyManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a07e85085fdfcd74ea129407dbb85517 +timeCreated: 1505890050 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/ParticleCleanUp.cs b/Project Undercover/Assets/Scripts/ParticleCleanUp.cs new file mode 100644 index 0000000..82b0f74 --- /dev/null +++ b/Project Undercover/Assets/Scripts/ParticleCleanUp.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ParticleCleanUp : MonoBehaviour { + + // Use this for initialization + void Start () { + StartCoroutine(Cleanup()); + } + + IEnumerator Cleanup() + { + yield return new WaitForSeconds(1.0f); + Destroy(gameObject); + } +} diff --git a/Project Undercover/Assets/Scripts/ParticleCleanUp.cs.meta b/Project Undercover/Assets/Scripts/ParticleCleanUp.cs.meta new file mode 100644 index 0000000..6669035 --- /dev/null +++ b/Project Undercover/Assets/Scripts/ParticleCleanUp.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a4a49b7670afaa4199b22e1ae7786a7 +timeCreated: 1505967995 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/PersistantPlayerSettings.cs b/Project Undercover/Assets/Scripts/PersistantPlayerSettings.cs new file mode 100644 index 0000000..74cfb3b --- /dev/null +++ b/Project Undercover/Assets/Scripts/PersistantPlayerSettings.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PersistantPlayerSettings { + + public static string testString = ""; + public enum Character { + Guard, Spy + } + public static Character character = PersistantPlayerSettings.Character.Spy; + +} diff --git a/Project Undercover/Assets/Scripts/PersistantPlayerSettings.cs.meta b/Project Undercover/Assets/Scripts/PersistantPlayerSettings.cs.meta new file mode 100644 index 0000000..d470e98 --- /dev/null +++ b/Project Undercover/Assets/Scripts/PersistantPlayerSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f39d779db8401294a97b17c2738403c8 +timeCreated: 1505969211 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/PlayerController.cs b/Project Undercover/Assets/Scripts/PlayerController.cs index e6c173c..fec3ed3 100644 --- a/Project Undercover/Assets/Scripts/PlayerController.cs +++ b/Project Undercover/Assets/Scripts/PlayerController.cs @@ -1,48 +1,44 @@ using UnityEngine; using System.Collections; -using UnityEngine.AI; public class PlayerController : MonoBehaviour { - // Testing public GameObject particle; - // Player as a nav mesh agent - private NavMeshAgent agent; + public GameObject cameraRigPrefab; + private GameObject cameraRig; + public Transform cameraTarget; + private Vector3 target; + private Spy spy; + private int mask; void Start() { - agent = GetComponent (); - this.GetComponent ().material.color = Random.ColorHSV (0f, 1f, 1f, 1f, 0f, 1f); + int layerMask = LayerMask.NameToLayer("Floor"); + mask = 1 << layerMask; + spy = GetComponent(); + cameraRig = Instantiate(cameraRigPrefab, Vector3.zero, Quaternion.identity); + cameraRig.GetComponentInChildren().SetTarget(cameraTarget); } void Update() { - /* // WASD or Arrow keys movement - var x = Input.GetAxis("Horizontal") * Time.deltaTime * 150.0f; - var z = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f; - - transform.Rotate(0, x, 0); - transform.Translate(0, 0, z); - */ - RaycastHit hit; - // Testing if (Input.GetButtonDown("Fire1")) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); - if (Physics.Raycast(ray, out hit)) { + + if (Physics.Raycast(ray, out hit, 100.0f, mask)) { Vector3 wantedPos = hit.point; - wantedPos.y = 0.5f; - Instantiate (particle, wantedPos, transform.rotation); - } - } - // Walking - else if (Input.GetButtonDown("Fire2")) { - Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); - if (Physics.Raycast(ray, out hit)) { - Vector3 wantedPos = hit.point; - wantedPos.y = 0.5f; - agent.destination = wantedPos; + Instantiate(particle, wantedPos, Quaternion.Euler(-90,0,0)); + wantedPos.y = 0.5f; + spy.UpdateTarget(wantedPos); } } + + if (Input.GetKeyDown("space")) + { + spy.HandShake(); + } } + + } \ No newline at end of file diff --git a/Project Undercover/Assets/Scripts/PlayerLobbyPanelController.cs b/Project Undercover/Assets/Scripts/PlayerLobbyPanelController.cs new file mode 100644 index 0000000..fd7ba9b --- /dev/null +++ b/Project Undercover/Assets/Scripts/PlayerLobbyPanelController.cs @@ -0,0 +1,50 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class PlayerLobbyPanelController : Photon.MonoBehaviour { + + public Text playerName; + + public void SetPlayerName(string name) + { + playerName.text = name; + } + + public string GetPlayerName() + { + return playerName.text; + } + + public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) + { + if (stream.isWriting) + { + // We own this player: send the others our data + stream.SendNext(playerName.text); + stream.SendNext(GetPanelName()); + } + else + { + // Network player, receive data + playerName.text = (string)stream.ReceiveNext(); + ChangePanel((string)stream.ReceiveNext()); + } + } + + public string GetPanelName() + { + if (transform.parent == null) + return ""; + return transform.parent.name; + } + + public void ChangePanel(string panelName) + { + if (panelName == GetPanelName()) + return; + else + transform.SetParent(GameObject.Find(panelName).transform, false); + } +} diff --git a/Project Undercover/Assets/Scripts/PlayerLobbyPanelController.cs.meta b/Project Undercover/Assets/Scripts/PlayerLobbyPanelController.cs.meta new file mode 100644 index 0000000..5e9cac3 --- /dev/null +++ b/Project Undercover/Assets/Scripts/PlayerLobbyPanelController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6dd39f8b6d42e104684b6ba413663fe1 +timeCreated: 1505951974 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/PlayerNameInputField.cs b/Project Undercover/Assets/Scripts/PlayerNameInputField.cs new file mode 100644 index 0000000..d35373c --- /dev/null +++ b/Project Undercover/Assets/Scripts/PlayerNameInputField.cs @@ -0,0 +1,46 @@ +using UnityEngine; +using UnityEngine.UI; + + +using System.Collections; + + +namespace Com.MyCompany.MyGame +{ + /// + /// Player name input field. Let the user input his name, will appear above the player in the game. + /// + [RequireComponent(typeof(InputField))] + public class PlayerNameInputField : MonoBehaviour + { + // Store the PlayerPref Key to avoid typos + static string playerNamePrefKey = "PlayerName"; + + void Start() + { + string defaultName = ""; + InputField _inputField = this.GetComponent(); + if (_inputField != null) + { + if (PlayerPrefs.HasKey(playerNamePrefKey)) + { + defaultName = PlayerPrefs.GetString(playerNamePrefKey); + _inputField.text = defaultName; + } + } + PhotonNetwork.playerName = defaultName; + } + + /// + /// Sets the name of the player, and save it in the PlayerPrefs for future sessions. + /// + /// The name of the Player + public void SetPlayerName(string value) + { + // force a trailing space string in case value is an empty string, else playerName would not be updated. + PhotonNetwork.playerName = value + " "; + + PlayerPrefs.SetString(playerNamePrefKey, value); + } + } +} \ No newline at end of file diff --git a/Project Undercover/Assets/Scripts/PlayerNameInputField.cs.meta b/Project Undercover/Assets/Scripts/PlayerNameInputField.cs.meta new file mode 100644 index 0000000..ed645aa --- /dev/null +++ b/Project Undercover/Assets/Scripts/PlayerNameInputField.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 945d1d1b53c2d9240a91962286a0ae06 +timeCreated: 1505888264 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs b/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs index e1d7727..09f9cde 100644 --- a/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs +++ b/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs @@ -2,14 +2,12 @@ using System.Collections; using UnityEngine.AI; -public class SimpleNPCBehavior : MonoBehaviour +public class SimpleNPCBehavior : Photon.PunBehaviour { - public int updateTime; - - private Vector3 target; private NavMeshAgent agent; + private bool setTarget = true; - enum State { + enum State { idle, walking, talking @@ -17,19 +15,61 @@ public class SimpleNPCBehavior : MonoBehaviour void Start() { - this.GetComponent ().material.color = Random.ColorHSV (0f, 1f, 1f, 1f, 0f, 1f); - target.Set (4.0f - (8.0f * Random.value), 0.5f, 4.0f - (8.0f * Random.value)); - agent = GetComponent (); - } + agent = GetComponent(); + if (PhotonNetwork.isMasterClient) { + photonView.RPC("TeleportToTarget", PhotonTargets.All, GetRandomLocation()); + photonView.RPC("SetColorRPC", PhotonTargets.All, new Vector3(Random.value, Random.value, Random.value)); + } + agent.destination = transform.position; + } void Update() { - // Every updateTime seconds set new target position - if (Time.fixedTime % updateTime == 0) { - if ((int) (3.0f * Random.value) == 0) - target.Set (4.0f - (8.0f * Random.value), 0.5f, 4.0f - (8.0f * Random.value)); - } - - agent.destination = target; + if (!PhotonNetwork.isMasterClient) + return; + + if (setTarget) + { + setTarget = false; + StartCoroutine(UpdateDestination()); + } } + + IEnumerator UpdateDestination() + { + yield return new WaitForSeconds(Random.Range(0.1f, 10.0f)); + Vector3 location = GetRandomLocation(); + + photonView.RPC("SetTarget", PhotonTargets.All, location); + setTarget = true; + } + + public static Vector3 GetRandomLocation() + { + var randTarget = new Vector3(4.0f - (8.0f * Random.value), 0.5f, 4.0f - (8.0f * Random.value)); + NavMeshHit hit; + if (NavMesh.SamplePosition(randTarget, out hit, 1.0f, NavMesh.AllAreas)) + return hit.position; + else + return GetRandomLocation(); + } + + [PunRPC] + void SetTarget(Vector3 target) + { + agent.destination = target; + } + + [PunRPC] + void TeleportToTarget(Vector3 target) + { + transform.position = target; + agent.destination = target; + } + + [PunRPC] + void SetColorRPC(Vector3 color) + { + transform.Find("Body").GetComponent().material.color = new Color(color.x, color.y, color.z); + } } \ No newline at end of file diff --git a/Project Undercover/Assets/Scripts/Spy.cs b/Project Undercover/Assets/Scripts/Spy.cs new file mode 100644 index 0000000..aed0427 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Spy.cs @@ -0,0 +1,110 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.AI; + +public class Spy : Photon.PunBehaviour { + + private NavMeshAgent agent; + public Animation shakeAnimation; + public bool isShaking = false; + public static HashSet shakingSpies; + public GameObject nameTag; + + void Start() + { + if (shakingSpies == null) + shakingSpies = new HashSet(); + agent = GetComponent(); + transform.Find("Body").GetComponent().material.color = Random.ColorHSV(0f, 1f, 1f, 1f, 0f, 1f); + if (!GetComponent().enabled && PersistantPlayerSettings.character == PersistantPlayerSettings.Character.Spy) + { + nameTag.SetActive(true); + } + } + + private void Update() + { + if (PhotonNetwork.isMasterClient) + { + if (SucessfulShakeCheck()) + { + var manager = GameObject.FindGameObjectWithTag("GameManager").GetComponent(); + manager.CompleteMission(); + } + } + if (nameTag.activeInHierarchy) + { + nameTag.transform.LookAt(2 * nameTag.transform.position - Camera.main.transform.position); + } + } + + bool SucessfulShakeCheck() + { + if (shakingSpies.Count > 1) + { + foreach (var spy1 in shakingSpies) + { + foreach (var spy2 in shakingSpies) + { + if (spy1.GetInstanceID() == spy2.GetInstanceID()) + continue; + if (!spy1.isShaking || !spy2.isShaking) + continue; + float mag = (spy1.transform.position - spy2.transform.position).sqrMagnitude; + if (mag > 1.5) + continue; + float angle = Vector3.Angle(spy1.transform.forward, spy2.transform.forward); + if (angle < 140.0f) + continue; + return true; + } + } + } + return false; + } + + public void UpdateTarget(Vector3 target) + { + photonView.RPC("UpdateTargetRPC", PhotonTargets.All, target); + } + + [PunRPC] + void UpdateTargetRPC(Vector3 target) + { + agent.destination = target; + } + + public void SetColor() + { + photonView.RPC("SetColorRPC", PhotonTargets.All, new Vector3(Random.value, Random.value, Random.value)); + } + + [PunRPC] + void SetColorRPC(Vector3 color) + { + transform.Find("Body").GetComponent().material.color = new Color(color.x, color.y, color.z); + } + + public void HandShake() + { + if (!isShaking) + photonView.RPC("HandshakeRPC", PhotonTargets.All); + } + + IEnumerator FinishShake() + { + yield return new WaitForSeconds(0.5f); + isShaking = false; + shakingSpies.Remove(this); + } + + [PunRPC] + void HandshakeRPC() + { + isShaking = true; + shakingSpies.Add(this); + shakeAnimation.Play(); + StartCoroutine(FinishShake()); + } +} diff --git a/Project Undercover/Assets/Scripts/Spy.cs.meta b/Project Undercover/Assets/Scripts/Spy.cs.meta new file mode 100644 index 0000000..6cda646 --- /dev/null +++ b/Project Undercover/Assets/Scripts/Spy.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6424f0a0a27cd694d9871b7cf3137e8d +timeCreated: 1505973449 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Project Undercover/ProjectSettings/EditorBuildSettings.asset b/Project Undercover/ProjectSettings/EditorBuildSettings.asset index 6dc24f7..15130ff 100644 --- a/Project Undercover/ProjectSettings/EditorBuildSettings.asset +++ b/Project Undercover/ProjectSettings/EditorBuildSettings.asset @@ -4,4 +4,13 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 - m_Scenes: [] + m_Scenes: + - enabled: 1 + path: Assets/Scenes/Launcher.unity + guid: 915b937f0bf8c1a40bdc9f49e93cedb0 + - enabled: 1 + path: Assets/Scenes/Lobby.unity + guid: 9d65756f3d12ef647aea0782245fc241 + - enabled: 1 + path: Assets/Scenes/scene.unity + guid: b679f50ae448b0642b9887e440a00e0f diff --git a/Project Undercover/ProjectSettings/ProjectSettings.asset b/Project Undercover/ProjectSettings/ProjectSettings.asset index 99e60e7..8bb7197 100644 --- a/Project Undercover/ProjectSettings/ProjectSettings.asset +++ b/Project Undercover/ProjectSettings/ProjectSettings.asset @@ -368,6 +368,9 @@ PlayerSettings: switchUdpSendBufferSize: 9 switchUdpReceiveBufferSize: 42 switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: diff --git a/Project Undercover/ProjectSettings/ProjectVersion.txt b/Project Undercover/ProjectSettings/ProjectVersion.txt index ca1aa05..a211ccd 100644 --- a/Project Undercover/ProjectSettings/ProjectVersion.txt +++ b/Project Undercover/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2017.1.0f3 +m_EditorVersion: 2017.1.1f1 diff --git a/Project Undercover/ProjectSettings/TagManager.asset b/Project Undercover/ProjectSettings/TagManager.asset index 1c92a78..8c4fc5c 100644 --- a/Project Undercover/ProjectSettings/TagManager.asset +++ b/Project Undercover/ProjectSettings/TagManager.asset @@ -3,7 +3,11 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: [] + tags: + - GuardCamera + - GameManager + - Spy + - NPC layers: - Default - TransparentFX @@ -13,8 +17,8 @@ TagManager: - UI - - - - - - + - Spy + - Floor - - -