Реализован спавн робота с контроллерами в виртуальной среде webots

This commit is contained in:
Даниил Грабарь
2025-11-21 13:49:04 +10:00
parent a24cc16e0a
commit 9918c2bfc6
44 changed files with 7264 additions and 10 deletions
@@ -0,0 +1,152 @@
#VRML_SIM R2025a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# keywords: industrial/other
# A table for placing collaborative work and working with it
# It is possible to add a network cabinet on the back of the table
# template language: javascript
PROTO CollaborativeRobotTable [
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFString name "CollaborativeRobotTable"
field SFString contactMaterial "TableMaterial"
field SFBool locked FALSE
field SFBool showCabinet FALSE # Defines the display of the network cabinet
]
{
%<
let showCabinet = fields.showCabinet.value;
>%
Solid {
translation IS translation
rotation IS rotation
name IS name
locked IS locked
contactMaterial IS contactMaterial
children [
%< if (showCabinet) { >%
Group {
children [
Solid {
translation -0.66 4.26e-06 0.099998
rotation 0.5773509358560258 -0.577349935856137 -0.577349935856137 2.09439
children [
Pose {
translation -0.3135 0.19 0
children [
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/ElectricCabinet.obj"
]
}
}
]
translationStep 0.001
}
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/CabinetFrame.obj"
]
}
}
]
name "Cabinet"
}
]
}
%< } >%
Group {
children [
Solid {
children [
Pose {
translation 0 0 0.79
children [
Shape {
appearance PBRAppearance {
roughness 1
metalness 0
}
geometry Box {
size 1.28 1.08 0.02
}
}
]
}
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/TableFrame.obj"
]
}
}
Pose {
translation -0.263 0 0.8
children [
Shape {
appearance PBRAppearance {
baseColor 0.517647 0.513726 0.568627
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/PlateUnderRobot.obj"
]
}
}
]
translationStep 0.001
}
]
name "Table"
}
]
}
]
boundingObject Group {
children [
%< if (showCabinet) { >%
Pose {
translation -0.78 4.97601e-06 0.609998
rotation 0.5773509358560258 -0.577349935856137 -0.577349935856137 2.09439
children [
Box {
size 0.66 0.96 0.28
}
]
}
%< } >%
Pose {
translation 0 0 0.4035
children [
Box {
size 1.28 1.08 0.7926
}
]
}
]
}
}
}
@@ -0,0 +1,111 @@
#VRML_SIM R2025a utf8
# license: Apache License 2.0
# license url: http://www.apache.org/licenses/LICENSE-2.0
# Model of the Intel Realsense D455 RGBD camera.
# keywords: sensor/range-finder, sensor/camera
# template language: javascript
PROTO IntelRealsenseD455 [
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFString name "IntelRealsenseD455"
field SFBool locked FALSE
field SFString controller "<none>"
field MFString controllerArgs [ ]
field SFBool supervisor FALSE
field SFString{"HD", "VGA", "FULL"} resolution "VGA"
field SFFloat fieldOfView 1.4746 # Diagonal ~84.43° from inr parametrs
field SFFloat minRange 0.01
field SFFloat maxRange 6.0
field SFNode focus NULL
field SFNode recognition Recognition{}
field SFNode physics Physics {
density -1
mass 0.35
centerOfMass [0 0 0]
}
]
{
%<
const cameraName = fields.name.value;
const resMode = fields.resolution.value.toUpperCase();
let width = 1280;
let height = 800;
if (resMode === "VGA") {
width = 640;
height = 480;
} else if (resMode === "HD") {
width = 1280;
height = 720;
} else if (resMode === "FULL") {
width = 1280;
height = 800;
}
>%
Robot {
translation IS translation
rotation IS rotation
name IS name
locked IS locked
controller IS controller
controllerArgs IS controllerArgs
supervisor IS supervisor
children [
RangeFinder {
translation 0.005 0 0
name %<='"' + cameraName + '_depth"'>%
locked TRUE
radarCrossSection 0.01
fieldOfView IS fieldOfView
width %<= width >%
height %<= height >%
near IS minRange
minRange IS minRange
maxRange IS maxRange
noise 0.01
resolution 0.001
}
Camera {
translation 0.005 0 0
name %<='"' + cameraName + '_rgb"'>%
locked TRUE
fieldOfView IS fieldOfView
width %<= width >%
height %<= height >%
near IS minRange
far 10
exposure 0.5
antiAliasing TRUE
noise 0.01
focus IS focus
recognition IS recognition
}
Solid {
translation 0.013 0 0
rotation 0.5773489358556708 0.5773509358554485 0.5773509358554485 2.0944
children [
CadShape {
url [
"./meshes/cameras/visual/IntelRealsenseD455.dae"
]
}
]
locked TRUE
}
]
boundingObject Pose {
children [
Box {
size 0.027 0.123 0.025
}
]
}
physics IS physics
}
}
@@ -0,0 +1,83 @@
#VRML_SIM R2025a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# keywords: industrial/other
# Workspace limiter in the form of square blocks that can be increased in size
# template language: javascript
PROTO WorkspaceLimiter [
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFString name "WorkspaceLimiter"
field SFBool locked FALSE
field SFVec2f countLimiter 1 1 # Defines the number of blocks by X and Y
field SFVec3f scale 1 1 1 # Defines the size of the blocks
field SFFloat spacing 0.02 # Defines the distance between blocks
]
{
%<
let countLimiter = fields.countLimiter.value;
let scale = fields.scale.value;
let spacing = fields.spacing.value;
let widthCount = countLimiter.x;
let heightCount = countLimiter.y;
let boxWidth = 1.25;
let boxHeight = 1;
let boxDepth = 0.01;
if (spacing <= 0) {
console.error("The indentation between the blocks cannot be negative")
spacing = 0.02
}
>%
Solid {
translation IS translation
rotation IS rotation
name IS name
locked IS locked
children [
%<
for (let i = 0; i < widthCount; i++) {
for (let j = 0; j < heightCount; j++) {
let x = (i * (boxWidth + spacing) - (widthCount - 1) * (boxWidth + spacing) / 2) * scale.x;
let y = (j * (boxHeight + spacing) - (heightCount - 1) * (boxHeight + spacing) / 2) * scale.y;
>%
Transform {
translation %<= x >% 0 %<= y >%
scale %<= scale.x >% %<= scale.y >% %<= scale.z >%
children [
Shape {
appearance PBRAppearance {
roughness 1
metalness 0
IBLStrength 5
}
geometry Box {
size %<= boxWidth >% %<= boxDepth >% %<= boxHeight >%
}
}
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
metalness 0
}
geometry Mesh {
url ["./meshes/WorkspaceLimiter/fence.obj"]
}
}
]
}
%<
}
}
>%
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,130 @@
#OBJ
#T-FLEX CAD ObjGenerator generate date:21.11.2024 15:39:40
v 0.625 0.05 0.5
v 0.625 0.05 -0.5
v 0.574999 0.05 -0.449999
v -0.625 0.05 -0.5
v -0.574999 0.05 -0.449999
v -0.625 0.05 0.5
v -0.574999 0.05 0.449999
v 0.574999 0.05 0.449999
v 0.625 0 -0.5
v 0.625 0 0.5
v 0.574999 0 0.449999
v -0.625 0 0.5
v -0.574999 0 0.449999
v -0.625 0 -0.5
v -0.574999 0 -0.449999
v 0.574999 0 -0.449999
v 0.574999 0.05 0.449999
v 0.574999 0 0.449999
v -0.574999 0 0.449999
v -0.574999 0.05 0.449999
v 0.574999 0.05 -0.449999
v 0.574999 0 -0.449999
v 0.574999 0 0.449999
v 0.574999 0.05 0.449999
v -0.574999 0.05 -0.449999
v -0.574999 0 -0.449999
v 0.574999 0 -0.449999
v 0.574999 0.05 -0.449999
v -0.574999 0.05 0.449999
v -0.574999 0 0.449999
v -0.574999 0 -0.449999
v -0.574999 0.05 -0.449999
v 0.625 0.05 -0.5
v 0.625 0 -0.5
v -0.625 0 -0.5
v -0.625 0.05 -0.5
v 0.625 0.05 0.5
v 0.625 0 0.5
v 0.625 0 -0.5
v 0.625 0.05 -0.5
v -0.625 0.05 0.5
v -0.625 0 0.5
v 0.625 0 0.5
v 0.625 0.05 0.5
v -0.625 0.05 -0.5
v -0.625 0 -0.5
v -0.625 0 0.5
v -0.625 0.05 0.5
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
f 1//1 2//2 3//3
f 2//2 4//4 5//5
f 4//4 6//6 7//7
f 6//6 1//1 8//8
f 5//5 3//3 2//2
f 8//8 7//7 6//6
f 7//7 5//5 4//4
f 3//3 8//8 1//1
f 9//9 10//10 11//11
f 10//10 12//12 13//13
f 12//12 14//14 15//15
f 14//14 9//9 16//16
f 13//13 11//11 10//10
f 16//16 15//15 14//14
f 15//15 13//13 12//12
f 11//11 16//16 9//9
f 17//17 18//18 19//19
f 19//19 20//20 17//17
f 21//21 22//22 23//23
f 23//23 24//24 21//21
f 25//25 26//26 27//27
f 27//27 28//28 25//25
f 29//29 30//30 31//31
f 31//31 32//32 29//29
f 33//33 34//34 35//35
f 35//35 36//36 33//33
f 37//37 38//38 39//39
f 39//39 40//40 37//37
f 41//41 42//42 43//43
f 43//43 44//44 41//41
f 45//45 46//46 47//47
f 47//47 48//48 45//45
File diff suppressed because one or more lines are too long
@@ -0,0 +1,194 @@
#OBJ
#T-FLEX CAD ObjGenerator generate date:20.11.2024 23:59:52
v 0.27 0.23 -0.019999
v 0.27 0.949999 -0.019999
v 0.31 0.99 -0.019999
v -0.31 0.99 -0.019999
v -0.27 0.949999 -0.019999
v -0.27 0.23 -0.019999
v 0.27 0.189999 -0.019999
v -0.31 0 -0.019999
v -0.27 0.189999 -0.019999
v 0.31 0 -0.019999
v 0.27 0 -0.019999
v -0.27 -0 -0.019999
v -0.27 0.23 0.019999
v -0.27 0.189999 0.019999
v 0.27 0.189999 0.019999
v -0.31 0.99 0.019999
v -0.31 0 0.019999
v -0.27 -0 0.019999
v 0.27 0.949999 0.019999
v 0.31 0.99 0.019999
v 0.27 0.23 0.019999
v 0.31 0 0.019999
v -0.27 0.949999 0.019999
v 0.27 0 0.019999
v 0.27 0.23 0.019999
v 0.27 0.23 -0.019999
v -0.27 0.23 -0.019999
v -0.27 0.23 0.019999
v -0.31 0.99 0.019999
v -0.31 0.99 -0.019999
v -0.31 0 -0.019999
v -0.31 0 0.019999
v -0.31 0.99 0.019999
v 0.31 0.99 0.019999
v 0.31 0.99 -0.019999
v -0.31 0.99 -0.019999
v 0.31 0 0.019999
v 0.31 0 -0.019999
v 0.31 0.99 -0.019999
v 0.31 0.99 0.019999
v 0.27 0 0.019999
v 0.27 0 -0.019999
v 0.31 0 -0.019999
v 0.31 0 0.019999
v 0.27 0 -0.019999
v 0.27 0 0.019999
v 0.27 0.189999 0.019999
v 0.27 0.189999 -0.019999
v -0.27 0.189999 0.019999
v -0.27 0.189999 -0.019999
v 0.27 0.189999 -0.019999
v 0.27 0.189999 0.019999
v -0.27 -0 0.019999
v -0.27 -0 -0.019999
v -0.27 0.189999 -0.019999
v -0.27 0.189999 0.019999
v -0.31 0 0.019999
v -0.31 0 -0.019999
v -0.27 -0 -0.019999
v -0.27 -0 0.019999
v 0.27 0.23 -0.019999
v 0.27 0.23 0.019999
v 0.27 0.949999 0.019999
v 0.27 0.949999 -0.019999
v 0.27 0.949999 -0.019999
v 0.27 0.949999 0.019999
v -0.27 0.949999 0.019999
v -0.27 0.949999 -0.019999
v -0.27 0.949999 -0.019999
v -0.27 0.949999 0.019999
v -0.27 0.23 0.019999
v -0.27 0.23 -0.019999
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 1 -0 0
vn 1 -0 0
vn 1 -0 0
vn 1 -0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -0 -1 0
vn -0 -1 0
vn -0 -1 0
vn -0 -1 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
f 1//1 2//2 3//3
f 4//4 5//5 6//6
f 4//4 3//3 2//2
f 2//2 5//5 4//4
f 3//3 7//7 1//1
f 6//6 1//1 7//7
f 8//8 6//6 9//9
f 7//7 9//9 6//6
f 6//6 8//8 4//4
f 10//10 11//11 7//7
f 7//7 3//3 10//10
f 9//9 12//12 8//8
f 13//13 14//14 15//15
f 14//14 16//16 17//17
f 17//17 18//18 14//14
f 19//19 20//20 16//16
f 21//21 15//15 20//20
f 15//15 21//21 13//13
f 22//22 20//20 15//15
f 20//20 19//19 21//21
f 16//16 23//23 19//19
f 16//16 14//14 13//13
f 13//13 23//23 16//16
f 15//15 24//24 22//22
f 25//25 26//26 27//27
f 27//27 28//28 25//25
f 29//29 30//30 31//31
f 31//31 32//32 29//29
f 33//33 34//34 35//35
f 35//35 36//36 33//33
f 37//37 38//38 39//39
f 39//39 40//40 37//37
f 41//41 42//42 43//43
f 43//43 44//44 41//41
f 45//45 46//46 47//47
f 47//47 48//48 45//45
f 49//49 50//50 51//51
f 51//51 52//52 49//49
f 53//53 54//54 55//55
f 55//55 56//56 53//53
f 57//57 58//58 59//59
f 59//59 60//60 57//57
f 61//61 62//62 63//63
f 63//63 64//64 61//61
f 65//65 66//66 67//67
f 67//67 68//68 65//65
f 69//69 70//70 71//71
f 71//71 72//72 69//69
@@ -0,0 +1,222 @@
#OBJ
#T-FLEX CAD ObjGenerator generate date:20.11.2024 23:59:6
v 0.625 0.541 0.019999
v 0.625 0.764999 0.019999
v 0.675 0.721 0.019999
v 0.634999 0.764999 0.019999
v 0.675 0.725 0.019999
v 0.634999 0.541 0.019999
v 0.675 0.721 0.208
v 0.625 0.764999 0.208
v 0.625 0.541 0.208
v 0.675 0.725 0.208
v 0.634999 0.764999 0.208
v 0.634999 0.541 0.208
v 0.634999 0.764999 0.208
v 0.675 0.725 0.208
v 0.675 0.725 0.019999
v 0.634999 0.764999 0.019999
v 0.675 0.721 0.208
v 0.634999 0.541 0.208
v 0.634999 0.541 0.019999
v 0.675 0.721 0.019999
v 0.625 0.541 0.208
v 0.625 0.541 0.019999
v 0.634999 0.541 0.019999
v 0.634999 0.541 0.208
v 0.675 0.725 0.208
v 0.675 0.721 0.208
v 0.675 0.721 0.019999
v 0.675 0.725 0.019999
v 0.634999 0.764999 0.208
v 0.634999 0.764999 0.019999
v 0.625 0.764999 0.019999
v 0.625 0.764999 0.208
v 0.6125 0.787999 0.261999
v 0.0125 0.787999 0.261999
v 0.0125 0.012 0.261999
v 0.6125 0.012 0.261999
v 0.0125 0.787999 0.25
v 0.0125 0.787999 0.261999
v 0.6125 0.787999 0.261999
v 0.6125 0.787999 0.25
v 0.6125 0.787999 0.25
v 0.6125 0.787999 0.261999
v 0.6125 0.012 0.261999
v 0.6125 0.012 0.25
v 0.6125 0.012 0.25
v 0.6125 0.012 0.261999
v 0.0125 0.012 0.261999
v 0.0125 0.012 0.25
v 0.0125 0.012 0.25
v 0.0125 0.012 0.261999
v 0.0125 0.787999 0.261999
v 0.0125 0.787999 0.25
v 0.625 0 0
v 0 0 0
v 0 0.8 0
v 0.625 0.8 0
v 0 0 0.25
v 0.0125 0.012 0.25
v 0.0125 0.787999 0.25
v 0.625 0 0.25
v 0.6125 0.012 0.25
v 0.625 0.8 0.25
v 0.6125 0.787999 0.25
v 0 0.8 0.25
v 0.625 0.8 0.25
v 0.625 0.8 0
v 0 0.8 0
v 0 0.8 0.25
v 0 0 0.25
v 0 0 0
v 0.625 0 0
v 0.625 0 0.25
v 0 0 0
v 0 0 0.25
v 0 0.8 0.25
v 0 0.8 0
v 0.625 0.8 0
v 0.625 0.764999 0.019999
v 0.625 0.541 0.019999
v 0.625 0.541 0.208
v 0.625 0.764999 0.208
v 0.625 0.8 0.25
v 0.625 0 0
v 0.625 0 0.25
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0.707106 0.707106 0
vn 0.707106 0.707106 0
vn 0.707106 0.707106 0
vn 0.707106 0.707106 0
vn 0.976187 -0.21693 0
vn 0.976187 -0.21693 0
vn 0.976187 -0.21693 0
vn 0.976187 -0.21693 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn -0 1 0
vn -0 1 0
vn -0 1 0
vn -0 1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
f 1//1 2//2 3//3
f 2//2 4//4 5//5
f 5//5 3//3 2//2
f 3//3 6//6 1//1
f 7//7 8//8 9//9
f 7//7 10//10 11//11
f 9//9 12//12 7//7
f 11//11 8//8 7//7
f 13//13 14//14 15//15
f 15//15 16//16 13//13
f 17//17 18//18 19//19
f 19//19 20//20 17//17
f 21//21 22//22 23//23
f 23//23 24//24 21//21
f 25//25 26//26 27//27
f 27//27 28//28 25//25
f 29//29 30//30 31//31
f 31//31 32//32 29//29
f 33//33 34//34 35//35
f 35//35 36//36 33//33
f 37//37 38//38 39//39
f 39//39 40//40 37//37
f 41//41 42//42 43//43
f 43//43 44//44 41//41
f 45//45 46//46 47//47
f 47//47 48//48 45//45
f 49//49 50//50 51//51
f 51//51 52//52 49//49
f 53//53 54//54 55//55
f 55//55 56//56 53//53
f 57//57 58//58 59//59
f 60//60 61//61 58//58
f 58//58 57//57 60//60
f 60//60 62//62 63//63
f 64//64 59//59 63//63
f 59//59 64//64 57//57
f 63//63 62//62 64//64
f 63//63 61//61 60//60
f 65//65 66//66 67//67
f 67//67 68//68 65//65
f 69//69 70//70 71//71
f 71//71 72//72 69//69
f 73//73 74//74 75//75
f 75//75 76//76 73//73
f 77//77 78//78 79//79
f 80//80 81//81 82//82
f 79//79 83//83 77//77
f 81//81 78//78 77//77
f 80//80 84//84 83//83
f 77//77 82//82 81//81
f 83//83 79//79 80//80
f 82//82 84//84 80//80
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff