From 7224ecad0d3d7bbcf8d1b1927e8b6a3496d3415c Mon Sep 17 00:00:00 2001 From: Petr Pestryakov Date: Thu, 13 Nov 2025 16:27:23 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=94=D0=B8=D0=BF=D0=BB=D0=BE=D0=BC=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D1=87=D0=B0=D1=81=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes .idea/.gitignore | 3 + .idea/compiler.xml | 13 + .idea/encodings.xml | 7 + .idea/jarRepositories.xml | 20 + .idea/misc.xml | 12 + .idea/vcs.xml | 6 + pom.xml | 47 +- src/.DS_Store | Bin 0 -> 6148 bytes src/test/.DS_Store | Bin 0 -> 6148 bytes src/test/java/BunTest.java | 42 + src/test/java/BurgerPriceTest.java | 71 + src/test/java/BurgerReceiptTest.java | 61 + src/test/java/BurgerTest.java | 86 + target/classes/praktikum/Bun.class | Bin 0 -> 569 bytes target/classes/praktikum/Burger.class | Bin 0 -> 2397 bytes target/classes/praktikum/Database.class | Bin 0 -> 1483 bytes target/classes/praktikum/Ingredient.class | Bin 0 -> 791 bytes target/classes/praktikum/IngredientType.class | Bin 0 -> 968 bytes target/classes/praktikum/Praktikum.class | Bin 0 -> 1420 bytes target/jacoco.exec | Bin 0 -> 69595 bytes .../compile/default-compile/createdFiles.lst | 6 + .../compile/default-compile/inputFiles.lst | 6 + .../default-testCompile/createdFiles.lst | 4 + .../default-testCompile/inputFiles.lst | 4 + target/site/jacoco/index.html | 1 + .../site/jacoco/jacoco-resources/branchfc.gif | Bin 0 -> 91 bytes .../site/jacoco/jacoco-resources/branchnc.gif | Bin 0 -> 91 bytes .../site/jacoco/jacoco-resources/branchpc.gif | Bin 0 -> 91 bytes .../site/jacoco/jacoco-resources/bundle.gif | Bin 0 -> 709 bytes target/site/jacoco/jacoco-resources/class.gif | Bin 0 -> 586 bytes target/site/jacoco/jacoco-resources/down.gif | Bin 0 -> 67 bytes .../site/jacoco/jacoco-resources/greenbar.gif | Bin 0 -> 91 bytes target/site/jacoco/jacoco-resources/group.gif | Bin 0 -> 351 bytes .../site/jacoco/jacoco-resources/method.gif | Bin 0 -> 193 bytes .../site/jacoco/jacoco-resources/package.gif | Bin 0 -> 227 bytes .../site/jacoco/jacoco-resources/prettify.css | 13 + .../site/jacoco/jacoco-resources/prettify.js | 1510 +++++++++++++++++ .../site/jacoco/jacoco-resources/redbar.gif | Bin 0 -> 91 bytes .../site/jacoco/jacoco-resources/report.css | 243 +++ .../site/jacoco/jacoco-resources/report.gif | Bin 0 -> 363 bytes .../site/jacoco/jacoco-resources/session.gif | Bin 0 -> 213 bytes target/site/jacoco/jacoco-resources/sort.gif | Bin 0 -> 58 bytes target/site/jacoco/jacoco-resources/sort.js | 148 ++ .../site/jacoco/jacoco-resources/source.gif | Bin 0 -> 354 bytes target/site/jacoco/jacoco-resources/up.gif | Bin 0 -> 67 bytes target/site/jacoco/jacoco-sessions.html | 1 + target/site/jacoco/jacoco.csv | 7 + target/site/jacoco/jacoco.xml | 1 + target/site/jacoco/praktikum/Bun.html | 1 + target/site/jacoco/praktikum/Bun.java.html | 26 + target/site/jacoco/praktikum/Burger.html | 1 + target/site/jacoco/praktikum/Burger.java.html | 58 + target/site/jacoco/praktikum/Database.html | 1 + .../site/jacoco/praktikum/Database.java.html | 37 + target/site/jacoco/praktikum/Ingredient.html | 1 + .../jacoco/praktikum/Ingredient.java.html | 33 + .../site/jacoco/praktikum/IngredientType.html | 1 + .../jacoco/praktikum/IngredientType.java.html | 12 + target/site/jacoco/praktikum/Praktikum.html | 1 + .../site/jacoco/praktikum/Praktikum.java.html | 39 + target/site/jacoco/praktikum/index.html | 1 + .../site/jacoco/praktikum/index.source.html | 1 + target/surefire-reports/BunTest.txt | 4 + target/surefire-reports/BurgerPriceTest.txt | 4 + target/surefire-reports/BurgerReceiptTest.txt | 4 + target/surefire-reports/BurgerTest.txt | 4 + target/surefire-reports/TEST-BunTest.xml | 71 + .../surefire-reports/TEST-BurgerPriceTest.xml | 71 + .../TEST-BurgerReceiptTest.xml | 69 + target/surefire-reports/TEST-BurgerTest.xml | 81 + target/test-classes/BunTest.class | Bin 0 -> 1960 bytes target/test-classes/BurgerPriceTest.class | Bin 0 -> 2901 bytes target/test-classes/BurgerReceiptTest.class | Bin 0 -> 3255 bytes target/test-classes/BurgerTest.class | Bin 0 -> 3790 bytes 75 files changed, 2831 insertions(+), 2 deletions(-) create mode 100644 .DS_Store create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 src/.DS_Store create mode 100644 src/test/.DS_Store create mode 100644 src/test/java/BunTest.java create mode 100644 src/test/java/BurgerPriceTest.java create mode 100644 src/test/java/BurgerReceiptTest.java create mode 100644 src/test/java/BurgerTest.java create mode 100644 target/classes/praktikum/Bun.class create mode 100644 target/classes/praktikum/Burger.class create mode 100644 target/classes/praktikum/Database.class create mode 100644 target/classes/praktikum/Ingredient.class create mode 100644 target/classes/praktikum/IngredientType.class create mode 100644 target/classes/praktikum/Praktikum.class create mode 100644 target/jacoco.exec create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 target/site/jacoco/index.html create mode 100644 target/site/jacoco/jacoco-resources/branchfc.gif create mode 100644 target/site/jacoco/jacoco-resources/branchnc.gif create mode 100644 target/site/jacoco/jacoco-resources/branchpc.gif create mode 100644 target/site/jacoco/jacoco-resources/bundle.gif create mode 100644 target/site/jacoco/jacoco-resources/class.gif create mode 100644 target/site/jacoco/jacoco-resources/down.gif create mode 100644 target/site/jacoco/jacoco-resources/greenbar.gif create mode 100644 target/site/jacoco/jacoco-resources/group.gif create mode 100644 target/site/jacoco/jacoco-resources/method.gif create mode 100644 target/site/jacoco/jacoco-resources/package.gif create mode 100644 target/site/jacoco/jacoco-resources/prettify.css create mode 100644 target/site/jacoco/jacoco-resources/prettify.js create mode 100644 target/site/jacoco/jacoco-resources/redbar.gif create mode 100644 target/site/jacoco/jacoco-resources/report.css create mode 100644 target/site/jacoco/jacoco-resources/report.gif create mode 100644 target/site/jacoco/jacoco-resources/session.gif create mode 100644 target/site/jacoco/jacoco-resources/sort.gif create mode 100644 target/site/jacoco/jacoco-resources/sort.js create mode 100644 target/site/jacoco/jacoco-resources/source.gif create mode 100644 target/site/jacoco/jacoco-resources/up.gif create mode 100644 target/site/jacoco/jacoco-sessions.html create mode 100644 target/site/jacoco/jacoco.csv create mode 100644 target/site/jacoco/jacoco.xml create mode 100644 target/site/jacoco/praktikum/Bun.html create mode 100644 target/site/jacoco/praktikum/Bun.java.html create mode 100644 target/site/jacoco/praktikum/Burger.html create mode 100644 target/site/jacoco/praktikum/Burger.java.html create mode 100644 target/site/jacoco/praktikum/Database.html create mode 100644 target/site/jacoco/praktikum/Database.java.html create mode 100644 target/site/jacoco/praktikum/Ingredient.html create mode 100644 target/site/jacoco/praktikum/Ingredient.java.html create mode 100644 target/site/jacoco/praktikum/IngredientType.html create mode 100644 target/site/jacoco/praktikum/IngredientType.java.html create mode 100644 target/site/jacoco/praktikum/Praktikum.html create mode 100644 target/site/jacoco/praktikum/Praktikum.java.html create mode 100644 target/site/jacoco/praktikum/index.html create mode 100644 target/site/jacoco/praktikum/index.source.html create mode 100644 target/surefire-reports/BunTest.txt create mode 100644 target/surefire-reports/BurgerPriceTest.txt create mode 100644 target/surefire-reports/BurgerReceiptTest.txt create mode 100644 target/surefire-reports/BurgerTest.txt create mode 100644 target/surefire-reports/TEST-BunTest.xml create mode 100644 target/surefire-reports/TEST-BurgerPriceTest.xml create mode 100644 target/surefire-reports/TEST-BurgerReceiptTest.xml create mode 100644 target/surefire-reports/TEST-BurgerTest.xml create mode 100644 target/test-classes/BunTest.class create mode 100644 target/test-classes/BurgerPriceTest.class create mode 100644 target/test-classes/BurgerReceiptTest.class create mode 100644 target/test-classes/BurgerTest.class diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..418a3971c10abc46a7b88f05f020d1d1edc52127 GIT binary patch literal 6148 zcmeHKO-~a+7=EWz+JeXets=%`LoX%}q){-$7;3?2V+@26ECSZu?NC;>JI(Hv@)44r z_2dum2YB^l;>DvEuilJ5L9d?losSg|yb>|{CNs}F@5g*RyEC&30Hn~Y<^VJRNMhj_ z@51T?;eK9@NlaNf5sBzy8|vT`9cG!%vFOMUF%U8EuQ9;)ZUP#>aOaM}q5aED^zdV$ zfMx8b5YzxVzy}X3xyye?y*)X~Z21k-5mE2VhGYA|`1ofM>xiH0Oe7P@?&Ml&gSAS5 z5j6dR;jQr2B4dsj>V~;w(^f@G&oDPIY?pc>!LCvaS$%A~Rn{u7rd#zzZb>?lsbs36 z4essT$mK@$+^vcIQGIVJH!-SDPEPIbr;?fM_1g=TO{ea%7h+XF@B|amqcDV*sHipD z)|Ofg`4q0^tEPqPNp*Ff@43*c_4N<*rTa3O%*9KCmxrzlRkQ)qur_NRpXUs7m{)L` zbfxCm)l$Q-Y`0bp=yp)DcWFiI|08sPR-Yc27IzvLlRhwr?(Tb(x}v|i^>v>H% zMeFq~k2%gf^XFS_dtN8Cb&=NjDQFHz4&JeE^lHayR8YqYSl<`^b* z=G+1c0#+~E7IWpydqua{ocAd2GCTcUa+u9O43%qA(I6`oyjjwrrjTSmJlBQ3=rWh4 zviW)GN#QLt0(apNEWsx1!YgcO?=eUBi<@`uEX3KT6lCP1YqFnUIPlj(N~@fqyO;6z~tse$>cB{h<&sI@)y+4kRxzsv`y>297e&A)6Y%|L^_%|Nm%G)QT90 z82GOkAo1DKYyp>~?$%?A<9Dr&sv OAs}dos)&J8W#AXL0P52K literal 0 HcmV?d00001 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 000000000..9c7564d8e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 000000000..aa00ffab7 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 000000000..712ab9d98 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..d0cb5cf40 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..35eb1ddfb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 184bdae89..b6c22ef35 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,8 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.example @@ -11,6 +12,48 @@ 11 11 + UTF-8 + 4.13.2 + 4.11.0 + 0.8.8 - + + + junit + junit + ${junit.version} + test + + + org.mockito + mockito-core + ${mockito.version} + test + + + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + + prepare-agent + + + + report + test + + report + + + + + + + \ No newline at end of file diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b9bac7c16fe12088a7a159a215171a8c7b5c5986 GIT binary patch literal 6148 zcmeHKPfrs;6n_Inwji=VtB5h#*oz57X%q}GhFUP%7z42ci-2{v9m>jfrrF(6fspj9 zCqIB6z^f+{FCM*k^=AACdiA7l{wxT{$;244FPZthdGp@eeZS4j>;M4CH>+6y695cs z0uw#h{XxXMXh)<&Te=X5$Wick#qqdy&t@D8lD@3^ct(hb>1q5cGwK^w!bV! z3!HmSq}$G-OIu|#HN#nGyNvoWz^zhrS$X8LDsSa^lT`y5TT~N9(nyxg;hmjp+3c8= zy)m&nX6;O6C&sMF$*JAlq>;{Cz4@@b;nf*`Au9ud`7TKXPHDYz{egWuxYcH=W@g_w!zpF4ugwT5Q-A zm(@xkeI6FwZCW-554k?1)hGL=g{=nqr1lLm-CdtjCiBg$tpzkJ{iZLK&HkX`bI+US zfg8Gmugbmn+SMVC%z%dN40T2^t zmV&zc^+&XX0Wqhstq?6JM1>-%P@=CGMBf~U3di}J_HQdx;Xve*F^_&S(Ki&LFCN5_ z?m%)1<345}X5b(LooZ-`^ZyR6;bZRq2ZQ2K%s|Y*iDG~xW{b0VEJ>fOM~V|?t%dC= sHX*{Vtx$$wr;lT)h@*HIn-rY0go2pU*j9)Zl=w$L(hzqs1OJqPUu$*W4gdfE literal 0 HcmV?d00001 diff --git a/src/test/.DS_Store b/src/test/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0d106ff01bdb57f050fad32c746143758085644c GIT binary patch literal 6148 zcmeHKPfrs;6rTrGwji=VtB5h#*oz57X%q}GhFUP%7z3dMi-2{v9m>Ko)9h|rfspj9 zCqIB6z;9sU#iJLm-i#kXub%YHp9KNA8YBCXnctgve|Fz*Gc!Ac5Xd*GSwc)gh=EOD zq8qzEh_H)xOgi*T0ue-xg2yY4#~mDtgt5d7#0>n~42ZRxARELcO=2Hezj?G>|0zWl zvG3=!g1TPk@0_~l2I1J)XXxlmoH^TNbQwLyYH^*nilH4gg1qf7i_rq-o)hV|v*^-R z*-TAy7TPYOz6@}y6kS%HxU9-sdEQ{vK*ko8!AKg(vN^Q7do!CIwX(Oz_eQPV$?W*3 zH8C-{x0f{1nHzWJ%bVU7<1ZEMfcuh^UX2mFLS?@mx6;)0z^AC5ucjGQl>n8HPxYtM=?fQ!E)8EEE}MgnUD>Sp;!UTy$Njw5pvyJitrqKc#bvcpNMD3ScZZhE zfg`T-wEFB|YGJ#MKBwf@We<(nnuWc*s!F&z&NAHOm0qDl6bm|kbC4YStOfehrA|l z$XoKBd?a7UH}V6zz=W$X0=M8UOu<7az*DHeI=JAg1Rc>wzM{ra4*_cXAGuldna5cT z=OX{e@sy&b!RR@q^~Yt$48#na%z)S*ENlXE8rurx)`6Y80w9Xt2q~z`Uw=ePOd#eo zwiV(G3aC&-6$<)_0s7_uDje-O?cY|Y!U@PHV;=ov&^Hv&7Z0$cJAs_SxQ`i#892;9 zry82#{J)QD_=Nla;h=aFGY~WIUoilQnc_?yOVVfSvEsy8YhiniO^EPoE0iJF>El=` g;wT=%CIxMlP!Mw(+X`_8CH@hRG{jxZz+YwH7g{&c+W-In literal 0 HcmV?d00001 diff --git a/src/test/java/BunTest.java b/src/test/java/BunTest.java new file mode 100644 index 000000000..77f829fc8 --- /dev/null +++ b/src/test/java/BunTest.java @@ -0,0 +1,42 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import praktikum.Bun; + +import java.util.Arrays; +import java.util.Collection; + +import static org.junit.Assert.assertEquals; + +@RunWith(Parameterized.class) +public class BunTest { + + private final String name; + private final float price; + + public BunTest(String name, float price) { + this.name = name; + this.price = price; + } + + @Parameterized.Parameters(name = "Тест {index}: булочка ''{0}'' с ценой {1}") + public static Collection data() { + return Arrays.asList(new Object[][]{ + {"черная булочка", 100f}, + {"белая булочка", 200f}, + {"красная булочка", 300f} + }); + } + + @Test + public void testGetName() { + Bun bun = new Bun(name, price); + assertEquals("Название булочки должно совпадать", name, bun.getName()); + } + + @Test + public void testGetPrice() { + Bun bun = new Bun(name, price); + assertEquals("Цена булочки должна совпадать", price, bun.getPrice(), 0.001); + } +} \ No newline at end of file diff --git a/src/test/java/BurgerPriceTest.java b/src/test/java/BurgerPriceTest.java new file mode 100644 index 000000000..dcf7545ff --- /dev/null +++ b/src/test/java/BurgerPriceTest.java @@ -0,0 +1,71 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import praktikum.Bun; +import praktikum.Burger; +import praktikum.Ingredient; + +import java.util.Arrays; +import java.util.Collection; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +@RunWith(Parameterized.class) +public class BurgerPriceTest { + + private final Bun bun; + private final Ingredient[] ingredients; + private final float expectedPrice; + private static final float DELTA = 0.01f; + + public BurgerPriceTest(Bun bun, Ingredient[] ingredients, float expectedPrice) { + this.bun = bun; + this.ingredients = ingredients; + this.expectedPrice = expectedPrice; + } + + @Parameterized.Parameters(name = "Тест {index}: цена бургера с булочкой {0} и {1} ингредиентами = {2}") + public static Collection data() { + Bun cheapBun = mock(Bun.class); + when(cheapBun.getPrice()).thenReturn(100f); + + Bun expensiveBun = mock(Bun.class); + when(expensiveBun.getPrice()).thenReturn(200f); + + Ingredient sauce = mock(Ingredient.class); + when(sauce.getPrice()).thenReturn(50f); + + Ingredient cutlet = mock(Ingredient.class); + when(cutlet.getPrice()).thenReturn(100f); + + Ingredient cheese = mock(Ingredient.class); + when(cheese.getPrice()).thenReturn(80f); + + Ingredient salad = mock(Ingredient.class); + when(salad.getPrice()).thenReturn(30f); + + return Arrays.asList(new Object[][]{ + {cheapBun, new Ingredient[]{}, 200f}, + {cheapBun, new Ingredient[]{sauce}, 250f}, + {cheapBun, new Ingredient[]{cutlet, cheese}, 380f}, + {cheapBun, new Ingredient[]{sauce, cutlet, cheese, salad}, 460f}, + {expensiveBun, new Ingredient[]{}, 400f}, + {expensiveBun, new Ingredient[]{cutlet, cheese}, 580f} + }); + } + + @Test + public void testGetPriceWithDifferentBurgerCombinations() { + Burger burger = new Burger(); + burger.setBuns(bun); + + for (Ingredient ingredient : ingredients) { + burger.addIngredient(ingredient); + } + + assertEquals("Цена бургера должна соответствовать ожидаемой", + expectedPrice, burger.getPrice(), DELTA); + } +} \ No newline at end of file diff --git a/src/test/java/BurgerReceiptTest.java b/src/test/java/BurgerReceiptTest.java new file mode 100644 index 000000000..50e86d7b7 --- /dev/null +++ b/src/test/java/BurgerReceiptTest.java @@ -0,0 +1,61 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import praktikum.Bun; +import praktikum.Burger; +import praktikum.Ingredient; +import praktikum.IngredientType; + +import java.util.Arrays; +import java.util.Collection; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(Parameterized.class) +public class BurgerReceiptTest { + + private final String bunName; + private final IngredientType ingredientType; + private final String ingredientName; + + public BurgerReceiptTest(String bunName, IngredientType ingredientType, String ingredientName) { + this.bunName = bunName; + this.ingredientType = ingredientType; + this.ingredientName = ingredientName; + } + + @Parameterized.Parameters(name = "Тест {index}: чек для бургера с булочкой ''{0}'' и ингредиентом {1} ''{2}''") + public static Collection data() { + return Arrays.asList(new Object[][]{ + {"черная булочка", IngredientType.SAUCE, "острый соус"}, + {"белая булочка", IngredientType.FILLING, "котлета"}, + {"красная булочка", IngredientType.SAUCE, "чили соус"}, + {"особая булочка", IngredientType.FILLING, "сыр"} + }); + } + + @Test + public void testGetReceiptWithIngredients() { + Burger burger = new Burger(); + + Bun bunMock = mock(Bun.class); + when(bunMock.getName()).thenReturn(bunName); + when(bunMock.getPrice()).thenReturn(100f); + + Ingredient ingredientMock = mock(Ingredient.class); + when(ingredientMock.getType()).thenReturn(ingredientType); + when(ingredientMock.getName()).thenReturn(ingredientName); + when(ingredientMock.getPrice()).thenReturn(50f); + + burger.setBuns(bunMock); + burger.addIngredient(ingredientMock); + + String receipt = burger.getReceipt(); + + assertNotNull("Чек не должен быть null", receipt); + assertTrue("Чек должен содержать название булочки", receipt.contains(bunName)); + assertTrue("Чек должен содержать название ингредиента", receipt.contains(ingredientName.toLowerCase())); + assertTrue("Чек должен содержать цену", receipt.contains("Price:")); + } +} diff --git a/src/test/java/BurgerTest.java b/src/test/java/BurgerTest.java new file mode 100644 index 000000000..1f0ff422d --- /dev/null +++ b/src/test/java/BurgerTest.java @@ -0,0 +1,86 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import praktikum.Bun; +import praktikum.Burger; +import praktikum.Ingredient; +import praktikum.IngredientType; + +import java.util.Arrays; +import java.util.Collection; + +import static org.junit.Assert.*; + +@RunWith(Parameterized.class) +public class BurgerTest { + + private final IngredientType ingredientType; + private final String ingredientName; + private final float ingredientPrice; + + public BurgerTest(IngredientType ingredientType, String ingredientName, float ingredientPrice) { + this.ingredientType = ingredientType; + this.ingredientName = ingredientName; + this.ingredientPrice = ingredientPrice; + } + + @Parameterized.Parameters(name = "Тест {index}: операции с ингредиентом {0} ''{1}''") + public static Collection data() { + return Arrays.asList(new Object[][]{ + {IngredientType.SAUCE, "острый соус", 100f}, + {IngredientType.FILLING, "котлета", 100f}, + {IngredientType.SAUCE, "сметана", 200f}, + {IngredientType.FILLING, "сыр", 150f} + }); + } + + @Test + public void testAddIngredient() { + Burger burger = new Burger(); + Ingredient ingredient = new Ingredient(ingredientType, ingredientName, ingredientPrice); + + burger.addIngredient(ingredient); + + assertEquals("Должен быть один ингредиент", 1, burger.ingredients.size()); + assertEquals("Ингредиент должен совпадать", ingredient, burger.ingredients.get(0)); + } + + @Test + public void testRemoveIngredient() { + Burger burger = new Burger(); + Ingredient ingredient1 = new Ingredient(ingredientType, ingredientName, ingredientPrice); + Ingredient ingredient2 = new Ingredient(IngredientType.SAUCE, "чили соус", 300f); + + burger.addIngredient(ingredient1); + burger.addIngredient(ingredient2); + burger.removeIngredient(0); + + assertEquals("Должен остаться один ингредиент после удаления", 1, burger.ingredients.size()); + assertEquals("Оставшийся ингредиент должен совпадать", ingredient2, burger.ingredients.get(0)); + } + + @Test + public void testMoveIngredient() { + Burger burger = new Burger(); + Ingredient ingredient1 = new Ingredient(ingredientType, ingredientName, ingredientPrice); + Ingredient ingredient2 = new Ingredient(IngredientType.FILLING, "сосиска", 300f); + + burger.addIngredient(ingredient1); + burger.addIngredient(ingredient2); + burger.moveIngredient(0, 1); + + assertEquals("Первый ингредиент должен быть перемещен", ingredient2, burger.ingredients.get(0)); + assertEquals("Второй ингредиент должен быть перемещен", ingredient1, burger.ingredients.get(1)); + } + + @Test + public void testSetBuns() { + Burger burger = new Burger(); + Bun bun = new Bun("красная булочка", 300f); + + burger.setBuns(bun); + + assertNotNull("Булочка должна быть выбрана", burger.bun); + assertEquals("Булочка должна совпадать", bun, burger.bun); + } +} \ No newline at end of file diff --git a/target/classes/praktikum/Bun.class b/target/classes/praktikum/Bun.class new file mode 100644 index 0000000000000000000000000000000000000000..87cb2ee2c487895dbe486a61a0a60580b5d3fee0 GIT binary patch literal 569 zcmZut%SyvQ6g|@UK+>sab-F6hp zpnoD@Oheh@qi6_ZPh}vZGl5EV5!$GA$aFEeCAiR(f!~V9T|d0`x}$`9((^_gFO({u z7xm~)-YfJp^oEff#$)$94k&8&{iv19RIb(*r37*WT&06))fz{$+mkr#`3JrD7nE7HX@~mX^wgXfy?EDivz0Lo&cXn8e8hTED8k z`%<6$1$}erS~e8Bbos3R!yn;VTKAoqWTuqzaOcjs=j^l3KIcyO^S@tz2QZFr6&%5w zjJFkpFxP^UctZyWkr$RbG71vHt5s7%JX^N3E!)_tZjVh@ z%?SxH!(6xYf}xvsMM8UaQ`^zTs+38vkdX>86)GhD?!RgXglcBl*%|xQB&W|xPH-f-CneeJjR z7{ri-4!`YFmZjYjy;t!v22}Lpl#DeM>)23XV3SPz8S+ID4qGycDlTC{#WqY8C6rZs z3QIz_gCAh-QKP!4EBxzER{F(rILRSx_njA3H}yQ3R4^rj&nk8V<6Rcv#E7sYGu_2K z8K0^698)U35X+bNikc=(NAFAh$+e^@fHmU9+%?8@Cs+%ofP4a2{y}f;f$p+fhN@>#nc7~QG%$^;Lug?yK^b)+(hR$ zw934GSFlQn>=Dy>d3H`3sb$X6ytd8u2jq39h{V@Q*0x5Zi^0mg8M}1|<$$R%iO;Cw zS;Z|8nQz=HGjktH@eB25N1U>to)?`_54%+78na8;(yngJXca;>Yvr| z{J@zS+E!;DKK*;(M}~zV+So<;!BJ2+2t!D+X@e9g)u1!P!4RT}g3f!y6h>ag71Efb zRYmAubcSSH{Re%ty@@H8pcG-OAo$=3;>(Hl$Zt5Z9Cpbja*xrmhtBNtjL-Ru(}|-^ zP7s-Q)zDo-Pi{HFmt!KlhT}IMKK(0w2(mazCwje%HS|5kOZAX+4JUpgE4ThZv~Yi# z?Hy$U$M~*U!Vb!-;ag~Ge9i literal 0 HcmV?d00001 diff --git a/target/classes/praktikum/Database.class b/target/classes/praktikum/Database.class new file mode 100644 index 0000000000000000000000000000000000000000..17c973b76c5e95b553caddc83505c20731e4bcbb GIT binary patch literal 1483 zcmaJ>+foxj5Iqx;>?R~!mV}$2AYMXLf;UiuD1=)yf>lAR_%=zll7X28AyqzGzWEvY5tcn0$OZ_$%+B=mIo*A_XMg_v_8q`9o(D0Ago4Q+JV*pEfSYo; zrQo)TJKp&pKoEZ1ZO0U*RowHYRsa?Ey{Y$rf(HR4F{9#P5S^G+@kqsEX_`|puOg*l zLBXPeB?fQaHfjuAnN9wNCu~bp5*bmmk_>^YC>h+cO`T!%#Pv*O$K+d<*s`}1^R|(k zCI5C|luW%Sbi*RT*nbe|hNA=Y&j>?UvkYyq@eRr-RV`A;&WtehReL+Ho9jGZA&Zu& z7IZq z_1qGc{)?)8s`zT(Vluu>lnZm z=oK^a{1e{;iyy#~+e6z|c-^fp{srCx_;Z?~se1_QBj~})hOu1>oi>KGj%K6p0G+wd z=+e3+gVtbZ*n1>N3wuQJoU%u?-j+O3t*<3dRO@fz`Q+$wiPkBEY3+a)?ev=pk$#;> zpbHD=Mh-oAjR@W$iVx_+KKk*CH2zIqmkAZBtA;DMN+4zu hR+o9W3G6!r*Bccl(6yE%zLO-QXOdhek{eFQiGL7eQp5lN literal 0 HcmV?d00001 diff --git a/target/classes/praktikum/Ingredient.class b/target/classes/praktikum/Ingredient.class new file mode 100644 index 0000000000000000000000000000000000000000..38f1259cc4e7a3f4abaea848dd0280e357ad4b65 GIT binary patch literal 791 zcmaJ;$w~u35PdzFtd7Pd#(jw*B%>H_9uzM^KnN-*xliH{JIf@D6TzPn1%u$h5AdVJ z*FAxVj$W#(s_QLX{qgzs4&V^m86>cpMjUG@tgEn*#AXr&0W)~$y8_GAzVEaH*&cMu zXI|5HZ=~x5*StI8jOTPYGh1yr_fEOvc+K)v;7hN`yLjK14PJ_hK;l?>GB^=9DE>|N zo1{{zQRB3CLz-+=dhYq4TX+3yr{2-3y@u1NIlff&sA&eb@=hQhDMMGOrW;&_#$v@1 zttHtw*RRMGOTR6I1M0Z~s~q@e8JVlzz;Cz}smx`^yV_UFu`r1(3rVCbq>-^O0ZSkk zMJF&lUgt%<Fgj4%KI literal 0 HcmV?d00001 diff --git a/target/classes/praktikum/IngredientType.class b/target/classes/praktikum/IngredientType.class new file mode 100644 index 0000000000000000000000000000000000000000..bae348d58022412dfcd0ec1dc1a6780af66aca39 GIT binary patch literal 968 zcmaJO%jbCwh+iN%#vn&C@djpsU$@8>Wv|J5z3-lP&bjx!U%$Wo1n?HGl8~{XVH3|4%qw`IK}TLphKgB@ zl7>JORHVharC^&OZtWjeYYaK_(&ra}a}jn+b+6;wr;hCfM;|ZkGJ|qZH_dwE9sO-I z_s!#)#jyN-+KI#!cSF0+u$nif0_AG&)MiMVj%PQ*Zp-$Mc*~_7C1N-{V<_g$bAH83 zF84YmEASn!Q#PiFXUtxkyG`ypf@;Jkd%R1unSZ$$5*5dDf?bB}f28V0lR*wXI8;s2 zaylLlLZ6tVyhx~(wmUk!Jw{#g!fxe$kGs@V&FY1I+dgnawF{FyFN%V7%!zB9*YOfX zhQ<3XNJkbW9m`nJF^iOrG*S$yyPgR%bkl9O=aJNdyfJ3~GsAS<8Dn^pbRXe$w8O5C>=_ePAvp>{CWY5*aLjlqq^js~Fk<><`xz%=iER literal 0 HcmV?d00001 diff --git a/target/classes/praktikum/Praktikum.class b/target/classes/praktikum/Praktikum.class new file mode 100644 index 0000000000000000000000000000000000000000..eedb38ba4c39bbc6b41482aaf987061ed5335eb6 GIT binary patch literal 1420 zcmaJ>Yf}EX=YvWBsc7fK$#i zeeOp!J!iQrI8A&w=e(EmywCHVclrJ2$4>yWcpJhnCN!i%=#l$m2r4F|F(sFDAMWA4 zh6mF9P{Xv`AIW7#F0;Lu!((}x4`Bg|8lGraQV>`)Ez{w_mq_j_P*=-&p$E_yl3`j3Vu|uG&kvE0qFd^10?4;5XH+t^oVpkPwVTn+Q|Kw!aRov9jZnv)D`4J$fU@mxW;Gs)8N0&8rW=k&Pf zSjS5p8NAZ*8d(h+IySMTV;gTY?C99V9-qX!y4`wEQt@7KD|aXk92O>fvnWSm#clUc zB6+SQ>{6tif{@WfritOsOQRA|w5o7gMb15i9Hy|5&wKC+;)#wV zFW?Sdf2n*dJf8x8B9oCIgSI#yQb|WfJng$DRY#Oaw_KBS8+y$$N8hv@j<+yMq#L4` z9dRJc3X>wOwsd|1Y_kj6eU(Bh5~#>8C)%8^&RfZSjADp?1@hMeVk62mMk~!-;qD(l zh4R%6U*sBSIB|(*y?Kt~GOb>W;0iswti<7ipS~|==y`VvU-k?tcmKvj9f3_Q+Ps>Y z^nFLL2fxr;M<^9n)u!23hfY)LHUr&eu+#Lbb%axaI{Lq1AXUd;9Ty~JA0*`&gk5?; z5+1|=6%LVV6iG(sC}bUR>{EikRUF|4D!7Hu7;_~~H)Jq!jTk{xah(}_L1vEPCVLje fN9K>Q)(Ae}Hcu+4;I6PbRfQu{yO$ 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

praktikum

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total174 of 35851 %0 of 4100 %822326982026
praktikum17418451 %4100 %822326982026
\ No newline at end of file diff --git a/target/site/jacoco/jacoco-resources/branchfc.gif b/target/site/jacoco/jacoco-resources/branchfc.gif new file mode 100644 index 0000000000000000000000000000000000000000..989b46d30469b56b014758f846ee6c5abfda16aa GIT binary patch literal 91 zcmZ?wbhEHb6=b<*h$V|V6X-NwhSNb literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/branchnc.gif b/target/site/jacoco/jacoco-resources/branchnc.gif new file mode 100644 index 0000000000000000000000000000000000000000..1933e07c376bb71bdd9aac91cf858da3fcdb0f1c GIT binary patch literal 91 zcmZ?wbhEHb6=b<*h$V|V6X-N9U38B literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/branchpc.gif b/target/site/jacoco/jacoco-resources/branchpc.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbf711b7030929b733f22f7a0cf3dbf61fe7868f GIT binary patch literal 91 zcmZ?wbhEHbm$mi>nCYN#As;!%lJz1A{dHmlPuc literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/bundle.gif b/target/site/jacoco/jacoco-resources/bundle.gif new file mode 100644 index 0000000000000000000000000000000000000000..fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4 GIT binary patch literal 709 zcmZ?wbhEHb6krfwxXQrrpW*-7BK;o8CDEUD?$vun5^UNelT%D!ODhRsX(Ohwq+z^!{nkw1lu( zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc> zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/down.gif b/target/site/jacoco/jacoco-resources/down.gif new file mode 100644 index 0000000000000000000000000000000000000000..440a14db74e76c2b6e854eacac1c44414b166271 GIT binary patch literal 67 zcmZ?wbhEHbZ%p}jXB Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(} literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/greenbar.gif b/target/site/jacoco/jacoco-resources/greenbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ba65672530ee09f086821a26156836d0c91bd74 GIT binary patch literal 91 zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0 eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/group.gif b/target/site/jacoco/jacoco-resources/group.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ea580d278fb727e4ae692838877fa63c4becf9 GIT binary patch literal 351 zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86 zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47? zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@CwnVRxXubL!4|)qjO}gg>klxZ?TGXw~#-V zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<; ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/package.gif b/target/site/jacoco/jacoco-resources/package.gif new file mode 100644 index 0000000000000000000000000000000000000000..131c28da405493661e3253ef79a68bd273039295 GIT binary patch literal 227 zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3* zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7 z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx Mi%z;upCW@b03m@=3jhEB literal 0 HcmV?d00001 diff --git a/target/site/jacoco/jacoco-resources/prettify.css b/target/site/jacoco/jacoco-resources/prettify.css new file mode 100644 index 000000000..be5166e0f --- /dev/null +++ b/target/site/jacoco/jacoco-resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/target/site/jacoco/jacoco-resources/prettify.js b/target/site/jacoco/jacoco-resources/prettify.js new file mode 100644 index 000000000..b2766fe0a --- /dev/null +++ b/target/site/jacoco/jacoco-resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

+ * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/** the number of characters between tab columns */
    +window['PR_TAB_WIDTH'] = 8;
    +
    +/** Walks the DOM returning a properly escaped version of innerHTML.
    +  * @param {Node} node
    +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    +  */
    +window['PR_normalizedHtml']
    +
    +/** Contains functions for creating and registering new language handlers.
    +  * @type {Object}
    +  */
    +  = window['PR']
    +
    +/** Pretty print a chunk of code.
    +  *
    +  * @param {string} sourceCodeHtml code as html
    +  * @return {string} code as html, but prettier
    +  */
    +  = window['prettyPrintOne']
    +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +  * {@code class=prettyprint} and prettify them.
    +  * @param {Function?} opt_whenDone if specified, called when the last entry
    +  *     has been finished.
    +  */
    +  = window['prettyPrint'] = void 0;
    +
    +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    +window['_pr_isIE6'] = function () {
    +  var ieVersion = navigator && navigator.userAgent &&
    +      navigator.userAgent.match(/\bMSIE ([678])\./);
    +  ieVersion = ieVersion ? +ieVersion[1] : false;
    +  window['_pr_isIE6'] = function () { return ieVersion; };
    +  return ieVersion;
    +};
    +
    +
    +(function () {
    +  // Keyword lists for various languages.
    +  var FLOW_CONTROL_KEYWORDS =
    +      "break continue do else for if return while ";
    +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    +      "double enum extern float goto int long register short signed sizeof " +
    +      "static struct switch typedef union unsigned void volatile ";
    +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    +      "new operator private protected public this throw true try typeof ";
    +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    +      "concept concept_map const_cast constexpr decltype " +
    +      "dynamic_cast explicit export friend inline late_check " +
    +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    +      "template typeid typename using virtual wchar_t where ";
    +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    +      "abstract boolean byte extends final finally implements import " +
    +      "instanceof null native package strictfp super synchronized throws " +
    +      "transient ";
    +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    +      "as base by checked decimal delegate descending event " +
    +      "fixed foreach from group implicit in interface internal into is lock " +
    +      "object out override orderby params partial readonly ref sbyte sealed " +
    +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    +      "debugger eval export function get null set undefined var with " +
    +      "Infinity NaN ";
    +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    +      "goto if import last local my next no our print package redo require " +
    +      "sub undef unless until use wantarray while BEGIN END ";
    +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    +      "elif except exec finally from global import in is lambda " +
    +      "nonlocal not or pass print raise try with yield " +
    +      "False True None ";
    +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    +      " defined elsif end ensure false in module next nil not or redo rescue " +
    +      "retry self super then true undef unless until when yield BEGIN END ";
    +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    +      "function in local set then until ";
    +  var ALL_KEYWORDS = (
    +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    +
    +  // token style names.  correspond to css classes
    +  /** token style for a string literal */
    +  var PR_STRING = 'str';
    +  /** token style for a keyword */
    +  var PR_KEYWORD = 'kwd';
    +  /** token style for a comment */
    +  var PR_COMMENT = 'com';
    +  /** token style for a type */
    +  var PR_TYPE = 'typ';
    +  /** token style for a literal value.  e.g. 1, null, true. */
    +  var PR_LITERAL = 'lit';
    +  /** token style for a punctuation string. */
    +  var PR_PUNCTUATION = 'pun';
    +  /** token style for a punctuation string. */
    +  var PR_PLAIN = 'pln';
    +
    +  /** token style for an sgml tag. */
    +  var PR_TAG = 'tag';
    +  /** token style for a markup declaration such as a DOCTYPE. */
    +  var PR_DECLARATION = 'dec';
    +  /** token style for embedded source. */
    +  var PR_SOURCE = 'src';
    +  /** token style for an sgml attribute name. */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /** token style for an sgml attribute value. */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  /** A set of tokens that can precede a regular expression literal in
    +    * javascript.
    +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    +    * list, but I've removed ones that might be problematic when seen in
    +    * languages that don't support regular expression literals.
    +    *
    +    * <p>Specifically, I've removed any keywords that can't precede a regexp
    +    * literal in a syntactically legal javascript program, and I've removed the
    +    * "in" keyword since it's not a keyword in many languages, and might be used
    +    * as a count of inches.
    +    *
    +    * <p>The link a above does not accurately describe EcmaScript rules since
    +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +    * very well in practice.
    +    *
    +    * @private
    +    */
    +  var REGEXP_PRECEDER_PATTERN = function () {
    +      var preceders = [
    +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    +          "||=", "~" /* handles =~ and !~ */,
    +          "break", "case", "continue", "delete",
    +          "do", "else", "finally", "instanceof",
    +          "return", "throw", "try", "typeof"
    +          ];
    +      var pattern = '(?:^^|[+-]';
    +      for (var i = 0; i < preceders.length; ++i) {
    +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    +      }
    +      pattern += ')\\s*';  // matches at end, and matches empty string
    +      return pattern;
    +      // CAVEAT: this does not properly handle the case where a regular
    +      // expression immediately follows another since a regular expression may
    +      // have flags for case-sensitivity and the like.  Having regexp tokens
    +      // adjacent is not valid in any language I'm aware of, so I'm punting.
    +      // TODO: maybe style special characters inside a regexp as punctuation.
    +    }();
    +
    +  // Define regexps here so that the interpreter doesn't have to create an
    +  // object each time the function containing them is called.
    +  // The language spec requires a new object created even if you don't access
    +  // the $1 members.
    +  var pr_amp = /&/g;
    +  var pr_lt = /</g;
    +  var pr_gt = />/g;
    +  var pr_quot = /\"/g;
    +  /** like textToHtml but escapes double quotes to be attribute safe. */
    +  function attribToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;')
    +        .replace(pr_quot, '&quot;');
    +  }
    +
    +  /** escapest html special characters to html. */
    +  function textToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;');
    +  }
    +
    +
    +  var pr_ltEnt = /&lt;/g;
    +  var pr_gtEnt = /&gt;/g;
    +  var pr_aposEnt = /&apos;/g;
    +  var pr_quotEnt = /&quot;/g;
    +  var pr_ampEnt = /&amp;/g;
    +  var pr_nbspEnt = /&nbsp;/g;
    +  /** unescapes html to plain text. */
    +  function htmlToText(html) {
    +    var pos = html.indexOf('&');
    +    if (pos < 0) { return html; }
    +    // Handle numeric entities specially.  We can't use functional substitution
    +    // since that doesn't work in older versions of Safari.
    +    // These should be rare since most browsers convert them to normal chars.
    +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    +      var end = html.indexOf(';', pos);
    +      if (end >= 0) {
    +        var num = html.substring(pos + 3, end);
    +        var radix = 10;
    +        if (num && num.charAt(0) === 'x') {
    +          num = num.substring(1);
    +          radix = 16;
    +        }
    +        var codePoint = parseInt(num, radix);
    +        if (!isNaN(codePoint)) {
    +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    +                  html.substring(end + 1));
    +        }
    +      }
    +    }
    +
    +    return html.replace(pr_ltEnt, '<')
    +        .replace(pr_gtEnt, '>')
    +        .replace(pr_aposEnt, "'")
    +        .replace(pr_quotEnt, '"')
    +        .replace(pr_nbspEnt, ' ')
    +        .replace(pr_ampEnt, '&');
    +  }
    +
    +  /** is the given node's innerHTML normally unescaped? */
    +  function isRawContent(node) {
    +    return 'XMP' === node.tagName;
    +  }
    +
    +  var newlineRe = /[\r\n]/g;
    +  /**
    +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    +   */
    +  function isPreformatted(node, content) {
    +    // PRE means preformatted, and is a very common case, so don't create
    +    // unnecessary computed style objects.
    +    if ('PRE' === node.tagName) { return true; }
    +    if (!newlineRe.test(content)) { return true; }  // Don't care
    +    var whitespace = '';
    +    // For disconnected nodes, IE has no currentStyle.
    +    if (node.currentStyle) {
    +      whitespace = node.currentStyle.whiteSpace;
    +    } else if (window.getComputedStyle) {
    +      // Firefox makes a best guess if node is disconnected whereas Safari
    +      // returns the empty string.
    +      whitespace = window.getComputedStyle(node, null).whiteSpace;
    +    }
    +    return !whitespace || whitespace === 'pre';
    +  }
    +
    +  function normalizedHtml(node, out, opt_sortAttrs) {
    +    switch (node.nodeType) {
    +      case 1:  // an element
    +        var name = node.tagName.toLowerCase();
    +
    +        out.push('<', name);
    +        var attrs = node.attributes;
    +        var n = attrs.length;
    +        if (n) {
    +          if (opt_sortAttrs) {
    +            var sortedAttrs = [];
    +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    +            sortedAttrs.sort(function (a, b) {
    +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    +              });
    +            attrs = sortedAttrs;
    +          }
    +          for (var i = 0; i < n; ++i) {
    +            var attr = attrs[i];
    +            if (!attr.specified) { continue; }
    +            out.push(' ', attr.name.toLowerCase(),
    +                     '="', attribToHtml(attr.value), '"');
    +          }
    +        }
    +        out.push('>');
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          normalizedHtml(child, out, opt_sortAttrs);
    +        }
    +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    +          out.push('<\/', name, '>');
    +        }
    +        break;
    +      case 3: case 4: // text
    +        out.push(textToHtml(node.nodeValue));
    +        break;
    +    }
    +  }
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union o the sets o strings matched d by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +
    +    function decodeEscape(charsetPart) {
    +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    +      switch (charsetPart.charAt(1)) {
    +        case 'b': return 8;
    +        case 't': return 9;
    +        case 'n': return 0xa;
    +        case 'v': return 0xb;
    +        case 'f': return 0xc;
    +        case 'r': return 0xd;
    +        case 'u': case 'x':
    +          return parseInt(charsetPart.substring(2), 16)
    +              || charsetPart.charCodeAt(1);
    +        case '0': case '1': case '2': case '3': case '4':
    +        case '5': case '6': case '7':
    +          return parseInt(charsetPart.substring(1), 8);
    +        default: return charsetPart.charCodeAt(1);
    +      }
    +    }
    +
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    +        ch = '\\' + ch;
    +      }
    +      return ch;
    +    }
    +
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var groups = [];
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        switch (p) {
    +          case '\\B': case '\\b':
    +          case '\\D': case '\\d':
    +          case '\\S': case '\\s':
    +          case '\\W': case '\\w':
    +            groups.push(p);
    +            continue;
    +        }
    +        var start = decodeEscape(p);
    +        var end;
    +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +          end = decodeEscape(charsetParts[i + 2]);
    +          i += 2;
    +        } else {
    +          end = start;
    +        }
    +        ranges.push([start, end]);
    +        // If the range might intersect letters, then expand it.
    +        if (!(end < 65 || start > 122)) {
    +          if (!(end < 65 || start > 90)) {
    +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +          }
    +          if (!(end < 97 || start > 122)) {
    +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +          }
    +        }
    +      }
    +
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [NaN, NaN];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +      out.push.apply(out, groups);
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            capturedGroups[decimalValue] = -1;
    +          }
    +        }
    +      }
    +
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (capturedGroups[groupIndex] === undefined) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[groupIndex];
    +          }
    +        }
    +      }
    +
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +
    +      // Expand letters to groupts to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +
    +      return parts.join('');
    +    }
    +
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  var PR_innerHtmlWorks = null;
    +  function getInnerHtml(node) {
    +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    +    // an html description of well formed XML and the containing tag is a PRE
    +    // tag, so we detect that case and emulate innerHTML.
    +    if (null === PR_innerHtmlWorks) {
    +      var testNode = document.createElement('PRE');
    +      testNode.appendChild(
    +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    +    }
    +
    +    if (PR_innerHtmlWorks) {
    +      var content = node.innerHTML;
    +      // XMP tags contain unescaped entities so require special handling.
    +      if (isRawContent(node)) {
    +        content = textToHtml(content);
    +      } else if (!isPreformatted(node, content)) {
    +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    +      }
    +      return content;
    +    }
    +
    +    var out = [];
    +    for (var child = node.firstChild; child; child = child.nextSibling) {
    +      normalizedHtml(child, out);
    +    }
    +    return out.join('');
    +  }
    +
    +  /** returns a function that expand tabs to spaces.  This function can be fed
    +    * successive chunks of text, and will maintain its own internal state to
    +    * keep track of how tabs are expanded.
    +    * @return {function (string) : string} a function that takes
    +    *   plain text and return the text with tabs expanded.
    +    * @private
    +    */
    +  function makeTabExpander(tabWidth) {
    +    var SPACES = '                ';
    +    var charInLine = 0;
    +
    +    return function (plainText) {
    +      // walk over each character looking for tabs and newlines.
    +      // On tabs, expand them.  On newlines, reset charInLine.
    +      // Otherwise increment charInLine
    +      var out = null;
    +      var pos = 0;
    +      for (var i = 0, n = plainText.length; i < n; ++i) {
    +        var ch = plainText.charAt(i);
    +
    +        switch (ch) {
    +          case '\t':
    +            if (!out) { out = []; }
    +            out.push(plainText.substring(pos, i));
    +            // calculate how much space we need in front of this part
    +            // nSpaces is the amount of padding -- the number of spaces needed
    +            // to move us to the next column, where columns occur at factors of
    +            // tabWidth.
    +            var nSpaces = tabWidth - (charInLine % tabWidth);
    +            charInLine += nSpaces;
    +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    +              out.push(SPACES.substring(0, nSpaces));
    +            }
    +            pos = i + 1;
    +            break;
    +          case '\n':
    +            charInLine = 0;
    +            break;
    +          default:
    +            ++charInLine;
    +        }
    +      }
    +      if (!out) { return plainText; }
    +      out.push(plainText.substring(pos));
    +      return out.join('');
    +    };
    +  }
    +
    +  var pr_chunkPattern = new RegExp(
    +      '[^<]+'  // A run of characters other than '<'
    +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    +      // a probable tag that should not be highlighted
    +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    +      + '|<',  // A '<' that does not begin a larger chunk
    +      'g');
    +  var pr_commentPrefix = /^<\!--/;
    +  var pr_cdataPrefix = /^<!\[CDATA\[/;
    +  var pr_brPrefix = /^<br\b/i;
    +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    +
    +  /** split markup into chunks of html tags (style null) and
    +    * plain text (style {@link #PR_PLAIN}), converting tags which are
    +    * significant for tokenization (<br>) into their textual equivalent.
    +    *
    +    * @param {string} s html where whitespace is considered significant.
    +    * @return {Object} source code and extracted tags.
    +    * @private
    +    */
    +  function extractTags(s) {
    +    // since the pattern has the 'g' modifier and defines no capturing groups,
    +    // this will return a list of all chunks which we then classify and wrap as
    +    // PR_Tokens
    +    var matches = s.match(pr_chunkPattern);
    +    var sourceBuf = [];
    +    var sourceBufLen = 0;
    +    var extractedTags = [];
    +    if (matches) {
    +      for (var i = 0, n = matches.length; i < n; ++i) {
    +        var match = matches[i];
    +        if (match.length > 1 && match.charAt(0) === '<') {
    +          if (pr_commentPrefix.test(match)) { continue; }
    +          if (pr_cdataPrefix.test(match)) {
    +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    +            sourceBuf.push(match.substring(9, match.length - 3));
    +            sourceBufLen += match.length - 12;
    +          } else if (pr_brPrefix.test(match)) {
    +            // <br> tags are lexically significant so convert them to text.
    +            // This is undone later.
    +            sourceBuf.push('\n');
    +            ++sourceBufLen;
    +          } else {
    +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    +              // A <span class="nocode"> will start a section that should be
    +              // ignored.  Continue walking the list until we see a matching end
    +              // tag.
    +              var name = match.match(pr_tagNameRe)[2];
    +              var depth = 1;
    +              var j;
    +              end_tag_loop:
    +              for (j = i + 1; j < n; ++j) {
    +                var name2 = matches[j].match(pr_tagNameRe);
    +                if (name2 && name2[2] === name) {
    +                  if (name2[1] === '/') {
    +                    if (--depth === 0) { break end_tag_loop; }
    +                  } else {
    +                    ++depth;
    +                  }
    +                }
    +              }
    +              if (j < n) {
    +                extractedTags.push(
    +                    sourceBufLen, matches.slice(i, j + 1).join(''));
    +                i = j;
    +              } else {  // Ignore unclosed sections.
    +                extractedTags.push(sourceBufLen, match);
    +              }
    +            } else {
    +              extractedTags.push(sourceBufLen, match);
    +            }
    +          }
    +        } else {
    +          var literalText = htmlToText(match);
    +          sourceBuf.push(literalText);
    +          sourceBufLen += literalText.length;
    +        }
    +      }
    +    }
    +    return { source: sourceBuf.join(''), tags: extractedTags };
    +  }
    +
    +  /** True if the given tag contains a class attribute with the nocode class. */
    +  function isNoCodeTag(tag) {
    +    return !!tag
    +        // First canonicalize the representation of attributes
    +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    +                 ' $1="$2$3$4"')
    +        // Then look for the attribute we want.
    +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      source: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +    var notWs = /\S/;
    +
    +    /**
    +     * Lexes job.source and produces an output array job.decorations of style
    +     * classes preceded by the position at which they start in job.source in
    +     * order.
    +     *
    +     * @param {Object} job an object like {@code
    +     *    source: {string} sourceText plain text,
    +     *    basePos: {int} position of job.source in the larger chunk of
    +     *        sourceCode.
    +     * }
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.source, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    if (options['hashComments']) {
    +      if (options['cStyleComments']) {
    +        // Stop C preprocessor declarations at an unclosed open comment
    +        shortcutStylePatterns.push(
    +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +             null, '#']);
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /** Breaks {@code job.source} around style boundaries in
    +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    +    * and leaves the result in {@code job.prettyPrintedHtml}.
    +    * @param {Object} job like {
    +    *    source: {string} source as plain text,
    +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    +    *                   html preceded by their position in {@code job.source}
    +    *                   in order
    +    *    decorations: {Array.<number|string} an array of style classes preceded
    +    *                 by the position at which they start in job.source in order
    +    * }
    +    * @private
    +    */
    +  function recombineTagsAndDecorations(job) {
    +    var sourceText = job.source;
    +    var extractedTags = job.extractedTags;
    +    var decorations = job.decorations;
    +
    +    var html = [];
    +    // index past the last char in sourceText written to html
    +    var outputIdx = 0;
    +
    +    var openDecoration = null;
    +    var currentDecoration = null;
    +    var tagPos = 0;  // index into extractedTags
    +    var decPos = 0;  // index into decorations
    +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    +
    +    var adjacentSpaceRe = /([\r\n ]) /g;
    +    var startOrSpaceRe = /(^| ) /gm;
    +    var newlineRe = /\r\n?|\n/g;
    +    var trailingSpaceRe = /[ \r\n]$/;
    +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    +
    +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    +    var isIE678 = window['_pr_isIE6']();
    +    var lineBreakHtml = (
    +        isIE678
    +        ? (job.sourceNode.tagName === 'PRE'
    +           // Use line feeds instead of <br>s so that copying and pasting works
    +           // on IE.
    +           // Doing this on other browsers breaks lots of stuff since \r\n is
    +           // treated as two newlines on Firefox.
    +           ? (isIE678 === 6 ? '&#160;\r\n' :
    +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    +           // IE collapses multiple adjacent <br>s into 1 line break.
    +           // Prefix every newline with '&#160;' to prevent such behavior.
    +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    +           : '&#160;<br />')
    +        : '<br />');
    +
    +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    +    // number of the first line.
    +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    +    var lineBreaker;
    +    if (numberLines) {
    +      var lineBreaks = [];
    +      for (var i = 0; i < 10; ++i) {
    +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    +      }
    +      var lineNum = numberLines[1] && numberLines[1].length
    +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    +      if (lineNum) {
    +        html.push(' value="', lineNum + 1, '"');
    +      }
    +      html.push('>');
    +      lineBreaker = function () {
    +        var lb = lineBreaks[++lineNum % 10];
    +        // If a decoration is open, we need to close it before closing a list-item
    +        // and reopen it on the other side of the list item.
    +        return openDecoration
    +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    +      };
    +    } else {
    +      lineBreaker = lineBreakHtml;
    +    }
    +
    +    // A helper function that is responsible for opening sections of decoration
    +    // and outputing properly escaped chunks of source
    +    function emitTextUpTo(sourceIdx) {
    +      if (sourceIdx > outputIdx) {
    +        if (openDecoration && openDecoration !== currentDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        if (!openDecoration && currentDecoration) {
    +          openDecoration = currentDecoration;
    +          html.push('<span class="', openDecoration, '">');
    +        }
    +        // This interacts badly with some wikis which introduces paragraph tags
    +        // into pre blocks for some strange reason.
    +        // It's necessary for IE though which seems to lose the preformattedness
    +        // of <pre> tags when their innerHTML is assigned.
    +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    +        // and it serves to undo the conversion of <br>s to newlines done in
    +        // chunkify.
    +        var htmlChunk = textToHtml(
    +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    +            .replace(lastWasSpace
    +                     ? startOrSpaceRe
    +                     : adjacentSpaceRe, '$1&#160;');
    +        // Keep track of whether we need to escape space at the beginning of the
    +        // next chunk.
    +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    +        outputIdx = sourceIdx;
    +      }
    +    }
    +
    +    while (true) {
    +      // Determine if we're going to consume a tag this time around.  Otherwise
    +      // we consume a decoration or exit.
    +      var outputTag;
    +      if (tagPos < extractedTags.length) {
    +        if (decPos < decorations.length) {
    +          // Pick one giving preference to extractedTags since we shouldn't open
    +          // a new style that we're going to have to immediately close in order
    +          // to output a tag.
    +          outputTag = extractedTags[tagPos] <= decorations[decPos];
    +        } else {
    +          outputTag = true;
    +        }
    +      } else {
    +        outputTag = false;
    +      }
    +      // Consume either a decoration or a tag or exit.
    +      if (outputTag) {
    +        emitTextUpTo(extractedTags[tagPos]);
    +        if (openDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        html.push(extractedTags[tagPos + 1]);
    +        tagPos += 2;
    +      } else if (decPos < decorations.length) {
    +        emitTextUpTo(decorations[decPos]);
    +        currentDecoration = decorations[decPos + 1];
    +        decPos += 2;
    +      } else {
    +        break;
    +      }
    +    }
    +    emitTextUpTo(sourceText.length);
    +    if (openDecoration) {
    +      html.push('</span>');
    +    }
    +    if (numberLines) { html.push('</li></ol>'); }
    +    job.prettyPrintedHtml = html.join('');
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        source: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.source in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if ('console' in window) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null true false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var sourceCodeHtml = job.sourceCodeHtml;
    +    var opt_langExtension = job.langExtension;
    +
    +    // Prepopulate output in case processing fails with an exception.
    +    job.prettyPrintedHtml = sourceCodeHtml;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndExtractedTags.source;
    +      job.source = source;
    +      job.basePos = 0;
    +
    +      /** Even entries are positions in source in ascending order.  Odd entries
    +        * are tags that were extracted at that position.
    +        * @type {Array.<number|string>}
    +        */
    +      job.extractedTags = sourceAndExtractedTags.tags;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +      // Integrate the decorations and tags back into the source code to produce
    +      // a decorated html string which is left in job.prettyPrintedHtml.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if ('console' in window) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    +    var job = {
    +      sourceCodeHtml: sourceCodeHtml,
    +      langExtension: opt_langExtension
    +    };
    +    applyDecorator(job);
    +    return job.prettyPrintedHtml;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return (new Date).getTime(); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    function doWork() {
    +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock.now() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock.now() < endTime; k++) {
    +        var cs = elements[k];
    +        // [JACOCO] 'prettyprint' -> 'source'
    +        if (cs.className && cs.className.indexOf('source') >= 0) {
    +          // If the classes includes a language extensions, use it.
    +          // Language extensions can be specified like
    +          //     <pre class="prettyprint lang-cpp">
    +          // the language extension "cpp" is used to find a language handler as
    +          // passed to PR_registerLangHandler.
    +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    +          if (langExtension) { langExtension = langExtension[1]; }
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    +                 p.tagName === 'xmp') &&
    +                // [JACOCO] 'prettyprint' -> 'source'
    +                p.className && p.className.indexOf('source') >= 0) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // fetch the content as a snippet of properly escaped HTML.
    +            // Firefox adds newlines at the end.
    +            var content = getInnerHtml(cs);
    +            content = content.replace(/(?:\r\n?|\n)$/, '');
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              sourceCodeHtml: content,
    +              langExtension: langExtension,
    +              sourceNode: cs
    +            };
    +            applyDecorator(prettyPrintingJob);
    +            replaceWithPrettyPrintedHtml();
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    function replaceWithPrettyPrintedHtml() {
    +      var newContent = prettyPrintingJob.prettyPrintedHtml;
    +      if (!newContent) { return; }
    +      var cs = prettyPrintingJob.sourceNode;
    +
    +      // push the prettified html back into the tag.
    +      if (!isRawContent(cs)) {
    +        // just replace the old html with the new
    +        cs.innerHTML = newContent;
    +      } else {
    +        // we need to change the tag to a <pre> since <xmp>s do not allow
    +        // embedded tags such as the span tags used to attach styles to
    +        // sections of source code.
    +        var pre = document.createElement('PRE');
    +        for (var i = 0; i < cs.attributes.length; ++i) {
    +          var a = cs.attributes[i];
    +          if (a.specified) {
    +            var aname = a.name.toLowerCase();
    +            if (aname === 'class') {
    +              pre.className = a.value;  // For IE 6
    +            } else {
    +              pre.setAttribute(a.name, a.value);
    +            }
    +          }
    +        }
    +        pre.innerHTML = newContent;
    +
    +        // remove the old
    +        cs.parentNode.replaceChild(pre, cs);
    +        cs = pre;
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  window['PR_normalizedHtml'] = normalizedHtml;
    +  window['prettyPrintOne'] = prettyPrintOne;
    +  window['prettyPrint'] = prettyPrint;
    +  window['PR'] = {
    +        'combinePrefixPatterns': combinePrefixPatterns,
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE
    +      };
    +})();
    diff --git a/target/site/jacoco/jacoco-resources/redbar.gif b/target/site/jacoco/jacoco-resources/redbar.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..c2f71469ba995289439d86ea39b1b33edb03388c
    GIT binary patch
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/site/jacoco/jacoco-resources/report.css b/target/site/jacoco/jacoco-resources/report.css
    new file mode 100644
    index 000000000..dd936bca5
    --- /dev/null
    +++ b/target/site/jacoco/jacoco-resources/report.css
    @@ -0,0 +1,243 @@
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +.breadcrumb .info {
    +  float:right;
    +}
    +
    +.breadcrumb .info a {
    +  margin-left:8px;
    +}
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffaaaa;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +pre.source span.bfc {
    +  background-image: url(branchfc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bfc:hover {
    +  background-color:#80ff80;
    +}
    +
    +pre.source span.bnc {
    +  background-image: url(branchnc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bnc:hover {
    +  background-color:#ff8080;
    +}
    +
    +pre.source span.bpc {
    +  background-image: url(branchpc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bpc:hover {
    +  background-color:#ffff80;
    +}
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse;
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 14px 0px 6px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.bar {
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:2px;
    +}
    +
    +table.coverage thead td.sortable {
    +  cursor:pointer;
    +  background-image:url(sort.gif);
    +  background-position:right center;
    +  background-repeat:no-repeat;
    +}
    +
    +table.coverage thead td.up {
    +  background-image:url(up.gif);
    +}
    +
    +table.coverage thead td.down {
    +  background-image:url(down.gif);
    +}
    +
    +table.coverage tbody td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover {
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +table.coverage tfoot td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +}
    +
    +table.coverage tfoot td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/target/site/jacoco/jacoco-resources/report.gif b/target/site/jacoco/jacoco-resources/report.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..8547be50bf3e97e725920927b5aa4cdb031f4823
    GIT binary patch
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/site/jacoco/jacoco-resources/session.gif b/target/site/jacoco/jacoco-resources/session.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..0151bad8a001e5cc5cc7723a608185f746b7f8c1
    GIT binary patch
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/site/jacoco/jacoco-resources/sort.gif b/target/site/jacoco/jacoco-resources/sort.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7
    GIT binary patch
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/site/jacoco/jacoco-resources/sort.js b/target/site/jacoco/jacoco-resources/sort.js
    new file mode 100644
    index 000000000..fa9db0868
    --- /dev/null
    +++ b/target/site/jacoco/jacoco-resources/sort.js
    @@ -0,0 +1,148 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +
    +(function () {
    +
    +  /**
    +   * Sets the initial sorting derived from the hash.
    +   *
    +   * @param linkelementids
    +   *          list of element ids to search for links to add sort inidcator
    +   *          hash links
    +   */
    +  function initialSort(linkelementids) {
    +    window.linkelementids = linkelementids;
    +    var hash = window.location.hash;
    +    if (hash) {
    +      var m = hash.match(/up-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, true);
    +        }
    +        return;
    +      }
    +      var m = hash.match(/dn-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, false);
    +        }
    +        return
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header dependening on the current sort state.
    +   */
    +  function toggleSort(header) {
    +    var sortup = header.className.indexOf('down ') == 0;
    +    sortColumn(header, sortup);
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header in the given direction.
    +   */
    +  function sortColumn(header, sortup) {
    +    var table = header.parentNode.parentNode.parentNode;
    +    var body = table.tBodies[0];
    +    var colidx = getNodePosition(header);
    +
    +    resetSortedStyle(table);
    +
    +    var rows = body.rows;
    +    var sortedrows = [];
    +    for (var i = 0; i < rows.length; i++) {
    +      r = rows[i];
    +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    +    }
    +
    +    var hash;
    +
    +    if (sortup) {
    +      for (var i = sortedrows.length - 1; i >= 0; i--) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'up ' + header.className;
    +      hash = 'up-' + header.id;
    +    } else {
    +      for (var i = 0; i < sortedrows.length; i++) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'down ' + header.className;
    +      hash = 'dn-' + header.id;
    +    }
    +
    +    setHash(hash);
    +  }
    +
    +  /**
    +   * Adds the sort indicator as a hash to the document URL and all links.
    +   */
    +  function setHash(hash) {
    +    window.document.location.hash = hash;
    +    ids = window.linkelementids;
    +    for (var i = 0; i < ids.length; i++) {
    +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    +    }
    +  }
    +
    +  /**
    +   * Extend all links within the given tag with the given hash.
    +   */
    +  function setHashOnAllLinks(tag, hash) {
    +    links = tag.getElementsByTagName("a");
    +    for (var i = 0; i < links.length; i++) {
    +        var a = links[i];
    +        var href = a.href;
    +        var hashpos = href.indexOf("#");
    +        if (hashpos != -1) {
    +            href = href.substring(0, hashpos);
    +        }
    +        a.href = href + "#" + hash;
    +    }
    +  }
    +
    +  /**
    +   * Calculates the position of a element within its parent.
    +   */
    +  function getNodePosition(element) {
    +    var pos = -1;
    +    while (element) {
    +      element = element.previousSibling;
    +      pos++;
    +    }
    +    return pos;
    +  }
    +
    +  /**
    +   * Remove the sorting indicator style from all headers.
    +   */
    +  function resetSortedStyle(table) {
    +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    +      if (c.className) {
    +        if (c.className.indexOf('down ') == 0) {
    +          c.className = c.className.slice(5);
    +        }
    +        if (c.className.indexOf('up ') == 0) {
    +          c.className = c.className.slice(3);
    +        }
    +      }
    +    }
    +  }
    +
    +  window['initialSort'] = initialSort;
    +  window['toggleSort'] = toggleSort;
    +
    +})();
    diff --git a/target/site/jacoco/jacoco-resources/source.gif b/target/site/jacoco/jacoco-resources/source.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..b226e41c5276581db33d71525298ef572cc5d7ce
    GIT binary patch
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/site/jacoco/jacoco-resources/up.gif b/target/site/jacoco/jacoco-resources/up.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..58ed21660ec467736a4d2af17d91341f7cfb556c
    GIT binary patch
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
    new file mode 100644
    index 000000000..abb1dc217
    --- /dev/null
    +++ b/target/site/jacoco/jacoco-sessions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">praktikum</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">MacBook-Air-Petr.local-5aba0808</span></td><td>10 нояб. 2025 г., 19:31:23</td><td>10 нояб. 2025 г., 19:31:26</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">BunTest</span></td><td><code>4185452dba9b23a5</code></td></tr><tr><td><span class="el_class">BurgerPriceTest</span></td><td><code>b0cd39bc857dd9c0</code></td></tr><tr><td><span class="el_class">BurgerReceiptTest</span></td><td><code>0c9831c80790d9a9</code></td></tr><tr><td><span class="el_class">BurgerTest</span></td><td><code>f9800decebdd0785</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>d4e5f2084d659ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>907fca1b89111e0a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>c8b4f3ffa3a708cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>575662f2862fb481</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>77e9d686c976f6e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>65bfa03c85847dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>1fb9c5c929a4a173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>cdbdedcf0cea0a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>d02df3631a17fa08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>b75da15a4577d948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>99731a44c3f39c30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>3f135d4f310abf3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>3be4336e35a8cbfd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>5a2bb9e71930a24a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>5792db85826ac4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>da984e48de27d4a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>5c74d69cd94d649e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>a613c160b15bbc65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>1070489264457774</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>0b625f401d945e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>69f25e85d31086f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>b8003891860323ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7e080fcc4ab41eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>55a8b2f7b58a15aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>a2b247526c4d26ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>c3dca45e359b717d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>10e1e01ec4afb6b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>b96636e855735fc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>a6be8b00fa72ab7a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationSource.Empty</span></td><td><code>034fcbd435657d97</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>e46e60f3e4357d8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>6b46c288929d794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>650f7b88da7502df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>8683233734d98d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>ecf694f5c718a013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>113fe247f14fdcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>ad40ce4c8d647d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>649136274570c878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>25519a3723562b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>d0a4ee1eb78e8925</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>5cc6d38c7688ce9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>542fa217a5fe4c51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>9adc51229ebb26c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>451401174e8ca82f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>fda0610025cc12ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>256f9475d7baab5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>1a834bbf25c86ab4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>36efae2fe3237ba9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>5b47cbeca30adac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription</span></td><td><code>68bfcf27b64f643e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>8e18b7d4e1ceddcb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>e1174a0c69da5a57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>f267c31e54d89fa1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.SignatureToken</span></td><td><code>3fabeebea84ce146</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>3f20efc75bd15e42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>78739d279005d8a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>323b76a02a64f9a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>ea98dba6ef4eb758</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>cb9472a3dd295bbd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>deaeb62afc98ead8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>f8e1111441309268</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>d9fe344c56539dc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>673ca3d2d56a4b0a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>db01999a48adc399</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>20e100c8a3802774</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>d5f8ea2d4fb9f2a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>5888f2557f6a88e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>a89fdbfb13002946</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>8dc21d2e259d2c0f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>f7f14b8ac76ebd98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>b054427f9b6a48f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b03ab4c21a93dfd0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>38bd1bf17eb05676</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>40aa960dc7616ac5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>f1f510557a04392e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>173e1a83772e6071</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>8dd9bfdcb695c00c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>a18e1a81fc7465d0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>811597af8855d53c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>717f5d8d90c005f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>1aa2e08f2ad0d5c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>36549650fa40d54b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>1890975119bdb094</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>6cc95e3ea064743d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>6fe6f7a3a2c191ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f4a45d2f54ed28b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Explicit.ForTypes</span></td><td><code>75d84e0b4fcd99a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>1456c072c3be7105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>6d7eaa8911075319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>f0835708e2d15fb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>b77d0ee711552f0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>293f1f350b97c439</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.FieldManifestation</span></td><td><code>61ed9ad5f460d425</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>4c37457cc5fe415c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Ownership</span></td><td><code>03978521bbedeaac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SynchronizationState</span></td><td><code>1ee1e76d573ad75b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SyntheticState</span></td><td><code>0ea0b3d14a159257</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>823497b74af56cf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>eddec8671a9488f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>d7e383ada6123e01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>fbc5f3918eb9463b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>647cf445f49b7cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>0cb49b8e5cdceb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>fa2d664156de0c87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>b72447d1fcbe18bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>e252ac8a021f4082</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.SuperClassIterator</span></td><td><code>dcc41092c6176f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>36fd0fa20ad52135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>258559cdb4b6404f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>c72c2e5e6e03df99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>a900e473d864b2b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>8fa35f44ace50391</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>5601518ac3dba89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>3e49593313e4528f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>b0fc4c110c19aecd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>ce5936070db33961</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>83ae335cad65ee98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>3db4d13b1a55ffe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>68fd86a349490e9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>64cbe4cf03033a19</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>58348630fb7f5660</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>0f95408415168381</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>7d262d1efdc1a658</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>0ee749354388952f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>09e831a0a48649e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>4097c89a98a6a8c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>268259d971f079da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>cc35cbb5a12db70b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>ba4ed13a2c16fa27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>5bccd0ca3c6cf39e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>5734f0b82230f143</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>2203d6c2cc2e43d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>5656afa8f8c7fa04</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>837c46ba31dd9215</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>d13b176c2d3dc84b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>5d23c8971e97c94c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>ffefd02f303394e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>d952d613f637b449</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>f00423b3668c6a6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>91d595189a038777</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>4fa1e7c89c00c97f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>68b564e96aa7b7f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>2730ba635b3e4dae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>7c9ee6e3c386d02f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>6646869e65b4683e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f695f950ef96d452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>3887b35198c64c3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>dda2c47b308dfe77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>65dc96c548e3e991</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>da6e736f271084bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>84581ab83cefe0ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.WithoutTypeSubstitution</span></td><td><code>17ef049604f02334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>12b49bec0a736b32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>da60a7cfb717d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>4700315364477234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>59d00ad7b53c811a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>81495dfc3a359dfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>4356a7471aec6f20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>5376e1d2298a6512</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>df9431d33e66dbb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>1ab8c93e54ee2ac6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>1b6544725fdb45a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>05b85732c40f12b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ae7efc80de7c3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>c603bfa8790b860c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>d713fc161a8b3c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>41a985dd07ed867c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>99d4f3faf0ed1337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>74966b175ac75ab9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>2d651d381fd3d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>531a2e961b13325b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>5f4faab3b408ec94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter</span></td><td><code>fd8d7a11be3c9ede</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>e75374fa15e452ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>baf66768a8ba7010</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>24c4f03b22480ac9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>5914cb1a77b4c084</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>8becc0d3a2f579f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter</span></td><td><code>1e5cba284e697ff2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>cd65d88864fb9551</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>2c521e681717b547</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase</span></td><td><code>ae345146b4ff4937</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase</span></td><td><code>bbf864ab6ae58db5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter</span></td><td><code>c094da12c027af78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>9c472892ce0a50bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>d3915da6e1e1de4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>5d66e82b417f9b46</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>e0513b10037138a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>ce292c22036f8154</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>75703fad010e1cc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>0a7a2334f6a9b15d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>c67240824c7cd31a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>f1f199a3d7662651</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>a20cd2a086e77441</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>b010816c4e7b6513</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>ca6748217ece3884</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>e63ea06339154cad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>876286f205b44199</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>26c139b5f2f58862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.Compound</span></td><td><code>a5a52522b43091ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod</span></td><td><code>22ab387d59f6c970</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.MethodModifierTransformer</span></td><td><code>829c18ff395159ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod</span></td><td><code>083bfd5734c4504d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.AttachmentVisitor</span></td><td><code>43014c50e1310fbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameterList</span></td><td><code>54d561afbee57f99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>49cd89a2b3b975a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>d5784ee7fb36ce53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>ae8d9f7fd85c6aad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>63c0d42260c7599e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>a8389e9d32c4ecd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>30f7afc5a8be245c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>811732d1db761cc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>c9ee72578a4d55a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>f7eb2a49ccc0c5d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>331215a38873f162</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>9b4c6d016e86d89d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>e95efd9bc7c2fbec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>ee369f8a9915cac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>0fe8982cff47681a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>ef15ca0109cc8f56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>fe60291c22873865</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>17fb081ccc92f99c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>7390ec8634515594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>759cb7a298fc98b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>88c49bdd78533ba6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>fae0995eb7740944</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.MultipleParentClassLoader.Builder</span></td><td><code>c6fb9f2d63f216f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Undefined</span></td><td><code>1b8dafe51f80088c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>31480ec85144aa31</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>d0ed587787d4d89f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>52e278e8d81b4dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.AbstractBase</span></td><td><code>db8c5004661a0bd8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy</span></td><td><code>0e8431af1152b965</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy.Factory</span></td><td><code>d97235dbbc3871e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Simple</span></td><td><code>7e3dca01a01498d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>cc5265630d0906f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>00933225bc77b175</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled.Entry</span></td><td><code>0ec1361a69a955fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Entry</span></td><td><code>a7413622fd851aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>83177f7ca587cf30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>cd900ae01efd903f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>a7ce85bb2f37ff77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>ad157a47dace4f55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>fc88be698cc4a50f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>ad55505e167100d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>a37bac0e0eceb0c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>4b92bfc82ab49b25</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>e2da236960e0a189</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>421619c0f44567f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>82540bbf94c15922</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>5d9ad1d55d82a355</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>f948e4de58324a0f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>1fc852958287c36a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>6672a261c5f5dd2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>0f0b18948cce4159</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>f50e2614e64a132c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>0ba0f74ab7d66be7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>7341085250d5f338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>f9767f80e7124acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>8e20af4bf9dad8a0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>3f435ec381113f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>9a1f1f9d25ac44be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>35ae92274e85ac88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>dd840dc4ea29fc06</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>827864e42dc177c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>66b9b2c39c4a08ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>3c270a20a21353d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>e96586202cb119f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>ea77701fcbc47e2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>7b000ab44a4af2cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>eec49897d441dcbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>1d64a300c478cbd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a3bc2736d5ad95f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple</span></td><td><code>3429322f4d42e2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>b9ab70dc0d5e3c60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>c13cf997e386f3cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>d4f0d2e7fbcab045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>fc9ad618be46b3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3f5380fd3549f07e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>0449b85d73902e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField</span></td><td><code>a03e0587988aae1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>9527fd76169900c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>e3fde8a86929682d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>963047d43410ba83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>28a00d78fb553a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>928d954d831a88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>0d114e09a2faac83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>16fc5c99e02d7f9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>dd199479878d5739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>792ea5ce51475037</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>98fceb895a262b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>f0898605f9020c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>16995528b814abfb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>c2850d79fc87446b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>17f509a8b52b39f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>f6c0a700d93e9d10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>282c73cc811d5b71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>2eb773d398b87160</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>903a99da03746eb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor</span></td><td><code>0174e94238af9d2f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative</span></td><td><code>e3f1a92ea73df3a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative.Prepared</span></td><td><code>c55029896988613b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty</span></td><td><code>751b847060c7cd95</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty</span></td><td><code>623c50de803e8dff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty.Appender</span></td><td><code>db2e4aeceee38d5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>d63040bc175192ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AbstractPropertyAccessorMethod</span></td><td><code>4a69ecc69149f327</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethod</span></td><td><code>147ddbd116dc5018</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation</span></td><td><code>4ecb89b1b8e43487</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.CacheValueField</span></td><td><code>091aa1cc83b89353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord</span></td><td><code>7772d9b1460b4444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>329a9c16f45fea72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.FieldCacheEntry</span></td><td><code>93ea3c3584aedbb3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>a2bce3211300b141</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>85cfd05a0313231d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>1a7229cc1aa2fe64</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>4c4edc4b4128953d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>0086e69e9329bfd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>99ac1d4463895d3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>7916d516ba029853</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>891cf9f2a321fafd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>29b19b204be139f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>3ba9a760aa49a971</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>8279f38afb254f72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>1af8ca0d9b7adbe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodAccessorFactory.AccessType</span></td><td><code>a8b1b417256441f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>9251b44dfd29e831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>b108fada5fdaf224</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>27c6e8587355ecbd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>b4db52149f474bc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>655146ce4ac9eab5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>b28621164470f5a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>99f3c681fe17468e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>7498b3460d90e103</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>04cc8ab3c2c8bcbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>4240030260d49936</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>8661202aa19373c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>7e75be1c6b4d6117</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>f9781532f50651fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>dfae9890b6004933</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>d6f1bb290a2a92f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>ec9af1244cdb0f2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.Appender</span></td><td><code>578e9e4be578040b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall</span></td><td><code>78b3eb01c3540dcc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>f19452fcc061d904</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>c804a366d1128499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>48a9709638c71f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>1278488d60ed8e86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>35d2e0ef6d7f630d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>05664af3a3b6738b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>be670f96c6d93831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>7787cf7f483d6685</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>040d5aab72de4582</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnField</span></td><td><code>52ad3ce83f52621f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>b2534f024a4880dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>c9f39d80b694c092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>db8f4f1dbbcf3c3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>6dca59a58d56874f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>190882f8828de18a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>593737e47cc84848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>a61861baa0bc96ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.FieldAttributeAppender.ForInstrumentedField</span></td><td><code>ca19f51ae14fb7b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Compound</span></td><td><code>87d24d92007e506e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Factory.Compound</span></td><td><code>85113e9ca3ae38c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>a3b87b1a75d290fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>10e734a991eea3bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType</span></td><td><code>577555a7861b5701</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>9ff4d19573d987f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy</span></td><td><code>e4ad67673bba91b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.AssignableSignatureCall</span></td><td><code>e32307e618f933aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall</span></td><td><code>b40129a97ef170e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall.Appender</span></td><td><code>6a4a35552c21bf78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall</span></td><td><code>d2f0f120376a3b4f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall.Appender</span></td><td><code>df4a3b2e219da333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.PrecomputedMethodGraph</span></td><td><code>7fb29fbd9d22e04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>74973272be85ce17</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver.ParameterIndexToken</span></td><td><code>a8052b758f0a0361</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>d1000b5d5bf7bd79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.1</span></td><td><code>54de841f73ee4eae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>7d40b5a2d5d69397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>eab4a548d2693cd2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Resolution</span></td><td><code>e8ca39d95b4ade42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>ed3f9e212bdf4696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder</span></td><td><code>ffaacecf2e1956bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder.Build</span></td><td><code>fbe15ed2c0b7c26f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Illegal</span></td><td><code>ca301be97fe35cde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodInvoker.Simple</span></td><td><code>dafea2ba3b2f164b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous</span></td><td><code>30b0f734840f8b2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Unique</span></td><td><code>c60c100f523804e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.Processor</span></td><td><code>1dd9238ba412581f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>946265fda2ca27e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>db109132d7373fda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>cb3895b610bd15d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>65a8d1431b34fdcd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>58a025cd0f10dff1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>bfcd0244baa95f1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>b7e6501b9bd85e65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>9d613cfc7a8f0cd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>ad9a5463673957e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>5750463a9b2658fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>653fe2b1bb93cce4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>2fd170c18c979895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>fdd8dd2baa86d3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>d7e4b58cec267a0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>03d209c7b50b3b07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>6af2e8e3cdad25b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>ffe1f66fdf57240f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>b16d4f0b5def41e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>f6eaa0a37f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>58bfe04015269f97</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>79ef98193cf36f83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>90a2fb5cbb2fc45c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>159db3adf8f80917</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>d504027b57aeebbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>787b81ea7c3cf9d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>a9644f0a487b56f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>08e777de45b651f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>fe4b74c6469cb373</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>53b08d554175038c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>6f273cd5a9428c36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>49c4acf91fc87123</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>f5597b43768b5a7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>b3e837fb5b95fa04</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Compound</span></td><td><code>0f6ce72d7ea48338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Simple</span></td><td><code>3d7cd79d87926f75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>897030ac0b46252c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication</span></td><td><code>87726ed8bb6e39de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.1</span></td><td><code>6cbf4aae44bb9c6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.2</span></td><td><code>204abf23cbf37c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.3</span></td><td><code>0631976e078609bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>6d539a300caa5092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ab763f3b743f79a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>fd766afb93ac2a09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ac4a0904ac3e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>96939a22aac4c91b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>e69b15cd3e8d4461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>80f94e8effa2f7bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.TypeCreation</span></td><td><code>4865d2e454028bc1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>7e67d52e9390b000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>b09adf7fa17d04b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>1a445bd188e2931d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>dac9a66a711d1bdb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>96e0379915a5a251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>c888a19b998b7769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>14e47d44e5cebb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>adf7d49661fe0566</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>1008755d8fe45330</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>796408ff7247d988</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>3df36760b29d387a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>3623cb487284bb53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>59b5f6f8641c87f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>f2dcfb1430649b3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>7ff584cc516e3f40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>2ffee25860dde2e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>2420354f9fdfb502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>8c2c8e360f844ad5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>a779a54b4d7fcd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>56544d5987e5a6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>829c95b7b67e95cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>bdee038754940fff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>58a28f871a6a0499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>113f925135fa3020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>4af2674773bedc86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.CachedMethod</span></td><td><code>927dce16203d5f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>5c66dba4a8bfbcea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>9cf4bfc5c52a2517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>76b9599de59f2aeb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess</span></td><td><code>e098860a4703e90a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher</span></td><td><code>20c90535a547e3cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.AbstractFieldInstruction</span></td><td><code>75724b7b6b2e4a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldGetInstruction</span></td><td><code>adcac7724ac0272c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldPutInstruction</span></td><td><code>aeaedb775e139b65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>ccdb8e0f61d03f72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>7edd2eb29addcb20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>7ec211e72c6c3719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>0b690307be533e18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>3f3d0d86b569e241</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>4794627822a950ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>202001c737179f70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>98826fd4e883df65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>c9c9db052671c945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>21cf79e64cb95598</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>3a3fa5cb8e06f5c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>76fc9326535687d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>f44d88efeab63dac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>00001f478e852135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>904cbca1953e75e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>45a01df29df18510</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>b9cc80f05fd1a1b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>4b49360620cb7f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>4c083a293a95675e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>fc276a6c128e2875</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>76b5d2cc623cc312</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>640386844f0e29b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>670278e525ff9bfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>8f59b8be9ab4a58b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>72a4630003105f69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>76e282c5482618bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>d129e1a5bbea50cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>6586c7d2abf8bf59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>78eb86ff19c5e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>40b97e222b442c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>4ccc5ccec6e01297</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>7ddcccca3867f2c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>327b39df894c794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>acc833b482b3e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>994e694dc878695f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Disjunction</span></td><td><code>cf547e86976c153f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken</span></td><td><code>08b4951ce99afdff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken.ResolvedMatcher</span></td><td><code>7a313b55df92d5ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>acf53d7e0ad9c66c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>a1b47b682cdd16e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>838bf93f64347719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>d565dce3bed4679b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>4f9a1c61c2ca1d30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>754bf9d07553d1f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>1b6fa22a35a706bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>d9a4a7f8ba8d705a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>df4da3ccf1c43fb2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>9f8edcf420246fae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>5b30e294f2304972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>9c8b9e468a9ba4ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>4c3709005a13f932</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>93400b67a6230353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>c0d2e66fbd31c083</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>09bd88f8f539be92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>b901fc4b35799fa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>a7d93978e9d78d7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>60c758b99c3d9148</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>236df1d1d60ab580</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>78a8ab1a5e998326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>197cd818fecbf0dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>130a12e752b093e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>37e1825b2b41bae8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>34a59e75ad57ee16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>6b18de0e0195fcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>bdaf5299d13e3bfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>f608050eb76b29c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>7a1f43a330aa49e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>d97cfe0669542624</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SuperTypeMatcher</span></td><td><code>5f65e9ccb1649334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>bea3cd319f7a9ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>6f0d2c70b6ce50e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>03ef41c73bcdac6f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>1ef4bf1634aa9314</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>d45eb8340ca21b2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>f60fbd5bc692f3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>8c0a9ed2a729f1ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>b8b501baeee21c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>c7333b6b982e8e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>99c2d8870a99ec8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>bb7f751c11c3b61b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>5223602c7c397de6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>4e5549fe1a1bb16a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>475c5a28b2a65671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>787d0fb443c33196</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForDefaultValue</span></td><td><code>4ebad402feea5e1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForDefaultValue.OfNonPrimitiveArray</span></td><td><code>8e244cbf0b1c2c9a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>348c5ed1a0ea72ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>bf4d2158c4101736</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>2cbd19f9947661fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>fa40b0b626be1aa7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>8ca4ae6007eb9fd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>9a96cee67ed31732</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>8b81db7b9bb021a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>a4eb032d57e965fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>74124300a1be96ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>3dcb9c5481b99d57</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>50e0945fec76b333</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.BaseProviderFactory</span></td><td><code>da939a0152866a4b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.BiProperty</span></td><td><code>ed0281592f3976b4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.Command</span></td><td><code>52d7b732759793ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.Constants</span></td><td><code>8f58b0da27218c74</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.DumpErrorSingleton</span></td><td><code>ea25742803c9e73f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.ForkedProcessEventType</span></td><td><code>4f32ae2d4e670365</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.ForkingReporterFactory</span></td><td><code>be06f83accc5a8aa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.ForkingRunListener</span></td><td><code>c34d0a9f28f66585</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.MasterProcessCommand</span></td><td><code>fc8c116a509256d1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.Shutdown</span></td><td><code>47a37ed2a684ef1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.cli.CommandLineOption</span></td><td><code>5825f848ee2abcd7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.filter.NonAbstractClassFilter</span></td><td><code>bac4a9198196b6ad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.provider.AbstractProvider</span></td><td><code>0fea65ed91d7c12a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ConsoleOutputCapture</span></td><td><code>7ee3451cf95e2f70</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>804935f758ebaea3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>a81300d2d50decb6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ReporterConfiguration</span></td><td><code>bf4075c0385296c2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.RunMode</span></td><td><code>70edc0a9dea60143</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.SimpleReportEntry</span></td><td><code>5acc6a35bed0445f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder</span></td><td><code>c6f3b2781f9ac881</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.BufferedStream</span></td><td><code>11f69a75bc1c7211</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.Memento</span></td><td><code>e504a9e8cfc028af</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.Segment</span></td><td><code>773004ac6cd115ef</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.StreamReadStatus</span></td><td><code>8d5ee1d510b5c935</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamEncoder</span></td><td><code>9547668418a858ad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.SegmentType</span></td><td><code>77b0d78ed3ddd126</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.suite.RunResult</span></td><td><code>0eef4ae883b6fcaa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.DirectoryScannerParameters</span></td><td><code>529e83b831c47f72</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.IncludedExcludedPatterns</span></td><td><code>e12220ce508068df</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest</span></td><td><code>119a5faa0ae08a91</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest.ClassMatcher</span></td><td><code>cb9dd1b6069a872b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest.MethodMatcher</span></td><td><code>1d5196f3dfcebd52</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest.Type</span></td><td><code>6f46eedd1917ca66</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.RunOrderParameters</span></td><td><code>f74f6b3eb9f1a132</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.TestArtifactInfo</span></td><td><code>6d162cddde2db959</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.TestListResolver</span></td><td><code>0f4645f0d7fd02c8</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.TestRequest</span></td><td><code>1cb2946d8f0dc9e4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.CloseableIterator</span></td><td><code>01846c357efacb7b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.DefaultRunOrderCalculator</span></td><td><code>21a42ec0f6d63b8e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.DefaultScanResult</span></td><td><code>01695a339c66ab8d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.ReflectionUtils</span></td><td><code>7f9a430ae144c985</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.RunOrder</span></td><td><code>93376844e6d709d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.TestsToRun</span></td><td><code>db4e8195893ece6d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.TestsToRun.ClassesIterator</span></td><td><code>543f26bfbdd04ce0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleReadableChannel</span></td><td><code>6826ce793980b64e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel</span></td><td><code>484afcc5593fbc9a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.Channels</span></td><td><code>eb60281181a1dc33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.Channels.3</span></td><td><code>605144c3f67338aa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.Channels.4</span></td><td><code>4834cf9402eabd28</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ClassMethod</span></td><td><code>817ad544e129b000</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.DaemonThreadFactory</span></td><td><code>b2161e778265b95d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>e3fb668fa8792230</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.DumpFileUtils</span></td><td><code>9cc0f89ffb46ba32</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ImmutableMap</span></td><td><code>c7398d64c0977b06</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ImmutableMap.Node</span></td><td><code>3a9862055afaee58</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ObjectUtils</span></td><td><code>992d9f9f62042416</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.TestClassMethodNameUtils</span></td><td><code>c96abeed5fa75a6a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>f8b4034fe9c934d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>d2b4a565d2c195cc</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>c511fbfeb1f35c23</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>d05af49602124353</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>d14c58928ac6aa7b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>8bc1181d0c5af474</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>72a8e2906ddc1c93</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>f6a6b02be2fb0964</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>c8ce6ed3be8ec9bc</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>68f2dae15ae26cc2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>fc217f2c1d87c099</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>2afb302f7c81f991</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>850ef2748b5ef5e6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>9577114e02a5bdef</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.8</span></td><td><code>3c8febd047cd2b0c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>c83e3af27d5d3c47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedNodeArg</span></td><td><code>9dbb0ff22dfc1303</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>f83a9169197e13b1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessCheckerType</span></td><td><code>e554be35191ff5a7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>1e4e30276db2e62e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>ec2cd1e39ec4278e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>70176a3dd903d57a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>a843c08e9b5c79ad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>355d20d53741b604</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.AbstractMasterProcessChannelProcessorFactory</span></td><td><code>67a1c051e3809086</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.AbstractMasterProcessChannelProcessorFactory.1</span></td><td><code>cc936f6c85f9235a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.AbstractMasterProcessChannelProcessorFactory.2</span></td><td><code>a1fa70e4af42c555</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.CommandChannelDecoder</span></td><td><code>6684e6bad0b7c71e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.EventChannelEncoder</span></td><td><code>b69d9287bf010b1a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.EventChannelEncoder.StackTrace</span></td><td><code>265e85a5e039b0af</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.LegacyMasterProcessChannelProcessorFactory</span></td><td><code>3b29862697f79d34</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.SurefireMasterProcessChannelProcessorFactory</span></td><td><code>8c14c673718fba9e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.stream.CommandDecoder</span></td><td><code>a23a4082e2bbd1ed</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.stream.CommandDecoder.1</span></td><td><code>950700970edca54a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.stream.EventEncoder</span></td><td><code>7c894cb22c8c16ca</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit3.JUnit3TestChecker</span></td><td><code>3df3144c058afe39</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil</span></td><td><code>17dc9f06bacd89c3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4Reflector</span></td><td><code>be0a89076ee835a8</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListener</span></td><td><code>321cf67f603a9748</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory</span></td><td><code>f960a666ec2b1056</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4TestChecker</span></td><td><code>b125367edb33ddb7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnitTestFailureListener</span></td><td><code>317f6d02dd6c4e74</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.Notifier</span></td><td><code>12b1613f216694e3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider</span></td><td><code>24efdeaea8558a34</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider.1</span></td><td><code>496831ec2081181a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ClassMethodIndexer</span></td><td><code>0e8f3008aec84fcb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.JavaVersion</span></td><td><code>4e21c3be19560aac</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.StringUtils</span></td><td><code>f086d3427078adb7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.SystemUtils</span></td><td><code>e5eafc9ce14dcbec</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.math.NumberUtils</span></td><td><code>11e46630af73f131</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.utils.StringUtils</span></td><td><code>abd8480c7152bf46</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.utils.cli.ShutdownHookUtils</span></td><td><code>011b23cd829ec86c</code></td></tr><tr><td><span class="el_class">org.junit.Assert</span></td><td><code>eda6db924019425b</code></td></tr><tr><td><span class="el_class">org.junit.internal.Checks</span></td><td><code>5f543b0bb87b92da</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter</span></td><td><code>a26607ae067f7352</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.1</span></td><td><code>d3997b4bdb7889c1</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.2</span></td><td><code>c8e6351cbf098013</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AllDefaultPossibilitiesBuilder</span></td><td><code>4f18a1d7932cb8ab</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AnnotatedBuilder</span></td><td><code>0faf353d180c9332</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.IgnoredBuilder</span></td><td><code>e152f333c53967a6</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit3Builder</span></td><td><code>4a2cc8e608e1275e</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit4Builder</span></td><td><code>f2e00a3e1fc23005</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.SuiteMethodBuilder</span></td><td><code>1df136431e07e393</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest</span></td><td><code>47dbc61675e5a92e</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest.CustomAllDefaultPossibilitiesBuilder</span></td><td><code>ea1c269d9656f543</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest.CustomSuiteMethodBuilder</span></td><td><code>03d01020b1c503c7</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.MemoizingRequest</span></td><td><code>1e70801476dbab8f</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.EachTestNotifier</span></td><td><code>077481995383e000</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.ReflectiveCallable</span></td><td><code>d591724635588bcb</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator</span></td><td><code>95b5ee2068ec6875</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.Builder</span></td><td><code>f24845fa6fd065af</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.DeclaringClassMustBePublic</span></td><td><code>1de994463c748d89</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeARule</span></td><td><code>e24e9f59de6fe5b7</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeATestRule</span></td><td><code>690823bd2992f52e</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeNonStaticOrAlsoClassRule</span></td><td><code>1e703fb3e7f4e533</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBePublic</span></td><td><code>806c174eb921b478</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeStatic</span></td><td><code>ac28a03dd36b2b5a</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeARule</span></td><td><code>88ea4a2237de2b8b</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeATestRule</span></td><td><code>9f4dd18a26005c18</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.statements.InvokeMethod</span></td><td><code>05a7aa636afa2c39</code></td></tr><tr><td><span class="el_class">org.junit.runner.Description</span></td><td><code>1d6f7ddbbf223f9a</code></td></tr><tr><td><span class="el_class">org.junit.runner.Request</span></td><td><code>214d9ade1c7dc38d</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result</span></td><td><code>ecf6c1c04298ff7d</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result.Listener</span></td><td><code>cf649a4ffbe55db9</code></td></tr><tr><td><span class="el_class">org.junit.runner.Runner</span></td><td><code>f5abacc70e2e08a4</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunListener</span></td><td><code>69d2c783b42f6720</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier</span></td><td><code>f6313076e2224ebb</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.1</span></td><td><code>e31025c12b4dbdee</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.2</span></td><td><code>4c7314c6d595dc3e</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.3</span></td><td><code>df2bada5cb3794f3</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.4</span></td><td><code>fbdd84204c215de7</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.5</span></td><td><code>f62dc396b601f8bd</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.9</span></td><td><code>c3c3d54b8ed47ee1</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.SafeNotifier</span></td><td><code>0b43c10299733bfb</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.SynchronizedRunListener</span></td><td><code>2b59d5cb3b105225</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner</span></td><td><code>95752fb34ff12f3f</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.1</span></td><td><code>d0f63145230a5f42</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.2</span></td><td><code>f93eace695ddd30e</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.RuleCollector</span></td><td><code>9c768e710e39c989</code></td></tr><tr><td><span class="el_class">org.junit.runners.Parameterized</span></td><td><code>963841242a61a1e2</code></td></tr><tr><td><span class="el_class">org.junit.runners.Parameterized.RunnersFactory</span></td><td><code>c5ee5b5ac59f40b0</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner</span></td><td><code>335ee90b10f96ea1</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.1</span></td><td><code>ecc6961e8bc209c4</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.2</span></td><td><code>c5cb913a629ec4c8</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.3</span></td><td><code>20bad8188aebc0f2</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.4</span></td><td><code>80476dbdcb8d52cc</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.ClassRuleCollector</span></td><td><code>26f7fb338afcd13b</code></td></tr><tr><td><span class="el_class">org.junit.runners.RuleContainer</span></td><td><code>d44c3ba6dc65af53</code></td></tr><tr><td><span class="el_class">org.junit.runners.RuleContainer.1</span></td><td><code>57bbc73f6f47763b</code></td></tr><tr><td><span class="el_class">org.junit.runners.Suite</span></td><td><code>154944342f498508</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkField</span></td><td><code>2fe27c284e7d39f4</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMember</span></td><td><code>bfd059486f267475</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod</span></td><td><code>f293b82d5aa86323</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod.1</span></td><td><code>8fd5e02769c0e0c2</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.RunnerBuilder</span></td><td><code>585cad2d320dc86e</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.Statement</span></td><td><code>9a75aa5de27bf4d5</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass</span></td><td><code>7e71209792391ee8</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass.FieldComparator</span></td><td><code>1b96cd3d5c4aeb07</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass.MethodComparator</span></td><td><code>0369eb29eb04248a</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters</span></td><td><code>ebeaa09f1f8eb6f3</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.1</span></td><td><code>c4024da18ca412c5</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.InjectionType</span></td><td><code>4a7c5c9856e4e9f4</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory</span></td><td><code>6f2e3a2b7ea357b7</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.TestWithParameters</span></td><td><code>0ec69411e744952d</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationValidatorFactory</span></td><td><code>e1e5570798173ab9</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator</span></td><td><code>6cbe8454c9a93bb8</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.AnnotatableValidator</span></td><td><code>d211a963f22be103</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.ClassValidator</span></td><td><code>1b463c4e6642e880</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.FieldValidator</span></td><td><code>64068b954dc56a31</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.MethodValidator</span></td><td><code>f16b57f17c787036</code></td></tr><tr><td><span class="el_class">org.junit.validator.PublicClassValidator</span></td><td><code>3bac248cf06b18e4</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>7bb49d321e73bbc5</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>577272f0518bf2bf</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>7c1c365c15c2133e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>8c1dee29fb0da68b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>b1d3667699da5bde</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>1837784d8946effa</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>c193dbfbfd7e7112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>5d2c645125c6e76f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>6712157121b4c009</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>093bcb2236e9e096</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>63f2cd0aa6f4adfe</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>b0201f8ea6674009</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>b56656ae000198c7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>973f142b836667e1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>d946fdf7c3f2c58b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>fda3656b50f9d2f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>a0b8a7c6baea530e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>ef9e70f0651edcfb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>ff53f63a8240eb6e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>7ea1353e5c77b5f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>ef96156d4aa39063</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>dc8e823dfe533d87</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>91ac516637b8c4ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker</span></td><td><code>e18344ca184c75a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>896014d879c42ec9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>161a6ae9389d4da3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor</span></td><td><code>0b02a477841f06a5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.DispatcherDefaultingToRealMethod</span></td><td><code>eb121594c82e0f72</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.ForHashCode</span></td><td><code>5950ac1448663d13</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>77380dd282d3eb30</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>d8515816e294707d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker</span></td><td><code>11d36e9ecc8c0605</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker.1</span></td><td><code>8361f13ee7b2c0cd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>b13aa2a3c3f5de88</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>47ea8dba5b15c796</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>55a84d6cf8f318a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>123a98feabc81a7a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>8fb34c2e10b7db99</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeSupport</span></td><td><code>652949fe1e4bb215</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>3900ee0969504a34</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>e451a21eadbc4d30</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>c4b00e979fa0a182</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.Java9PlusLocationImpl</span></td><td><code>c89b58bdb45a8526</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.Java9PlusLocationImpl.MetadataShim</span></td><td><code>51626abff131ec07</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>28d49edcf5091319</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.Java9PlusLocationFactory</span></td><td><code>7041d193e796a0ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>370150513bd990b0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>475c82ec8ba01c75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>7c138f78143ab433</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>236482acbbebaf4a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>973b60d05d2d4a4d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>40a1d637e9eadd05</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>d50039fd637b3496</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>06ea8a896a1550ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>40a1bce4be9e6523</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>1a1152b98b0c7d86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>0f3f05080ade9bf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>80b88eded9ee9335</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>60f4d78d262883d3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>b39b9426c9814ac7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.FromBehavior</span></td><td><code>3606745ce75bc7b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.FromCallable</span></td><td><code>91b88c5e1e6b856f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.FromCallable.1</span></td><td><code>851ae10acd2d90b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>1314bab3c1422857</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>0d588952c2946cca</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>ac456a2a5b693d6e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6b94cdf6e74e7282</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>83a3e5fcf460cd8d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>92818897164b80b6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>a1ad00aef40918d3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>fd2449d941ed721b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>5ef9d6f1a875dc18</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>1c85bd989b9441aa</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>0fd68c747fb3e1ac</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>1b3fea0e4598e3dc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>f2057cd0aee1a50b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>70d6f02b67d57b4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>646db189ef95b765</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>738da3903cdefa65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>16da2f316c946fec</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>de0c324c57207f3c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>558393abbeee5acd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>b865c001022cfefe</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>f308e3faf16f6212</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>7a1b5ff44181d6b8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>fb54ce54650adcb6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>f923109370288432</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>4a4f9f45d874e56f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>56e4359834584989</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>2df789f77987f023</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>c6a1d20be0e11d77</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>b50468c7ba4abdba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>0581c028953ad812</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>b073c74d6aea57f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>c374206ea5426e18</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>d287b066371cb395</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>2e0e0e3f520fd2eb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>3126a7777504288b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>fc180f2e2cfb19c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f2f271f84160edef</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>85227a69a82c938b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>356b7028b146ffda</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>f614172becdb4957</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ReflectionMemberAccessor</span></td><td><code>5b659ecadce64e6d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>2c81cbe8de7c014f</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>35d1981ec862bf72</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.instantiator.sun.SunReflectionFactoryHelper</span></td><td><code>d17e7b3403696605</code></td></tr><tr><td><span class="el_class">org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator</span></td><td><code>6156947e7d7c507c</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.PlatformDescription</span></td><td><code>c6456f671febfd7c</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><a href="praktikum/Bun.html" class="el_class">praktikum.Bun</a></td><td><code>9bbff48f5ab149ab</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0</span></td><td><code>1522817904504ac1</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0.auxiliary.01PIO8gy</span></td><td><code>10c391239d15fad5</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0.auxiliary.25ad0ikC</span></td><td><code>4ae25ce08bdf8b5a</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0.auxiliary.S73rGv1y</span></td><td><code>11ed49fa7473c589</code></td></tr><tr><td><a href="praktikum/Burger.html" class="el_class">praktikum.Burger</a></td><td><code>b4dadda402dde431</code></td></tr><tr><td><a href="praktikum/Ingredient.html" class="el_class">praktikum.Ingredient</a></td><td><code>26e77bf1546192ff</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu</span></td><td><code>9edaa0641d192863</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu.auxiliary.3ApAOwvS</span></td><td><code>c90d8293b04602c2</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu.auxiliary.9bLVnSkC</span></td><td><code>2f7c62b416679566</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu.auxiliary.Iv2OVqla</span></td><td><code>30ae4d6bb6b54104</code></td></tr><tr><td><a href="praktikum/IngredientType.html" class="el_class">praktikum.IngredientType</a></td><td><code>ac8aa2b81b2c7423</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_ru</span></td><td><code>7711049ed4b6e8d6</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>3d1ea3e23b319ce9</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>eebde39dfb7981b7</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
    new file mode 100644
    index 000000000..2399a879f
    --- /dev/null
    +++ b/target/site/jacoco/jacoco.csv
    @@ -0,0 +1,7 @@
    +GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
    +praktikum,praktikum,Bun,0,15,0,0,0,6,0,3,0,3
    +praktikum,praktikum,IngredientType,0,24,0,0,0,3,0,1,0,1
    +praktikum,praktikum,Burger,0,133,0,4,0,23,0,9,0,7
    +praktikum,praktikum,Database,106,0,0,0,15,0,3,0,3,0
    +praktikum,praktikum,Ingredient,9,12,0,0,3,5,3,1,3,1
    +praktikum,praktikum,Praktikum,59,0,0,0,14,0,2,0,2,0
    diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
    new file mode 100644
    index 000000000..bbe51dc46
    --- /dev/null
    +++ b/target/site/jacoco/jacoco.xml
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="praktikum"><sessioninfo id="MacBook-Air-Petr.local-5aba0808" start="1762792283542" dump="1762792286078"/><package name="praktikum"><class name="praktikum/Bun" sourcefilename="Bun.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;F)V" line="12"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="18"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()F" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/IngredientType" sourcefilename="IngredientType.java"><method name="&lt;clinit&gt;" desc="()V" line="8"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/Burger" sourcefilename="Burger.java"><method name="&lt;init&gt;" desc="()V" line="12"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setBuns" desc="(Lpraktikum/Bun;)V" line="18"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addIngredient" desc="(Lpraktikum/Ingredient;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeIngredient" desc="(I)V" line="26"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="moveIngredient" desc="(II)V" line="30"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()F" line="34"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getReceipt" desc="()Ljava/lang/String;" line="44"><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="133"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/Database" sourcefilename="Database.java"><method name="&lt;init&gt;" desc="()V" line="11"><counter type="INSTRUCTION" missed="100" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="availableBuns" desc="()Ljava/util/List;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="availableIngredients" desc="()Ljava/util/List;" line="33"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="106" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="praktikum/Ingredient" sourcefilename="Ingredient.java"><method name="&lt;init&gt;" desc="(Lpraktikum/IngredientType;Ljava/lang/String;F)V" line="14"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()F" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getName" desc="()Ljava/lang/String;" line="25"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getType" desc="()Lpraktikum/IngredientType;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="12"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="3" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/Praktikum" sourcefilename="Praktikum.java"><method name="&lt;init&gt;" desc="()V" line="5"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="9"><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="59" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Database.java"><line nr="11" mi="5" ci="0" mb="0" cb="0"/><line nr="12" mi="5" ci="0" mb="0" cb="0"/><line nr="14" mi="2" ci="0" mb="0" cb="0"/><line nr="15" mi="9" ci="0" mb="0" cb="0"/><line nr="16" mi="9" ci="0" mb="0" cb="0"/><line nr="17" mi="9" ci="0" mb="0" cb="0"/><line nr="19" mi="10" ci="0" mb="0" cb="0"/><line nr="20" mi="10" ci="0" mb="0" cb="0"/><line nr="21" mi="10" ci="0" mb="0" cb="0"/><line nr="23" mi="10" ci="0" mb="0" cb="0"/><line nr="24" mi="10" ci="0" mb="0" cb="0"/><line nr="25" mi="10" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="106" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Bun.java"><line nr="12" mi="0" ci="2" mb="0" cb="0"/><line nr="13" mi="0" ci="3" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="1" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Burger.java"><line nr="12" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="5" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="0" ci="1" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="11" mb="0" cb="2"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="14" mb="0" cb="0"/><line nr="46" mi="0" ci="11" mb="0" cb="2"/><line nr="47" mi="0" ci="17" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="13" mb="0" cb="0"/><line nr="52" mi="0" ci="13" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="133"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Praktikum.java"><line nr="5" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="4" ci="0" mb="0" cb="0"/><line nr="12" mi="4" ci="0" mb="0" cb="0"/><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="21" mi="6" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="24" mi="6" ci="0" mb="0" cb="0"/><line nr="25" mi="6" ci="0" mb="0" cb="0"/><line nr="26" mi="6" ci="0" mb="0" cb="0"/><line nr="29" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="59" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="IngredientType.java"><line nr="8" mi="0" ci="12" mb="0" cb="0"/><line nr="9" mi="0" ci="6" mb="0" cb="0"/><line nr="10" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Ingredient.java"><line nr="14" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="12"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="3" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="174" covered="184"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="32" covered="37"/><counter type="COMPLEXITY" missed="8" covered="14"/><counter type="METHOD" missed="8" covered="12"/><counter type="CLASS" missed="2" covered="4"/></package><counter type="INSTRUCTION" missed="174" covered="184"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="32" covered="37"/><counter type="COMPLEXITY" missed="8" covered="14"/><counter type="METHOD" missed="8" covered="12"/><counter type="CLASS" missed="2" covered="4"/></report>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Bun.html b/target/site/jacoco/praktikum/Bun.html
    new file mode 100644
    index 000000000..31bd1cb9e
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Bun.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Bun</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Bun</span></div><h1>Bun</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 15</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="Bun.java.html#L12" class="el_method">Bun(String, float)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Bun.java.html#L18" class="el_method">getName()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Bun.java.html#L22" class="el_method">getPrice()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Bun.java.html b/target/site/jacoco/praktikum/Bun.java.html
    new file mode 100644
    index 000000000..136b5ff88
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Bun.java.html
    @@ -0,0 +1,26 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Bun.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Bun.java</span></div><h1>Bun.java</h1><pre class="source lang-java linenums">package praktikum;
    +
    +/**
    + * Модель булочки для бургера.
    + * Булочке можно дать название и назначить цену.
    + */
    +public class Bun {
    +
    +    public String name;
    +    public float price;
    +
    +<span class="fc" id="L12">    public Bun(String name, float price) {</span>
    +<span class="fc" id="L13">        this.name = name;</span>
    +<span class="fc" id="L14">        this.price = price;</span>
    +<span class="fc" id="L15">    }</span>
    +
    +    public String getName() {
    +<span class="fc" id="L18">        return name;</span>
    +    }
    +
    +    public float getPrice() {
    +<span class="fc" id="L22">        return price;</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Burger.html b/target/site/jacoco/praktikum/Burger.html
    new file mode 100644
    index 000000000..8dd3b41e9
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Burger.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Burger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Burger</span></div><h1>Burger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 133</td><td class="ctr2">100 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">23</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="Burger.java.html#L44" class="el_method">getReceipt()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Burger.java.html#L34" class="el_method">getPrice()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="Burger.java.html#L30" class="el_method">moveIngredient(int, int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Burger.java.html#L12" class="el_method">Burger()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="Burger.java.html#L22" class="el_method">addIngredient(Ingredient)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="Burger.java.html#L26" class="el_method">removeIngredient(int)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="Burger.java.html#L18" class="el_method">setBuns(Bun)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Burger.java.html b/target/site/jacoco/praktikum/Burger.java.html
    new file mode 100644
    index 000000000..64335ab30
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Burger.java.html
    @@ -0,0 +1,58 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Burger.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Burger.java</span></div><h1>Burger.java</h1><pre class="source lang-java linenums">package praktikum;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Модель бургера.
    + * Бургер состоит из булочек и ингредиентов (начинка или соус).
    + * Ингредиенты можно перемещать и удалять.
    + * Можно распечать чек с информацией о бургере.
    + */
    +<span class="fc" id="L12">public class Burger {</span>
    +
    +    public Bun bun;
    +<span class="fc" id="L15">    public List&lt;Ingredient&gt; ingredients = new ArrayList&lt;&gt;();</span>
    +
    +    public void setBuns(Bun bun) {
    +<span class="fc" id="L18">        this.bun = bun;</span>
    +<span class="fc" id="L19">    }</span>
    +
    +    public void addIngredient(Ingredient ingredient) {
    +<span class="fc" id="L22">        ingredients.add(ingredient);</span>
    +<span class="fc" id="L23">    }</span>
    +
    +    public void removeIngredient(int index) {
    +<span class="fc" id="L26">        ingredients.remove(index);</span>
    +<span class="fc" id="L27">    }</span>
    +
    +    public void moveIngredient(int index, int newIndex) {
    +<span class="fc" id="L30">        ingredients.add(newIndex, ingredients.remove(index));</span>
    +<span class="fc" id="L31">    }</span>
    +
    +    public float getPrice() {
    +<span class="fc" id="L34">        float price = bun.getPrice() * 2;</span>
    +
    +<span class="fc bfc" id="L36" title="All 2 branches covered.">        for (Ingredient ingredient : ingredients) {</span>
    +<span class="fc" id="L37">            price += ingredient.getPrice();</span>
    +<span class="fc" id="L38">        }</span>
    +
    +<span class="fc" id="L40">        return price;</span>
    +    }
    +
    +    public String getReceipt() {
    +<span class="fc" id="L44">        StringBuilder receipt = new StringBuilder(String.format(&quot;(==== %s ====)%n&quot;, bun.getName()));</span>
    +
    +<span class="fc bfc" id="L46" title="All 2 branches covered.">        for (Ingredient ingredient : ingredients) {</span>
    +<span class="fc" id="L47">            receipt.append(String.format(&quot;= %s %s =%n&quot;, ingredient.getType().toString().toLowerCase(),</span>
    +<span class="fc" id="L48">                    ingredient.getName()));</span>
    +<span class="fc" id="L49">        }</span>
    +
    +<span class="fc" id="L51">        receipt.append(String.format(&quot;(==== %s ====)%n&quot;, bun.getName()));</span>
    +<span class="fc" id="L52">        receipt.append(String.format(&quot;%nPrice: %f%n&quot;, getPrice()));</span>
    +
    +<span class="fc" id="L54">        return receipt.toString();</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Database.html b/target/site/jacoco/praktikum/Database.html
    new file mode 100644
    index 000000000..d38a6daa9
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Database.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Database</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Database</span></div><h1>Database</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">106 of 106</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Database.java.html#L11" class="el_method">Database()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="100" alt="100"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Database.java.html#L29" class="el_method">availableBuns()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Database.java.html#L33" class="el_method">availableIngredients()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Database.java.html b/target/site/jacoco/praktikum/Database.java.html
    new file mode 100644
    index 000000000..d5f8f806b
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Database.java.html
    @@ -0,0 +1,37 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Database.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Database.java</span></div><h1>Database.java</h1><pre class="source lang-java linenums">package praktikum;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Класс с методами по работе с базой данных.
    + */
    +public class Database {
    +
    +<span class="nc" id="L11">    private final List&lt;Bun&gt; buns = new ArrayList&lt;&gt;();</span>
    +<span class="nc" id="L12">    private final List&lt;Ingredient&gt; ingredients = new ArrayList&lt;&gt;();</span>
    +
    +<span class="nc" id="L14">    public Database() {</span>
    +<span class="nc" id="L15">        buns.add(new Bun(&quot;black bun&quot;, 100));</span>
    +<span class="nc" id="L16">        buns.add(new Bun(&quot;white bun&quot;, 200));</span>
    +<span class="nc" id="L17">        buns.add(new Bun(&quot;red bun&quot;, 300));</span>
    +
    +<span class="nc" id="L19">        ingredients.add(new Ingredient(IngredientType.SAUCE, &quot;hot sauce&quot;, 100));</span>
    +<span class="nc" id="L20">        ingredients.add(new Ingredient(IngredientType.SAUCE, &quot;sour cream&quot;, 200));</span>
    +<span class="nc" id="L21">        ingredients.add(new Ingredient(IngredientType.SAUCE, &quot;chili sauce&quot;, 300));</span>
    +
    +<span class="nc" id="L23">        ingredients.add(new Ingredient(IngredientType.FILLING, &quot;cutlet&quot;, 100));</span>
    +<span class="nc" id="L24">        ingredients.add(new Ingredient(IngredientType.FILLING, &quot;dinosaur&quot;, 200));</span>
    +<span class="nc" id="L25">        ingredients.add(new Ingredient(IngredientType.FILLING, &quot;sausage&quot;, 300));</span>
    +<span class="nc" id="L26">    }</span>
    +
    +    public List&lt;Bun&gt; availableBuns() {
    +<span class="nc" id="L29">        return buns;</span>
    +    }
    +
    +    public List&lt;Ingredient&gt; availableIngredients() {
    +<span class="nc" id="L33">        return ingredients;</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Ingredient.html b/target/site/jacoco/praktikum/Ingredient.html
    new file mode 100644
    index 000000000..366d7d70f
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Ingredient.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Ingredient</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Ingredient</span></div><h1>Ingredient</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 21</td><td class="ctr2">57 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">4</td><td class="ctr1">3</td><td class="ctr2">8</td><td class="ctr1">3</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="Ingredient.java.html#L21" class="el_method">getPrice()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Ingredient.java.html#L25" class="el_method">getName()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Ingredient.java.html#L29" class="el_method">getType()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="Ingredient.java.html#L14" class="el_method">Ingredient(IngredientType, String, float)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Ingredient.java.html b/target/site/jacoco/praktikum/Ingredient.java.html
    new file mode 100644
    index 000000000..defd10a71
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Ingredient.java.html
    @@ -0,0 +1,33 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Ingredient.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Ingredient.java</span></div><h1>Ingredient.java</h1><pre class="source lang-java linenums">package praktikum;
    +
    +/**
    + * Модель ингредиента.
    + * Ингредиент: начинка или соус.
    + * У ингредиента есть тип (начинка или соус), название и цена.
    + */
    +public class Ingredient {
    +
    +    public IngredientType type;
    +    public String name;
    +    public float price;
    +
    +<span class="fc" id="L14">    public Ingredient(IngredientType type, String name, float price) {</span>
    +<span class="fc" id="L15">        this.type = type;</span>
    +<span class="fc" id="L16">        this.name = name;</span>
    +<span class="fc" id="L17">        this.price = price;</span>
    +<span class="fc" id="L18">    }</span>
    +
    +    public float getPrice() {
    +<span class="nc" id="L21">        return price;</span>
    +    }
    +
    +    public String getName() {
    +<span class="nc" id="L25">        return name;</span>
    +    }
    +
    +    public IngredientType getType() {
    +<span class="nc" id="L29">        return type;</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/IngredientType.html b/target/site/jacoco/praktikum/IngredientType.html
    new file mode 100644
    index 000000000..f9c8937fa
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/IngredientType.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IngredientType</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">IngredientType</span></div><h1>IngredientType</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 24</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IngredientType.java.html#L8" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/IngredientType.java.html b/target/site/jacoco/praktikum/IngredientType.java.html
    new file mode 100644
    index 000000000..7782e2034
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/IngredientType.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IngredientType.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">IngredientType.java</span></div><h1>IngredientType.java</h1><pre class="source lang-java linenums">package praktikum;
    +
    +/**
    + * Перечисление с типами ингредиентов.
    + * SAUCE – соус
    + * FILLING – начинка
    + */
    +<span class="fc" id="L8">public enum IngredientType {</span>
    +<span class="fc" id="L9">    SAUCE,</span>
    +<span class="fc" id="L10">    FILLING</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Praktikum.html b/target/site/jacoco/praktikum/Praktikum.html
    new file mode 100644
    index 000000000..c6894a9d2
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Praktikum.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Praktikum</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Praktikum</span></div><h1>Praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 59</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="Praktikum.java.html#L9" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="56" alt="56"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Praktikum.java.html#L5" class="el_method">Praktikum()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Praktikum.java.html b/target/site/jacoco/praktikum/Praktikum.java.html
    new file mode 100644
    index 000000000..91a07a8ef
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/Praktikum.java.html
    @@ -0,0 +1,39 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Praktikum.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Praktikum.java</span></div><h1>Praktikum.java</h1><pre class="source lang-java linenums">package praktikum;
    +
    +import java.util.List;
    +
    +<span class="nc" id="L5">public class Praktikum {</span>
    +
    +    public static void main(String[] args) {
    +        // Инициализируем базу данных
    +<span class="nc" id="L9">        Database database = new Database();</span>
    +
    +        // Создадим новый бургер
    +<span class="nc" id="L12">        Burger burger = new Burger();</span>
    +
    +        // Считаем список доступных булок из базы данных
    +<span class="nc" id="L15">        List&lt;Bun&gt; buns = database.availableBuns();</span>
    +
    +        // Считаем список доступных ингредиентов из базы данных
    +<span class="nc" id="L18">        List&lt;Ingredient&gt; ingredients = database.availableIngredients();</span>
    +
    +        // Соберём бургер
    +<span class="nc" id="L21">        burger.setBuns(buns.get(0));</span>
    +
    +<span class="nc" id="L23">        burger.addIngredient(ingredients.get(1));</span>
    +<span class="nc" id="L24">        burger.addIngredient(ingredients.get(4));</span>
    +<span class="nc" id="L25">        burger.addIngredient(ingredients.get(3));</span>
    +<span class="nc" id="L26">        burger.addIngredient(ingredients.get(5));</span>
    +
    +        // Переместим слой с ингредиентом
    +<span class="nc" id="L29">        burger.moveIngredient(2, 1);</span>
    +
    +        // Удалим ингредиент
    +<span class="nc" id="L32">        burger.removeIngredient(3);</span>
    +
    +        // Распечатаем рецепт бургера
    +<span class="nc" id="L35">        System.out.println(burger.getReceipt());</span>
    +<span class="nc" id="L36">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/index.html b/target/site/jacoco/praktikum/index.html
    new file mode 100644
    index 000000000..613e14456
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>praktikum</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <span class="el_package">praktikum</span></div><h1>praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">174 of 358</td><td class="ctr2">51 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">8</td><td class="ctr2">22</td><td class="ctr1">32</td><td class="ctr2">69</td><td class="ctr1">8</td><td class="ctr2">20</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="Database.html" class="el_class">Database</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="95" height="10" title="106" alt="106"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="Praktikum.html" class="el_class">Praktikum</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="59" alt="59"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k4">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="Ingredient.html" class="el_class">Ingredient</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">57 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="Burger.html" class="el_class">Burger</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="133" alt="133"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="IngredientType.html" class="el_class">IngredientType</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="21" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">1</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a0"><a href="Bun.html" class="el_class">Bun</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/index.source.html b/target/site/jacoco/praktikum/index.source.html
    new file mode 100644
    index 000000000..8385e9f9c
    --- /dev/null
    +++ b/target/site/jacoco/praktikum/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>praktikum</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <span class="el_package">praktikum</span></div><h1>praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">174 of 358</td><td class="ctr2">51 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">8</td><td class="ctr2">22</td><td class="ctr1">32</td><td class="ctr2">69</td><td class="ctr1">8</td><td class="ctr2">20</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="Database.java.html" class="el_source">Database.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="95" height="10" title="106" alt="106"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="Praktikum.java.html" class="el_source">Praktikum.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="59" alt="59"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k4">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="Ingredient.java.html" class="el_source">Ingredient.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">57 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="Burger.java.html" class="el_source">Burger.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="133" alt="133"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="IngredientType.java.html" class="el_source">IngredientType.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="21" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">1</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a0"><a href="Bun.java.html" class="el_source">Bun.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/surefire-reports/BunTest.txt b/target/surefire-reports/BunTest.txt
    new file mode 100644
    index 000000000..72f0ac2e1
    --- /dev/null
    +++ b/target/surefire-reports/BunTest.txt
    @@ -0,0 +1,4 @@
    +-------------------------------------------------------------------------------
    +Test set: BunTest
    +-------------------------------------------------------------------------------
    +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s -- in BunTest
    diff --git a/target/surefire-reports/BurgerPriceTest.txt b/target/surefire-reports/BurgerPriceTest.txt
    new file mode 100644
    index 000000000..9b0019925
    --- /dev/null
    +++ b/target/surefire-reports/BurgerPriceTest.txt
    @@ -0,0 +1,4 @@
    +-------------------------------------------------------------------------------
    +Test set: BurgerPriceTest
    +-------------------------------------------------------------------------------
    +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.928 s -- in BurgerPriceTest
    diff --git a/target/surefire-reports/BurgerReceiptTest.txt b/target/surefire-reports/BurgerReceiptTest.txt
    new file mode 100644
    index 000000000..554d845f5
    --- /dev/null
    +++ b/target/surefire-reports/BurgerReceiptTest.txt
    @@ -0,0 +1,4 @@
    +-------------------------------------------------------------------------------
    +Test set: BurgerReceiptTest
    +-------------------------------------------------------------------------------
    +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.034 s -- in BurgerReceiptTest
    diff --git a/target/surefire-reports/BurgerTest.txt b/target/surefire-reports/BurgerTest.txt
    new file mode 100644
    index 000000000..fe3ffa4da
    --- /dev/null
    +++ b/target/surefire-reports/BurgerTest.txt
    @@ -0,0 +1,4 @@
    +-------------------------------------------------------------------------------
    +Test set: BurgerTest
    +-------------------------------------------------------------------------------
    +Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.286 s -- in BurgerTest
    diff --git a/target/surefire-reports/TEST-BunTest.xml b/target/surefire-reports/TEST-BunTest.xml
    new file mode 100644
    index 000000000..31a749e60
    --- /dev/null
    +++ b/target/surefire-reports/TEST-BunTest.xml
    @@ -0,0 +1,71 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BunTest" time="0.002" tests="6" errors="0" skipped="0" failures="0">
    +  <properties>
    +    <property name="gopherProxySet" value="false"/>
    +    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    +    <property name="java.specification.version" value="11"/>
    +    <property name="sun.cpu.isalist" value=""/>
    +    <property name="sun.jnu.encoding" value="UTF-8"/>
    +    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    +    <property name="sun.arch.data.model" value="64"/>
    +    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    +    <property name="user.timezone" value=""/>
    +    <property name="java.vm.specification.version" value="11"/>
    +    <property name="os.name" value="Mac OS X"/>
    +    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    +    <property name="user.country" value="RU"/>
    +    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    +    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    +    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="jdk.debug" value="release"/>
    +    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="sun.cpu.endian" value="little"/>
    +    <property name="user.home" value="/Users/ppeter"/>
    +    <property name="user.language" value="ru"/>
    +    <property name="java.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.version.date" value="2025-04-15"/>
    +    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    +    <property name="file.separator" value="/"/>
    +    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    +    <property name="line.separator" value="&#10;"/>
    +    <property name="java.specification.name" value="Java Platform API Specification"/>
    +    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    +    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    +    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    +    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    +    <property name="user.name" value="ppeter"/>
    +    <property name="path.separator" value=":"/>
    +    <property name="os.version" value="26.2"/>
    +    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    +    <property name="file.encoding" value="UTF-8"/>
    +    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    +    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    +    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    +    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    +    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    +    <property name="java.version" value="11.0.27"/>
    +    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="os.arch" value="x86_64"/>
    +    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    +    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    +    <property name="sun.os.patch.level" value="unknown"/>
    +    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    +    <property name="java.vm.info" value="mixed mode"/>
    +    <property name="java.vendor" value="Amazon.com Inc."/>
    +    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    +    <property name="java.specification.maintenance.version" value="3"/>
    +    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    +    <property name="java.class.version" value="55.0"/>
    +    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +  </properties>
    +  <testcase name="testGetPrice[Тест 0: булочка &apos;черная булочка&apos; с ценой 100]" classname="BunTest" time="0.0"/>
    +  <testcase name="testGetName[Тест 0: булочка &apos;черная булочка&apos; с ценой 100]" classname="BunTest" time="0.0"/>
    +  <testcase name="testGetPrice[Тест 1: булочка &apos;белая булочка&apos; с ценой 200]" classname="BunTest" time="0.0"/>
    +  <testcase name="testGetName[Тест 1: булочка &apos;белая булочка&apos; с ценой 200]" classname="BunTest" time="0.0"/>
    +  <testcase name="testGetPrice[Тест 2: булочка &apos;красная булочка&apos; с ценой 300]" classname="BunTest" time="0.0"/>
    +  <testcase name="testGetName[Тест 2: булочка &apos;красная булочка&apos; с ценой 300]" classname="BunTest" time="0.0"/>
    +</testsuite>
    \ No newline at end of file
    diff --git a/target/surefire-reports/TEST-BurgerPriceTest.xml b/target/surefire-reports/TEST-BurgerPriceTest.xml
    new file mode 100644
    index 000000000..632125b95
    --- /dev/null
    +++ b/target/surefire-reports/TEST-BurgerPriceTest.xml
    @@ -0,0 +1,71 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BurgerPriceTest" time="0.928" tests="6" errors="0" skipped="0" failures="0">
    +  <properties>
    +    <property name="gopherProxySet" value="false"/>
    +    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    +    <property name="java.specification.version" value="11"/>
    +    <property name="sun.cpu.isalist" value=""/>
    +    <property name="sun.jnu.encoding" value="UTF-8"/>
    +    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    +    <property name="sun.arch.data.model" value="64"/>
    +    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    +    <property name="user.timezone" value=""/>
    +    <property name="java.vm.specification.version" value="11"/>
    +    <property name="os.name" value="Mac OS X"/>
    +    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    +    <property name="user.country" value="RU"/>
    +    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    +    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    +    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="jdk.debug" value="release"/>
    +    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="sun.cpu.endian" value="little"/>
    +    <property name="user.home" value="/Users/ppeter"/>
    +    <property name="user.language" value="ru"/>
    +    <property name="java.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.version.date" value="2025-04-15"/>
    +    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    +    <property name="file.separator" value="/"/>
    +    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    +    <property name="line.separator" value="&#10;"/>
    +    <property name="java.specification.name" value="Java Platform API Specification"/>
    +    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    +    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    +    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    +    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    +    <property name="user.name" value="ppeter"/>
    +    <property name="path.separator" value=":"/>
    +    <property name="os.version" value="26.2"/>
    +    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    +    <property name="file.encoding" value="UTF-8"/>
    +    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    +    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    +    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    +    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    +    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    +    <property name="java.version" value="11.0.27"/>
    +    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="os.arch" value="x86_64"/>
    +    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    +    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    +    <property name="sun.os.patch.level" value="unknown"/>
    +    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    +    <property name="java.vm.info" value="mixed mode"/>
    +    <property name="java.vendor" value="Amazon.com Inc."/>
    +    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    +    <property name="java.specification.maintenance.version" value="3"/>
    +    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    +    <property name="java.class.version" value="55.0"/>
    +    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +  </properties>
    +  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 0: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@45b96e4c ингредиентами = 200]" classname="BurgerPriceTest" time="0.012"/>
    +  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 1: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@8383a14 ингредиентами = 250]" classname="BurgerPriceTest" time="0.003"/>
    +  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 2: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@379f9555 ингредиентами = 380]" classname="BurgerPriceTest" time="0.002"/>
    +  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 3: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@7e3ee128 ингредиентами = 460]" classname="BurgerPriceTest" time="0.001"/>
    +  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 4: цена бургера с булочкой Mock for Bun, hashCode: 2103748960 и [Lpraktikum.Ingredient;@166ce247 ингредиентами = 400]" classname="BurgerPriceTest" time="0.0"/>
    +  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 5: цена бургера с булочкой Mock for Bun, hashCode: 2103748960 и [Lpraktikum.Ingredient;@5d92e8e2 ингредиентами = 580]" classname="BurgerPriceTest" time="0.0"/>
    +</testsuite>
    \ No newline at end of file
    diff --git a/target/surefire-reports/TEST-BurgerReceiptTest.xml b/target/surefire-reports/TEST-BurgerReceiptTest.xml
    new file mode 100644
    index 000000000..aa724c60d
    --- /dev/null
    +++ b/target/surefire-reports/TEST-BurgerReceiptTest.xml
    @@ -0,0 +1,69 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BurgerReceiptTest" time="0.034" tests="4" errors="0" skipped="0" failures="0">
    +  <properties>
    +    <property name="gopherProxySet" value="false"/>
    +    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    +    <property name="java.specification.version" value="11"/>
    +    <property name="sun.cpu.isalist" value=""/>
    +    <property name="sun.jnu.encoding" value="UTF-8"/>
    +    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    +    <property name="sun.arch.data.model" value="64"/>
    +    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    +    <property name="user.timezone" value=""/>
    +    <property name="java.vm.specification.version" value="11"/>
    +    <property name="os.name" value="Mac OS X"/>
    +    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    +    <property name="user.country" value="RU"/>
    +    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    +    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    +    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="jdk.debug" value="release"/>
    +    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="sun.cpu.endian" value="little"/>
    +    <property name="user.home" value="/Users/ppeter"/>
    +    <property name="user.language" value="ru"/>
    +    <property name="java.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.version.date" value="2025-04-15"/>
    +    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    +    <property name="file.separator" value="/"/>
    +    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    +    <property name="line.separator" value="&#10;"/>
    +    <property name="java.specification.name" value="Java Platform API Specification"/>
    +    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    +    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    +    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    +    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    +    <property name="user.name" value="ppeter"/>
    +    <property name="path.separator" value=":"/>
    +    <property name="os.version" value="26.2"/>
    +    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    +    <property name="file.encoding" value="UTF-8"/>
    +    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    +    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    +    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    +    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    +    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    +    <property name="java.version" value="11.0.27"/>
    +    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="os.arch" value="x86_64"/>
    +    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    +    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    +    <property name="sun.os.patch.level" value="unknown"/>
    +    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    +    <property name="java.vm.info" value="mixed mode"/>
    +    <property name="java.vendor" value="Amazon.com Inc."/>
    +    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    +    <property name="java.specification.maintenance.version" value="3"/>
    +    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    +    <property name="java.class.version" value="55.0"/>
    +    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +  </properties>
    +  <testcase name="testGetReceiptWithIngredients[Тест 0: чек для бургера с булочкой &apos;черная булочка&apos; и ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerReceiptTest" time="0.009"/>
    +  <testcase name="testGetReceiptWithIngredients[Тест 1: чек для бургера с булочкой &apos;белая булочка&apos; и ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerReceiptTest" time="0.011"/>
    +  <testcase name="testGetReceiptWithIngredients[Тест 2: чек для бургера с булочкой &apos;красная булочка&apos; и ингредиентом SAUCE &apos;чили соус&apos;]" classname="BurgerReceiptTest" time="0.0"/>
    +  <testcase name="testGetReceiptWithIngredients[Тест 3: чек для бургера с булочкой &apos;особая булочка&apos; и ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerReceiptTest" time="0.004"/>
    +</testsuite>
    \ No newline at end of file
    diff --git a/target/surefire-reports/TEST-BurgerTest.xml b/target/surefire-reports/TEST-BurgerTest.xml
    new file mode 100644
    index 000000000..857b168cc
    --- /dev/null
    +++ b/target/surefire-reports/TEST-BurgerTest.xml
    @@ -0,0 +1,81 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BurgerTest" time="0.286" tests="16" errors="0" skipped="0" failures="0">
    +  <properties>
    +    <property name="gopherProxySet" value="false"/>
    +    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    +    <property name="java.specification.version" value="11"/>
    +    <property name="sun.cpu.isalist" value=""/>
    +    <property name="sun.jnu.encoding" value="UTF-8"/>
    +    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    +    <property name="sun.arch.data.model" value="64"/>
    +    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    +    <property name="user.timezone" value=""/>
    +    <property name="java.vm.specification.version" value="11"/>
    +    <property name="os.name" value="Mac OS X"/>
    +    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    +    <property name="user.country" value="RU"/>
    +    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    +    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    +    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="jdk.debug" value="release"/>
    +    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    +    <property name="sun.cpu.endian" value="little"/>
    +    <property name="user.home" value="/Users/ppeter"/>
    +    <property name="user.language" value="ru"/>
    +    <property name="java.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.version.date" value="2025-04-15"/>
    +    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    +    <property name="file.separator" value="/"/>
    +    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    +    <property name="line.separator" value="&#10;"/>
    +    <property name="java.specification.name" value="Java Platform API Specification"/>
    +    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    +    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    +    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    +    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    +    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    +    <property name="user.name" value="ppeter"/>
    +    <property name="path.separator" value=":"/>
    +    <property name="os.version" value="26.2"/>
    +    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    +    <property name="file.encoding" value="UTF-8"/>
    +    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    +    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    +    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    +    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    +    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    +    <property name="java.version" value="11.0.27"/>
    +    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    +    <property name="os.arch" value="x86_64"/>
    +    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    +    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    +    <property name="sun.os.patch.level" value="unknown"/>
    +    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    +    <property name="java.vm.info" value="mixed mode"/>
    +    <property name="java.vendor" value="Amazon.com Inc."/>
    +    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    +    <property name="java.specification.maintenance.version" value="3"/>
    +    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    +    <property name="java.class.version" value="55.0"/>
    +    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    +  </properties>
    +  <testcase name="testRemoveIngredient[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.055"/>
    +  <testcase name="testMoveIngredient[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testSetBuns[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testAddIngredient[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testRemoveIngredient[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testMoveIngredient[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testSetBuns[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testAddIngredient[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testRemoveIngredient[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testMoveIngredient[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testSetBuns[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testAddIngredient[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testRemoveIngredient[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testMoveIngredient[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testSetBuns[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    +  <testcase name="testAddIngredient[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    +</testsuite>
    \ No newline at end of file
    diff --git a/target/test-classes/BunTest.class b/target/test-classes/BunTest.class
    new file mode 100644
    index 0000000000000000000000000000000000000000..352811e7552e2fb4634d0f204958239c446f829f
    GIT binary patch
    literal 1960
    zcma)6-%}e^6#h296SkBFL}-Nup-l*F)A|bw2!+tJ)fBKnYFf1}u+pVrQ#ZREm0?EO
    z8GW(in{U4O;EZpfLrN?IzB)c_{7-y$9KX9s`I$OC?7e%>J?DJqeCM3|$3M@u0rcb3
    z5WKh;L>mUgGU&&UAMXS(>>2wV2w?=50vPoquL1##d6GW}VG`qhTn?cTsQ|8s{b~r;
    z@NNL_i9^~qGBtbs&%b{8TS%|_F(JXDD@&?`aC%XBpd@mNzL3b6hNdqJO7Pw{v^ic%
    zDG9zIP1np}39Yfis;S-?dP?T!seCl8>FR{FG^-lZ%52W@ou5;3Gm4>!b4}<m?`j1J
    z!StA=Ppbu!aGrU^R3x;;daDSQspS&Md@iTXnOa__Mlho-=!$6>^m_IMYD2g8#5Xy+
    zNaMj_+P2@YbW>YWXS9OGFh+GfZz{rX!H+2kp(({66Q*h~D*2kOt41=X6bdSjXVQ6N
    zA+czYfP`U*t3qN&UHeL%@7XyOh%{jTWS1(dm4}gKO`li4SQ&`eYn4a#roCPH)_!Ie
    zBhl#c`ITriQdx~uzOhU8mc4EN8d<)uBB8+~8CO(u!YPY8CYW{4TDl<izM<SRwR_f5
    zf}|0sX-`}=4&|EpRJC%UOx`l))RZRbAlIlqCrT~h_#W$ORtZvcQ#0?<wfBLNvuM+G
    zNa;Z8gEBghkkO9gGEU$X3C(p1z*u+tt6CHZC&)&r@-?$BR=z(#kst5NxPc7oX0MT<
    z%{n>~I_zh(FIHAx;A2|G2Oxn*_Aw_S?vyZM|7aKO4f_e#ExT-&_J>f8*y}9Iru|fu
    zho$1-iTxXu*NOPB@|}#E_|T86j9a)Zq2K=5sbuj#+!X7&`3N5iAD>9@*DB=49SQOO
    z-*jw_U3ycwykgRqQ^Cp4B(%g*wTW`Z+qoCr<Cr)@Hfk8kmuz&OQb=nB8lQ^QDdOI-
    z6l(P0UwGcBEzies{}a-*o5U!G$)ImpOqF3?{@hY>#JpJNJvltVhb3Y#0)(%1Iwys%
    zR9hWq<KyE(_vCIQb!Qk|d}h6TdtC^NZsuQDG&FY)*lOtHdXlFsHQd~f#y23v`$}-d
    zdrEMxQRG5|YnTSWF|J_*(aeXph0eh{#|*Ecn<qMOU?k^H0J*5$gHzNJFgf^z62^U7
    z@MPWIEqJr;urHJKg#Bd%GW@B@f<hLm%DgpMgOJINtc)W?`jMR2TAdWz7*#u>OmdJZ
    zUSi^>so|m|#=U{MXZW=jaF*LSBzPr4y2X@S+&eeXn2oP9@pZU2_%MZ=#HsHoj+GJK
    zC8E(uxC>28xr0dy5?ZSsY9us~ob$Lq6annx{u*})ukT>qAq@hv`w(WcKz~fomd7o4
    xsf?Eo0!IlPBT(-i;O-sZ<~qP`yg?`z-rV8gEe6v+hquwkix3aJm_+<^@L!EWD+&Mr
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/test-classes/BurgerPriceTest.class b/target/test-classes/BurgerPriceTest.class
    new file mode 100644
    index 0000000000000000000000000000000000000000..38343eb0b58d4ecf59fcd434ac5627c63fb2a131
    GIT binary patch
    literal 2901
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/test-classes/BurgerReceiptTest.class b/target/test-classes/BurgerReceiptTest.class
    new file mode 100644
    index 0000000000000000000000000000000000000000..8e1a8bee31fb74080c266c60fad8a73d2497b252
    GIT binary patch
    literal 3255
    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
    SLk8WPh;#5L&S2a6`riTfT^lL@
    
    literal 0
    HcmV?d00001
    
    diff --git a/target/test-classes/BurgerTest.class b/target/test-classes/BurgerTest.class
    new file mode 100644
    index 0000000000000000000000000000000000000000..f7cec3cd848eac70c8a0616e7c0baf65b7146e7c
    GIT binary patch
    literal 3790
    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
    
    literal 0
    HcmV?d00001
    
    
    From e963df0330448dfa1ab79ca7a32cbf2ac98984e3 Mon Sep 17 00:00:00 2001
    From: Petr Pestryakov <ppetermsc@gmail.com>
    Date: Fri, 14 Nov 2025 09:31:47 +0300
    Subject: [PATCH 2/5] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?=
     =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83?=
     =?UTF-8?q?=D1=80=D1=8B:=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=20=D0=BF?=
     =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=20=D0=B2=20?=
     =?UTF-8?q?=D0=BF=D0=B0=D0=BF=D0=BA=D1=83=20Diplom=5F1?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     Diplom/Diplom_1/pom.xml                       | 59 +++++++++++++
     .../Diplom_1/src/main/java/praktikum/Bun.java | 25 ++++++
     .../src/main/java/praktikum/Burger.java       | 57 ++++++++++++
     .../src/main/java/praktikum/Database.java     | 36 ++++++++
     .../src/main/java/praktikum/Ingredient.java   | 32 +++++++
     .../main/java/praktikum/IngredientType.java   | 11 +++
     .../src/main/java/praktikum/Praktikum.java    | 38 ++++++++
     Diplom/Diplom_1/src/test/java/BunTest.java    | 42 +++++++++
     .../src/test/java/BurgerPriceTest.java        | 71 +++++++++++++++
     .../src/test/java/BurgerReceiptTest.java      | 61 +++++++++++++
     Diplom/Diplom_1/src/test/java/BurgerTest.java | 86 +++++++++++++++++++
     11 files changed, 518 insertions(+)
     create mode 100644 Diplom/Diplom_1/pom.xml
     create mode 100644 Diplom/Diplom_1/src/main/java/praktikum/Bun.java
     create mode 100644 Diplom/Diplom_1/src/main/java/praktikum/Burger.java
     create mode 100644 Diplom/Diplom_1/src/main/java/praktikum/Database.java
     create mode 100644 Diplom/Diplom_1/src/main/java/praktikum/Ingredient.java
     create mode 100644 Diplom/Diplom_1/src/main/java/praktikum/IngredientType.java
     create mode 100644 Diplom/Diplom_1/src/main/java/praktikum/Praktikum.java
     create mode 100644 Diplom/Diplom_1/src/test/java/BunTest.java
     create mode 100644 Diplom/Diplom_1/src/test/java/BurgerPriceTest.java
     create mode 100644 Diplom/Diplom_1/src/test/java/BurgerReceiptTest.java
     create mode 100644 Diplom/Diplom_1/src/test/java/BurgerTest.java
    
    diff --git a/Diplom/Diplom_1/pom.xml b/Diplom/Diplom_1/pom.xml
    new file mode 100644
    index 000000000..b6c22ef35
    --- /dev/null
    +++ b/Diplom/Diplom_1/pom.xml
    @@ -0,0 +1,59 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<project xmlns="http://maven.apache.org/POM/4.0.0"
    +         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    +         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +    <modelVersion>4.0.0</modelVersion>
    +
    +    <groupId>org.example</groupId>
    +    <artifactId>praktikum</artifactId>
    +    <version>1.0-SNAPSHOT</version>
    +
    +    <properties>
    +        <maven.compiler.source>11</maven.compiler.source>
    +        <maven.compiler.target>11</maven.compiler.target>
    +        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    +        <junit.version>4.13.2</junit.version>
    +        <mockito.version>4.11.0</mockito.version>
    +        <jacoco.version>0.8.8</jacoco.version>
    +    </properties>
    +
    +    <dependencies>
    +        <dependency>
    +            <groupId>junit</groupId>
    +            <artifactId>junit</artifactId>
    +            <version>${junit.version}</version>
    +            <scope>test</scope>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.mockito</groupId>
    +            <artifactId>mockito-core</artifactId>
    +            <version>${mockito.version}</version>
    +            <scope>test</scope>
    +        </dependency>
    +    </dependencies>
    +
    +    <build>
    +        <plugins>
    +            <plugin>
    +                <groupId>org.jacoco</groupId>
    +                <artifactId>jacoco-maven-plugin</artifactId>
    +                <version>${jacoco.version}</version>
    +                <executions>
    +                    <execution>
    +                        <goals>
    +                            <goal>prepare-agent</goal>
    +                        </goals>
    +                    </execution>
    +                    <execution>
    +                        <id>report</id>
    +                        <phase>test</phase>
    +                        <goals>
    +                            <goal>report</goal>
    +                        </goals>
    +                    </execution>
    +                </executions>
    +            </plugin>
    +        </plugins>
    +    </build>
    +</project>
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/main/java/praktikum/Bun.java b/Diplom/Diplom_1/src/main/java/praktikum/Bun.java
    new file mode 100644
    index 000000000..981850e10
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/main/java/praktikum/Bun.java
    @@ -0,0 +1,25 @@
    +package praktikum;
    +
    +/**
    + * Модель булочки для бургера.
    + * Булочке можно дать название и назначить цену.
    + */
    +public class Bun {
    +
    +    public String name;
    +    public float price;
    +
    +    public Bun(String name, float price) {
    +        this.name = name;
    +        this.price = price;
    +    }
    +
    +    public String getName() {
    +        return name;
    +    }
    +
    +    public float getPrice() {
    +        return price;
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/main/java/praktikum/Burger.java b/Diplom/Diplom_1/src/main/java/praktikum/Burger.java
    new file mode 100644
    index 000000000..27b631500
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/main/java/praktikum/Burger.java
    @@ -0,0 +1,57 @@
    +package praktikum;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Модель бургера.
    + * Бургер состоит из булочек и ингредиентов (начинка или соус).
    + * Ингредиенты можно перемещать и удалять.
    + * Можно распечать чек с информацией о бургере.
    + */
    +public class Burger {
    +
    +    public Bun bun;
    +    public List<Ingredient> ingredients = new ArrayList<>();
    +
    +    public void setBuns(Bun bun) {
    +        this.bun = bun;
    +    }
    +
    +    public void addIngredient(Ingredient ingredient) {
    +        ingredients.add(ingredient);
    +    }
    +
    +    public void removeIngredient(int index) {
    +        ingredients.remove(index);
    +    }
    +
    +    public void moveIngredient(int index, int newIndex) {
    +        ingredients.add(newIndex, ingredients.remove(index));
    +    }
    +
    +    public float getPrice() {
    +        float price = bun.getPrice() * 2;
    +
    +        for (Ingredient ingredient : ingredients) {
    +            price += ingredient.getPrice();
    +        }
    +
    +        return price;
    +    }
    +
    +    public String getReceipt() {
    +        StringBuilder receipt = new StringBuilder(String.format("(==== %s ====)%n", bun.getName()));
    +
    +        for (Ingredient ingredient : ingredients) {
    +            receipt.append(String.format("= %s %s =%n", ingredient.getType().toString().toLowerCase(),
    +                    ingredient.getName()));
    +        }
    +
    +        receipt.append(String.format("(==== %s ====)%n", bun.getName()));
    +        receipt.append(String.format("%nPrice: %f%n", getPrice()));
    +
    +        return receipt.toString();
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/main/java/praktikum/Database.java b/Diplom/Diplom_1/src/main/java/praktikum/Database.java
    new file mode 100644
    index 000000000..a7cb7e458
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/main/java/praktikum/Database.java
    @@ -0,0 +1,36 @@
    +package praktikum;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Класс с методами по работе с базой данных.
    + */
    +public class Database {
    +
    +    private final List<Bun> buns = new ArrayList<>();
    +    private final List<Ingredient> ingredients = new ArrayList<>();
    +
    +    public Database() {
    +        buns.add(new Bun("black bun", 100));
    +        buns.add(new Bun("white bun", 200));
    +        buns.add(new Bun("red bun", 300));
    +
    +        ingredients.add(new Ingredient(IngredientType.SAUCE, "hot sauce", 100));
    +        ingredients.add(new Ingredient(IngredientType.SAUCE, "sour cream", 200));
    +        ingredients.add(new Ingredient(IngredientType.SAUCE, "chili sauce", 300));
    +
    +        ingredients.add(new Ingredient(IngredientType.FILLING, "cutlet", 100));
    +        ingredients.add(new Ingredient(IngredientType.FILLING, "dinosaur", 200));
    +        ingredients.add(new Ingredient(IngredientType.FILLING, "sausage", 300));
    +    }
    +
    +    public List<Bun> availableBuns() {
    +        return buns;
    +    }
    +
    +    public List<Ingredient> availableIngredients() {
    +        return ingredients;
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/main/java/praktikum/Ingredient.java b/Diplom/Diplom_1/src/main/java/praktikum/Ingredient.java
    new file mode 100644
    index 000000000..4d46b2ed8
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/main/java/praktikum/Ingredient.java
    @@ -0,0 +1,32 @@
    +package praktikum;
    +
    +/**
    + * Модель ингредиента.
    + * Ингредиент: начинка или соус.
    + * У ингредиента есть тип (начинка или соус), название и цена.
    + */
    +public class Ingredient {
    +
    +    public IngredientType type;
    +    public String name;
    +    public float price;
    +
    +    public Ingredient(IngredientType type, String name, float price) {
    +        this.type = type;
    +        this.name = name;
    +        this.price = price;
    +    }
    +
    +    public float getPrice() {
    +        return price;
    +    }
    +
    +    public String getName() {
    +        return name;
    +    }
    +
    +    public IngredientType getType() {
    +        return type;
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/main/java/praktikum/IngredientType.java b/Diplom/Diplom_1/src/main/java/praktikum/IngredientType.java
    new file mode 100644
    index 000000000..56f4ff19b
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/main/java/praktikum/IngredientType.java
    @@ -0,0 +1,11 @@
    +package praktikum;
    +
    +/**
    + * Перечисление с типами ингредиентов.
    + * SAUCE – соус
    + * FILLING – начинка
    + */
    +public enum IngredientType {
    +    SAUCE,
    +    FILLING
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/main/java/praktikum/Praktikum.java b/Diplom/Diplom_1/src/main/java/praktikum/Praktikum.java
    new file mode 100644
    index 000000000..ce661ccf3
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/main/java/praktikum/Praktikum.java
    @@ -0,0 +1,38 @@
    +package praktikum;
    +
    +import java.util.List;
    +
    +public class Praktikum {
    +
    +    public static void main(String[] args) {
    +        // Инициализируем базу данных
    +        Database database = new Database();
    +
    +        // Создадим новый бургер
    +        Burger burger = new Burger();
    +
    +        // Считаем список доступных булок из базы данных
    +        List<Bun> buns = database.availableBuns();
    +
    +        // Считаем список доступных ингредиентов из базы данных
    +        List<Ingredient> ingredients = database.availableIngredients();
    +
    +        // Соберём бургер
    +        burger.setBuns(buns.get(0));
    +
    +        burger.addIngredient(ingredients.get(1));
    +        burger.addIngredient(ingredients.get(4));
    +        burger.addIngredient(ingredients.get(3));
    +        burger.addIngredient(ingredients.get(5));
    +
    +        // Переместим слой с ингредиентом
    +        burger.moveIngredient(2, 1);
    +
    +        // Удалим ингредиент
    +        burger.removeIngredient(3);
    +
    +        // Распечатаем рецепт бургера
    +        System.out.println(burger.getReceipt());
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/test/java/BunTest.java b/Diplom/Diplom_1/src/test/java/BunTest.java
    new file mode 100644
    index 000000000..77f829fc8
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/test/java/BunTest.java
    @@ -0,0 +1,42 @@
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.assertEquals;
    +
    +@RunWith(Parameterized.class)
    +public class BunTest {
    +
    +    private final String name;
    +    private final float price;
    +
    +    public BunTest(String name, float price) {
    +        this.name = name;
    +        this.price = price;
    +    }
    +
    +    @Parameterized.Parameters(name = "Тест {index}: булочка ''{0}'' с ценой {1}")
    +    public static Collection<Object[]> data() {
    +        return Arrays.asList(new Object[][]{
    +                {"черная булочка", 100f},
    +                {"белая булочка", 200f},
    +                {"красная булочка", 300f}
    +        });
    +    }
    +
    +    @Test
    +    public void testGetName() {
    +        Bun bun = new Bun(name, price);
    +        assertEquals("Название булочки должно совпадать", name, bun.getName());
    +    }
    +
    +    @Test
    +    public void testGetPrice() {
    +        Bun bun = new Bun(name, price);
    +        assertEquals("Цена булочки должна совпадать", price, bun.getPrice(), 0.001);
    +    }
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/test/java/BurgerPriceTest.java b/Diplom/Diplom_1/src/test/java/BurgerPriceTest.java
    new file mode 100644
    index 000000000..dcf7545ff
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/test/java/BurgerPriceTest.java
    @@ -0,0 +1,71 @@
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +import praktikum.Burger;
    +import praktikum.Ingredient;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.assertEquals;
    +import static org.mockito.Mockito.mock;
    +import static org.mockito.Mockito.when;
    +
    +@RunWith(Parameterized.class)
    +public class BurgerPriceTest {
    +
    +    private final Bun bun;
    +    private final Ingredient[] ingredients;
    +    private final float expectedPrice;
    +    private static final float DELTA = 0.01f;
    +
    +    public BurgerPriceTest(Bun bun, Ingredient[] ingredients, float expectedPrice) {
    +        this.bun = bun;
    +        this.ingredients = ingredients;
    +        this.expectedPrice = expectedPrice;
    +    }
    +
    +    @Parameterized.Parameters(name = "Тест {index}: цена бургера с булочкой {0} и {1} ингредиентами = {2}")
    +    public static Collection<Object[]> data() {
    +        Bun cheapBun = mock(Bun.class);
    +        when(cheapBun.getPrice()).thenReturn(100f);
    +
    +        Bun expensiveBun = mock(Bun.class);
    +        when(expensiveBun.getPrice()).thenReturn(200f);
    +
    +        Ingredient sauce = mock(Ingredient.class);
    +        when(sauce.getPrice()).thenReturn(50f);
    +
    +        Ingredient cutlet = mock(Ingredient.class);
    +        when(cutlet.getPrice()).thenReturn(100f);
    +
    +        Ingredient cheese = mock(Ingredient.class);
    +        when(cheese.getPrice()).thenReturn(80f);
    +
    +        Ingredient salad = mock(Ingredient.class);
    +        when(salad.getPrice()).thenReturn(30f);
    +
    +        return Arrays.asList(new Object[][]{
    +                {cheapBun, new Ingredient[]{}, 200f},
    +                {cheapBun, new Ingredient[]{sauce}, 250f},
    +                {cheapBun, new Ingredient[]{cutlet, cheese}, 380f},
    +                {cheapBun, new Ingredient[]{sauce, cutlet, cheese, salad}, 460f},
    +                {expensiveBun, new Ingredient[]{}, 400f},
    +                {expensiveBun, new Ingredient[]{cutlet, cheese}, 580f}
    +        });
    +    }
    +
    +    @Test
    +    public void testGetPriceWithDifferentBurgerCombinations() {
    +        Burger burger = new Burger();
    +        burger.setBuns(bun);
    +
    +        for (Ingredient ingredient : ingredients) {
    +            burger.addIngredient(ingredient);
    +        }
    +
    +        assertEquals("Цена бургера должна соответствовать ожидаемой",
    +                expectedPrice, burger.getPrice(), DELTA);
    +    }
    +}
    \ No newline at end of file
    diff --git a/Diplom/Diplom_1/src/test/java/BurgerReceiptTest.java b/Diplom/Diplom_1/src/test/java/BurgerReceiptTest.java
    new file mode 100644
    index 000000000..50e86d7b7
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/test/java/BurgerReceiptTest.java
    @@ -0,0 +1,61 @@
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +import praktikum.Burger;
    +import praktikum.Ingredient;
    +import praktikum.IngredientType;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.*;
    +import static org.mockito.Mockito.*;
    +
    +@RunWith(Parameterized.class)
    +public class BurgerReceiptTest {
    +
    +    private final String bunName;
    +    private final IngredientType ingredientType;
    +    private final String ingredientName;
    +
    +    public BurgerReceiptTest(String bunName, IngredientType ingredientType, String ingredientName) {
    +        this.bunName = bunName;
    +        this.ingredientType = ingredientType;
    +        this.ingredientName = ingredientName;
    +    }
    +
    +    @Parameterized.Parameters(name = "Тест {index}: чек для бургера с булочкой ''{0}'' и ингредиентом {1} ''{2}''")
    +    public static Collection<Object[]> data() {
    +        return Arrays.asList(new Object[][]{
    +                {"черная булочка", IngredientType.SAUCE, "острый соус"},
    +                {"белая булочка", IngredientType.FILLING, "котлета"},
    +                {"красная булочка", IngredientType.SAUCE, "чили соус"},
    +                {"особая булочка", IngredientType.FILLING, "сыр"}
    +        });
    +    }
    +
    +    @Test
    +    public void testGetReceiptWithIngredients() {
    +        Burger burger = new Burger();
    +
    +        Bun bunMock = mock(Bun.class);
    +        when(bunMock.getName()).thenReturn(bunName);
    +        when(bunMock.getPrice()).thenReturn(100f);
    +
    +        Ingredient ingredientMock = mock(Ingredient.class);
    +        when(ingredientMock.getType()).thenReturn(ingredientType);
    +        when(ingredientMock.getName()).thenReturn(ingredientName);
    +        when(ingredientMock.getPrice()).thenReturn(50f);
    +
    +        burger.setBuns(bunMock);
    +        burger.addIngredient(ingredientMock);
    +
    +        String receipt = burger.getReceipt();
    +
    +        assertNotNull("Чек не должен быть null", receipt);
    +        assertTrue("Чек должен содержать название булочки", receipt.contains(bunName));
    +        assertTrue("Чек должен содержать название ингредиента", receipt.contains(ingredientName.toLowerCase()));
    +        assertTrue("Чек должен содержать цену", receipt.contains("Price:"));
    +    }
    +}
    diff --git a/Diplom/Diplom_1/src/test/java/BurgerTest.java b/Diplom/Diplom_1/src/test/java/BurgerTest.java
    new file mode 100644
    index 000000000..1f0ff422d
    --- /dev/null
    +++ b/Diplom/Diplom_1/src/test/java/BurgerTest.java
    @@ -0,0 +1,86 @@
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +import praktikum.Burger;
    +import praktikum.Ingredient;
    +import praktikum.IngredientType;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.*;
    +
    +@RunWith(Parameterized.class)
    +public class BurgerTest {
    +
    +    private final IngredientType ingredientType;
    +    private final String ingredientName;
    +    private final float ingredientPrice;
    +
    +    public BurgerTest(IngredientType ingredientType, String ingredientName, float ingredientPrice) {
    +        this.ingredientType = ingredientType;
    +        this.ingredientName = ingredientName;
    +        this.ingredientPrice = ingredientPrice;
    +    }
    +
    +    @Parameterized.Parameters(name = "Тест {index}: операции с ингредиентом {0} ''{1}''")
    +    public static Collection<Object[]> data() {
    +        return Arrays.asList(new Object[][]{
    +                {IngredientType.SAUCE, "острый соус", 100f},
    +                {IngredientType.FILLING, "котлета", 100f},
    +                {IngredientType.SAUCE, "сметана", 200f},
    +                {IngredientType.FILLING, "сыр", 150f}
    +        });
    +    }
    +
    +    @Test
    +    public void testAddIngredient() {
    +        Burger burger = new Burger();
    +        Ingredient ingredient = new Ingredient(ingredientType, ingredientName, ingredientPrice);
    +
    +        burger.addIngredient(ingredient);
    +
    +        assertEquals("Должен быть один ингредиент", 1, burger.ingredients.size());
    +        assertEquals("Ингредиент должен совпадать", ingredient, burger.ingredients.get(0));
    +    }
    +
    +    @Test
    +    public void testRemoveIngredient() {
    +        Burger burger = new Burger();
    +        Ingredient ingredient1 = new Ingredient(ingredientType, ingredientName, ingredientPrice);
    +        Ingredient ingredient2 = new Ingredient(IngredientType.SAUCE, "чили соус", 300f);
    +
    +        burger.addIngredient(ingredient1);
    +        burger.addIngredient(ingredient2);
    +        burger.removeIngredient(0);
    +
    +        assertEquals("Должен остаться один ингредиент после удаления", 1, burger.ingredients.size());
    +        assertEquals("Оставшийся ингредиент должен совпадать", ingredient2, burger.ingredients.get(0));
    +    }
    +
    +    @Test
    +    public void testMoveIngredient() {
    +        Burger burger = new Burger();
    +        Ingredient ingredient1 = new Ingredient(ingredientType, ingredientName, ingredientPrice);
    +        Ingredient ingredient2 = new Ingredient(IngredientType.FILLING, "сосиска", 300f);
    +
    +        burger.addIngredient(ingredient1);
    +        burger.addIngredient(ingredient2);
    +        burger.moveIngredient(0, 1);
    +
    +        assertEquals("Первый ингредиент должен быть перемещен", ingredient2, burger.ingredients.get(0));
    +        assertEquals("Второй ингредиент должен быть перемещен", ingredient1, burger.ingredients.get(1));
    +    }
    +
    +    @Test
    +    public void testSetBuns() {
    +        Burger burger = new Burger();
    +        Bun bun = new Bun("красная булочка", 300f);
    +
    +        burger.setBuns(bun);
    +
    +        assertNotNull("Булочка должна быть выбрана", burger.bun);
    +        assertEquals("Булочка должна совпадать", bun, burger.bun);
    +    }
    +}
    \ No newline at end of file
    
    From 4c1cf492164c83c90d07d1c7aca5eeeaac719c66 Mon Sep 17 00:00:00 2001
    From: Peter Pestryakov <ppetermsc@gmail.com>
    Date: Sun, 16 Nov 2025 12:05:36 +0300
    Subject: [PATCH 3/5] Create README.md
    
    ---
     README.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
     1 file changed, 53 insertions(+)
     create mode 100644 README.md
    
    diff --git a/README.md b/README.md
    new file mode 100644
    index 000000000..553133ebe
    --- /dev/null
    +++ b/README.md
    @@ -0,0 +1,53 @@
    +# Diplom_1 - Юнит-тестирование Stellar Burgers
    +
    +## Дипломный проект: Юнит-тестирование с использованием моков и параметризации
    +
    +## Описание проекта
    +
    +Данный проект содержит юнит-тесты для программы, которая помогает заказать бургер в **Stellar Burgers**.  
    +
    +**Основной сайт:** [Stellar Burgers](https://stellarburgers.education-services.ru/)  
    +
    +---
    +
    +## Задание: Юнит-тесты
    +
    +Протестировать программу, которая помогает заказать бургер в Stellar Burgers.  
    +Покрыть код юнит-тестами с использованием **моков** и **параметризации**.  
    +Обеспечить **100% покрытие кода** тестами.
    +
    +### ✅ Реализованная функциональность:
    +
    +#### **Тестирование класса Burger**
    +- ✅ **Тестирование расчета стоимости** - проверка правильности вычисления общей суммы заказа
    +- ✅ **Тестирование получения чека** - проверка форматирования и содержания финального чека
    +- ✅ **Тестирование добавления/удаления ингредиентов** - проверка работы с составом бургера
    +- ✅ **Параметризованные тесты** - тестирование различных комбинаций ингредиентов и цен
    +- ✅ **Использование моков** - для изоляции зависимостей и тестирования в контролируемой среде
    +
    +---
    +
    +## Используемые технологии
    +
    +| Технология | Версия | Назначение |
    +|------------|---------|------------|
    +| **Java** | 11 | Основной язык программирования |
    +| **Maven** | - | Сборка и управление зависимостями |
    +| **JUnit** | 4.13.2 | Фреймворк для тестирования |
    +| **Mockito** | 5.3.1 | Создание мок-объектов и стабов |
    +| **JaCoCo** | 0.8.8 | Измерение покрытия кода тестами |
    +| **Hamcrest** | 2.2 | Матчеры для улучшения читаемости проверок |
    +
    +---
    +
    +## Запуск тестов
    +
    +```bash
    +# Запуск всех тестов
    +mvn clean test
    +
    +# Проверка покрытия кода
    +mvn jacoco:report
    +
    +# Запуск с генерацией отчета о покрытии
    +mvn clean jacoco:prepare-agent test jacoco:report
    
    From 5c69889e01943fcfa041fe97be604daa72fa35af Mon Sep 17 00:00:00 2001
    From: Petr Pestryakov <ppetermsc@gmail.com>
    Date: Tue, 18 Nov 2025 17:18:07 +0300
    Subject: [PATCH 4/5] temp: save current state
    
    ---
     .gitignore                                  | 23 +++++
     README.md                                   | 53 ++++++++++++
     pom.xml                                     | 59 +++++++++++++
     src/main/java/praktikum/Bun.java            | 25 ++++++
     src/main/java/praktikum/Burger.java         | 57 +++++++++++++
     src/main/java/praktikum/Database.java       | 36 ++++++++
     src/main/java/praktikum/Ingredient.java     | 32 +++++++
     src/main/java/praktikum/IngredientType.java | 11 +++
     src/main/java/praktikum/Praktikum.java      | 38 +++++++++
     src/test/java/BurgerPriceTest.java          | 71 ++++++++++++++++
     src/test/java/BurgerReceiptTest.java        | 89 +++++++++++++++++++
     src/test/java/BurgerTest.java               | 94 +++++++++++++++++++++
     12 files changed, 588 insertions(+)
     create mode 100644 .gitignore
     create mode 100644 README.md
     create mode 100644 pom.xml
     create mode 100644 src/main/java/praktikum/Bun.java
     create mode 100644 src/main/java/praktikum/Burger.java
     create mode 100644 src/main/java/praktikum/Database.java
     create mode 100644 src/main/java/praktikum/Ingredient.java
     create mode 100644 src/main/java/praktikum/IngredientType.java
     create mode 100644 src/main/java/praktikum/Praktikum.java
     create mode 100644 src/test/java/BurgerPriceTest.java
     create mode 100644 src/test/java/BurgerReceiptTest.java
     create mode 100644 src/test/java/BurgerTest.java
    
    diff --git a/.gitignore b/.gitignore
    new file mode 100644
    index 000000000..316ceaf9b
    --- /dev/null
    +++ b/.gitignore
    @@ -0,0 +1,23 @@
    +# System files
    +.DS_Store
    +
    +# IDE
    +.idea/
    +*.iml
    +*.iws
    +
    +# Build outputs
    +target/
    +build/
    +out/
    +
    +# Logs
    +*.log
    +logs/
    +
    +# Archives
    +*.zip
    +*.tar.gz
    +
    +# Maven
    +pom.xml.versionsBackup
    diff --git a/README.md b/README.md
    new file mode 100644
    index 000000000..d75a829d5
    --- /dev/null
    +++ b/README.md
    @@ -0,0 +1,53 @@
    +# Diplom_1 - Юнит-тестирование Stellar Burgers
    +
    +## Дипломный проект: Юнит-тестирование с использованием моков и параметризации
    +
    +## Описание проекта
    +
    +Данный проект содержит юнит-тесты для программы, которая помогает заказать бургер в **Stellar Burgers**.  
    +
    +**Основной сайт:** [Stellar Burgers](https://stellarburgers.education-services.ru/)  
    +
    +---
    +
    +## Задание: Юнит-тесты
    +
    +Протестировать программу, которая помогает заказать бургер в Stellar Burgers.  
    +Покрыть код юнит-тестами с использованием **моков** и **параметризации**.  
    +Обеспечить **100% покрытие кода** тестами.
    +
    +### ✅ Реализованная функциональность:
    +
    +#### **Тестирование класса Burger**
    +- ✅ **Тестирование расчета стоимости** - проверка правильности вычисления общей суммы заказа
    +- ✅ **Тестирование получения чека** - проверка форматирования и содержания финального чека
    +- ✅ **Тестирование добавления/удаления ингредиентов** - проверка работы с составом бургера
    +- ✅ **Параметризованные тесты** - тестирование различных комбинаций ингредиентов и цен
    +- ✅ **Использование моков** - для изоляции зависимостей и тестирования в контролируемой среде
    +
    +---
    +
    +## Используемые технологии
    +
    +| Технология | Версия | Назначение |
    +|------------|---------|------------|
    +| **Java** | 11 | Основной язык программирования |
    +| **Maven** | - | Сборка и управление зависимостями |
    +| **JUnit** | 4.13.2 | Фреймворк для тестирования |
    +| **Mockito** | 5.3.1 | Создание мок-объектов и стабов |
    +| **JaCoCo** | 0.8.8 | Измерение покрытия кода тестами |
    +| **Hamcrest** | 2.2 | Матчеры для улучшения читаемости проверок |
    +
    +---
    +
    +## Запуск тестов
    +
    +```bash
    +# Запуск всех тестов
    +mvn clean test
    +
    +# Проверка покрытия кода
    +mvn jacoco:report
    +
    +# Запуск с генерацией отчета о покрытии
    +mvn clean jacoco:prepare-agent test jacoco:report
    \ No newline at end of file
    diff --git a/pom.xml b/pom.xml
    new file mode 100644
    index 000000000..b6c22ef35
    --- /dev/null
    +++ b/pom.xml
    @@ -0,0 +1,59 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<project xmlns="http://maven.apache.org/POM/4.0.0"
    +         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    +         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +    <modelVersion>4.0.0</modelVersion>
    +
    +    <groupId>org.example</groupId>
    +    <artifactId>praktikum</artifactId>
    +    <version>1.0-SNAPSHOT</version>
    +
    +    <properties>
    +        <maven.compiler.source>11</maven.compiler.source>
    +        <maven.compiler.target>11</maven.compiler.target>
    +        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    +        <junit.version>4.13.2</junit.version>
    +        <mockito.version>4.11.0</mockito.version>
    +        <jacoco.version>0.8.8</jacoco.version>
    +    </properties>
    +
    +    <dependencies>
    +        <dependency>
    +            <groupId>junit</groupId>
    +            <artifactId>junit</artifactId>
    +            <version>${junit.version}</version>
    +            <scope>test</scope>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.mockito</groupId>
    +            <artifactId>mockito-core</artifactId>
    +            <version>${mockito.version}</version>
    +            <scope>test</scope>
    +        </dependency>
    +    </dependencies>
    +
    +    <build>
    +        <plugins>
    +            <plugin>
    +                <groupId>org.jacoco</groupId>
    +                <artifactId>jacoco-maven-plugin</artifactId>
    +                <version>${jacoco.version}</version>
    +                <executions>
    +                    <execution>
    +                        <goals>
    +                            <goal>prepare-agent</goal>
    +                        </goals>
    +                    </execution>
    +                    <execution>
    +                        <id>report</id>
    +                        <phase>test</phase>
    +                        <goals>
    +                            <goal>report</goal>
    +                        </goals>
    +                    </execution>
    +                </executions>
    +            </plugin>
    +        </plugins>
    +    </build>
    +</project>
    \ No newline at end of file
    diff --git a/src/main/java/praktikum/Bun.java b/src/main/java/praktikum/Bun.java
    new file mode 100644
    index 000000000..981850e10
    --- /dev/null
    +++ b/src/main/java/praktikum/Bun.java
    @@ -0,0 +1,25 @@
    +package praktikum;
    +
    +/**
    + * Модель булочки для бургера.
    + * Булочке можно дать название и назначить цену.
    + */
    +public class Bun {
    +
    +    public String name;
    +    public float price;
    +
    +    public Bun(String name, float price) {
    +        this.name = name;
    +        this.price = price;
    +    }
    +
    +    public String getName() {
    +        return name;
    +    }
    +
    +    public float getPrice() {
    +        return price;
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/src/main/java/praktikum/Burger.java b/src/main/java/praktikum/Burger.java
    new file mode 100644
    index 000000000..27b631500
    --- /dev/null
    +++ b/src/main/java/praktikum/Burger.java
    @@ -0,0 +1,57 @@
    +package praktikum;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Модель бургера.
    + * Бургер состоит из булочек и ингредиентов (начинка или соус).
    + * Ингредиенты можно перемещать и удалять.
    + * Можно распечать чек с информацией о бургере.
    + */
    +public class Burger {
    +
    +    public Bun bun;
    +    public List<Ingredient> ingredients = new ArrayList<>();
    +
    +    public void setBuns(Bun bun) {
    +        this.bun = bun;
    +    }
    +
    +    public void addIngredient(Ingredient ingredient) {
    +        ingredients.add(ingredient);
    +    }
    +
    +    public void removeIngredient(int index) {
    +        ingredients.remove(index);
    +    }
    +
    +    public void moveIngredient(int index, int newIndex) {
    +        ingredients.add(newIndex, ingredients.remove(index));
    +    }
    +
    +    public float getPrice() {
    +        float price = bun.getPrice() * 2;
    +
    +        for (Ingredient ingredient : ingredients) {
    +            price += ingredient.getPrice();
    +        }
    +
    +        return price;
    +    }
    +
    +    public String getReceipt() {
    +        StringBuilder receipt = new StringBuilder(String.format("(==== %s ====)%n", bun.getName()));
    +
    +        for (Ingredient ingredient : ingredients) {
    +            receipt.append(String.format("= %s %s =%n", ingredient.getType().toString().toLowerCase(),
    +                    ingredient.getName()));
    +        }
    +
    +        receipt.append(String.format("(==== %s ====)%n", bun.getName()));
    +        receipt.append(String.format("%nPrice: %f%n", getPrice()));
    +
    +        return receipt.toString();
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/src/main/java/praktikum/Database.java b/src/main/java/praktikum/Database.java
    new file mode 100644
    index 000000000..a7cb7e458
    --- /dev/null
    +++ b/src/main/java/praktikum/Database.java
    @@ -0,0 +1,36 @@
    +package praktikum;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * Класс с методами по работе с базой данных.
    + */
    +public class Database {
    +
    +    private final List<Bun> buns = new ArrayList<>();
    +    private final List<Ingredient> ingredients = new ArrayList<>();
    +
    +    public Database() {
    +        buns.add(new Bun("black bun", 100));
    +        buns.add(new Bun("white bun", 200));
    +        buns.add(new Bun("red bun", 300));
    +
    +        ingredients.add(new Ingredient(IngredientType.SAUCE, "hot sauce", 100));
    +        ingredients.add(new Ingredient(IngredientType.SAUCE, "sour cream", 200));
    +        ingredients.add(new Ingredient(IngredientType.SAUCE, "chili sauce", 300));
    +
    +        ingredients.add(new Ingredient(IngredientType.FILLING, "cutlet", 100));
    +        ingredients.add(new Ingredient(IngredientType.FILLING, "dinosaur", 200));
    +        ingredients.add(new Ingredient(IngredientType.FILLING, "sausage", 300));
    +    }
    +
    +    public List<Bun> availableBuns() {
    +        return buns;
    +    }
    +
    +    public List<Ingredient> availableIngredients() {
    +        return ingredients;
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/src/main/java/praktikum/Ingredient.java b/src/main/java/praktikum/Ingredient.java
    new file mode 100644
    index 000000000..4d46b2ed8
    --- /dev/null
    +++ b/src/main/java/praktikum/Ingredient.java
    @@ -0,0 +1,32 @@
    +package praktikum;
    +
    +/**
    + * Модель ингредиента.
    + * Ингредиент: начинка или соус.
    + * У ингредиента есть тип (начинка или соус), название и цена.
    + */
    +public class Ingredient {
    +
    +    public IngredientType type;
    +    public String name;
    +    public float price;
    +
    +    public Ingredient(IngredientType type, String name, float price) {
    +        this.type = type;
    +        this.name = name;
    +        this.price = price;
    +    }
    +
    +    public float getPrice() {
    +        return price;
    +    }
    +
    +    public String getName() {
    +        return name;
    +    }
    +
    +    public IngredientType getType() {
    +        return type;
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/src/main/java/praktikum/IngredientType.java b/src/main/java/praktikum/IngredientType.java
    new file mode 100644
    index 000000000..56f4ff19b
    --- /dev/null
    +++ b/src/main/java/praktikum/IngredientType.java
    @@ -0,0 +1,11 @@
    +package praktikum;
    +
    +/**
    + * Перечисление с типами ингредиентов.
    + * SAUCE – соус
    + * FILLING – начинка
    + */
    +public enum IngredientType {
    +    SAUCE,
    +    FILLING
    +}
    \ No newline at end of file
    diff --git a/src/main/java/praktikum/Praktikum.java b/src/main/java/praktikum/Praktikum.java
    new file mode 100644
    index 000000000..ce661ccf3
    --- /dev/null
    +++ b/src/main/java/praktikum/Praktikum.java
    @@ -0,0 +1,38 @@
    +package praktikum;
    +
    +import java.util.List;
    +
    +public class Praktikum {
    +
    +    public static void main(String[] args) {
    +        // Инициализируем базу данных
    +        Database database = new Database();
    +
    +        // Создадим новый бургер
    +        Burger burger = new Burger();
    +
    +        // Считаем список доступных булок из базы данных
    +        List<Bun> buns = database.availableBuns();
    +
    +        // Считаем список доступных ингредиентов из базы данных
    +        List<Ingredient> ingredients = database.availableIngredients();
    +
    +        // Соберём бургер
    +        burger.setBuns(buns.get(0));
    +
    +        burger.addIngredient(ingredients.get(1));
    +        burger.addIngredient(ingredients.get(4));
    +        burger.addIngredient(ingredients.get(3));
    +        burger.addIngredient(ingredients.get(5));
    +
    +        // Переместим слой с ингредиентом
    +        burger.moveIngredient(2, 1);
    +
    +        // Удалим ингредиент
    +        burger.removeIngredient(3);
    +
    +        // Распечатаем рецепт бургера
    +        System.out.println(burger.getReceipt());
    +    }
    +
    +}
    \ No newline at end of file
    diff --git a/src/test/java/BurgerPriceTest.java b/src/test/java/BurgerPriceTest.java
    new file mode 100644
    index 000000000..dcf7545ff
    --- /dev/null
    +++ b/src/test/java/BurgerPriceTest.java
    @@ -0,0 +1,71 @@
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +import praktikum.Burger;
    +import praktikum.Ingredient;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.assertEquals;
    +import static org.mockito.Mockito.mock;
    +import static org.mockito.Mockito.when;
    +
    +@RunWith(Parameterized.class)
    +public class BurgerPriceTest {
    +
    +    private final Bun bun;
    +    private final Ingredient[] ingredients;
    +    private final float expectedPrice;
    +    private static final float DELTA = 0.01f;
    +
    +    public BurgerPriceTest(Bun bun, Ingredient[] ingredients, float expectedPrice) {
    +        this.bun = bun;
    +        this.ingredients = ingredients;
    +        this.expectedPrice = expectedPrice;
    +    }
    +
    +    @Parameterized.Parameters(name = "Тест {index}: цена бургера с булочкой {0} и {1} ингредиентами = {2}")
    +    public static Collection<Object[]> data() {
    +        Bun cheapBun = mock(Bun.class);
    +        when(cheapBun.getPrice()).thenReturn(100f);
    +
    +        Bun expensiveBun = mock(Bun.class);
    +        when(expensiveBun.getPrice()).thenReturn(200f);
    +
    +        Ingredient sauce = mock(Ingredient.class);
    +        when(sauce.getPrice()).thenReturn(50f);
    +
    +        Ingredient cutlet = mock(Ingredient.class);
    +        when(cutlet.getPrice()).thenReturn(100f);
    +
    +        Ingredient cheese = mock(Ingredient.class);
    +        when(cheese.getPrice()).thenReturn(80f);
    +
    +        Ingredient salad = mock(Ingredient.class);
    +        when(salad.getPrice()).thenReturn(30f);
    +
    +        return Arrays.asList(new Object[][]{
    +                {cheapBun, new Ingredient[]{}, 200f},
    +                {cheapBun, new Ingredient[]{sauce}, 250f},
    +                {cheapBun, new Ingredient[]{cutlet, cheese}, 380f},
    +                {cheapBun, new Ingredient[]{sauce, cutlet, cheese, salad}, 460f},
    +                {expensiveBun, new Ingredient[]{}, 400f},
    +                {expensiveBun, new Ingredient[]{cutlet, cheese}, 580f}
    +        });
    +    }
    +
    +    @Test
    +    public void testGetPriceWithDifferentBurgerCombinations() {
    +        Burger burger = new Burger();
    +        burger.setBuns(bun);
    +
    +        for (Ingredient ingredient : ingredients) {
    +            burger.addIngredient(ingredient);
    +        }
    +
    +        assertEquals("Цена бургера должна соответствовать ожидаемой",
    +                expectedPrice, burger.getPrice(), DELTA);
    +    }
    +}
    \ No newline at end of file
    diff --git a/src/test/java/BurgerReceiptTest.java b/src/test/java/BurgerReceiptTest.java
    new file mode 100644
    index 000000000..50cfa95c0
    --- /dev/null
    +++ b/src/test/java/BurgerReceiptTest.java
    @@ -0,0 +1,89 @@
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +import praktikum.Burger;
    +import praktikum.Ingredient;
    +import praktikum.IngredientType;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.*;
    +import static org.mockito.Mockito.*;
    +
    +@RunWith(Parameterized.class)
    +public class BurgerReceiptTest {
    +
    +    private final String bunName;
    +    private final IngredientType ingredientType;
    +    private final String ingredientName;
    +    private final String expectedReceipt;
    +
    +
    +    public BurgerReceiptTest(String bunName, IngredientType ingredientType, String ingredientName,
    +                             String expectedReceipt) {
    +        this.bunName = bunName;
    +        this.ingredientType = ingredientType;
    +        this.ingredientName = ingredientName;
    +        this.expectedReceipt = expectedReceipt;
    +    }
    +    @Parameterized.Parameters(name = "Тест {index}: чек для бургера с булочкой ''{0}'' и ингредиентом {1} ''{2}''")
    +    public static Collection<Object[]> data() {
    +        return Arrays.asList(new Object[][]{
    +                {
    +                        "черная булочка",
    +                        IngredientType.SAUCE,
    +                        "острый соус",
    +                        "(==== черная булочка ====)\n= sauce острый соус =\n(==== черная булочка ====)" +
    +                                "\n\nPrice: 250,000000\n"
    +                },
    +                {
    +                        "белая булочка",
    +                        IngredientType.FILLING,
    +                        "котлета",
    +                        "(==== белая булочка ====)\n= filling котлета =\n(==== белая булочка ====)" +
    +                                "\n\nPrice: 250,000000\n"
    +                },
    +                {
    +                        "красная булочка",
    +                        IngredientType.SAUCE,
    +                        "чили соус",
    +                        "(==== красная булочка ====)\n= sauce чили соус =\n(==== красная булочка ====)" +
    +                                "\n\nPrice: 250,000000\n"
    +                },
    +                {
    +                        "особая булочка",
    +                        IngredientType.FILLING,
    +                        "сыр",
    +                        "(==== особая булочка ====)\n= filling сыр =\n(==== особая булочка ====)" +
    +                                "\n\nPrice: 250,000000\n"
    +                }
    +        });
    +    }
    +
    +    @Test
    +    public void testGetReceiptReturnsCorrectFormat() {
    +        // Arrange
    +        Burger burger = new Burger();
    +
    +        Bun bunMock = mock(Bun.class);
    +        when(bunMock.getName()).thenReturn(bunName);
    +        when(bunMock.getPrice()).thenReturn(100f);
    +
    +        Ingredient ingredientMock = mock(Ingredient.class);
    +        when(ingredientMock.getType()).thenReturn(ingredientType);
    +        when(ingredientMock.getName()).thenReturn(ingredientName);
    +        when(ingredientMock.getPrice()).thenReturn(50f);
    +
    +        burger.setBuns(bunMock);
    +        burger.addIngredient(ingredientMock);
    +
    +        // Act
    +        String actualReceipt = burger.getReceipt();
    +
    +        // Assert - проверка формата чека целиком
    +        assertEquals("Чек должен полностью соответствовать ожидаемому формату",
    +                expectedReceipt, actualReceipt);
    +    }
    +}
    diff --git a/src/test/java/BurgerTest.java b/src/test/java/BurgerTest.java
    new file mode 100644
    index 000000000..5907f615f
    --- /dev/null
    +++ b/src/test/java/BurgerTest.java
    @@ -0,0 +1,94 @@
    +import org.junit.Before;
    +import org.junit.Test;
    +import org.junit.runner.RunWith;
    +import org.junit.runners.Parameterized;
    +import praktikum.Bun;
    +import praktikum.Burger;
    +import praktikum.Ingredient;
    +import praktikum.IngredientType;
    +
    +import java.util.Arrays;
    +import java.util.Collection;
    +
    +import static org.junit.Assert.assertEquals;
    +import static org.mockito.Mockito.mock;
    +
    +@RunWith(Parameterized.class)
    +public class BurgerTest {
    +
    +    private Burger burger;
    +    private final IngredientType ingredientType;
    +    private final String ingredientName;
    +    private final float ingredientPrice;
    +
    +    public BurgerTest(IngredientType ingredientType, String ingredientName, float ingredientPrice) {
    +        this.ingredientType = ingredientType;
    +        this.ingredientName = ingredientName;
    +        this.ingredientPrice = ingredientPrice;
    +    }
    +
    +    @Parameterized.Parameters(name = "Тест {index}: ингредиент {0} ''{1}''")
    +    public static Collection<Object[]> data() {
    +        return Arrays.asList(new Object[][]{
    +                {IngredientType.SAUCE, "острый соус", 100f},
    +                {IngredientType.FILLING, "котлета", 100f}
    +        });
    +    }
    +
    +    @Before
    +    public void setUp() {
    +        burger = new Burger();
    +    }
    +
    +    @Test
    +    public void testSetBuns() {
    +        Bun bun = mock(Bun.class);
    +
    +        burger.setBuns(bun);
    +
    +        assertEquals("Булочка должна быть установлена", bun, burger.bun);
    +    }
    +
    +    @Test
    +    public void testAddIngredientIncreasesSize() {
    +        Ingredient ingredient = new Ingredient(ingredientType, ingredientName, ingredientPrice);
    +
    +        burger.addIngredient(ingredient);
    +
    +        assertEquals("Размер должен увеличиться на 1", 1, burger.ingredients.size());
    +    }
    +
    +    @Test
    +    public void testRemoveIngredientDecreasesSize() {
    +        Ingredient ingredient = new Ingredient(ingredientType, ingredientName, ingredientPrice);
    +
    +        burger.addIngredient(ingredient);
    +        int initialSize = burger.ingredients.size();
    +        burger.removeIngredient(0);
    +
    +        assertEquals("Размер должен уменьшиться на 1", initialSize - 1, burger.ingredients.size());
    +    }
    +
    +    @Test
    +    public void testMoveIngredientChangesOrder() {
    +        Ingredient ingredient1 = new Ingredient(ingredientType, ingredientName, ingredientPrice);
    +        Ingredient ingredient2 = new Ingredient(IngredientType.FILLING, "сосиска", 300f);
    +        Ingredient ingredient3 = new Ingredient(IngredientType.SAUCE, "чили", 200f);
    +
    +        burger.addIngredient(ingredient1);
    +        burger.addIngredient(ingredient2);
    +        burger.addIngredient(ingredient3);
    +
    +        // Запоминаем исходный порядок
    +        Ingredient originalFirst = burger.ingredients.get(0);
    +        Ingredient originalSecond = burger.ingredients.get(1);
    +        Ingredient originalThird = burger.ingredients.get(2);
    +
    +        burger.moveIngredient(0, 2);
    +
    +        // Проверяем новый порядок
    +        assertEquals("Элемент на позиции 0 должен измениться", originalSecond, burger.ingredients.get(0));
    +        assertEquals("Элемент на позиции 1 должен измениться", originalThird, burger.ingredients.get(1));
    +        assertEquals("Элемент на позиции 2 должен измениться", originalFirst, burger.ingredients.get(2));
    +    }
    +}
    \ No newline at end of file
    
    From 91b7ae2bfc61a03d2cf142211978995d29ffa229 Mon Sep 17 00:00:00 2001
    From: Petr Pestryakov <ppetermsc@gmail.com>
    Date: Tue, 18 Nov 2025 17:31:53 +0300
    Subject: [PATCH 5/5] fix: remove build and IDE files from repository
    
    - Remove target/ folder (build artifacts)
    - Remove .idea/ folder (IDE settings)
    - Keep only source code and configuration files
    ---
     .idea/.gitignore                              |    3 -
     .idea/compiler.xml                            |   13 -
     .idea/encodings.xml                           |    7 -
     .idea/jarRepositories.xml                     |   20 -
     .idea/misc.xml                                |   12 -
     .idea/vcs.xml                                 |    6 -
     target/classes/praktikum/Bun.class            |  Bin 569 -> 0 bytes
     target/classes/praktikum/Burger.class         |  Bin 2397 -> 0 bytes
     target/classes/praktikum/Database.class       |  Bin 1483 -> 0 bytes
     target/classes/praktikum/Ingredient.class     |  Bin 791 -> 0 bytes
     target/classes/praktikum/IngredientType.class |  Bin 968 -> 0 bytes
     target/classes/praktikum/Praktikum.class      |  Bin 1420 -> 0 bytes
     target/jacoco.exec                            |  Bin 69595 -> 0 bytes
     .../compile/default-compile/createdFiles.lst  |    6 -
     .../compile/default-compile/inputFiles.lst    |    6 -
     .../default-testCompile/createdFiles.lst      |    4 -
     .../default-testCompile/inputFiles.lst        |    4 -
     target/site/jacoco/index.html                 |    1 -
     .../site/jacoco/jacoco-resources/branchfc.gif |  Bin 91 -> 0 bytes
     .../site/jacoco/jacoco-resources/branchnc.gif |  Bin 91 -> 0 bytes
     .../site/jacoco/jacoco-resources/branchpc.gif |  Bin 91 -> 0 bytes
     .../site/jacoco/jacoco-resources/bundle.gif   |  Bin 709 -> 0 bytes
     target/site/jacoco/jacoco-resources/class.gif |  Bin 586 -> 0 bytes
     target/site/jacoco/jacoco-resources/down.gif  |  Bin 67 -> 0 bytes
     .../site/jacoco/jacoco-resources/greenbar.gif |  Bin 91 -> 0 bytes
     target/site/jacoco/jacoco-resources/group.gif |  Bin 351 -> 0 bytes
     .../site/jacoco/jacoco-resources/method.gif   |  Bin 193 -> 0 bytes
     .../site/jacoco/jacoco-resources/package.gif  |  Bin 227 -> 0 bytes
     .../site/jacoco/jacoco-resources/prettify.css |   13 -
     .../site/jacoco/jacoco-resources/prettify.js  | 1510 -----------------
     .../site/jacoco/jacoco-resources/redbar.gif   |  Bin 91 -> 0 bytes
     .../site/jacoco/jacoco-resources/report.css   |  243 ---
     .../site/jacoco/jacoco-resources/report.gif   |  Bin 363 -> 0 bytes
     .../site/jacoco/jacoco-resources/session.gif  |  Bin 213 -> 0 bytes
     target/site/jacoco/jacoco-resources/sort.gif  |  Bin 58 -> 0 bytes
     target/site/jacoco/jacoco-resources/sort.js   |  148 --
     .../site/jacoco/jacoco-resources/source.gif   |  Bin 354 -> 0 bytes
     target/site/jacoco/jacoco-resources/up.gif    |  Bin 67 -> 0 bytes
     target/site/jacoco/jacoco-sessions.html       |    1 -
     target/site/jacoco/jacoco.csv                 |    7 -
     target/site/jacoco/jacoco.xml                 |    1 -
     target/site/jacoco/praktikum/Bun.html         |    1 -
     target/site/jacoco/praktikum/Bun.java.html    |   26 -
     target/site/jacoco/praktikum/Burger.html      |    1 -
     target/site/jacoco/praktikum/Burger.java.html |   58 -
     target/site/jacoco/praktikum/Database.html    |    1 -
     .../site/jacoco/praktikum/Database.java.html  |   37 -
     target/site/jacoco/praktikum/Ingredient.html  |    1 -
     .../jacoco/praktikum/Ingredient.java.html     |   33 -
     .../site/jacoco/praktikum/IngredientType.html |    1 -
     .../jacoco/praktikum/IngredientType.java.html |   12 -
     target/site/jacoco/praktikum/Praktikum.html   |    1 -
     .../site/jacoco/praktikum/Praktikum.java.html |   39 -
     target/site/jacoco/praktikum/index.html       |    1 -
     .../site/jacoco/praktikum/index.source.html   |    1 -
     target/surefire-reports/BunTest.txt           |    4 -
     target/surefire-reports/BurgerPriceTest.txt   |    4 -
     target/surefire-reports/BurgerReceiptTest.txt |    4 -
     target/surefire-reports/BurgerTest.txt        |    4 -
     target/surefire-reports/TEST-BunTest.xml      |   71 -
     .../surefire-reports/TEST-BurgerPriceTest.xml |   71 -
     .../TEST-BurgerReceiptTest.xml                |   69 -
     target/surefire-reports/TEST-BurgerTest.xml   |   81 -
     target/test-classes/BunTest.class             |  Bin 1960 -> 0 bytes
     target/test-classes/BurgerPriceTest.class     |  Bin 2901 -> 0 bytes
     target/test-classes/BurgerReceiptTest.class   |  Bin 3255 -> 0 bytes
     target/test-classes/BurgerTest.class          |  Bin 3790 -> 0 bytes
     67 files changed, 2526 deletions(-)
     delete mode 100644 .idea/.gitignore
     delete mode 100644 .idea/compiler.xml
     delete mode 100644 .idea/encodings.xml
     delete mode 100644 .idea/jarRepositories.xml
     delete mode 100644 .idea/misc.xml
     delete mode 100644 .idea/vcs.xml
     delete mode 100644 target/classes/praktikum/Bun.class
     delete mode 100644 target/classes/praktikum/Burger.class
     delete mode 100644 target/classes/praktikum/Database.class
     delete mode 100644 target/classes/praktikum/Ingredient.class
     delete mode 100644 target/classes/praktikum/IngredientType.class
     delete mode 100644 target/classes/praktikum/Praktikum.class
     delete mode 100644 target/jacoco.exec
     delete mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
     delete mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
     delete mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
     delete mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
     delete mode 100644 target/site/jacoco/index.html
     delete mode 100644 target/site/jacoco/jacoco-resources/branchfc.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/branchnc.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/branchpc.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/bundle.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/class.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/down.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/greenbar.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/group.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/method.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/package.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/prettify.css
     delete mode 100644 target/site/jacoco/jacoco-resources/prettify.js
     delete mode 100644 target/site/jacoco/jacoco-resources/redbar.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/report.css
     delete mode 100644 target/site/jacoco/jacoco-resources/report.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/session.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/sort.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/sort.js
     delete mode 100644 target/site/jacoco/jacoco-resources/source.gif
     delete mode 100644 target/site/jacoco/jacoco-resources/up.gif
     delete mode 100644 target/site/jacoco/jacoco-sessions.html
     delete mode 100644 target/site/jacoco/jacoco.csv
     delete mode 100644 target/site/jacoco/jacoco.xml
     delete mode 100644 target/site/jacoco/praktikum/Bun.html
     delete mode 100644 target/site/jacoco/praktikum/Bun.java.html
     delete mode 100644 target/site/jacoco/praktikum/Burger.html
     delete mode 100644 target/site/jacoco/praktikum/Burger.java.html
     delete mode 100644 target/site/jacoco/praktikum/Database.html
     delete mode 100644 target/site/jacoco/praktikum/Database.java.html
     delete mode 100644 target/site/jacoco/praktikum/Ingredient.html
     delete mode 100644 target/site/jacoco/praktikum/Ingredient.java.html
     delete mode 100644 target/site/jacoco/praktikum/IngredientType.html
     delete mode 100644 target/site/jacoco/praktikum/IngredientType.java.html
     delete mode 100644 target/site/jacoco/praktikum/Praktikum.html
     delete mode 100644 target/site/jacoco/praktikum/Praktikum.java.html
     delete mode 100644 target/site/jacoco/praktikum/index.html
     delete mode 100644 target/site/jacoco/praktikum/index.source.html
     delete mode 100644 target/surefire-reports/BunTest.txt
     delete mode 100644 target/surefire-reports/BurgerPriceTest.txt
     delete mode 100644 target/surefire-reports/BurgerReceiptTest.txt
     delete mode 100644 target/surefire-reports/BurgerTest.txt
     delete mode 100644 target/surefire-reports/TEST-BunTest.xml
     delete mode 100644 target/surefire-reports/TEST-BurgerPriceTest.xml
     delete mode 100644 target/surefire-reports/TEST-BurgerReceiptTest.xml
     delete mode 100644 target/surefire-reports/TEST-BurgerTest.xml
     delete mode 100644 target/test-classes/BunTest.class
     delete mode 100644 target/test-classes/BurgerPriceTest.class
     delete mode 100644 target/test-classes/BurgerReceiptTest.class
     delete mode 100644 target/test-classes/BurgerTest.class
    
    diff --git a/.idea/.gitignore b/.idea/.gitignore
    deleted file mode 100644
    index 26d33521a..000000000
    --- a/.idea/.gitignore
    +++ /dev/null
    @@ -1,3 +0,0 @@
    -# Default ignored files
    -/shelf/
    -/workspace.xml
    diff --git a/.idea/compiler.xml b/.idea/compiler.xml
    deleted file mode 100644
    index 9c7564d8e..000000000
    --- a/.idea/compiler.xml
    +++ /dev/null
    @@ -1,13 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<project version="4">
    -  <component name="CompilerConfiguration">
    -    <annotationProcessing>
    -      <profile name="Maven default annotation processors profile" enabled="true">
    -        <sourceOutputDir name="target/generated-sources/annotations" />
    -        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
    -        <outputRelativeToContentRoot value="true" />
    -        <module name="praktikum" />
    -      </profile>
    -    </annotationProcessing>
    -  </component>
    -</project>
    \ No newline at end of file
    diff --git a/.idea/encodings.xml b/.idea/encodings.xml
    deleted file mode 100644
    index aa00ffab7..000000000
    --- a/.idea/encodings.xml
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<project version="4">
    -  <component name="Encoding">
    -    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
    -    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
    -  </component>
    -</project>
    \ No newline at end of file
    diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
    deleted file mode 100644
    index 712ab9d98..000000000
    --- a/.idea/jarRepositories.xml
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<project version="4">
    -  <component name="RemoteRepositoriesConfiguration">
    -    <remote-repository>
    -      <option name="id" value="central" />
    -      <option name="name" value="Central Repository" />
    -      <option name="url" value="https://repo.maven.apache.org/maven2" />
    -    </remote-repository>
    -    <remote-repository>
    -      <option name="id" value="central" />
    -      <option name="name" value="Maven Central repository" />
    -      <option name="url" value="https://repo1.maven.org/maven2" />
    -    </remote-repository>
    -    <remote-repository>
    -      <option name="id" value="jboss.community" />
    -      <option name="name" value="JBoss Community repository" />
    -      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
    -    </remote-repository>
    -  </component>
    -</project>
    \ No newline at end of file
    diff --git a/.idea/misc.xml b/.idea/misc.xml
    deleted file mode 100644
    index d0cb5cf40..000000000
    --- a/.idea/misc.xml
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<project version="4">
    -  <component name="ExternalStorageConfigurationManager" enabled="true" />
    -  <component name="MavenProjectsManager">
    -    <option name="originalFiles">
    -      <list>
    -        <option value="$PROJECT_DIR$/pom.xml" />
    -      </list>
    -    </option>
    -  </component>
    -  <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="21" project-jdk-type="JavaSDK" />
    -</project>
    \ No newline at end of file
    diff --git a/.idea/vcs.xml b/.idea/vcs.xml
    deleted file mode 100644
    index 35eb1ddfb..000000000
    --- a/.idea/vcs.xml
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<project version="4">
    -  <component name="VcsDirectoryMappings">
    -    <mapping directory="" vcs="Git" />
    -  </component>
    -</project>
    \ No newline at end of file
    diff --git a/target/classes/praktikum/Bun.class b/target/classes/praktikum/Bun.class
    deleted file mode 100644
    index 87cb2ee2c487895dbe486a61a0a60580b5d3fee0..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 569
    zcmZut%SyvQ6g|@<O%qdFYprikaM4yUOBad@g|12!Dg~Em4R!iROHBMMQLqRu`~W{n
    zJd+fBRED{)Irp4<=i~G39l$YmZ5UX$pkqUsO%q!twgvRS8~XyK=D>UK+>sab-F6hp
    zpnoD@Oheh@qi6_ZPh}vZGl5EV5!$GA$aFEeCAiR(f!~V9T|d0`x}$`9((^_gFO({u
    z7xm~)-YfJp^oEff#$)$94k&8&{iv19RIb(*r37*WT&06))fz{$+mkr#`3<SWa%4GD
    zyEw41;~)#uK@OHc{+E(K@q6RT?!fOw0_5vppWkEf&obcFFd2~*7QM#E#uBZ=?1l)9
    zzEFRKs2|RdsUOUsJ+qWSp0-3H5UMk?u*_571@_W5W<_QsNMuA3DIq1i!tPYYrB`o8
    o{RNpP1}S+qDV7pKCk4z21y)gJMa}rLS$q7`T=}<oEkRYj0Dsq7Q2+n{
    
    diff --git a/target/classes/praktikum/Burger.class b/target/classes/praktikum/Burger.class
    deleted file mode 100644
    index 1496aead06d55645d7bd685b65bb8ead060e311a..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2397
    zcmZ`*T~`}b6y1{qCQJrG0|i>JrD7nE7HX@~mX^wgXfy?EDivz0Lo&cXn8e8hTED8k
    z`%<6$1$}erS~e8Bbos3R!yn;VTKAoqWTuqzaOcjs=j^l3KIcyO^S@tz2QZFr6&%5w
    zjJFkpFxP^Uct<Rm7~aKuV#&(5CZ6*O7O*IG@5gWz*Ts@k5XGX58&P~9V@Y`2RPZ5|
    z6~wU;#Vv9Ek%HT}Bg`L*S31P;NfesGG>ZyWkr$RbG71vHt5s7%JX^N3E!)_tZjVh@
    z%?SxH!(6xYf}xvsMM8UaQ`^zTs<u%a%NiA%4lOxj-PG)=rAtU1IKCW!%QSE%CK=Xz
    z*)R=zl8IBpOA;b8r2+xsS;N%ltJ|x(bwgV%(vrxQ@>+38vkdX>86)<FK{km1{B+e?
    z*DV6e72PIvah!VQ+?)`JTD3yKry}84(8)h=d=<ZT30(oOfFCun^zG7)?%P;RDkE|=
    z8D>GhD?!RgXglcBl*%|xQB&W|xPH-f-CneeJj<pka|9^6ZxZ*dIa|wbUDL{r1~TZR
    z(Eqxg*Nw6*p))n?s$bO1^|737k-U(@syiHe?s&Rt6bp`MO0HD3^7@=1B#*gTj*3>R
    z7{ri-4!`YFmZjYjy;t!v22}Lpl#DeM>)23XV3SPz8S+ID4qGycDlTC{#WqY8C6rZs
    z3QIz_gCAh-QKP!4EBxzER{F(rILRSx_njA3H}yQ3R4^rj&nk8V<6Rcv#E7sYGu_2K
    z8K0^698)U35X+bNikc=(NAFAh$+e^@<GzZo@eMQh6}Vb(n0y5?wr**5iL~2%qfmrx
    z<8(<l>fHmU9+%?8@Cs+%ofP4a2{y}f;f$p+fhN@>#nc7~QG%$^;Lug?yK^b)+(hR$
    zw934GSFlQn>=Dy>d3H`3sb$X6ytd8u2jq39h{V@Q*0x5Zi^0mg8M}1|<$$R%iO;Cw
    zS;Z|8nQz=HGjktH@eB25N1U>to)?`_54%+78na8;(yngJXca;>Yvr<TvL|N_VIJ&(
    z8}8qTxIbib#geF9-qDIxePK;pwYgxZb3TDn{Hh+|mpueYTng?aaYMMi;#iZAx#xA_
    znxbVAVeWwTkv&KwPY_z(L--LQKRe#TT*VIqpd!Mr^oX-_{E^0KzOg2ZHn2jDZ}Uj{
    z5t<GnB+!Ho2cgUL@(_S#hbg~M7{gf)YnDDv-jQDrN$;aMgqsHuyAVTn08woqs(2OW
    zh$P`WUONo2cOUX0h{uW8`vSz*@rHvqjtd^*3N;B+gC4=LPb@C%ABgUwC5(f7Pmt|N
    z2fg2oYw+!Xi%u+DWFFByexbZP-}61fJm;CBsRpHWb5<nVM@+)C)B8{*{D5w5S|u>|
    z{J@zS+E!;DKK*;(M}~zV+So<;!BJ2+2t!D+X@e9g)u1!P!4RT}g3f!y6h>ag71Efb
    zRYmAubcSSH{Re%ty@@H8pcG-OAo$=3;>(Hl$Zt5Z9Cpbja*xrmhtBNtjL-Ru(}|-^
    zP7s-Q)zDo-Pi{HFmt!KlhT}IMKK(0w2(mazCwje%HS|5kOZAX+4JUpgE4ThZv~Yi#
    z?Hy$U$M~<xS>*U!Vb!-;ag~Ge9i<l|F4}W}TGjP<;OWteT})%f)1yu3k(3d46d9*=
    Jma!qc^*;r_1)Bf>
    
    diff --git a/target/classes/praktikum/Database.class b/target/classes/praktikum/Database.class
    deleted file mode 100644
    index 17c973b76c5e95b553caddc83505c20731e4bcbb..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1483
    zcmaJ>+foxj5Iqx;>?R~!mV}$2AYMXLf;UiuD1=)yf>lAR_%=zll7X<n&8`-o;1Brj
    zAE>28AyqzGzWEvY5tcn0$OZ_$%+B=mIo*A_XMg_v_8q`9o(D0Ago4Q+JV*pEfSYo;
    zrQo)TJKp&pKoEZ1ZO0U*RowHYRsa?Ey{Y$rf(HR4F{9#P5S^G+@kqsEX_`|puOg*l
    zLBXPeB?fQaHfjuAnN9wNCu~bp5*bmmk_>^YC>h+cO`T!%#Pv*O$K+d<*s`}1^R|(k
    zCI5C|luW%Sbi*RT*nbe|hNA=Y&j>?UvkYyq@eRr-RV`A;&WtehReL+Ho9jGZA&Zu&
    z7I<ZYn?jxsjb5uPC|sl|p#^U7Jg@1LQ<#bp73oe{lA9JAKam$Xjh!;KDlgKYa?>Zq
    z_<zB!t5az(TeZ!Cz9eKh;iEh!r1T+-;vz$j+lD#Q<h!yLA)Lcd2p2F!pkumIlkyc_
    z*czcGN`hqtD<P!ugf8Beg{8|228G&E-$h)wo0@{BA!P83K;^16QsZ_(mu#yH!5Sqz
    zQZRMCO${!TMMWIluStNvU|SX4Vo;01s1nkoX!NP^l5Ch8?Wk6oG^fG}H%f`M{H9(Y
    zaPQ%;IL54H3Zs-<lB3Y!sv(7-3E{;eL$ukyPLdpd#nA7@bE{k5-Jw)`*|`^~MTWtq
    zIXUh_gD@F8`?fwdr!rKQ(wR(pb(!QEpce~zt(t5X7>1qGc{)?)8s`zT(Vluu>lnZm
    z=oK^a{1e{;iyy#~+e6z|c-^fp{srCx_;Z?~se1_QBj~})hOu1>oi>KGj%K6p0G+wd
    z=+e3+gVtbZ*n1>N3wuQJoU%u?-j+O3t*<3dRO@fz`Q+$wiPkBEY3+a)?ev=pk$#;>
    zpbHD=Mh-oAjR@W$iVx_+KKk*CH2zIqmkAZBtA;DMN+<f?V4SokMTvnqcaCl!$>4zu
    hR+o9W3G6!r*Bccl(6yE%zLO-QXOdhek{eFQiGL7eQp5lN
    
    diff --git a/target/classes/praktikum/Ingredient.class b/target/classes/praktikum/Ingredient.class
    deleted file mode 100644
    index 38f1259cc4e7a3f4abaea848dd0280e357ad4b65..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 791
    zcmaJ;$w~u35PdzFtd7Pd#(jw*B%>H_9uzM^KnN-*xliH{JIf@D6TzPn1%u$h5AdVJ
    z*FAxVj$W#(s_QLX{qgzs4&V^m86>cpMjUG@tgEn*#AXr&0W)~$y8_GAzVEaH*&cMu
    zXI|5HZ=~x5*StI8jOTPYGh1yr_fEOvc+K)v;7hN`yLjK14PJ_hK;l?>GB^=9DE>|N
    zo1{{zQRB3CLz-+=dhYq4TX+3yr{2-3y@u1NIlff&sA&eb@=hQhDMMGOrW;&_#$v@1
    zttHtw*RRMGOTR6I1M0Z~s~q@e8JVlzz;Cz}smx`^yV_UFu`r1(3rVCbq>-^O0ZSkk
    zMJF&lUgt%<<u(EVnysP0|4H!YVxTRgm<dIuPxA3J*_p%?W0qA120K8`euc1ihcN8D
    zA!7E<5au)c2BsPFWCbxMF==+DFoQYFG6HspXEn!)Oj=jyOeq^WQ`*W?4)Y`BGEX%X
    xw_jjBG6|&;x;d|@t#DvO%`d|OJIeNVaO~*^cqtORh@}Xy@e{lj30~F`D_>Fgj4%KI
    
    diff --git a/target/classes/praktikum/IngredientType.class b/target/classes/praktikum/IngredientType.class
    deleted file mode 100644
    index bae348d58022412dfcd0ec1dc1a6780af66aca39..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 968
    zcmaJ<VNcUg6g_Y4)~=KdhE5nDsG#e>O%jbCwh+iN%#vn&C@dj<dK+aHx{h=$iT_GR
    zB1WU(vp>psU$@8>Wv|J5z3-lP&bjx!U%$Wo1n?HGl8~{XVH3|4%qw`IK}TLphKgB@
    zl7>JORHVharC^&OZtWjeYYaK_(&ra}a}jn+b+6;wr;hCfM;|ZkGJ|qZH_dwE9sO-I
    z_s!#)#jyN-+KI#!cSF0+u$nif0_AG&)MiMVj%PQ*Zp-$Mc*~_7C1N-{V<_g$bAH83
    zF84YmEASn!Q#PiFXUtxkyG`ypf@;Jkd%R1unSZ$$5*5dDf?bB}f28V0lR*wXI8;s2
    zaylLlLZ6tVyhx~(wmUk!Jw{#g!fxe$kGs@V&FY1I+dgnawF{FyFN%V7%!zB9*YOfX
    zhQ<3XNJkbW9m`nJF^iOrG*S$yyPgR%bkl9O=aJNdyfJ3<uyt;?1G4jGy!5Ke`~C75
    z>~GsAS<8Dn^pbRXe$w8O5C>=_ePAvp>{CWY5*aLjlqq^js~Fk<><ePIkUmkw@Q~(2
    zlv4?x#iJ4aHDb}OmXQlz5x<2j@UaQ}BJJoy6qb;S^3)AN3B?^q^Z`m?Yvl%s&ry0@
    z?(VpPRbd^EBg`69tYd9tq(Oy<QTz`1B%??-P_L1U0!@yBnfMP%NdtN%C-ML@)-{+=
    Z8y1&}OeCpE8d+4y+)(8SwL}#3><`xz%=iER
    
    diff --git a/target/classes/praktikum/Praktikum.class b/target/classes/praktikum/Praktikum.class
    deleted file mode 100644
    index eedb38ba4c39bbc6b41482aaf987061ed5335eb6..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1420
    zcmaJ>Yf}<Y7=Bh37I9HipvZ2P6(~v<Q&Th3(kQ&7=1kL<7CF%>EX=YvWBsc7fK$#i
    zeeOp!J!iQrI8A&w=e(EmywCHVclrJ2$4>yWcpJhnCN!i%=#l$m2r4F|F(sFDAMWA4
    zh6mF9P{Xv`AIW7#F0;Lu!((}x4`Bg|8lGraQV>`)Ez{w_mq_j_P*=-&p<p0uT4J+S
    z$_abV$Q9`s%9am|;=W;<(r!9c=aX4g5Y1L><H#|OYNhmc>$E_yl3`j3Vu|<JL*v*;
    z7Y(bB-gRu#DlE9g47<SV!~X~?2<8pP$Qf1Ej&$HZZ+ZzI$kptEuq8LI{)+39#d9@_
    z;De3QHODNbvu4#{q>uG&kvE0qFd^10?4;5XH+t^oVpkPwVTn+Q|Kw!aRov9jZn<V3
    zh&5Aov%lS@DcKnv5k#rOlhKk%0iLs=O~+F#>v)D`4J$fU@mxW;Gs)8N0&8rW=k&Pf
    zSjS5p8NAZ*8d(h+IySMTV;gTY?C99V9-qX!y4`wEQt@7KD|aXk92O>fvnWSm#clUc
    zB6+SQ>{6ti<ndtV`(3#9%Wwn>f{@WfritOsOQRA|w5o7gMb15i9Hy|5&wKC+;)#wV
    zFW?Sdf2n*dJf8x8B9oCIgSI#yQb|WfJng$DRY#Oaw_KBS8+y$$N8hv@j<+yMq#L4`
    z9dRJc3X>wOwsd|1Y_kj6eU(Bh5~#>8C)%8^&RfZSjADp?1@hMeVk62mMk~!-;qD(l
    zh4R%6U*sBSIB|(*y?Kt~GOb>W;0iswti<7ipS~|==y`VvU-k?tcmKvj9f3_Q+Ps>Y
    z^nFLL2fxr;M<^9n)u!23hfY)LHUr&eu+#Lbb%axaI{Lq1AXUd;9Ty~JA0*`&gk5?;
    z5+1|=6%LVV6iG(sC}bUR>{EikRUF|4D!7Hu7;_~~H)Jq!jTk{xah(}_L1vEPCVLje
    fN9K>Q)(Ae}Hcu+<FgMnY-EGGbj47-udp-Ua*k4g~
    
    diff --git a/target/jacoco.exec b/target/jacoco.exec
    deleted file mode 100644
    index 50f4cc7afcb6b1540807c52c66507c70b4ff8189..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 69595
    zcmce92V7HE`~L}H?;|RR1Jt<c2&lLfQ5+~saqkELqanczl{&z!b=E!Ws@B#~+q$Y%
    zY29^Ot##GeYSq`hMe~2oJ@?++oD8t<`~UIzv`8Q~_nz~N@AG}ekrfmKdj+G2BvpDV
    zy?#jTIE|rps@i0zqt&OYw6$YY165Itq8cG2TcTUKd;$Ib)fn9E>4;I6PbRfQu{yO$
    zIWX6x9%#<U$W>~xbF}Jgwa%n6Y4keo7wP&8wKC15N*|J>(rI$cTJBehE(XmojY{j;
    z3~ygPXYxLoUpQ){H)JVQIjZzQYGt-+m|CYanhokqjX|v(sMnj+2Bk4aqih4eFtr|}
    z(&^ONHac>3!#tVAVu?Tq<)g<z2tBq~@({wiUuSF>{MU?asE6%6X5{Kr*_w1^JpJA!
    zH%F~#W!7lnLW;H;wKgLjK2xV551>fNA>UM5MK_h!tQx3QE8+$kO$JrEsg=s8_N$1n
    z`|;0y_~pn?`%ov_PhnOfNo^XW&uFdEY872nhAg$Iy-Js%C7-A_(BGx1461B3Jf)(u
    z+NjqKQ)l>BL-^vT51yJXRTbzH+skLGOt4G_SXhHbmz6|+QY67@C>p!TaC!ac%lj(D
    zE<xqUnhrL@<0uVgSTch$UTsV_Xt?KUo)GjwcE}%<!`C)1n!Oz*)I+UpKgPvVs14Z~
    z9k-Xlqoi?vt*8f|pWJe73-5EscB3vXuctD>?GH4Y)JnPral+4WIXP+_w;_5%f(};P
    zOoU3ELI13L;hSd>cxL3c9p7B~V<oC@`x(Oi8q-yonR;yof9-Y#Rn8zqGFhQCy}{)B
    zT#h@WtZ4Ix=`THMO;#yepFTum(knIaK?c}!rO{*_I1pA>nW4^9nYAXB&Ny6cFe*E%
    zO=g46n4~wT+hpgMa*1rHjlOb(Pk;Ha!j73!tDtn|maJ>81i{tw>JcaYle+|wh1Pm_
    zT9wYENHyql)CN;-yjrWyQkm4`m&tlvoWY>V<wUjtEOYg9UtD?N6H*4%argikpp{u!
    z<Ovc%orxs31<BPLa=pL6CAKbo;A<RG7d3Kzt0qtlCHXLk%qS97pXS2NjmY(b2Tm9i
    z{UCB|SU8GyuDhJ{)mL`t3PM;P-Z@M|HZ~e=KX${zz3UTiv}LVGhGe-iiAE}Uy%Z%^
    zk*3K4;REx~ML$HXD<S(sh82(g+`PW)XZ4ZtBkyIi?3Lx+(83zquX>@)z0qBCefYX-
    z4Sz+r9g0rNXlJNzCt;HN6W1tFV>H=Xhj(81$ku0;HD7t3LJe$JxwTehG`7`f)!jg#
    zh@s)XbNi&XngDM(mX)o1V%!%;w5XZ$$1)C58Ppj{vq_^hD$}(ZW!fOKDMLS8*B*>|
    zSMsV)355MLa<9E<Ey7TW?aeSsPOLd+w6oRO1HoWWo$IDDXovxfOHWrDjSBi=qF$8&
    z;#JZTh_I^LyfLFkrH(?e<UaKS2di~zqs9p8#0j)U1%d|#U8hVl>pH75wd!<<KoT7X
    zsptO4cLl<-3EG%3Z;y>c^_@So3Y-CXVr6Ts-l!(`mH>)NKBn|L??(7!jarrD`mtS5
    zZ`-F8%!4EIPoGL+|3#xLc}?m8JZ0G2@y%&-+L<?~w(aK#7MfmDypWN%)qZ{m_e|Yb
    zvVCUr5R^ck($4;*8`M@eO8sjR*eH6z1Y)Jq)j9CE#5A;583(ln+Xh;-{=2QARWjn9
    zpyswW#B4LY4Bbw>fj0~a`ZLja@XT-W10LMJ>NOGhwlagyGIUWJO%=h_T4Z?N3AgxN
    zU-vJI;$40Sn9mFwi>KAb8L~KIZdAk>jiANEuzSYfM+-`2cUUt!-H9m^*Mh7-n%ZOn
    zu`?zB+UO-K2rdV%-@DK&N`|LBDEMvli`-Xs2H1tqm+q$`E<=?=d@x-dZm)!wtk#-;
    z1s?_r=o7x``1qZ3(@;m33qfvGEdnD2n0b?Wgh>HnMLdh5H32=G6W}bJ?*%#DZ;I5d
    zZKVrCRUHZkC;4PCk^wc4tA}jzal=Ex{tT4OFFgDaa3Kan#*+53$+(vHb*Qex&q~+p
    zGBsId&@C`k${ej3e2P(-O27Mc^uRxE$hi{Guh{@r2LxRcT`>_XcuY+OcPXC(GTh+N
    zX63EQBfmxow(BSL0cssc4FBnEtpApJCFv#xYY-mxW6$M(t@z|VYHE8~MhQe)2am{E
    zAY~WW7QqSocp+T=pLuPYnPyByDP(CVk`fUDg;Yj>R$4XS0{DLtXEXUn1l5dJr)$A-
    z>asYCpJX<gTB%db1GSoTuQ<FkF<Yja^v81cCWU3wQu7K14!lKzZZMckxMWu&T+V7i
    z+ehv5LM?Z;0K}Uy>Uo>zOGmvxt!y7!x|W>3N(D5o%Cd3mU_*#CS7-3QlY8K^`0Mni
    zHE+mKbL*oIqnih&+^P;n>*Mk-5@RgBSke*{glmmGcK6RwvJ}+9p@a=n8#I|3ictWe
    za!S!zodqsc4UR2AH;l(G#xgrR!Vs=Mz2BLY_YC(~r6WqAG36>VG{zhrAa_s=Q^kuv
    zDkT4eC#G&EUEO++I(-PiGo=@It-iD5hIe)=$lDK5kd5Ynu(3uXcr*GBi96wgiL#b!
    zK?q-(yF}J`(%_D+q8sAL_y~uD6#_=$ZE}sEoq4cyxK-&g1<%`LJ+nhg?7dOjMe%NH
    zeRdAO3?his(sWek`p@;n?dzYK=XP&Tb<}|DhvT42bg-hl^I?}!QQ!BS8#a|_jaKbl
    za1tqP#ZB0S91`LIdQ~gisZD~rAtuBhd|!s=wE0N~2S=lZ#TG8kG>T&75rV^C{~ECL
    z)5~{JL)#l*l$^>nF+B++tOE)D6c!{|pOWKQ3vX;Q_><n6<~r2ap<rr6(c}CxgriDg
    zbi1onLqG*VICbf2&&pVya_n4;dh|j&O_m@<m5BBwx|60igBMqDafC-nT&r`1L7}1B
    z+M%|#Pb63biIj;ktJL&S<3Jv@yFmlG<Kcr_E<Cbi(Yp1AQBUTQl3U}90(qCzq_zV9
    zXV9bzfS*_&f>cFAk!FSfg)>e5-+JI%!Bu{)nY8C2s%hO%KH`LU$Ew_&&AMdnXD$Yi
    z<L1w@27JG~(Wj`r?d>spC>m<eIRFhxkgaUk%VBC|H@zk!ZaCmy3MbTt67oPdT<y@^
    z9>%T@_ONb+xh$1RE-V*t2`4R%;_|>0ggwR<RG;7Ej}kP-$OcKUi5NMj+);1RYIF%Y
    z_@A0vo~~e(!chT|;~L*BjqG@%@iWxj<-;b}f(1$#*u)lsI@9~N+DD%UGOVtV@S#G-
    z?@OV24kcPdQdZW6>^$sd4ur)%6J>Z|(*dXZ*6xsmYB{_BP%nhJ;PikG{mBhi4GMaF
    zEd+O6pQL^LENm4@cKBuopDtKX>fk`c_#No3F%7c1IWIlF5!%6DbE#K%lxVwpQupR0
    zTujh$0A8JuHb@0@k5pykUif;aror-|jn<<9%!OT`M!NFcRVh_uyJ?bNNIwj)R?yu=
    zwJhxhg|kLWP;squr{7g)RAs6go_yGL3?N>7ebFS}cJhCG*$|$QaZz>nc#bop6z7-s
    z&tDON7uQ~~VxYUCG&RM=^#v&q;ia31Y#Y5IajTYcw*luCHz-1~CHiJZgQcmpnJI=e
    z!i}U`C0fCIK~Dv)yJT7E=l$;)iXf?MH^L5T^Vjp8Ajdbx$Nw6ZXkLYy6jxSTL2TTL
    zFrCB+B&mj|4S_X0aMYGp^(O>PtA)~R<%it}5)27)!?8Lb?5*HMFoj}#NPY%<r-;+(
    zb-CGkv(YaC;mw;b5APSURE_$&{s1O&m+Ukj*h%3JAy!h&CW3(sX3n+~yt`<e{@mU1
    z*VL$z?MDq(8I&qxHpQadG)Ay{hOTl2$RYj0RVMa4v2}aP6jv_Lp`VfJ$5FZ8fIFRJ
    zKsZ~!3bvO+Q)iVK)lP;`B>%E^e!aO!E{9i8b@=c4w_Z(UIHcsRAAW9Cy}J{;C2{3x
    z!0aXHGWA4MKqcF(EdO-*lZnA7-0?FL`}ns^9!x&m9YrBD9%A4(mfaP}3;8AB^JDR>
    z9}?>X@3_1e0l8SbSe{&!#C@>aM63wq!ns_+U;vZLxfb#b5E~wQ590bpUo5YC;K2n}
    z-37xzHf11(e_I(e8ChzehJiQC$`yQtqOQ9P_p15hoib6YJD>`-k1E^@B}Wx?!76s2
    z`9;USM!5U2+!Z6$tUxOS?lw3U;Wr~n)qUaF>0J>jD>VyFdF8r5wuJbWxYK#d-0L3^
    z-`0f<4m>mu--(}Jo5r_NI^3wt5qNh%g&7e38BN6Ti27&@wScLed#_o{gw2<KU;_?j
    zEr>k1i1Imo<U;*6I+Gz68{x`+t$%h~Y;5|D0&(fBDV^e`H1GlfhzhWj!ROUiZtXpn
    zwG>6!ZmJUsitM$7g{rlu%$s?`RPRv-+jk2vzPP~@wcK<oL*?*j4_^LU&}xxoGzuju
    zVe@E^;sDyCN*;2%j&Ys9z}U_~XYW(!=onN{Z$mF`Y-cu@OFs1S$L|h4`+Vk)ZJVMN
    zwzn=t1SWV|rGtQ1YIXu;rSYtuJNGWxx^^0>X?rbU5nJoEJZG5(lESZF$<Sbg$7G$a
    zGk5kDgko&p$q0w&hj|Dq;8iy{zImy#X2A7TQ&BJ5D+sDBhMjZ)oP>7mRfcT6jtg!8
    zq?5px{<(tV$o&qxVZW8HI_&s;$Q_jY-+WGznvj7IN*icMpwfCDz-PCvRiFKN{&9*r
    z9fJrV#^sWE5NbepL4&c{7R$aoO9Xy!XhDT(zxW(Lk*vf3-2@O{XM*qnq7p?k*r&`N
    zzu&*CgZD!_hvPUNrgVbAY7RLa3<-j$|B!!hQ0GSOw^6F?valQYG5#B}9Yf7(e{kLt
    zaf@YZHaFT|1npjoTo_H>0HVpx(VKM{rB7KR@z2fPEW9=8*>MzYd+&ClL$sa-g@Qw9
    zcPj|Zz7q&O46oWca!{?SrT=1i4?*}7!IS7rywH;nkV+OOSYp1C|Ftimh}D^1n?3W4
    zol%5!BSjX0zLzB7)CS+aa@=msn6v99JSvZBlRtJWIueRR$Zb^e0_Q8ohild8r;}e>
    z%m$ElHh?Su2%V7pv<U(fDVa2TN&cujq>{byKmFb>J^ahN2dJy#g>`|`tx=1VZ)(lc
    z`EeZ93O4<WryN*%bwpazbttJAA3>rbfC_eAy*uPJbKn<NXjdMLFT!7Er1-WU+3j@^
    zV#hM{6qeI1vQm8UK;@`;tQz<Z;m8jADj$0`Y7nYtd*`gi2!J%+oCB06NBVLw<kN`O
    zYofkMxb+c!yb<_ugd*C_oLDgiRkZzB0i34gW)IYByAb;ErW;uW?(2D(a_;E37uu5d
    z!Vd*Jyzs0!_wr-<jr_ZZ443g9_j=rn8=n=C(6DN$b#Z`_GOHn(NAd<d&F1@)9IIn*
    zez$w>@!P1K?ai`lM68OG8{+dL3O*7@Ql~@24LnR;xeT8kxTVf-&wp#huDe5Rw`IF@
    zYVWPsf9ukjeXiUuZ-*hRdZBdYFsXt7FMOl(vw8;`XRSk@I8g3^w35Q8Ovutff;@vK
    zL*0F_G0wYl>iK7lP&3>0u)B9EeALM$YIH-?8L+HEycE<L;pmMWeB3v-@F`-iM28E=
    zgsDD}I)CuLK5KqCb@#Jgw~M?rj?bZ1)J_peM%&}7Z_)?9t<_ixG)227WD6kCVB%0B
    zEE3R*Lm+8DibLQ&DxS*yJMqV^i<|{t9DwA5uLu%+;X&In{u%t$j#qX?F6@S~)=yyf
    zQZhxTO8_wWGb_bMehL~Fg^vb|o4cj0+b^hDjzKlVq#0t)hFi~q?bU!=kOnJ?_~=Yk
    z&mP^)3YB>T1S2YNxb@<4;!=hWOOw0fjAOS?$>mMTAmA3IbwfoOYvFdSTGv?(*$Sd?
    zoMg}}D90RSScyqr8N!Lil84UEztZAkh{?LJ7wcDCeiwpjv~{H_+1$p7F}>BdaE>v>
    zVu^)9B=UuuS6FkiY4oyxP(zXe=XgQ`l=%?ymt^cS48Um8$_Qoa#Q4sn4nV7pSD6Te
    zQ;|^B19+NbP12DOn*Pp=CN)9C_;Ixe9H;DG3gJylx};|{?tUA!v0e0kX^1?V<9mxP
    zuX~idqlcXtl1N>qwQz&G9RLm7su(>g;PxE~5B7}xX$cLMoqK$4okaZ+lorZhxYrD3
    zsA7VrCHhF7n$J#@^s>nDH-qBj(-&+$T}0q%HRn_Z?F*2&G(j_b<fQJmy)%#g<O-wk
    z@D?5vOjaun<i3$vZr$2<!2(3Z=_MaL@&^?h-a``TeY>O6!~IdDw+uJmdZuZ3SIb>w
    zu-%>isY<jNp-wk*izI40(QSW>@YHf|p026*_C1?cVx%L%HnerXNr%e^xFI|e`EKpd
    z;puS}OFOahA}SY($YAxDkK$8U8BhyTIs3_(-+i~`qsq2xCBRg$$$*4-97?iGhgO~S
    zyMCkma2ilJ4lTLlpD`c~;f<fI-dVPmsWJ+4Wah|%d6dKDJ1uy2?c|=$sHJPPY62#~
    z2u4n*<|E94w5&jFC{-~y7@z;#&^D&Wv|}`Ga*|)p25v|TSE5xj!+<u@YKg?V%kjOf
    zYulgIG&}oWaF21>10lN)c~kyY4Pt~5Hf!H_d}L{lJzINCtV(Nf?AFj)WJV&+#!wYt
    z6spb0M#jm5Jr$?&9zo5>u)?`j)4EMQ<IKBJ6{OzvsHf%aSQ45<67xyEJo8a%naGwS
    z3INwdd3w_q;r~9rAVLFLzXpi^Y$^VW{6juR@n(u5X74xOeAYFg&@0k=+?2wgalr~1
    z?%nR#gEhXF3fLM>sR|aO1_4BuIv`1ng5M2yd?vBSoX-w@Gtw2m&f5+SUqI>_YI!6j
    z7x=>q8GiC)@tO;nRXd?!wz4lMRy+-RIR`G3v(gon<RV1vm%K)C9T3jIH-W<ev9b+~
    z_-YsL5L|Nf<uj$Pq=vCfk!w={k785nB9t7_o5SxO%J7<z8v_GRZaG@aP~I{BQRjZj
    zPz!L5fp-#OT2Gm;WZj)~H%*|+c9o3+#^5U)`GjZXY5A|xWq5kYL&l-Ac71_5Iahmr
    z6G@eF8eh4bq#`8@kkKbqbG(D%e-ewX>hh5aHmtunJNrtxxhSg0&j6#C4S6^o1V#I9
    zaKjf3F_(X8H1r?4=Vtj34n+!;h9I<@(6!e<g^eM7P_B@00aLd=1f4w}@L)UY;QW3_
    zU~W*8)S;4;&FHo26tgMEY-$a4RImn$WV2RFUjgH+R%Ju{Fyoi<b*e0{6~y{x=>}yx
    zMOLtLkTEoxG$ud?P<yz~5`-foWrrJvuE;@=wz?t2g@j-4##PUBo4Yt@@zKd(F>cn!
    z!QSS+vu>wFvA&9tXEBbj%RQ$GS?KOi(+Z#@OQ_bZIz9M?B^FN%zu|kL_Us>vE-rwL
    z)KY~|v^D6n1q08O$p+1DIiXbP@nior#<v5_WYY<WqyzL$3<lI94SGLmO+rH8ax}zt
    z38kCjQfur!!~rs=Pe|*h$>;i&N4R<|<MFZOdk<wZhk{)bxlg;28(W;fBa#$@2CCD@
    z#RYE$g^cxU)Kw<6x_OReXzf0OyiXc7Q`_hl0D)H3levxaw<rH^AS=;Z31sz;ljHhp
    zzc6p={;;$&bZ>)gXr+IBh&abwt@HhotH&Z)`pcON+Z6Rm(yZ2h)@o=$sSvW@+nG_{
    z8lUhLI*vg)UwEul>9XoU&xUD`GTBUuhP#rq@J%_n&cFJ)ZUGE`$k1|J;;7%k5m3H1
    z!Q#iH<^P4pgEZOrX>VdP>JKl2YT16Y05om+PyylrLjCRYzUyw>_%o4Z-2_Q1mX{U+
    z9a0P?RHXU=tJ<zluj=2g>o$}HP$WzuWpACqBj~fKpj0wGw&X#@No+)n-@*fpS#&Q|
    zYu?t1E5(ItL=&WT);$Oxk2$t&RqY*qcA6@Q`b_Y)VmemfT&X<}KRDo25Dxk_rg@nE
    z+`2T0%iv*=T;h$5NH3L$fIQ6mKd#pNX3}q$Sroyl0z<g*lpV*nsSUyYkMU*M;w9}j
    z?O%)r+U~xCMWas;Z(RX}i&7ISv0{zK0^bGUEnQmWEgjtcNwKL0yIzCPJk%1OnC*ML
    z!u#2=c6-eN0Gjfr9W`X11(z?dm%)V=e4|q2$<+Ko*J#0}W9=utUkGy&bm>|%l#jL<
    zLBFR$Xbo*NMwtwMetv$~68YreENql6r%SnUz)^J~nBN115$l5gURvrziy84MmcC;*
    zUSOl``9PA=3uq2KV|nIsc>ngYsJiXW3mQiGI+FVm3QPgdY-zIfm+-mQPP=Lo;dP9P
    z3#Dg95K3HQ0y<<%WW>yMSuK5N4%jZjN|(k0%CwwZtE+9J181jBv<5)f^3BOpb;@+x
    zgP0T_yB02TS@b4_LKHrh@ayl1Ck8$>P3!mKZ{(uGhR48wFhmkW(E#YQp?Q60%r5YF
    z;wr}C7fG}S#Z)Wc#cyxQ%4)jn^B;<+RS-Ezp0Xn_3()w8+-k!Q<>j@+<ulfx10#-|
    zV<~&VdW%@3Gn8u>GDHj|vKWFb5jcxLARx=OZI+zb>Tdo=RJwAATw3XRxbcjPf`ubJ
    zi>e|fa%yd0OUTZqq)(D6$Is%0ONS5sr_u7HHBKUV2eo-gP=C@Ex=;Yg8zJTDy>))M
    zf0n$ru*pWpZV_aF3pF^}4}9a*GV^jL&*<K`$N)t|dL*LYij(wE7sghz_`}+c`r_|f
    z`zM`NqRzJZT5Qw8lj+1Vi!EjRYn5f_1AIh})w3pt4|ZS7))=q~B^VdbRv`FwCLqY6
    z`bI5w^i`aI@;}J%hGDTyO|iLa*`jG@m+P#~)(=x@xj^84iBj{9)Cn@6ek2~Vw-XRw
    zaUB{YU~$ziWVK$ryh7yCMQ;s3JiW1d!p^?N*>(D}u+mNwi2txnE0bPXuEB$Edf=Bc
    z+h2+VgK_I_U$qN=ppRr#*5TF(3^L_c$Y&Y}z4u*}24gPQySjtMSB{-jIz-CQwZb6@
    zp$n04aUAWZHbm%apj6yimY8}YI%uCW*w)1W&7YZi1GJ%7v)|CeEWDaQZKeYFW2opN
    zo|S)UVgRz-M*LO9vb2!hazSgXl_k)a*F_KiOQOvS;bwn#guR=-?_U2vY7*PeC2WQD
    zE?nMQ$-Mu_aoGhYn)m5&-;4HZN=tH#AWwv3<d%kXHqc&ZV#uIC3QE!d09LqhC%b!-
    z3%%`1SFP}eTm_1~p*%P(SC>A>K<ZIAp#-06QU{a^!}vc5Z%xL7Q&EhSWNl^E*(8zT
    z8g_4FY^#ovB$3h@)-$vl7M%-8q}5GYj=Q=0%zs?<E(lZ%$2kBq!LcRKj04YTXrKNX
    zp#uNN2@~+TFx9S=KP`C3*4s1MXiXDXU9W?zuY%N?$xjDIes@rQ7{w7KWdN)}4Micq
    z3)3>n&h#fmYiJ7s+zu2hp9<uCu4hHuVN{<*-ERN$9Cfx{O~@mXjRBVlRWzh>t(6vR
    zHEpux+y||cv8`nTaLTh<M1|Y~@ZxjN-ah_MNJIAdohzY0lBHx)T_je{kf};nb4uwE
    zfV=NL9IJ0PtSPE!f5)Ul3T(Pb1)v3rczi%Pel7DN{6@--t*ixix&xd`vCq?h0hhvB
    z?yvlsd13c}UK<R5wi(A3jXS-*b%%vQMxycL>8!soroy;^VBn$iJP~gB<Csb{<7-8-
    z4nk1xHnb#=*J(uuvrcTJfJ_$Q$2d_k`T_oYnzg?|mp@jla;0IQU5+}UX-FCXRaF0|
    zCq>r!uFPXLJuVmw5yeoWWd~kTfzKoT#ELegO0o14h&-E*y0Com9KD&fLCh+OOc^2E
    zNIR;ygp^3}g@&m4X5|klPn5B!y1jfjmf=sAy|cV(?>4$$;iF*@Q}$`(`2M|>D<WoY
    ze}>}iukrC(k+cG#Q!?~;_wWE5<QFz?`pLMScHJ^;3`N(@F%zwTl3hg_*i2~bAxkJ$
    zNO9u_f=46#)y2jm{<$z?460&_TLhU&CO!YwRF)sC+iL%_D<|DC#i4$-ZxMDip57r5
    zRIxRP-lT-<2i&TLN*+#}B`-?}2QXn>$Isoc_hGLSPH>_)7eN?^VC9ZTraD@V@?WNt
    zocFVmi5{PQXk1+HT#wEOs3-BxVHa)};3xAs7Z#{4x)(7_LU>rAQbdtpld=@3Sq|!P
    zO$PK0flx#@`03qSCpK020X4Q=TUNXo=77tv^SlAHl3g0`)u|n!r`MxuwpVd#Od&Q_
    zuRqheZ2k8qiV9t=;Tq}pZ8Ovi7|WWl^8w0gOYm52@<?^ae<dG8dW24YC-UJT!;1><
    zPwiE;W}E*FkgreNz>v1TOqsJhw*!iEzIG}{4RoCCv`JV&oHAxrOp89lw>>MWnVgpi
    zqG(*cA#_{N0K8?%wY*iM-FFtXB?91Q%6S#AhHycjLK*%lcWuX{yc1fszK<0v;YwoY
    zz&UU(_#vY}!2O85hGc_+qG7j<hm!{1>;8;};&!0`7YCByO(;6#F}dDQF0FpPH}2LY
    zspsUs*8NcwRc3c*e89l1dWqv7<amsEZ#n3M31yQx%rnyUCGobRi_;4KXy05nyv=>k
    z;awf}>~gYq+>?=|flL#5K<GnB)Mr7Q1$OJJlM{C<8(N0j2@z|&rAUD@n0!-^K!7Qt
    zD-cQrj~N=da8Bb2cO79F1}+=_vRH1x;Gx3ZB_d@fktg2KcU7-8!!NdHYZb}oaXkQv
    zL>SIt&H-N$Jh>!Z-@0Jt(muJHiUDfVav`Uf4ZH<6AO@x?K`XbR)(2Gq+%vBDWu1bT
    zzc-!fYFvoe*vs!GK*baT0AtvmbTXd_y1R$(leKj7#ykE_ExYuOernXxRxO#`Ws6AT
    zq+=ckk)$@%K3+fCkRO4+pH#7Qe9ntC>{t%wiV}ID{}h-vP=;<Ag9+@P)$1q-%1r=k
    zPxv&lzCP1s_~_uh|LOl#ufY@}IF1d)g%E3u#PElHDlxWQNiHMsTvI%tQ~dsy#zx<`
    z+9LZaiapcyJj>%1&(F*^UYz`_h-wWhPZcLr(Q#r5w*#g{q(ainnVFgq@CqgVN&8mv
    zu5)f5?)8gcxmKb!AJZ8x)$?j4gCig3;dLQD5BRS4PimGMC0${0#%w;|<;sx(+>^Q~
    zuTgmG<<2EnwCi|~rTv_5caeR#0$Ux>E*SUNcfDn)sw)<vCLblAG)c&N?i#n7hN9~-
    zTxmn2(LG-t&0!lr1c2o*&JMI7Jo#+W95g0X$FhdZGg^a4DqHq33<<VLVSlNac?jQn
    ze|Np6#-Q44;3C|Ph~kN4@C*#SaH?Lf1;|MlO5!^>KQ4^U3fZ^93-9%O-Q@Ve_1~bT
    z1U@@g4GEV^gpAAbtA$Z9;AVR^Y<PRrk@oG`=+WteTO%mWf!NkeE26z*I5)%FVrX}9
    z3L5NsLj}iF{FFQx37Vs~WB&>M2<S1j^DpzXztYkRJAbONjsYOcO&YMccn+4O48UC(
    zE~{VtNz7NCP#<V}-vXegJ7dj!^U)xg0<?Hz`S|pyePfHLLLl}{(p#36qfUqJ8G2ob
    zDU?F_AgG2Zf3fnkFH7`@U^_dQJ>o1ly_f)sti7qUdPQ$2Y4HKhEjz`p@1wYXija2J
    zC2#>b1#8qH2$j3)fNP<6S-a|UPWq<qW-lrTd$EEW>7#=vwd*tP!L*g-%%~%ga=R^6
    zk08^Npaa(kgWjM%+yqno)WYl$PDViCVKj(Vtpc(Fye&7k3^ExH8?5+jaj9PmSPv%L
    ztJZk~w@|?cV-&0$ES=dvd%Hz`X3U#6P$v4$^7xg!HCO9~!{d9OnR0WkUFkl%k&I>#
    zacvDnNFb^HjS>EB@yL#sM@;=$ifBaVNB5sL=72WlVfB>-2ixEJ=X2JZIE-lGtt_BI
    zV2OCApb#_3dP6DMV;SyS`N+Zw3y&t+88_=SXdeQ(eMc8g$>cwR8;A!pDoB5lyBChy
    zoHS(nwmA2HSE-&btZquTp;{G?j7Og>&)+_;U{0}lDXVQ0Ne`hUMMoDlRp9GLS-N@I
    zj@63_7wteyp3b2Z5vmO~P;~sfcec`bR%t2&O{EC;IzBjN@9FsdML`w5a*MJv)WCC$
    zMX&LBTMH`^!u~p3t>voU8~$_es)v(cLl_7_s4OUjfX2>tW|bjBqtf}Vkl}o7X!4I0
    zw~j#VtXz#KaRQa;e1H-is3aYn1gz+&sfpj$nqK->SL5Mq8DMT|C_gR~1p9KG4i6sQ
    zn$e%NH;gh-u92H~M;i=?5hfs00N-M>bCnun4pm0@aJ{BO7S);Q!(s>lesM7!>9(f@
    zSd>{0a&L(TJijobYW4BIIT=MD@jtxh03j1Pssyq4WY$<2>=_Py;j?~QO_(ym%w`ir
    zOGFN0o(<G9otrUb<724!mdm>aPAd1&qB6~%>BqC76|-Qh)rZK!q{-&EVKU;7%M5^W
    zjawFGY22yjE@uRSL#QPbPxA=|$=_fLAm1l1g1dg|-nb4Mwo7eQwzR6yS(!_Rr&;Zc
    zd#_9?F4rkW?NrN!u)X>QyeMxh&T6*i?D@eReeLvIV(DydOKR<0)RF`=4Z}UEyl(&S
    zlb<fQ>bWHW37H7Vr$C^eN==8_23ssx^R(Z@--0K-u&axc+#CskGI$P~3$%nA)Ej`m
    zdV1wu$*7E_EsDQbLKn4?v)p{(T_&O>*u>J8l+oIG`Uli%*?DX`-jUD=Mr+#A2u{E6
    zk~8P~j$6~!&SS9@0NpGX{H@qcoe^R2y50=OrscnnNq9Vl4TbHrN`l7)JKa?W`Ezcj
    zFZrcEu(@qY%0iQ;uUEPf3zc)e3t+vZ$XwVF05fGOF9HiNJj#8e_DrcqsFiDgZ=~rl
    z0XTsnfeKwdOQuLuXOTpve{29gc<l2g1HU+Mq{zN((l{0I<H4gfzFcKwqXK8atAdod
    z5h>%#=(sFqSDlW?9a%0YM7{)cPqp9)yZ?0stOFcELL&&l_;hV(EQ~N+H8Xr{p-Fuj
    zb+ZNW4oryX%Oz`1u1J$&;%}kGO=9wco<-u<H*m?gs5ygJ&*R`TsE9iJ0Leua7BAEL
    zApA$C9;I*2%Nb4Gtex&StnJ8vbezz4lcXm<QEI6z2}0+|-a}Cxv{-L+Cpdt70dd$p
    zwQZB7ReOA3Z@&mXAO!VxO|8+;*EXR?_|9gJuJ8I^?`}M_&e3FiiCdr)QwNm%Blkd^
    zqfUyk9jp+^V%dyk@oI}3c$)g$>3w(yt>&>?XNjY>8YZr!yOny7YM4fE0RDV){Z4JS
    zS`r#Mt2T&tkjmkp2p7sTlgS0;C0Yb&fXH2cgnf3u;AxSnTF>1NH+Ubk+V?#4Q`d1W
    z@Fq|}wxZKB7QbJk9+LXz>=Vi}+N}dPMW-V}B?Z>i=E@Q(1modbF3kMx>Y1vp8Xt%w
    z<Lwo1nK)YtqThYa<%#14AJ|pIOq+U8Cw8&z`&av)9-QW6_gvj|TaLzzl;_Ly@upIr
    zw!3sPr7Meu?0i9yL^G)vI1XG*fRE=>yZS-aXK^yXrfW-EfPyMjX>6{0YKNaurJ{=}
    z0$;k}^RMsKPWkcaSL}GaVp$;?Y>_;Nv{v5lkr%!k{CV9A4P!5{GZP$H2f?}t={lYj
    zaF87kylAw~8)$<X(*4P(5jhQLB^)iU7)A?@oDC(Vp9I_ksY(I`48fKgFZI{DD}vaR
    zy`%e-cwsvZ!>`Z_e_FQx^SH6U@1#>w?G!--Eg5P@L*(Pt>YOx~MrEu;5)NRcUPea^
    zyICoDH>zO`muQsabRJOT+`JCI;FvRuDjXTO&p;!4;XcTBWg0(dg>)Q%ohPH6kNh1|
    zZl6znNYOk%T`2qszHz<6fp52OVe_L>agnT3oCsWKr7Ibd?_UuDlNRCQhu0Y}l;xtN
    zm&v9OUG$(*_a`-V^<}vy3uQ2;15Nt-i@7!Soo8bSW-k+LLK_7*P_8MhEh(Yls02Ek
    zf*fA(YgE~P@^1C{6EUGVb44!JaU#X^Wg^lLwkr|<^Jc-6oG)?jsGIYiMkN?ngKJ9@
    z5(b73^SHALpsq-cJ0>*nj69a7Wvj@99w#yulPlCziiM1n6>cE^5bA|`RK=n1yvrS*
    z^JW>U%UFBf&e#xF4CMe&U*GoO)iR;KX1Z!)Bu3gq3Y^%+S02c{=sB|WuxY(UvIxu3
    z(n<u1Mxu04t->W8O2YHqrC)_b;%Q?qk6gN?;wn}mgdjXaEZ$Z!(}4+(3N!tLq$!=$
    z;sbEqXU~+^FB<Qi<E%Lcw2F&ug<T_BR^|a2l>T^pcki2L`fp_?hq;n@+iFK^uYlMw
    z0o?nwq&3H%9EkniS%(T;ELM{I9|Ym)Uv3`Yb$`VLcGy(W%fsUmE<4QuUGbm-Xc>mk
    zfv~A`&HM^IanL>We?GtP^Cv~gOO7!3Ku~XiYlV{GdsR%;<wx(t7Ih7t?1?vL=d>{x
    zNG-1}ORF~Nb>WZ5j3Dja30;nU-E^n4=E$|v@V4O1GgjpN(PuDZWF4yui78yo+k@;^
    z%WoD0999iJ=qkR>w&Nrqj1VU!RLF__;m-5F>Y<)icknOSGblDAMVOlO6hoZWsOO6W
    zwdz1wB%af0Yts7~cca<T6-F<qP?4}Zqa*QF8Sr1&YcRquYwusMUG{p<#|+ts0i)J=
    zQ?t9Vod-s+WyZ|sT2p6M?YC!HIrmJGIl~(ToE`Vu{U{Ve7EN%4;<7nF`ZW6CV<G6O
    zU-dTU_P4DLc6HV5ClHKa@&w5(PPZ>-%-^)w`1ky)zXeK1=m=b><03fjZS%K1j2!e}
    zkeTwHY;7qw8qLKp`UuMe*$BMs`M!e(KdBP>(WM`R-sR#>s7dik#M?5vZAP+1hv^&y
    z`$cvb0Ps*Qi570~CkQA)pID%Yx8UsG`aRJF<DJ#SF*Y`^Kf>cT*Xy%M{czF$(d-Q9
    zZK5e7F7hak@Ojkuefr4y3!I#rAPEMA0N4n|jkJR64VCK-KyGfhZn>9v1DY&sU)&-&
    zp@bcnRpKVdjP96Fn1Py8!5u5l<orB+;iCDh<72dmC24t>0?o{Nn4}_BD;k0e3vrV>
    zkB$V~*?*a>y_32xlMo?teoILGfEA+wIAw8+9Cyf5JQ-~aDsr|LKugP`)5@rN^ZsTD
    z1&1FX1%txpq-26&<9{Ig5;eS)JnnvPoP2ERcRO#_pUmDlvlt1EaiI`%*bXbOrba{d
    z0V<em(EYJn*Z5Di9ftV`u_{(F1uf9O1rCb!@b>+4=`&i4Z>K>L=^?m;PEX?jMs#S@
    zaP;oI4ELx%De7Hbw*mi}JFyy6;45qgD$%SEc;UcD9qx|bUigix;Wu1(PAb^p7z{Yy
    zhh%{U<a-h)LBH^srlH!}&5v|sh4Ujen%`xPIBs4Rp+#l#!P=LbxM$JQd2!!3;dKCB
    zz@REPsiDgtfG8PU>YkV%T^6V!_Zx1S<eOo6`FBcmIPT2bi%Ape11WJ#PZQ&|o3yeQ
    zPT8xOeqe2o-B=_xke6PA6n&5r8USIhY~e9^(Px_@?64yHej?|5$p`23n2L`!d}|^1
    zyNXX9k-D%7Ir$}rUEVOuVPCD-mH^o{z2;L`8@@Hc@3IFTxpjHn3dY?BQHa!=#?iyj
    zd<*6H_o$XXg?5@_H;9u_1J|0?I?sp-X1#y4!W}=IyR&w$_34#SH7n*3oMScsYps%t
    z+J-}mAzjEuKdq=(#?AW=TuJ`>FURY&zVNSy7}$>f;7k^IDH)hMQjiUK`;<&xW5lEg
    z&`O_1H|=_D&iRupA0&izlra&41F($T&Tt@4tPSUXOQvVe8GW*JWb^)7Hi^M3sAyM!
    zwt^A{XgTBY8UG_aRfum*3Wx~Cr4r)nD-$Mq+YjU==a_)*VgyyI-MW3d{`KLv?sg^c
    zlBAGm@*P=Z2aCwqeV=zSd=S6;@ZGaMm0dYL9%4xX4gerlUeS9E-qiAB;*5;Z-R%y1
    zlH9CHq$4B;Z_rW{*a`vC6n)|z;RZ~LerOvo8_vXWeOv{<5nQ>e%Jp%N{?)v3%-QRY
    zvh&gdinuB_*iLe3D+IPHsRfGXbnR#9;h}F~w{7DWVm!D4)M{gt=vXJ5owg*(|C`h~
    zZ0V9SY2!N*1Ix9*qe5nlDA{CdJtqk}p)kPezJ#gOJkl<i;_Z$v&q^u3`&6?QECOIY
    zzj!eKc{maR?7#A5znG;%N84rVijoTs!w7huaO!npUxWRO!ewWC`&UH1_jJ3G6^1<#
    zM@<WdhzjX>Qe3Rz&lT+oC9&{>IwQb882c}ZKH@d|;@1e%W7fDPjT{pxMa6_dXqLS1
    zSk1%oI&3Ae!2EE=gt~*+JF>!a-+uG78m`)J;@aztw|q;_wsc(MCy8LV`Ut*Ml`oTk
    z4i+ej;)<XGE|<pozhA9c{qyJd*tkLJzq1+g&TcWwd~1Pu%jezQMt0wPe{WGqW76~>
    zQC>RNk?0gbtZGB~J_XAn@ciL8*=_BfN9ZG)(i@Wg;Sx<2eb{g${8L&aYzM&{M2dp;
    zfRD6G4~4#y55SQ}J!00jyLE!4)){dYjko=&9Cl|lkoKQb8B0>${nhtJ`@9aBFb8N$
    zA%p`y5i;z3XZW9Ows(5Tnnm^|m=!Jt&t`?dVkA@URR3l$>VLqx%m+1tySbW+m+qh!
    zR}#qZ#Q*`G!C3X5CFh?HI9J6bb0V~watc6B7tREg;oNlTa;Om=o6xtgNzC#O>{xuM
    z#EOoL6IB5?`Hqw0Q(eYPTBt1*%kr&`eL56iK{(De_60!k?qBX--#t}O{oDU40S{md
    z^6&aki&rKdSAXG-4llHi?Q%pCdj{Buw%!sMwONj`<xqhau6k$WlP;<`7F5!jBuWsc
    zxI*r*(VntT#%$>}?Bhykz=zVTH}y<Le~9ImT<KKli``X^vhpWgdWmN9kP7hCzi`Xs
    zyyMOncGNX5oNJ-z*0HrC5sCmPXg_d;Y6vyMk4pV2^Ep1N8(X3-B=c-&aobb)Xwjy$
    zmeZC7t#LdZeV8S~&%AHFeWD*&0=1DsXpxX|mLqDX)ei)7mn(oCbp}P<K%5<V_Wg*6
    zB}c~6dNJn@?5e`!7umB|5}f6r*(=}>6Y@1+)}yzbQLr4pU#UV>j+d~onY`j}pyT=!
    zXnG-s3<i0$#MkCU|JEY&@>W+WZmXU`$j|lNdDg^zGB1C*e&0{`ia-vcsda{vL4v95
    z`sTUe$5SVHym9j{Z5OAqL6}%Q$00~s)F<`z+`*nPzVGDt*zz;mJ(o<bNsq>LzF7`4
    zCmi_YgM+ewMBMSghrN3pT+wn1?U14@pb#I4c{9=zt^nH#{E(5itMRk`zJeOPd2=HO
    zzi#rmrp%a-?_B8%uPdoJnhbtcLcWYnDl8DDZ$8GKZ|s!WaOZ)CsH;QCcHlsX*W`{+
    zYHiTNNJLV0NOK8dmXgF-{BdO5IU>zw-9O##L{0yX_3({APexa*UE%%D>w4IsHi_L7
    zg)H9sqFBLfHBCG}LK<6eNf_K)cVy#hQxl<OQDKX(1qZ=%T>RFNO8-q=Q~Q-3iZ0rL
    zQdYF6G&03$QcwyMb>Vb8ICW09Gp^z%iOI92rm6i4Z~hp@tevTGW9{yHsmItJ8u2-t
    z^sh_r2NF_4=AC$XC)qI03F)ro$x4Vc`D4{-`<oCE0L|1Tw(7n;rxUN!OuBP5A&Dw(
    zPK6PMmcZl)PKMOR1Q<j>^83EAa{PFBQpdd$*ZZ)~B-nJ3&Eeilu`{c?kiStx#-yyc
    zw#}^w4pCxY99B0fIL3;D)5I<3kRCgb@vvLK`5bDa&x*MJeiY3FSdYyH!wog<S-Eh`
    zuF8}NlSd@N8Iy`&3hwI&Jo?J<UmImTJ>-ls7y5*G8T0|{{XA*PqkG$%Z$#y6rB(<g
    z=n)D~q_kC5<Lfa`a{gw^_!tOjZB?T}OOiu?3`gXW6gxZwt#yVMy$kWMZ?`Qyzu{_s
    zJAA>)zl&YrW^7c8+LhkBMbc&#V@ti0ORW~_0m1TjRt+b3sibVb8~)<b%8c@5s;8qG
    zju4W~h!SDWeeh!sJilG$gs}BJHvKDS%tu>^@5a2hSgyT!ZSlk1&0W8mRJOZ}1$$1H
    z-lj_sglgwD*{+8-%SAdH6eu*B5zre_2za$~<pH%uH6HypJ3v*)33G=DaTS6}H&PB5
    zfuml1dvN_;MIXDFb^Klyl^s<OHYGTx{hW+8!%eR0N{GK8qa=h9WXhUx|0lQa{~-vE
    zEw%95DP7MuvqNxJd#=o8LQ{!4Ij-BJ;_PL_p;uOT?m97bzpLGK6xe_ka4kb!!CaL?
    zTaXv-TPveel|y&*PUsSVCsuAtNx>f|k@dBpF-Cl(MU$ta`!;Lms&|j~+#uZ68EmN#
    zu%@LCQj;oAgHKb06Ao;A6LDl{Wdu`TrPDPTA!Cz8#Rw5a3_`<nvb<b`#^;$T$=v21
    zbHjh#D_nLX>DU9BJ9BL9ZN`hz+ElWd#<en3q2-{_h0r3E_rYSB1>Y;)g~=zYf4WsM
    z1br9xajkT)##}8>n-O4h)42)Q-8AaqHbVvcftJlGQEF(#tpz?#&ak%Kz64+>a@6oY
    zoyiIz=(xVBL8R6TM_2u7xY@n>G^B6{oj5Ni4j498@p@~4CyW`AQ~kTPmP@F&^EVmz
    zIq@*{ibu>K%P?=&q~cK(9WhLhm*d|<AC<aO+mjuR-rL6Fe?~g2HlOd#AXFbz(2zan
    zm({jYn}?!s)bY7~JL~(eE?bk0&U2u9m8&=9k{TRQDQJ>{pCSWp?C%yU(;Jsc+{C_H
    zaPWMo3bE{BQ$Gzo{Ndfl8qMDxyr<OpBA$+uefo%2+JhHr7j=r{pu$A&CN-MO&+5lE
    z0tukXDih=uB^Ytq&tc{Ldp$Q%aPL?xY@=9;OIuiCM~s`8f4wTsPl$Qd<NoF~^u&6{
    zS0KQU@BM;pvY*-w+XqJ~lj1dyK%EJo5i|xgA!19uaO(AW{T~ebp`HVin4>krNJ=Hi
    z?q<RPaZ0V8bQo)3E-<YgfUym9UV|UdZ!hP+Nqw~7TxT|b`)EJjS*^*;g}cS^`(?QL
    z%778?x;B~4HrWfZA%Z`$^n4nP?lO}{gT!)zkRBEqsIeSIKBX)vr~2jB@=<K!SJ++t
    zYC^vs`5dEUj}L4KT)1N8s&US$kYTY2K2$;#9qHSIX<_^;Y5WV-;k>*}2XUA4s&DuH
    zmA9C!rV}0%xZ7e)t+W1JhG@HqZ*}*;<GT3moA-0iN^E9A_y}<==_4~Ci;zVp^N@sM
    z00<R+&1zq9%*jR*Pz_txBV06|VhE}7j+7O0Tm=<CB7^n%{o@z>Mz;!8AePWB3I@AN
    zqu<RkOP*z)<-tSCd)X@sqB6W_cr@PE(p=D}^MYR-2(c)=5<L;x-$7rj9vL1cG5Jcz
    zxa#wpvwQ(#DMdk|X++*Qf+e=CKPC0x`Z`T&j#<-v2W?!oeX<-uriwlDjkmZE3pczm
    zu6ND2U3Z-oF@lzZwDEEZU^hbzAWe?tXMGND^K0tGCO4S}<cy`tnrh?sp2`K!*q8N3
    z*S+xFUmIWS-Qmwx|AqCnKeB|&FoMt2>w*Iw<FqX^y2hF1(~;3u!iu=(Vt^Z~BM|v-
    zh0sIORX31y&iI0dNvXTJc5;?n?FyzzqH_w>_$zX`7$W?wnh|m5W}#0~MSiksuJK?I
    zn?P5a#9+?H?2ySs8>_Eu{@ak6z5WMHxe(SuO(8VpF5UNhR<G|8HlP4&@YKqz0~MLw
    zWbq}rNw?E3qs+#ABBkc4Ayr{N;-3o&XD9x&YJLmzO}2*7HnQ!)9dOcyjAipEi!<bt
    zCZq(`*y+qoTSs#OyO7PRM$is~o5Zd?Hq-M(0ecdW@L_Z#_%L(5Oma}RXu%Nn*x9}A
    zfuIsQSh(uY{SkvKvQi)~f<5J&3zQ|0@51OVBUtW1PcPl*byNGx$FgS8pz`Lj6LJO|
    zJ~6+D!Brfp7b>Layin4|$Kz<)G2IHrCxBdYqlyAY)x`~Eshyf$gwt|cI|Q&FH<cm$
    z;Jcb~++@)}k6v#d_9zx_B$DpZ;mF)vzHl#e+6`a0y>0q~s-Fh3L)43~9K5yTG>;<0
    z@-Xi<0xNHhs-8T$@pDww-b*pHEZl0AoL&jxXMM(h)o1g1jKayAteg-z1X-sxYK&>7
    z3@9DE*?Hq<ZV@fV+12w)!d??d1>e0TCZ9=BcvP*dR5=`5KDa|n*IE_#jbK~Rn8z(P
    z%Of_#mn28=oKXKUCF9-vPR<BVsiPOpERxcS!i*5Tp}Gu>3-rb}{_5_vD749sQtI1L
    zAvdIvXtNLR{d|BF+3P#iOLsSBy{lSsM{ztqv;!trphm%X%rE#(Ep5XxMHpg{66Djn
    zygg9CiO0}{Lv^NN;)m8RVNlgWL-)^;x_)T~f_dvG<evx;!V!rQ&RmfS^gb8{wJu%k
    z<cuaWhx3-S_Pr5*bfT;1n)n|s%CwFp;iBtSQ@r!#Zg6ym8~)S3ZesVyyk<_i{KUkS
    zFbR@Z1Dd81H^DE^9Z&cD;_O#7o@```7;M8mn%Pm{3%AB^T34clj7`2uEu)z3v{Fq9
    z?jWR!NlX4LH+ugJ6vpZtq{_MZyVwT+WWP7RKUr_S66OSj=M-5tDEGv3X3S3-A3o(L
    zX96z5V`811h8jd6y`N*BrpGEZ_~-fpCySjf1)eZnoSWpU%d$q2lwGI^$0EZQ&iVau
    z&8+hyQ=IVe;?`M<a|kBoCi5mh(9_Y<w1UMTLu8a)Y)IdfXy1L!Sk9O{6dh$po&fmr
    zgQ+#9YNn`~7E!q7z;6gg#z8q8A;*WQp&W}&q4f_zxG{R@qe<;hpQh8DmuYCYIymbX
    zAJTpab#WS!762#2(Q!T#W%%4*PrZ}WE8eiBQAEYK+|)AJrZH|~L|0vM5-Nbe0Vf{s
    zbMnyj5(}O3?KY_r<19Dixka}HhE2byCQBT9Bi}31ot$a+DZzD-ZczyGXn1UB-7}Ym
    zl{?7B4?-~Xk?QYd!v9%!c}~kRt$L$itNh0q;k0$rT3Lyfh%3sS?Q?X3oA7-2_~n^F
    zs?)KCq6%_gc}PDrkg4R5AHLksDnOCX3ydG|+=heV|Gwb!8|?*g&OcDo!;c=UIVK3n
    zo_XOBBgftw)$Glgk95CWX^?|ZLvi47(@O1qkD}qWae%P6MLHn<@H?K}0`taKa0#zd
    zMoNsDt;)#%L8%+y1|QTqbL)!()n>Yy#=~<uf|S}snWc_d!tli}zk0oEMoupl-r8~w
    zL=kzI>K}^m$({|o0)A+$vP0gEA%gV)TOrkMeIQCRSv|4>s>MhJ8)QO<8!mp=)-OJu
    zO|mi|f|wPqq{TJ_=6!~6Wr*PD?79$(FT%4|zw5JGd7w{GlF1Y@ksKo}C81!<e|iuO
    z{JBB6=IgHS*-52>EQq$6Gf!-rHKen+I&FR`c1f_Zcu7RW@+uqS_p&sQ-4&^1QgVb!
    zOt8!irr^xqv3<<^Q$;<SpmpE?ICG|q*P8)EfQWEE`nw0>85j3m**?F(-;Sn{>~r=<
    zWk9fT6qLt}Xg_1Xe`Zc%OEj2`m1rLafQ7o$5~qMQU(hH{@ri2HO%!3ZMh>eLO2v8w
    z<8dQ0ZrA>K_%B7yE}~0X)GnoyQqUyd71dv=C%VFYOehXC2#`l4;v)Sur6XXkdv1IA
    zI-}g=r)-XiSqc&N@q-D01yvgeIs@pz|BHCdIAB-RV3VO|S8WJz55*BjI?o?BdH>)d
    zIZLT1@gganI&U|3oS(E16b-!z)dp)z%&cy9R;|zqXm<$Jc-s+p4Plw4SG{GK8)mo~
    zvL!-DUWwDvRebYDt)NqPWN;|gtCS%vetfd3Zc!)Kh_x@gLl8}>(RZf|-$^sQEp@xI
    z#TnE2-`eq79+A+=2!wRW(3%e}Cv->MiLlxM4bEl3mTKWFNkY&%PM<(DY2trl9r(zn
    zUVsf*zB}k??ZOawF&KVI3z04p=pPFhABNZMorc~THhk(z&m|n3)p~R60bGveK&-DD
    zeSk23b^nuu;{^wu9((kW5JXWIY6*9$3uJD!K761(Lv|}E!cQS`peto8S1oL%Ctfz~
    zi?*LF{qo^Qw#gH=@<P8lTYj7Oa(__(LNKanq{vxXl_7NNdn)j-o8u0)uNt=78DR>O
    zlC%)f!QnZe(!AybkA#tT?XveAo6-5WeXXuh334q`(~A0V!wo7QYj2paJFSQa+__=l
    zMa|Bv1iR<sIy;QNE!sJBfSv#UpD}OIKv<6|*Pu_SUqV{gh8p0mtVFqzHxNm*^V0_2
    zz#y7;T~2mU`(D{jE99I@ONPTC8eG)KxqD;0<vL~fz45$(>i4UEt#+3+sjS5&(1BW2
    zE4NEggCh==e-7xc2z}(f!2NOM`mRn1G=X5S!*fIuPbfkGvXdTX3yc|=WUV)IL#)M@
    z!P0p7;ryL5|GfBcZVVmvX17Edu|*I<L#A6$5e@Y`9W)OPeV*{F8r$~IEJuQCkS4G*
    z0;MOge{=!iM47bkIt$8%)a~u8kFF?7oh8f9&QCeTg(grWnrT?AI{4yh9kv3?CB!Py
    zFAD8QQEm_ewM00kZ{+!gaogQ#C#K_&g$L+F&1lI^1}AY<$yve(cawGcZ2#r;U)Vji
    z1c12`2Iz!c^Ha43=QquNQDk)#xdq7#B}KdefH=TsZoUjjKAb^*eS5#!lgpkW!)!H|
    zv9YmX{JI!?-QDo49$PL|t2o_dB3c5Q1T<;{G@9Hs;X`=Y?*^l)wow;xpJWI*6&A8f
    z)&ZF35}U5OqW(6`5lpl>HYg$pxwXU_kJQ^b?uUOuSm>QiPtH=((b9x#<2;`rwxpp4
    zTTa24tQ+Xan*3@mE040JlNqG-LbRQ)ti_`D#E0IksGa__^c&XS2m&hj&Ln8j&_Mh{
    z?Z1@5<B88?FLZtQqsg+WAWbWh&U{uC^?`%dt(aLPt_ASyYGx`JkqkOBHIB3qkp+Yd
    z&8`Dqml?ZY`=+9jQkfbp)KV%T{Vl8;cfWK^!CKE5J7r<%j``c2G%kzG8E5RReYV83
    zw9G^GqbCuKnKZs~!}=Fzj72bBSz3Q2rT82|85-9CmJvj*$j-gsa~3?Y(x;mBwdPKv
    z&u(Wvi-+ubSw4)<d%PIPo3c@`OEa%Lk5uS4e<VsF36|c+PygCX`|Jy(b^h?K%moZQ
    z{xlbCFn^jC=Qi4qV<3v^R9$QgkKg}nSrkjd5}U$Pd7PDijD5(52u~c{KJZAV_-~?}
    z86`oyop-&FdTAKpn6;{))2;m3lTarj(k@M`5qN1q@NCPLp`lQxCgr7cgaS|Qdtbvl
    z6z$Fw?hV^xcblyFrPKm3J>22v0xag|t@z^p>VJ-Zmoc|KYq|ux!iBnIv3R&g%DTri
    z|5diK<f1cd950vvTVjD@I>FOh6V`lL6FI)&ho$qX9v$1^FpUlDq*UVM`Oh~}q!P3u
    z4tKBrcxR=kC$0bWC;$gCW!wA=C}Ph;`Q$G1f-LMpv#v#e*8l=3XVDfU#UyBK;Dlzl
    z-Q`22&3}DeM>><oYU3zRZ+lLjhZp|+$?h7ypUint#NamG!H_gK52(0t`I#D+MZvY>
    zhIn}+Jfq)@^TFGW#?U$o$0A8Q98@tw^^+))v=~a9lFI#(kYf-@n9N21h64`w_;FeD
    z&)YjoDvR^EIH{8e(uI)1(&5vZjYrJjF{w!utpX>y0!=4Ic0@FdY&O`d8h*KMOU;|_
    zd@@`e=gcD<P>yUkNSx>UgrA_3gm}}`2oxj(4!hvhSe%jl-PA|(cc`7X0Wri&(Pil&
    zNFtmZK#nZp2E5APD+hw-917KUu}ht>DoY*-z>Uy4%V{9zkA#B%fTbmH%Bnj@mZ770
    zsQ<q-s1DAUCPj>Nfr;So?HvC8K-qtKKK@1x;Po3iw`C$TBFZ#(&r~u)exB`#^Il9i
    z-bokRvWR4f82F{@T{IVP6=K{(=9!AbeSYO?En&|A6Tp}A>1Wm<^5n^RJW0JRH)KUD
    zM&+`Qq>ggD>Pd?`-xr)He*3IY*db<G2u4U!k&@Bqz^*cU>BH(>O_ilP7EyV?L07t#
    zc0n6`nFK-Ps+4X82XtFE;Mwh%(VwwJ^-|?>jyE8G>~lAI<(HEZ?%2iBjs@19OK0q>
    zsIyj*$j5^4h#&6D_IC+5&K@tpSXlPqot<_^Tpf%T;ZA}f7D|&&C|Yt5<FbO+E8ex;
    zRkx@HA`TjfQcOmy0T868BDEIJ^u_y<D)u-K9NK{0xQ`V(aY`9|z)B$qvSc`L<qu~%
    zl$z6>h5ORY6Z64v@~ml)8lIFqFL&nbu9sPZ*6+#*MuQmZz|$Z_1*Hlh-6O2JV2y;=
    z<HWi*{uL!~#&C85Znp3D@v)b3uCg5t%x;QGZj)J~f)TO|j_&?3v%%f2#{T<Rzbjn;
    zhtkWr329&R#uv@U_+C7uWvfO6ghPWH-YXG9K%bfORnVl>v*fYx;adwPuspZ`c0O_`
    zxzFL(ETA63;j6FD`sDQaUtB$Bwu?jtz59sRy|MxLV&~sOUN+pCz#ictT{F?0##^;m
    zBxu;tQe-s*H_+M>KlK=Odh?C7eohz}(f`HkX+1=mDHkSe^Ip(91h-e8z1_ua+RyAx
    zIFk+H2!%@Ez#9nfN<P!1R_V9Z{#OQxKqV%K0K}IPw(7#%T01w;GFe)UDq4eqW{nmm
    zF&LF`S}pG|QlYDp&PCLyjeKkyG&%@htGQ|Iv4-=WeawhJLg?xPYUOM{nR>%n-qTwB
    zAwg1^Z6|%9-a5!`rbw~3Uf||BL&HoufR-xI`3eqiZcD$cb(Q659~tt+07=?o%G0iS
    zgQr|)3x}k)#7nkdWvnj57BW_DkYj{#Q^U5MJwCA6{u0h^##+2++lmUuoZ}6fJ$7}w
    z7qgBA8rBjsz`C^U5K7FX)e``Exz|Gj+z?*7wo0X~QJ+6zd2zu8SnJ7QE+`4L$eCuR
    z@(?~gSFfG;rgE?UA7d4xy;AT_)adg`^2#S!Yb#x2qD4ZTWSZV=NLSl5`jEDSSsmJ(
    zeUW^2nk%Tl8X;<D$)sZlQ#5A}kKd}yiY&$uXYxLhWb}pQ>7Vk=4_mz-%wwY)VO@)B
    zTU)$Kg+6gYvIO8{pVe<SjxRFjZRAgYfpbD2U~}Be9$sj9D#v->uh_G^()C2v(KA-d
    zdBq?U_N0SQm`y@U1(z2uQ)q#?C0AySYyKgv`DAJ&?Bd^a2*kL=TbkKOnyaXy1XM=2
    za>lrgyYGM70dZ4c?A|C$A|hy$uh!<t1L$=stByDHzuabBu_6&R?6N7t^|>s=UZ$~&
    z)5c#%G%8~3rNG_M($6+<JOQESgdXT1nHD!cwyew8AD4G$xmy88<rp->0DfhuA^B*s
    zJqeT_R}3^lY~-WEz0dS(<%*4ln8wjD;+&t4u#jq}4z-T_?R}$KKdBVkTYm1y`Fgye
    z2Y)d;@7J<ZaRpy?8oxjxs^J_UBcwD|^TPx{O!MIcy);w+C!T?c?egb@2;;-#&1~y7
    zBVVo}0Imw~hr12m^_~x7%o^EZK1bJ)Ag3;aG)BH#p_Km<Xt>)vr&{vFjZ@eX2tg-B
    za)-(yTaeJrQntYI-g5PZ<rKn~lgG}V+Tvt(QF9bI#7zW)Hn`VJgHlXrAC*6fJKXfd
    zMm>7~r)>$Pz?>1PyOIoD2c+L)Wt9^_!PlO!X3^17h<W!!wJysvNXQ6yPr#>pJzwBf
    zqIDYWRCi352owV8EzD7w2DL-`UyTidEk=0F&XM8fv$Nl`DSYN8tYg0Dg2E9k2F*Y)
    z7D7=80b#^58O&rlj$lI+BoB#SE;0X9&VW&Z>$n`=?3~bP1&69a$p+9l<d5om<deHc
    z`0e$@{dSmq;)^QN<HS6XIj;?FnK|Dt7_>CE&f1fm+NCyhc1cmRiesD=^~l(>B@0ge
    zJ?6L2x@_<$SPvJ$KMjS%+lSCu*n2JrkQ@(Fa=AO0nC1bKwrOt0A*f)H()Y}EIu2|E
    z|4Xxnd~qGWXxzCH{E3A^V-3$C$4zWgd)Ly+Ympc9l@R^#h4B^V9-qDQ?$<4C*lr>_
    z1tpH3FTv%ZDxDlbB3f!XrGtEc3?Y111~3N`Po3^152;+9b)w9pCOFQVG96xxh+jtN
    zF&;5GXlv{J(F@oT=OVZ2n5=A=8>t}uDY9j)LX=;!WxcNya_t;2o(O*!P@`O>$&J)3
    zsU)n1z}Iv8T+}e5HXP-bQO2tUT=~1-GKVd`)cen3RVTMr<v_`;H7XV<d#DzC>Fp7?
    zV@QpoEP50IP*6Mo+(H1FMB30Af^v_`efHVADk%mw+Ht)Ll<u`bctWO>+81lGoNFSg
    z{c7r~+{uqCJL&NjW4a96LWC{`2zFo^iP~f~=+e~MOp=CuQ#p8UPW1^q!D5F=oL!5r
    zgdtGH2y<S-cOGrg<>4oXSU)Dkv|<!%gHD8~-=hMSnf__j=-cH=cFmc^YfCVJkkStf
    zh{Vf=%^Vuo_~=wxxoX>r=wwbgP1bT$rQYBJ!%@wDB>SbDSp2msc$LkB^b}3=V{D22
    zA<Ap?1u+=b?9-+J2MWia^0szIXuRT0Mj6x+PJ^2~aMDwct#OOl2wTvGcxv>>#RaKQ
    zbkz|ZQD>C+8H7IQ_vxm*A8u@<KF|3U5@#z!_7yxpH}Qr)+WQafysxdR1`K|@0nvCe
    z7Key^SMqNtL_qm@q*9!I)%D_BsPJR)zvD69LB~66t?(TSrli6n0Y6rSjknSvKz-uh
    zbYC2w?&(of{XMbv1I-y3xiC(ao+xS0^ES4i!g>g;M0jS{j&nCoUOi@)H?w}W(g{kH
    zf}GS?4XTa?tS69l-|3$1^;J#gVvP<aHSGRDLAc|beMdgoy0prFS7Rcc7sw4i;0C5}
    zLJbL_EhifPG;#FB0u)3Cd;*c4t|tBqN(g}4d)mIuTm5PEx74yai5Q$``+4Z?1Cv74
    z`&KraIAQcrHhbyp=)Dp<!A$wNeK~wWgy&i(2N;PlmvwWAX%eg_6bg``_<BR&olrdH
    zR-1Bf`YCgYqLf{X9)PBrFYn81cmGFS$QC&k=^05Ozz9gySZz9Q4XVlV%jF~dAGfhR
    zm5qmOr9q-&1S=_NX{CYdagB>mwOP8b&*JN~^H%(Cz*;n1v0&b%5(U-19f1beS~5q*
    ziQi+|V+rU*NQTj)JXKl+Nz)L#V(aO6Vl{-cJFVJ;Hb3_X`^^bknIp72k<A4|1dq-Q
    zM<=L;1J{Nx(~&&5zlNQ-A-HX^kjQF8B!pa$_D=0FUyg6YmdP*<NQ8^TZjh-zBI*}-
    zB(ATp>d%e0J$*4{AUm!|SUT$UiCOo}a>H?7PrT~&pGl+a#;Qx~jAIXKb9$rA=?_K^
    z51iPr&8UMP;`*@9BsH#LQUY)cH=Gmr6&lb8B>=<J27C*mfkFFDRokAD(SluH>D3%t
    zLom?UW4@V+z0%6K>LhmPW5Kl&+zsi?5$bd^H~R*%#}X0<1odUXSLkAk<-u%whp^iA
    zaf)F5iSSrEK6os~6E9#FEA-h_Jz10Yl!bJ{h2tgeS<nEf<rmX3f*Mex#EBg*`Xvs-
    z(xyK>;k)knrVo_Dw)5iYHifE0{;eVmYCvmEYJz)#FI*uxs#^B<f7fy4*ZC-zw;q5D
    zyBkzFU`Xm0_Kzq>E;7QnyxMG!KfWv`Kf|FR>4OKz!tkDNJ1;)dqUi?~(h2(L07f?e
    z{B-o_Wsj;ukG5e8fCT)+1qL)s`o`^W*gG1opbvR<6XqzUD%?JQZ;6YlI3dy7P1cHA
    z5qO+Uug)z{eelREYTANO6vFpL0F{*uhgl9&E5*z*nV>KNtPh{mRdZQQa^SW$muPc_
    z@OubNp@0YS3|ciQn>qb5x=m%@{;fXZI2}@jRYgC~d|}syes-O=62ssS9f>7q<fbH0
    zsbYw~H=J%izuNm@r5B^4Y)Q8u*P_CZw>#|$r8vBmL6eaMf5Zt;6VFa`&2iON@9KS4
    zc&4e8WfaIon-X(wKW#91;Qku;=ed{Py&p5Qgp+DGTaDnO<#;{tlteq)=rZ--^bLM+
    zlJ|Tsv@r0>+77PTJ9u?4Qq~0wIVmp@>Sv-uHw^BIUk2^zeQ3_J0@u`*NKSx+gaRbS
    zg<(N;YP~CS(A5YnE3OWEAkW7d@5*~>%z06Vazq~uwzvq%zOwT1q~BWQjM%ipl~u4E
    zW@bhE=fosBuTTH=x3K^E3jg*3-nhhfs@RH|^KQ91$`$DUZ0Mfh7QenyV83feEXnyL
    z7J6{*tz45=>yD;~!IK;TEYZ${ES=t<27lHH3i?4nr030#Sid2>-{SFAS@CjiD+8a$
    z;_;)}?ux!Tr<AL}Rm2SvD<I~N`GSuTxqbk%TO{<X7jnDvES5!*`gfOClR5x6HMy{2
    zUaj(z3l_Tqv%KcPqF4t3lDUhC4Si6rkT-RmWe%wymGqL*V<<_xO7NZfUw{5^&A$In
    zG;Upw@;G?^=arY2dV3zl*bI`f8NV6VuzMq8TXmE|%rhyXqEi!68fE2zRSL(Qf1Kt&
    zdXkgYen}Z+0#L|Y03(eW;6NZ5F8`!K>k3}C=1NCR*k?buV^ipI@dyQmzg_%LKe1cd
    z@<YWq=ajxxDm)@0qrXx<GZuW9n}<i$Qe>~(_2G)MfiuLFh%JU;Mws33e%Ro5b2onC
    z!xD_nAUA)mhoY|c2K=4(+e`f~Jyoz^lzA_`MVp?_nidNj*NCt>XylYjX18mult-ey
    zR>URxRt|(h_kK!cx3DlUY3{ke!q?7>>-MMrWLJ=zQzA!ozETA$LD+(F-_OgQ6>#)6
    zb)wGWK@&;E0Lx86c7B3H@ZYWRmcm5rUuN?OyHXeld~mJNV$~2|Y{|nOy&*`RjNe_I
    z5Sdu9@12h+m>?ROHtfdP8lS04xGJF$Z_9=-lrB&?%Nv;EKYa43y!OpAC$dEgj2u{#
    zHr9O<BR3vCMDYMRe0;}!RgMha%0~B6JLp0%XtZJz=E5`MCH=qgz5dzfuKX{F?1i1=
    zQyUp%M^DR8e#6T3yc&?<=IimV)c2iUHWvsueCx^Ab-rr;Y;6$>U_+eJDBW(Ng`b~0
    zez4?;BJpxits>6a5v+o6Ha3~*aRVm5U!I=oo*C}<haDHp*RhGflDi+F(p<W&SP2jH
    zRa}Eg?<a<TZN~~aybPPtRB*$yN|C1M+|uVu?{Zs|#%3EB@kp=<0~K5?wn|GM(#q8c
    z(>-6wa8Bsp<`?DXKcx+Yjun&lZBXN9Fqw0}SXi44%f!kHfbEI>qGHW!Z5OaHF>`aS
    z63IN25EEg%D3>WjNQNss-&eZ+H*-s}nPKPYSVemcj3_sx57MNow3t|+y=zWHulRJy
    zc4q@ch*g)kVbX1IX;E_fKdYTv&(3xxf68}o02>FrAke~5!VCOBa>f07%XIVI=t?(i
    zuqoj#`6PW73IAY9i8reL){=*Fbj^RA7t`=Lim;`ugy2z3)&jwsT;lo!cYNvSy1_%s
    zm%WUbl6H0ziVh81*#w4V%N+sc^z7s<nGMVRFdtPS317Rwo)Csg60s0gy{B6vPg#C<
    zg||1l4lTNGl4n|0zuH|~=Llk!J|qo>E>@U<$~D4QCj=b0SEJC=S*4Dsh*Ze!REV%y
    zq$;<x1)|r46H{0J@S}MR%i0RzqO_cfWI};C$^NzH+8Ny@r?48#EUP2C4Cy7vn?nJH
    z&jdKmY++r)-iaqeSt5eD4yPl+5vD}Y1dUK~^gv7eBCu-7zdMA~vZL5oi$d4K#hB1E
    z5MH%{`vY>M;u7;WeQ%C@eqMS`y%6WpA{ws9my`kk4W_Tw?EKfQrZ-@_031Dz#K%x#
    zir$*lf!Q1{E|x_QlfWI;=u`JXo!QIQd$GGF>VoLpX@tL;`aeFhicD~uGKCzYfjivn
    zbA8&iX}vxY?beM^WkhL)v<9^M=!=}k>IzrhQP$l~3v7dVI-eK%(78Fif?z@-qQ578
    z^`zrxhjn`vxk3)v&YB{LSa8KdrQavW@Pg|N7nfSQx)aK@wG`}5e5~Fps2SkYQQEZ+
    z=XLv+SN;)Iqe>nsON@cFq*0ujN0M}<dQ2#bSML1k(5`!Fflk5$R}03$4@0P>jXOTE
    z=Rc?X@A<m1C$Kw9wsZ#8L!TY=wG2<W*P&9wKWk1yfc1sZwPI)?NVoHZ4;56Ngdo%o
    zw04&4R$$n_cPM1&Y}Z?gs`#xFMVZ5XVz^-?fN|Prgh#jBw)*_<a~Brj+Ff~1yCJQh
    zp~e|&W;grut=h>5d@(1^B~zs_8J|lCSph?Va^lX+y|ZBDLpr_GPT(^j2bl#!sI!y;
    z2IDDb1@UZ+LGt0m8G4*9{|g|w56Snf&-I(+Z)edRfq5I$EUqBY03$@^4-YI_crNbB
    zUb{=N#*hh81Z5Ob(WUo~g~syRF^lT=NSOMO1qpl+L0UGTBQkoMR1#>9_G_^+!_=H5
    zR$R%5G%_X62h2X5RRGHyV06Pcc21|5w^5PosesP(9CXXb9aWmB*JS}{<9;9$jJg{P
    zk2_6!y3h8MS>n7kCVgr!V018+!6+a5ep<Qy%dfxdYd3a*UtLE@1FA8SyqTy2lGkXb
    zkZoik!|4U*Dh)W?^9yH?+gg53nOdM5xk71S6S>^k{{81W&OA5f#>a$mjUlYbE?w*D
    zpS6GN>1uG8G^`=vOq{`_$%JDJ5`d)z8biCU!{+$i%LcP&5<A-<$r;rg4Km{XBuklt
    z&}iS-*02cF8GkGXubzqy{2_RxlnVGgZcI)%i~>dYcBj=9HvN<o<*a^4DD4$z_=$E~
    zT89pE68_x0{gc8)_x^Cj0XX$i(pc!G+>-S$BLCJC6m@Ek+n`7HhUeGd-LvCw7N~==
    z2)}Z}VGTzlO>O(=Ed|zgX2{l!aNKn&ltfYw;^Tp^a@4@BrL*Q|qGnc}D?vPu&xY<2
    zPMeX?U5y7OcGIPC0N`4OrgbVVUsJCLTP;#$!T<(n1cMwE9Mwbh!-mHxX^BAC^WJAu
    z2bW6SMcIA3CzSALd}L&e=6K5*R1k-6Ca>uEr~a=U^z^&`igM?@UAucTcJ(fGc!85~
    zF%C)=#Ec{zo2l2)Z3w>*Ss=&8*$*bw@6>f3i>3ttuBGLiN@@Oq)$@Ro5qNxP-l(;c
    zPerk{+ro9ks6bl3O0242EPj$Vj)J^~41L&ZS-!uzAZkT__rXnX*VDzUKlYw2yC#>n
    z&gkS+`t??M%0EZzpLI3(o{z2tbs>Ta*4i3kht!yY@aH?H_p2~uqTUIPl86WJTYS7v
    z&mIBEBh?B32<{K4j>oRLQm<H3#zc_BpHyosQGJgbf7fL7n*A^SoPy#UMu9G*fm9ig
    zftFmCFBuZLSN66kD$rL6n0TZeLhWD3u35a@D<D)`j>Bdz>{MpYmU(uQ=_CMwMOZf8
    z6WURATyZNw4=|wni2It%GbJW0W+5A6nFZe^a6w#0duy}Nq|de{m>bG(a6$t9_-4B&
    zDOaxkUmUzi&MN3MaPYn-(GTEo0EcUDg<^KlD}fZ2z{9DygJ}k7vcu#@3h~>PTeer-
    z8~zo$C`H%)@P1#^QMF+-J*^Nykrf=BbJwdho^}3uHBG_wU!)xk0^X+4By+MncyBpY
    zPda>d!|Q!LKh_0;!q~dN^COb)ylZeW&91MAhb}}{xyTxx7LGs^kVGoUmk(3>6?)<R
    zU7Gss969F_D&rt>;7(~YdbP*H|M`8=(P1zDM$GvdOk^S`H;IeLfr3kZ58K=JhXT8D
    zJQlW++hhu<0Ry+@9k@=G`sQTN>|_)fjBZ0Z@4?G?FAj&T4Eev1NYVt*z1zU2layP>
    zvXllV7^HKVr?yCbko2JlEU7?glwF2k<nen&!o|4%7|PNEGVMHHj!-R?Mg~>Dc*kTj
    zsV0<r;09e5q`qx=z9S2Wiw&}gnW*`WkOiLjmx%$ng_Gll*p2jHx5Oy4ZwY?x|MhmQ
    zQBhr2_znY62AtvG1A`z|1}$P7P-0jMmg5rzAt)G^CO$xCMu`aH3=h#nG?-{3#^s6&
    z<BL?VDi-_Dsx?td4Mn1<F^Tb!3W<uw8c9)WqDzGCbIv{Y-Z?YFVB4j?<aOuXbNBPx
    z-`-mh1vBQ1>~yf{6$3Uu@bWWe?SEl-kA_?!LKZ4Vtw<+(M8ymBH-<wvS70^nS7}4)
    zonEVWYl<7tvpZm>Oro#33d6<8Rt|BvrbUhJeWw`}b~4&Wsk@Rtn8*51NjFlg_<<k|
    zCl=_+>o3Q}cnFQ$O)zye0S=qJy*^O|8#L-H50`a|o9U$|PXah;DZx$fc1G>$nBPO~
    z((F+O9RPl;eYoR>!OO)u(7T!EG#3vgtP18!4N5`G2Tdm9=}1CL#^|ZlsIjtcdGz}B
    zqW^ijBHPNO9}ZmXc?naRR*qWV!Dq#syW=V;(CY(!0yBU_XIC5}a-q>{=8Dr-Zoa(O
    z4R4izzlvF%P#hJ<cEVn5&{alr4=1=BdchnT7xvY;y-sZ;3is}KTx|AAnuW@>BR`OM
    zdbnqCLX&^0ANpd&@>q4Y#fRc_GC)N$9y+BQ7H8!Gc^ZbOvbz-n=}G1sV347T6ahs{
    z-TG4a^r*g0s;9VB1-dCCnogxvkCU_XxN|vf&B3W3)TbE#fASF1%?HiOzp(vss;Pp9
    z&#-r)0W0oDPs+`KA=A*wAm);R(_u)+^~aVCdy5A~3+dQkxh@akw3vv1WFy9BnSpgO
    zZ6Ww6lX$3lyspIL@GXFX3T%^?FB+C?;SmN-QYEgcII}?^xq2#Gih(N3*OFhNmYC$m
    zfLoRgeQ%_0b@JCd>gw*}Ag`nl3ekB8GRRjU2?A`w+;Z~L8qJnFW&D(17Cr&4o|Tid
    z7^*{<Ts!Dk$l0HCX#eR`w&dEuLxtInDZaZK=*shw=Y$Sb#iQbxBdy-y2Q6i<FYc0-
    zDWhju*<e73_yv{}+#5ntITQYBSjof2jt(O_`q|3XxnJx&#M2iTHjn2n!>}e;PbW3j
    ziw*z5Dwqg~hQ}BFdWh-K9;dz$g@#$={#j~0#cmbowmHzJf6-g!qq9Bj`}QcGJ^s=k
    z&8q*ZtZ?nwif5tixX-G6a(;c{_Jej|N$1jl$EGT*Oc!b>@}wTHi<DI>t<D;YX9Q@2
    z2B7C+Hs^MG$M^VugIA4!xx+Cfi@h3iUd|UrySELF{4)|VVB{<@D?0~d0>4e%kq^U8
    zDi2Id&q*D0THvaeN*}5?1KH9lMOTtg`Nwl%s*T`Z8$CHd7#)Vn-`_fLU)`tuc&dy$
    z{mXC~S&Ykx_yGHLd<*g1ANK7|^iF?pmNLU+KVugY3Ih)Kv0}2-7%bC(bbQcTGcPY`
    zE&fKB<@olMPb|4X<x?^R<%S$NaLJ{hr$?#|J^#j~zU^mPuRH~R87E`Cn%^9M<Lt+w
    zo~rtu3rmbk%(%wCOb8HGbfDRmTTx?5wk7f{v<$@QQeZ2^0t$SYxd4)GsZc-TZS8~)
    zu3w?#Bc}{Qs)S$zkE!{P0kRG=(9-hgiRWVjJ}PxGq<m(8&7xb1F^DF)L8*%xyWFvP
    zrs6&wV61~}k)H)uwww5t7fvpd9N8Ukzhs*(*Y`?r@F(k+p%V!eP44d6)!8bKO(Ogg
    z_adLINcQg?)?Yxc>^<=Fp?7=ldumd*Qks<?Iu!?qZNR{3gAS|PMb@x0bt{HCU7bI7
    z8WTz-9oESVC+>J&8l4x?B~EC)_{6K>X<&YArC7@PxvJyyylAr51#T7gm;r<cwPk-H
    z)0&C28=|}at|9FV?fY>ZEU|tpoJ7zYCuxb<7TEC<WM21{JRFnR@-J#noFtWaF?l$h
    z-9YB@L5gYj^@Yvi6{UZUsVlK{W{;I6jPbBEc0M3+#Tl?l0IaZNGwd3m0~p86`D7J>
    za>5ACJh?u8$}_<8^YL-{b@N7l`lfN0S7URG5Flgjv?;Gw2k_lC8+%2SS{7V&Q*DFL
    zONKxVtduTd-?XBhQIwrOe<5h-hN`*aYi_7F@?o7vODg#bth!CAZMybat#E5pK-?$Z
    z!b3qD*E1j9FBBs1{oW24w4;3bgK<KtoVrT^ug%pEO+AGUJD=ACL9pMvxuZij%?am0
    zFXipCo~CqjA?(X`YClUU2^swzxmPW^9^UO{-$x_%37jY8Y>E34#Tc?I1Am4Tvf+A#
    zwnRXd)i*yncjQ$6F5uaCv@AGF+<+iL$YLLYuTh1Ls@f*MSp4BGzBPuGx^S|<U=tu>
    zO*2#m{iZ!->az&U;y|Db?bl{xHeS2RJ0|W3rL;s=Ndp<!$Z{UKLk^>LbVH-W8piUb
    z0Y1`*z}{7B?RV$7D|tGUL!=o3N|Wga+$?KLZFSRb)i{cvxwbo4@kQGM5EF=#x%(Yd
    zEi~INnGPJ{fdZxExeP(bgUKnk(I*e)lzs~Wa%PjQsxk7l<DG@`i{0>AASQ~M`SqFj
    zfb<B;Mx^yCijNs`^Pt!YY(6@as5p22LR(%gUd;=S!{W$+|2XVZt3p1O<oi{J?dv>1
    zMo)u8;dp4`rg=*TR!_OZ_ZqpA3WouM+#HTHiv?)TIGuv(K9+<>lbV}m3{Tea5de#Y
    zq=FW88lGrf69JHK8zmUQkH**N%UT!pZB|bIEo4g@4O3vh5e%xt?g%goy2%mdj+cf0
    z82Pxz?sasphLa;orDOqEENb4Qy8C^K5DmGU{7;KYt8TRYJM-`B-IOz}4Af;zH&NL!
    zB@Hs>B#3ju`T++43GWY&I9Bw>g07)-QVbya32Bp*7ErohS)*(G5+jE4aIw4B=hPRA
    zIf?!d^qV%096Z6=u=H72qgb#;bzZ4E%XS6+P03-RN?|uxpL$8PKIXY7bmUF#_vjUa
    zzmwfjWZj~gN>Kq;GBO_m!{&C)6E#X0tQk<*GvlI@`EVT~IK3UVcX04u!NCe>$m3|k
    z8>=2|q`{ACGbR>G!EwuNHnG7tY(xh#(!7!<t!(76Gw%JmB5Fzmda-XdEthH;p7XOK
    zE1_-K2LB6uaKT-c;Li|7<>A4v&~e2CTO4rJvkdHXeB?WWHvhaMR!DQ7FpCd}y=RJf
    zLDu}@u8d{(y{|&*>>nb3@YcUeDH2N4X$QKl$(%!aDu|*p5(1>MbSnf<J<hevC|Yy=
    z(uYn|5Aj_xPvn03JPc+j%+AX3>4nm-ExmQAUuvDlE@pB!G-YCmF<sM+vup@<fwzPW
    z6a5X+M{;A@i5H&_d$6ao5L-M#5&0mcIy0GSqVu<+mZpXU!JF3J>kO-h<01{@2AOfB
    z4;5C9)S=!x4(@;W&^L$=)jS9T@id|&^zj!G(1YLBoYD^KzDo#_gGtfPfjfg(9Mpcx
    z{rXkyL5c72`49J5R8k3{g#MRR*+56wSQ=59p)~OL>YOiYkDSco2XJr~?Tl+kFE$oH
    zDR@6p!HLv?LiZd8SN7xa>pLD7uR0<O!w5UcS!`xIng0j|OWX}g2!lE1@mcv<@S@1N
    zP)(i}Dni~B=MUeyAVlK7#n~-HE$naS=a_5;{4IDih!pYP&b1YQXKq-#bK916McI6N
    z5dT!3kqR7`Ic$sz=qN?;)q67cB~>rso9DU9Cpl*4qAgJdYm9tCk5FdtkgY*qw%#4^
    z((CbQ9{OM0$L;j0SQ7lhx}%I`p*5wSZvCeR^hP#^<k3BifWyBOc+99q>dkNe;^UUv
    zHGEA$89GXOlm<INZT5xP)*c~!(WGi?dE6=JX&LI6SaPSyMQ7c&qtQE$HJ_+3htuHD
    tDJD^HV3J(58V*qp7>pM!=a(-EdiB(+M?2$YN<lAidJJ%LU4HTj`VafJi}(Nl
    
    diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
    deleted file mode 100644
    index a52336b0f..000000000
    --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -praktikum/Bun.class
    -praktikum/IngredientType.class
    -praktikum/Database.class
    -praktikum/Praktikum.class
    -praktikum/Burger.class
    -praktikum/Ingredient.class
    diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
    deleted file mode 100644
    index 14dd5edc0..000000000
    --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
    +++ /dev/null
    @@ -1,6 +0,0 @@
    -/Users/ppeter/yandex/Diplom/src/main/java/praktikum/IngredientType.java
    -/Users/ppeter/yandex/Diplom/src/main/java/praktikum/Bun.java
    -/Users/ppeter/yandex/Diplom/src/main/java/praktikum/Burger.java
    -/Users/ppeter/yandex/Diplom/src/main/java/praktikum/Praktikum.java
    -/Users/ppeter/yandex/Diplom/src/main/java/praktikum/Ingredient.java
    -/Users/ppeter/yandex/Diplom/src/main/java/praktikum/Database.java
    diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
    deleted file mode 100644
    index 23164bfa6..000000000
    --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -BurgerPriceTest.class
    -BurgerTest.class
    -BunTest.class
    -BurgerReceiptTest.class
    diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
    deleted file mode 100644
    index 48f71a2a0..000000000
    --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -/Users/ppeter/yandex/Diplom/src/test/java/BurgerReceiptTest.java
    -/Users/ppeter/yandex/Diplom/src/test/java/BurgerTest.java
    -/Users/ppeter/yandex/Diplom/src/test/java/BunTest.java
    -/Users/ppeter/yandex/Diplom/src/test/java/BurgerPriceTest.java
    diff --git a/target/site/jacoco/index.html b/target/site/jacoco/index.html
    deleted file mode 100644
    index ed6f91a2e..000000000
    --- a/target/site/jacoco/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>praktikum</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">praktikum</span></div><h1>praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">174 of 358</td><td class="ctr2">51 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">8</td><td class="ctr2">22</td><td class="ctr1">32</td><td class="ctr2">69</td><td class="ctr1">8</td><td class="ctr2">20</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="praktikum/index.html" class="el_package">praktikum</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="58" height="10" title="174" alt="174"/><img src="jacoco-resources/greenbar.gif" width="61" height="10" title="184" alt="184"/></td><td class="ctr2" id="c0">51 %</td><td class="bar" id="d0"><img src="jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">22</td><td class="ctr1" id="h0">32</td><td class="ctr2" id="i0">69</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">20</td><td class="ctr1" id="l0">2</td><td class="ctr2" id="m0">6</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/jacoco-resources/branchfc.gif b/target/site/jacoco/jacoco-resources/branchfc.gif
    deleted file mode 100644
    index 989b46d30469b56b014758f846ee6c5abfda16aa..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;xhkjB6;lY!w31H*rY|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-NwhSNb
    
    diff --git a/target/site/jacoco/jacoco-resources/branchnc.gif b/target/site/jacoco/jacoco-resources/branchnc.gif
    deleted file mode 100644
    index 1933e07c376bb71bdd9aac91cf858da3fcdb0f1c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;xxz`$^Zf#E#^!~cec|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-N9U38B
    
    diff --git a/target/site/jacoco/jacoco-resources/branchpc.gif b/target/site/jacoco/jacoco-resources/branchpc.gif
    deleted file mode 100644
    index cbf711b7030929b733f22f7a0cf3dbf61fe7868f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;v*A(Y{H7sIRF44*zR{6_+cKUo;L7}yzf7=QqzmVsHJqKe^n
    j0tb8h9POxsbMM_@X>m$mi>nCYN#As;!%lJz1A{dHmlPuc
    
    diff --git a/target/site/jacoco/jacoco-resources/bundle.gif b/target/site/jacoco/jacoco-resources/bundle.gif
    deleted file mode 100644
    index fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 709
    zcmZ?wbhEHb6krfwxXQrrpW*-7BK;<J$sad5=B26sxKQ!q!Hgdl8q(~HUL2e9<Hd#-
    z7dn1?IPw4g|HIv8zrOAI@nFG^8xwkB-G027acOnKpKtdcpWnHq-sr)BinT@BA8t%o
    znxj(b?=UZ3c5RMIe~{#!dZYLEkL_tSI^1f;Km(xolZ6pvtPY3(`H6w8*rB1oLr1Fr
    zgz}>o8CDEUD?$vun5^UNelT%D!ODh<DT^W#oSIlz7qWFr6j-<`INnfgQuR3aJbW7`
    zN4%4`K$`$#XID3aq+mZI+oZ{pxEUFwnVA`9&7C{VNtTt7ed)5L3!LN`S=X*xyV99u
    u^Omii+jqD*GFUt3=ar=9mFR|47NlA!WacKOr|PF?rg3q(j|Mjlf*SzSChrLV
    
    diff --git a/target/site/jacoco/jacoco-resources/class.gif b/target/site/jacoco/jacoco-resources/class.gif
    deleted file mode 100644
    index eb348fb0d498d75976150047b1b5c2fefc9dc220..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 586
    zcmZ?wbhEHb6krfwI2Or}v!c<s$=9se-=Q<YsXNN8KQ3fOR@Cf*m^p=Yn<q4Gopkom
    z6_qkOy&5;;MsLfufQUJ{vGWR(7nLtMxlXsnMX%OXzt+v54k+vCJt@I!LR|T}_8Twn
    z8a23^wRl;#``dR0_3fQy*Wqv15n$II;MN!J-X9S(Eh&3>RsX(Ohwq+z^!{nkw1lu(
    zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k<wUj$8y`}qA+!h+12O)Zt{8e4bt
    z^z51Z;rqwPnTZ)o@)H-NC(KKmcWmLES9jAFW#uj_C|_66u(_dnV^!t4^7b9Ajhky9
    zzJD-rU(e=C8}{7Xx$oBQ`NwB1I6iy#jqQi->_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J
    zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc>
    zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd
    zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU
    Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t
    
    diff --git a/target/site/jacoco/jacoco-resources/down.gif b/target/site/jacoco/jacoco-resources/down.gif
    deleted file mode 100644
    index 440a14db74e76c2b6e854eacac1c44414b166271..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ>Z%p}jXB
    Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(}
    
    diff --git a/target/site/jacoco/jacoco-resources/greenbar.gif b/target/site/jacoco/jacoco-resources/greenbar.gif
    deleted file mode 100644
    index 0ba65672530ee09f086821a26156836d0c91bd74..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0
    eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU
    
    diff --git a/target/site/jacoco/jacoco-resources/group.gif b/target/site/jacoco/jacoco-resources/group.gif
    deleted file mode 100644
    index a4ea580d278fb727e4ae692838877fa63c4becf9..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 351
    zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86
    zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw
    z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO
    z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47?
    zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@<H~=ly~!2^|49-&cqxtw`7?
    z#Ky|j%)-vX)?mu7-NU2OKVbs5sj!|NpR$sovf|v?yiO9jg7Wfm3i1lF3JOBbqGFPg
    YGSX7gGMmL+MfU97=X>Cwn<IlY03tk+6951J
    
    diff --git a/target/site/jacoco/jacoco-resources/method.gif b/target/site/jacoco/jacoco-resources/method.gif
    deleted file mode 100644
    index 7d24707ee82f54aa9fb10d1d9050013cbf161a7a..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 193
    zcmV;y06zamNk%w1VGsZi0K@<Q1As^cfk_>VRxXubL!4|)qjO}gg>klxZ?TGXw~#-V
    zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<;
    ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx
    vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq
    
    diff --git a/target/site/jacoco/jacoco-resources/package.gif b/target/site/jacoco/jacoco-resources/package.gif
    deleted file mode 100644
    index 131c28da405493661e3253ef79a68bd273039295..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 227
    zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c
    zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3*
    zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7
    z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx
    Mi%z;upCW@b03m@=3jhEB
    
    diff --git a/target/site/jacoco/jacoco-resources/prettify.css b/target/site/jacoco/jacoco-resources/prettify.css
    deleted file mode 100644
    index be5166e0f..000000000
    --- a/target/site/jacoco/jacoco-resources/prettify.css
    +++ /dev/null
    @@ -1,13 +0,0 @@
    -/* Pretty printing styles. Used with prettify.js. */
    -
    -.str { color: #2A00FF; }
    -.kwd { color: #7F0055; font-weight:bold; }
    -.com { color: #3F5FBF; }
    -.typ { color: #606; }
    -.lit { color: #066; }
    -.pun { color: #660; }
    -.pln { color: #000; }
    -.tag { color: #008; }
    -.atn { color: #606; }
    -.atv { color: #080; }
    -.dec { color: #606; }
    diff --git a/target/site/jacoco/jacoco-resources/prettify.js b/target/site/jacoco/jacoco-resources/prettify.js
    deleted file mode 100644
    index b2766fe0a..000000000
    --- a/target/site/jacoco/jacoco-resources/prettify.js
    +++ /dev/null
    @@ -1,1510 +0,0 @@
    -// Copyright (C) 2006 Google Inc.
    -//
    -// Licensed under the Apache License, Version 2.0 (the "License");
    -// you may not use this file except in compliance with the License.
    -// You may obtain a copy of the License at
    -//
    -//      http://www.apache.org/licenses/LICENSE-2.0
    -//
    -// Unless required by applicable law or agreed to in writing, software
    -// distributed under the License is distributed on an "AS IS" BASIS,
    -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -// See the License for the specific language governing permissions and
    -// limitations under the License.
    -
    -
    -/**
    - * @fileoverview
    - * some functions for browser-side pretty printing of code contained in html.
    - * <p>
    - *
    - * For a fairly comprehensive set of languages see the
    - * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
    - * file that came with this source.  At a minimum, the lexer should work on a
    - * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
    - * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
    - * and a subset of Perl, but, because of commenting conventions, doesn't work on
    - * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
    - * <p>
    - * Usage: <ol>
    - * <li> include this source file in an html page via
    - *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
    - * <li> define style rules.  See the example page for examples.
    - * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
    - *    {@code class=prettyprint.}
    - *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
    - *    printer needs to do more substantial DOM manipulations to support that, so
    - *    some css styles may not be preserved.
    - * </ol>
    - * That's it.  I wanted to keep the API as simple as possible, so there's no
    - * need to specify which language the code is in, but if you wish, you can add
    - * another class to the {@code <pre>} or {@code <code>} element to specify the
    - * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    - * starts with "lang-" followed by a file extension, specifies the file type.
    - * See the "lang-*.js" files in this directory for code that implements
    - * per-language file handlers.
    - * <p>
    - * Change log:<br>
    - * cbeust, 2006/08/22
    - * <blockquote>
    - *   Java annotations (start with "@") are now captured as literals ("lit")
    - * </blockquote>
    - * @requires console
    - */
    -
    -// JSLint declarations
    -/*global console, document, navigator, setTimeout, window */
    -
    -/**
    - * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    - * UI events.
    - * If set to {@code false}, {@code prettyPrint()} is synchronous.
    - */
    -window['PR_SHOULD_USE_CONTINUATION'] = true;
    -
    -/** the number of characters between tab columns */
    -window['PR_TAB_WIDTH'] = 8;
    -
    -/** Walks the DOM returning a properly escaped version of innerHTML.
    -  * @param {Node} node
    -  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    -  */
    -window['PR_normalizedHtml']
    -
    -/** Contains functions for creating and registering new language handlers.
    -  * @type {Object}
    -  */
    -  = window['PR']
    -
    -/** Pretty print a chunk of code.
    -  *
    -  * @param {string} sourceCodeHtml code as html
    -  * @return {string} code as html, but prettier
    -  */
    -  = window['prettyPrintOne']
    -/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    -  * {@code class=prettyprint} and prettify them.
    -  * @param {Function?} opt_whenDone if specified, called when the last entry
    -  *     has been finished.
    -  */
    -  = window['prettyPrint'] = void 0;
    -
    -/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    -window['_pr_isIE6'] = function () {
    -  var ieVersion = navigator && navigator.userAgent &&
    -      navigator.userAgent.match(/\bMSIE ([678])\./);
    -  ieVersion = ieVersion ? +ieVersion[1] : false;
    -  window['_pr_isIE6'] = function () { return ieVersion; };
    -  return ieVersion;
    -};
    -
    -
    -(function () {
    -  // Keyword lists for various languages.
    -  var FLOW_CONTROL_KEYWORDS =
    -      "break continue do else for if return while ";
    -  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    -      "double enum extern float goto int long register short signed sizeof " +
    -      "static struct switch typedef union unsigned void volatile ";
    -  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    -      "new operator private protected public this throw true try typeof ";
    -  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    -      "concept concept_map const_cast constexpr decltype " +
    -      "dynamic_cast explicit export friend inline late_check " +
    -      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    -      "template typeid typename using virtual wchar_t where ";
    -  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    -      "abstract boolean byte extends final finally implements import " +
    -      "instanceof null native package strictfp super synchronized throws " +
    -      "transient ";
    -  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    -      "as base by checked decimal delegate descending event " +
    -      "fixed foreach from group implicit in interface internal into is lock " +
    -      "object out override orderby params partial readonly ref sbyte sealed " +
    -      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    -  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    -      "debugger eval export function get null set undefined var with " +
    -      "Infinity NaN ";
    -  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    -      "goto if import last local my next no our print package redo require " +
    -      "sub undef unless until use wantarray while BEGIN END ";
    -  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    -      "elif except exec finally from global import in is lambda " +
    -      "nonlocal not or pass print raise try with yield " +
    -      "False True None ";
    -  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    -      " defined elsif end ensure false in module next nil not or redo rescue " +
    -      "retry self super then true undef unless until when yield BEGIN END ";
    -  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    -      "function in local set then until ";
    -  var ALL_KEYWORDS = (
    -      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    -      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    -
    -  // token style names.  correspond to css classes
    -  /** token style for a string literal */
    -  var PR_STRING = 'str';
    -  /** token style for a keyword */
    -  var PR_KEYWORD = 'kwd';
    -  /** token style for a comment */
    -  var PR_COMMENT = 'com';
    -  /** token style for a type */
    -  var PR_TYPE = 'typ';
    -  /** token style for a literal value.  e.g. 1, null, true. */
    -  var PR_LITERAL = 'lit';
    -  /** token style for a punctuation string. */
    -  var PR_PUNCTUATION = 'pun';
    -  /** token style for a punctuation string. */
    -  var PR_PLAIN = 'pln';
    -
    -  /** token style for an sgml tag. */
    -  var PR_TAG = 'tag';
    -  /** token style for a markup declaration such as a DOCTYPE. */
    -  var PR_DECLARATION = 'dec';
    -  /** token style for embedded source. */
    -  var PR_SOURCE = 'src';
    -  /** token style for an sgml attribute name. */
    -  var PR_ATTRIB_NAME = 'atn';
    -  /** token style for an sgml attribute value. */
    -  var PR_ATTRIB_VALUE = 'atv';
    -
    -  /**
    -   * A class that indicates a section of markup that is not code, e.g. to allow
    -   * embedding of line numbers within code listings.
    -   */
    -  var PR_NOCODE = 'nocode';
    -
    -  /** A set of tokens that can precede a regular expression literal in
    -    * javascript.
    -    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    -    * list, but I've removed ones that might be problematic when seen in
    -    * languages that don't support regular expression literals.
    -    *
    -    * <p>Specifically, I've removed any keywords that can't precede a regexp
    -    * literal in a syntactically legal javascript program, and I've removed the
    -    * "in" keyword since it's not a keyword in many languages, and might be used
    -    * as a count of inches.
    -    *
    -    * <p>The link a above does not accurately describe EcmaScript rules since
    -    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    -    * very well in practice.
    -    *
    -    * @private
    -    */
    -  var REGEXP_PRECEDER_PATTERN = function () {
    -      var preceders = [
    -          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    -          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    -          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    -          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    -          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    -          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    -          "||=", "~" /* handles =~ and !~ */,
    -          "break", "case", "continue", "delete",
    -          "do", "else", "finally", "instanceof",
    -          "return", "throw", "try", "typeof"
    -          ];
    -      var pattern = '(?:^^|[+-]';
    -      for (var i = 0; i < preceders.length; ++i) {
    -        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    -      }
    -      pattern += ')\\s*';  // matches at end, and matches empty string
    -      return pattern;
    -      // CAVEAT: this does not properly handle the case where a regular
    -      // expression immediately follows another since a regular expression may
    -      // have flags for case-sensitivity and the like.  Having regexp tokens
    -      // adjacent is not valid in any language I'm aware of, so I'm punting.
    -      // TODO: maybe style special characters inside a regexp as punctuation.
    -    }();
    -
    -  // Define regexps here so that the interpreter doesn't have to create an
    -  // object each time the function containing them is called.
    -  // The language spec requires a new object created even if you don't access
    -  // the $1 members.
    -  var pr_amp = /&/g;
    -  var pr_lt = /</g;
    -  var pr_gt = />/g;
    -  var pr_quot = /\"/g;
    -  /** like textToHtml but escapes double quotes to be attribute safe. */
    -  function attribToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;')
    -        .replace(pr_quot, '&quot;');
    -  }
    -
    -  /** escapest html special characters to html. */
    -  function textToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;');
    -  }
    -
    -
    -  var pr_ltEnt = /&lt;/g;
    -  var pr_gtEnt = /&gt;/g;
    -  var pr_aposEnt = /&apos;/g;
    -  var pr_quotEnt = /&quot;/g;
    -  var pr_ampEnt = /&amp;/g;
    -  var pr_nbspEnt = /&nbsp;/g;
    -  /** unescapes html to plain text. */
    -  function htmlToText(html) {
    -    var pos = html.indexOf('&');
    -    if (pos < 0) { return html; }
    -    // Handle numeric entities specially.  We can't use functional substitution
    -    // since that doesn't work in older versions of Safari.
    -    // These should be rare since most browsers convert them to normal chars.
    -    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    -      var end = html.indexOf(';', pos);
    -      if (end >= 0) {
    -        var num = html.substring(pos + 3, end);
    -        var radix = 10;
    -        if (num && num.charAt(0) === 'x') {
    -          num = num.substring(1);
    -          radix = 16;
    -        }
    -        var codePoint = parseInt(num, radix);
    -        if (!isNaN(codePoint)) {
    -          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    -                  html.substring(end + 1));
    -        }
    -      }
    -    }
    -
    -    return html.replace(pr_ltEnt, '<')
    -        .replace(pr_gtEnt, '>')
    -        .replace(pr_aposEnt, "'")
    -        .replace(pr_quotEnt, '"')
    -        .replace(pr_nbspEnt, ' ')
    -        .replace(pr_ampEnt, '&');
    -  }
    -
    -  /** is the given node's innerHTML normally unescaped? */
    -  function isRawContent(node) {
    -    return 'XMP' === node.tagName;
    -  }
    -
    -  var newlineRe = /[\r\n]/g;
    -  /**
    -   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    -   */
    -  function isPreformatted(node, content) {
    -    // PRE means preformatted, and is a very common case, so don't create
    -    // unnecessary computed style objects.
    -    if ('PRE' === node.tagName) { return true; }
    -    if (!newlineRe.test(content)) { return true; }  // Don't care
    -    var whitespace = '';
    -    // For disconnected nodes, IE has no currentStyle.
    -    if (node.currentStyle) {
    -      whitespace = node.currentStyle.whiteSpace;
    -    } else if (window.getComputedStyle) {
    -      // Firefox makes a best guess if node is disconnected whereas Safari
    -      // returns the empty string.
    -      whitespace = window.getComputedStyle(node, null).whiteSpace;
    -    }
    -    return !whitespace || whitespace === 'pre';
    -  }
    -
    -  function normalizedHtml(node, out, opt_sortAttrs) {
    -    switch (node.nodeType) {
    -      case 1:  // an element
    -        var name = node.tagName.toLowerCase();
    -
    -        out.push('<', name);
    -        var attrs = node.attributes;
    -        var n = attrs.length;
    -        if (n) {
    -          if (opt_sortAttrs) {
    -            var sortedAttrs = [];
    -            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    -            sortedAttrs.sort(function (a, b) {
    -                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    -              });
    -            attrs = sortedAttrs;
    -          }
    -          for (var i = 0; i < n; ++i) {
    -            var attr = attrs[i];
    -            if (!attr.specified) { continue; }
    -            out.push(' ', attr.name.toLowerCase(),
    -                     '="', attribToHtml(attr.value), '"');
    -          }
    -        }
    -        out.push('>');
    -        for (var child = node.firstChild; child; child = child.nextSibling) {
    -          normalizedHtml(child, out, opt_sortAttrs);
    -        }
    -        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    -          out.push('<\/', name, '>');
    -        }
    -        break;
    -      case 3: case 4: // text
    -        out.push(textToHtml(node.nodeValue));
    -        break;
    -    }
    -  }
    -
    -  /**
    -   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    -   * matches the union o the sets o strings matched d by the input RegExp.
    -   * Since it matches globally, if the input strings have a start-of-input
    -   * anchor (/^.../), it is ignored for the purposes of unioning.
    -   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    -   * @return {RegExp} a global regex.
    -   */
    -  function combinePrefixPatterns(regexs) {
    -    var capturedGroupIndex = 0;
    -
    -    var needToFoldCase = false;
    -    var ignoreCase = false;
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.ignoreCase) {
    -        ignoreCase = true;
    -      } else if (/[a-z]/i.test(regex.source.replace(
    -                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    -        needToFoldCase = true;
    -        ignoreCase = false;
    -        break;
    -      }
    -    }
    -
    -    function decodeEscape(charsetPart) {
    -      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    -      switch (charsetPart.charAt(1)) {
    -        case 'b': return 8;
    -        case 't': return 9;
    -        case 'n': return 0xa;
    -        case 'v': return 0xb;
    -        case 'f': return 0xc;
    -        case 'r': return 0xd;
    -        case 'u': case 'x':
    -          return parseInt(charsetPart.substring(2), 16)
    -              || charsetPart.charCodeAt(1);
    -        case '0': case '1': case '2': case '3': case '4':
    -        case '5': case '6': case '7':
    -          return parseInt(charsetPart.substring(1), 8);
    -        default: return charsetPart.charCodeAt(1);
    -      }
    -    }
    -
    -    function encodeEscape(charCode) {
    -      if (charCode < 0x20) {
    -        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    -      }
    -      var ch = String.fromCharCode(charCode);
    -      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    -        ch = '\\' + ch;
    -      }
    -      return ch;
    -    }
    -
    -    function caseFoldCharset(charSet) {
    -      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    -          new RegExp(
    -              '\\\\u[0-9A-Fa-f]{4}'
    -              + '|\\\\x[0-9A-Fa-f]{2}'
    -              + '|\\\\[0-3][0-7]{0,2}'
    -              + '|\\\\[0-7]{1,2}'
    -              + '|\\\\[\\s\\S]'
    -              + '|-'
    -              + '|[^-\\\\]',
    -              'g'));
    -      var groups = [];
    -      var ranges = [];
    -      var inverse = charsetParts[0] === '^';
    -      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    -        var p = charsetParts[i];
    -        switch (p) {
    -          case '\\B': case '\\b':
    -          case '\\D': case '\\d':
    -          case '\\S': case '\\s':
    -          case '\\W': case '\\w':
    -            groups.push(p);
    -            continue;
    -        }
    -        var start = decodeEscape(p);
    -        var end;
    -        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    -          end = decodeEscape(charsetParts[i + 2]);
    -          i += 2;
    -        } else {
    -          end = start;
    -        }
    -        ranges.push([start, end]);
    -        // If the range might intersect letters, then expand it.
    -        if (!(end < 65 || start > 122)) {
    -          if (!(end < 65 || start > 90)) {
    -            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    -          }
    -          if (!(end < 97 || start > 122)) {
    -            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    -          }
    -        }
    -      }
    -
    -      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    -      // -> [[1, 12], [14, 14], [16, 17]]
    -      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    -      var consolidatedRanges = [];
    -      var lastRange = [NaN, NaN];
    -      for (var i = 0; i < ranges.length; ++i) {
    -        var range = ranges[i];
    -        if (range[0] <= lastRange[1] + 1) {
    -          lastRange[1] = Math.max(lastRange[1], range[1]);
    -        } else {
    -          consolidatedRanges.push(lastRange = range);
    -        }
    -      }
    -
    -      var out = ['['];
    -      if (inverse) { out.push('^'); }
    -      out.push.apply(out, groups);
    -      for (var i = 0; i < consolidatedRanges.length; ++i) {
    -        var range = consolidatedRanges[i];
    -        out.push(encodeEscape(range[0]));
    -        if (range[1] > range[0]) {
    -          if (range[1] + 1 > range[0]) { out.push('-'); }
    -          out.push(encodeEscape(range[1]));
    -        }
    -      }
    -      out.push(']');
    -      return out.join('');
    -    }
    -
    -    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    -      // Split into character sets, escape sequences, punctuation strings
    -      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    -      // include any of the above.
    -      var parts = regex.source.match(
    -          new RegExp(
    -              '(?:'
    -              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    -              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    -              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    -              + '|\\\\[0-9]+'  // a back-reference or octal escape
    -              + '|\\\\[^ux0-9]'  // other escape sequence
    -              + '|\\(\\?[:!=]'  // start of a non-capturing group
    -              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    -              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    -              + ')',
    -              'g'));
    -      var n = parts.length;
    -
    -      // Maps captured group numbers to the number they will occupy in
    -      // the output or to -1 if that has not been determined, or to
    -      // undefined if they need not be capturing in the output.
    -      var capturedGroups = [];
    -
    -      // Walk over and identify back references to build the capturedGroups
    -      // mapping.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          // groups are 1-indexed, so max group index is count of '('
    -          ++groupIndex;
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            capturedGroups[decimalValue] = -1;
    -          }
    -        }
    -      }
    -
    -      // Renumber groups and reduce capturing groups to non-capturing groups
    -      // where possible.
    -      for (var i = 1; i < capturedGroups.length; ++i) {
    -        if (-1 === capturedGroups[i]) {
    -          capturedGroups[i] = ++capturedGroupIndex;
    -        }
    -      }
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          ++groupIndex;
    -          if (capturedGroups[groupIndex] === undefined) {
    -            parts[i] = '(?:';
    -          }
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            parts[i] = '\\' + capturedGroups[groupIndex];
    -          }
    -        }
    -      }
    -
    -      // Remove any prefix anchors so that the output will match anywhere.
    -      // ^^ really does mean an anchored match though.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    -      }
    -
    -      // Expand letters to groupts to handle mixing of case-sensitive and
    -      // case-insensitive patterns if necessary.
    -      if (regex.ignoreCase && needToFoldCase) {
    -        for (var i = 0; i < n; ++i) {
    -          var p = parts[i];
    -          var ch0 = p.charAt(0);
    -          if (p.length >= 2 && ch0 === '[') {
    -            parts[i] = caseFoldCharset(p);
    -          } else if (ch0 !== '\\') {
    -            // TODO: handle letters in numeric escapes.
    -            parts[i] = p.replace(
    -                /[a-zA-Z]/g,
    -                function (ch) {
    -                  var cc = ch.charCodeAt(0);
    -                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    -                });
    -          }
    -        }
    -      }
    -
    -      return parts.join('');
    -    }
    -
    -    var rewritten = [];
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    -      rewritten.push(
    -          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    -    }
    -
    -    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    -  }
    -
    -  var PR_innerHtmlWorks = null;
    -  function getInnerHtml(node) {
    -    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    -    // an html description of well formed XML and the containing tag is a PRE
    -    // tag, so we detect that case and emulate innerHTML.
    -    if (null === PR_innerHtmlWorks) {
    -      var testNode = document.createElement('PRE');
    -      testNode.appendChild(
    -          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    -      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    -    }
    -
    -    if (PR_innerHtmlWorks) {
    -      var content = node.innerHTML;
    -      // XMP tags contain unescaped entities so require special handling.
    -      if (isRawContent(node)) {
    -        content = textToHtml(content);
    -      } else if (!isPreformatted(node, content)) {
    -        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    -            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    -      }
    -      return content;
    -    }
    -
    -    var out = [];
    -    for (var child = node.firstChild; child; child = child.nextSibling) {
    -      normalizedHtml(child, out);
    -    }
    -    return out.join('');
    -  }
    -
    -  /** returns a function that expand tabs to spaces.  This function can be fed
    -    * successive chunks of text, and will maintain its own internal state to
    -    * keep track of how tabs are expanded.
    -    * @return {function (string) : string} a function that takes
    -    *   plain text and return the text with tabs expanded.
    -    * @private
    -    */
    -  function makeTabExpander(tabWidth) {
    -    var SPACES = '                ';
    -    var charInLine = 0;
    -
    -    return function (plainText) {
    -      // walk over each character looking for tabs and newlines.
    -      // On tabs, expand them.  On newlines, reset charInLine.
    -      // Otherwise increment charInLine
    -      var out = null;
    -      var pos = 0;
    -      for (var i = 0, n = plainText.length; i < n; ++i) {
    -        var ch = plainText.charAt(i);
    -
    -        switch (ch) {
    -          case '\t':
    -            if (!out) { out = []; }
    -            out.push(plainText.substring(pos, i));
    -            // calculate how much space we need in front of this part
    -            // nSpaces is the amount of padding -- the number of spaces needed
    -            // to move us to the next column, where columns occur at factors of
    -            // tabWidth.
    -            var nSpaces = tabWidth - (charInLine % tabWidth);
    -            charInLine += nSpaces;
    -            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    -              out.push(SPACES.substring(0, nSpaces));
    -            }
    -            pos = i + 1;
    -            break;
    -          case '\n':
    -            charInLine = 0;
    -            break;
    -          default:
    -            ++charInLine;
    -        }
    -      }
    -      if (!out) { return plainText; }
    -      out.push(plainText.substring(pos));
    -      return out.join('');
    -    };
    -  }
    -
    -  var pr_chunkPattern = new RegExp(
    -      '[^<]+'  // A run of characters other than '<'
    -      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    -      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    -      // a probable tag that should not be highlighted
    -      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    -      + '|<',  // A '<' that does not begin a larger chunk
    -      'g');
    -  var pr_commentPrefix = /^<\!--/;
    -  var pr_cdataPrefix = /^<!\[CDATA\[/;
    -  var pr_brPrefix = /^<br\b/i;
    -  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    -
    -  /** split markup into chunks of html tags (style null) and
    -    * plain text (style {@link #PR_PLAIN}), converting tags which are
    -    * significant for tokenization (<br>) into their textual equivalent.
    -    *
    -    * @param {string} s html where whitespace is considered significant.
    -    * @return {Object} source code and extracted tags.
    -    * @private
    -    */
    -  function extractTags(s) {
    -    // since the pattern has the 'g' modifier and defines no capturing groups,
    -    // this will return a list of all chunks which we then classify and wrap as
    -    // PR_Tokens
    -    var matches = s.match(pr_chunkPattern);
    -    var sourceBuf = [];
    -    var sourceBufLen = 0;
    -    var extractedTags = [];
    -    if (matches) {
    -      for (var i = 0, n = matches.length; i < n; ++i) {
    -        var match = matches[i];
    -        if (match.length > 1 && match.charAt(0) === '<') {
    -          if (pr_commentPrefix.test(match)) { continue; }
    -          if (pr_cdataPrefix.test(match)) {
    -            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    -            sourceBuf.push(match.substring(9, match.length - 3));
    -            sourceBufLen += match.length - 12;
    -          } else if (pr_brPrefix.test(match)) {
    -            // <br> tags are lexically significant so convert them to text.
    -            // This is undone later.
    -            sourceBuf.push('\n');
    -            ++sourceBufLen;
    -          } else {
    -            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    -              // A <span class="nocode"> will start a section that should be
    -              // ignored.  Continue walking the list until we see a matching end
    -              // tag.
    -              var name = match.match(pr_tagNameRe)[2];
    -              var depth = 1;
    -              var j;
    -              end_tag_loop:
    -              for (j = i + 1; j < n; ++j) {
    -                var name2 = matches[j].match(pr_tagNameRe);
    -                if (name2 && name2[2] === name) {
    -                  if (name2[1] === '/') {
    -                    if (--depth === 0) { break end_tag_loop; }
    -                  } else {
    -                    ++depth;
    -                  }
    -                }
    -              }
    -              if (j < n) {
    -                extractedTags.push(
    -                    sourceBufLen, matches.slice(i, j + 1).join(''));
    -                i = j;
    -              } else {  // Ignore unclosed sections.
    -                extractedTags.push(sourceBufLen, match);
    -              }
    -            } else {
    -              extractedTags.push(sourceBufLen, match);
    -            }
    -          }
    -        } else {
    -          var literalText = htmlToText(match);
    -          sourceBuf.push(literalText);
    -          sourceBufLen += literalText.length;
    -        }
    -      }
    -    }
    -    return { source: sourceBuf.join(''), tags: extractedTags };
    -  }
    -
    -  /** True if the given tag contains a class attribute with the nocode class. */
    -  function isNoCodeTag(tag) {
    -    return !!tag
    -        // First canonicalize the representation of attributes
    -        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    -                 ' $1="$2$3$4"')
    -        // Then look for the attribute we want.
    -        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    -  }
    -
    -  /**
    -   * Apply the given language handler to sourceCode and add the resulting
    -   * decorations to out.
    -   * @param {number} basePos the index of sourceCode within the chunk of source
    -   *    whose decorations are already present on out.
    -   */
    -  function appendDecorations(basePos, sourceCode, langHandler, out) {
    -    if (!sourceCode) { return; }
    -    var job = {
    -      source: sourceCode,
    -      basePos: basePos
    -    };
    -    langHandler(job);
    -    out.push.apply(out, job.decorations);
    -  }
    -
    -  /** Given triples of [style, pattern, context] returns a lexing function,
    -    * The lexing function interprets the patterns to find token boundaries and
    -    * returns a decoration list of the form
    -    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    -    * where index_n is an index into the sourceCode, and style_n is a style
    -    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    -    * all characters in sourceCode[index_n-1:index_n].
    -    *
    -    * The stylePatterns is a list whose elements have the form
    -    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    -    *
    -    * Style is a style constant like PR_PLAIN, or can be a string of the
    -    * form 'lang-FOO', where FOO is a language extension describing the
    -    * language of the portion of the token in $1 after pattern executes.
    -    * E.g., if style is 'lang-lisp', and group 1 contains the text
    -    * '(hello (world))', then that portion of the token will be passed to the
    -    * registered lisp handler for formatting.
    -    * The text before and after group 1 will be restyled using this decorator
    -    * so decorators should take care that this doesn't result in infinite
    -    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    -    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    -    * '<script>foo()<\/script>', which would cause the current decorator to
    -    * be called with '<script>' which would not match the same rule since
    -    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    -    * the generic tag rule.  The handler registered for the 'js' extension would
    -    * then be called with 'foo()', and finally, the current decorator would
    -    * be called with '<\/script>' which would not match the original rule and
    -    * so the generic tag rule would identify it as a tag.
    -    *
    -    * Pattern must only match prefixes, and if it matches a prefix, then that
    -    * match is considered a token with the same style.
    -    *
    -    * Context is applied to the last non-whitespace, non-comment token
    -    * recognized.
    -    *
    -    * Shortcut is an optional string of characters, any of which, if the first
    -    * character, gurantee that this pattern and only this pattern matches.
    -    *
    -    * @param {Array} shortcutStylePatterns patterns that always start with
    -    *   a known character.  Must have a shortcut string.
    -    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    -    *   order if the shortcut ones fail.  May have shortcuts.
    -    *
    -    * @return {function (Object)} a
    -    *   function that takes source code and returns a list of decorations.
    -    */
    -  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    -    var shortcuts = {};
    -    var tokenizer;
    -    (function () {
    -      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    -      var allRegexs = [];
    -      var regexKeys = {};
    -      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    -        var patternParts = allPatterns[i];
    -        var shortcutChars = patternParts[3];
    -        if (shortcutChars) {
    -          for (var c = shortcutChars.length; --c >= 0;) {
    -            shortcuts[shortcutChars.charAt(c)] = patternParts;
    -          }
    -        }
    -        var regex = patternParts[1];
    -        var k = '' + regex;
    -        if (!regexKeys.hasOwnProperty(k)) {
    -          allRegexs.push(regex);
    -          regexKeys[k] = null;
    -        }
    -      }
    -      allRegexs.push(/[\0-\uffff]/);
    -      tokenizer = combinePrefixPatterns(allRegexs);
    -    })();
    -
    -    var nPatterns = fallthroughStylePatterns.length;
    -    var notWs = /\S/;
    -
    -    /**
    -     * Lexes job.source and produces an output array job.decorations of style
    -     * classes preceded by the position at which they start in job.source in
    -     * order.
    -     *
    -     * @param {Object} job an object like {@code
    -     *    source: {string} sourceText plain text,
    -     *    basePos: {int} position of job.source in the larger chunk of
    -     *        sourceCode.
    -     * }
    -     */
    -    var decorate = function (job) {
    -      var sourceCode = job.source, basePos = job.basePos;
    -      /** Even entries are positions in source in ascending order.  Odd enties
    -        * are style markers (e.g., PR_COMMENT) that run from that position until
    -        * the end.
    -        * @type {Array.<number|string>}
    -        */
    -      var decorations = [basePos, PR_PLAIN];
    -      var pos = 0;  // index into sourceCode
    -      var tokens = sourceCode.match(tokenizer) || [];
    -      var styleCache = {};
    -
    -      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    -        var token = tokens[ti];
    -        var style = styleCache[token];
    -        var match = void 0;
    -
    -        var isEmbedded;
    -        if (typeof style === 'string') {
    -          isEmbedded = false;
    -        } else {
    -          var patternParts = shortcuts[token.charAt(0)];
    -          if (patternParts) {
    -            match = token.match(patternParts[1]);
    -            style = patternParts[0];
    -          } else {
    -            for (var i = 0; i < nPatterns; ++i) {
    -              patternParts = fallthroughStylePatterns[i];
    -              match = token.match(patternParts[1]);
    -              if (match) {
    -                style = patternParts[0];
    -                break;
    -              }
    -            }
    -
    -            if (!match) {  // make sure that we make progress
    -              style = PR_PLAIN;
    -            }
    -          }
    -
    -          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    -          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    -            isEmbedded = false;
    -            style = PR_SOURCE;
    -          }
    -
    -          if (!isEmbedded) { styleCache[token] = style; }
    -        }
    -
    -        var tokenStart = pos;
    -        pos += token.length;
    -
    -        if (!isEmbedded) {
    -          decorations.push(basePos + tokenStart, style);
    -        } else {  // Treat group 1 as an embedded block of source code.
    -          var embeddedSource = match[1];
    -          var embeddedSourceStart = token.indexOf(embeddedSource);
    -          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    -          if (match[2]) {
    -            // If embeddedSource can be blank, then it would match at the
    -            // beginning which would cause us to infinitely recurse on the
    -            // entire token, so we catch the right context in match[2].
    -            embeddedSourceEnd = token.length - match[2].length;
    -            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    -          }
    -          var lang = style.substring(5);
    -          // Decorate the left of the embedded source
    -          appendDecorations(
    -              basePos + tokenStart,
    -              token.substring(0, embeddedSourceStart),
    -              decorate, decorations);
    -          // Decorate the embedded source
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceStart,
    -              embeddedSource,
    -              langHandlerForExtension(lang, embeddedSource),
    -              decorations);
    -          // Decorate the right of the embedded section
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceEnd,
    -              token.substring(embeddedSourceEnd),
    -              decorate, decorations);
    -        }
    -      }
    -      job.decorations = decorations;
    -    };
    -    return decorate;
    -  }
    -
    -  /** returns a function that produces a list of decorations from source text.
    -    *
    -    * This code treats ", ', and ` as string delimiters, and \ as a string
    -    * escape.  It does not recognize perl's qq() style strings.
    -    * It has no special handling for double delimiter escapes as in basic, or
    -    * the tripled delimiters used in python, but should work on those regardless
    -    * although in those cases a single string literal may be broken up into
    -    * multiple adjacent string literals.
    -    *
    -    * It recognizes C, C++, and shell style comments.
    -    *
    -    * @param {Object} options a set of optional parameters.
    -    * @return {function (Object)} a function that examines the source code
    -    *     in the input job and builds the decoration list.
    -    */
    -  function sourceDecorator(options) {
    -    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    -    if (options['tripleQuotedStrings']) {
    -      // '''multi-line-string''', 'single-line-string', and double-quoted
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    -           null, '\'"']);
    -    } else if (options['multiLineStrings']) {
    -      // 'multi-line-string', "multi-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    -           null, '\'"`']);
    -    } else {
    -      // 'single-line-string', "single-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,
    -           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    -           null, '"\'']);
    -    }
    -    if (options['verbatimStrings']) {
    -      // verbatim-string-literal production from the C# grammar.  See issue 93.
    -      fallthroughStylePatterns.push(
    -          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    -    }
    -    if (options['hashComments']) {
    -      if (options['cStyleComments']) {
    -        // Stop C preprocessor declarations at an unclosed open comment
    -        shortcutStylePatterns.push(
    -            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    -             null, '#']);
    -        fallthroughStylePatterns.push(
    -            [PR_STRING,
    -             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    -             null]);
    -      } else {
    -        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    -      }
    -    }
    -    if (options['cStyleComments']) {
    -      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    -      fallthroughStylePatterns.push(
    -          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    -    }
    -    if (options['regexLiterals']) {
    -      var REGEX_LITERAL = (
    -          // A regular expression literal starts with a slash that is
    -          // not followed by * or / so that it is not confused with
    -          // comments.
    -          '/(?=[^/*])'
    -          // and then contains any number of raw characters,
    -          + '(?:[^/\\x5B\\x5C]'
    -          // escape sequences (\x5C),
    -          +    '|\\x5C[\\s\\S]'
    -          // or non-nesting character sets (\x5B\x5D);
    -          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    -          // finally closed by a /.
    -          + '/');
    -      fallthroughStylePatterns.push(
    -          ['lang-regex',
    -           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    -           ]);
    -    }
    -
    -    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    -    if (keywords.length) {
    -      fallthroughStylePatterns.push(
    -          [PR_KEYWORD,
    -           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    -    }
    -
    -    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    -    fallthroughStylePatterns.push(
    -        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    -        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    -        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_LITERAL,
    -         new RegExp(
    -             '^(?:'
    -             // A hex number
    -             + '0x[a-f0-9]+'
    -             // or an octal or decimal number,
    -             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    -             // possibly in scientific notation
    -             + '(?:e[+\\-]?\\d+)?'
    -             + ')'
    -             // with an optional modifier like UL for unsigned long
    -             + '[a-z]*', 'i'),
    -         null, '0123456789'],
    -        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    -
    -    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    -  }
    -
    -  var decorateSource = sourceDecorator({
    -        'keywords': ALL_KEYWORDS,
    -        'hashComments': true,
    -        'cStyleComments': true,
    -        'multiLineStrings': true,
    -        'regexLiterals': true
    -      });
    -
    -  /** Breaks {@code job.source} around style boundaries in
    -    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    -    * and leaves the result in {@code job.prettyPrintedHtml}.
    -    * @param {Object} job like {
    -    *    source: {string} source as plain text,
    -    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    -    *                   html preceded by their position in {@code job.source}
    -    *                   in order
    -    *    decorations: {Array.<number|string} an array of style classes preceded
    -    *                 by the position at which they start in job.source in order
    -    * }
    -    * @private
    -    */
    -  function recombineTagsAndDecorations(job) {
    -    var sourceText = job.source;
    -    var extractedTags = job.extractedTags;
    -    var decorations = job.decorations;
    -
    -    var html = [];
    -    // index past the last char in sourceText written to html
    -    var outputIdx = 0;
    -
    -    var openDecoration = null;
    -    var currentDecoration = null;
    -    var tagPos = 0;  // index into extractedTags
    -    var decPos = 0;  // index into decorations
    -    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    -
    -    var adjacentSpaceRe = /([\r\n ]) /g;
    -    var startOrSpaceRe = /(^| ) /gm;
    -    var newlineRe = /\r\n?|\n/g;
    -    var trailingSpaceRe = /[ \r\n]$/;
    -    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    -
    -    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    -    var isIE678 = window['_pr_isIE6']();
    -    var lineBreakHtml = (
    -        isIE678
    -        ? (job.sourceNode.tagName === 'PRE'
    -           // Use line feeds instead of <br>s so that copying and pasting works
    -           // on IE.
    -           // Doing this on other browsers breaks lots of stuff since \r\n is
    -           // treated as two newlines on Firefox.
    -           ? (isIE678 === 6 ? '&#160;\r\n' :
    -              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    -           // IE collapses multiple adjacent <br>s into 1 line break.
    -           // Prefix every newline with '&#160;' to prevent such behavior.
    -           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    -           : '&#160;<br />')
    -        : '<br />');
    -
    -    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    -    // number of the first line.
    -    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    -    var lineBreaker;
    -    if (numberLines) {
    -      var lineBreaks = [];
    -      for (var i = 0; i < 10; ++i) {
    -        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    -      }
    -      var lineNum = numberLines[1] && numberLines[1].length
    -          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    -      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    -      if (lineNum) {
    -        html.push(' value="', lineNum + 1, '"');
    -      }
    -      html.push('>');
    -      lineBreaker = function () {
    -        var lb = lineBreaks[++lineNum % 10];
    -        // If a decoration is open, we need to close it before closing a list-item
    -        // and reopen it on the other side of the list item.
    -        return openDecoration
    -            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    -      };
    -    } else {
    -      lineBreaker = lineBreakHtml;
    -    }
    -
    -    // A helper function that is responsible for opening sections of decoration
    -    // and outputing properly escaped chunks of source
    -    function emitTextUpTo(sourceIdx) {
    -      if (sourceIdx > outputIdx) {
    -        if (openDecoration && openDecoration !== currentDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        if (!openDecoration && currentDecoration) {
    -          openDecoration = currentDecoration;
    -          html.push('<span class="', openDecoration, '">');
    -        }
    -        // This interacts badly with some wikis which introduces paragraph tags
    -        // into pre blocks for some strange reason.
    -        // It's necessary for IE though which seems to lose the preformattedness
    -        // of <pre> tags when their innerHTML is assigned.
    -        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    -        // and it serves to undo the conversion of <br>s to newlines done in
    -        // chunkify.
    -        var htmlChunk = textToHtml(
    -            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    -            .replace(lastWasSpace
    -                     ? startOrSpaceRe
    -                     : adjacentSpaceRe, '$1&#160;');
    -        // Keep track of whether we need to escape space at the beginning of the
    -        // next chunk.
    -        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    -        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    -        outputIdx = sourceIdx;
    -      }
    -    }
    -
    -    while (true) {
    -      // Determine if we're going to consume a tag this time around.  Otherwise
    -      // we consume a decoration or exit.
    -      var outputTag;
    -      if (tagPos < extractedTags.length) {
    -        if (decPos < decorations.length) {
    -          // Pick one giving preference to extractedTags since we shouldn't open
    -          // a new style that we're going to have to immediately close in order
    -          // to output a tag.
    -          outputTag = extractedTags[tagPos] <= decorations[decPos];
    -        } else {
    -          outputTag = true;
    -        }
    -      } else {
    -        outputTag = false;
    -      }
    -      // Consume either a decoration or a tag or exit.
    -      if (outputTag) {
    -        emitTextUpTo(extractedTags[tagPos]);
    -        if (openDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        html.push(extractedTags[tagPos + 1]);
    -        tagPos += 2;
    -      } else if (decPos < decorations.length) {
    -        emitTextUpTo(decorations[decPos]);
    -        currentDecoration = decorations[decPos + 1];
    -        decPos += 2;
    -      } else {
    -        break;
    -      }
    -    }
    -    emitTextUpTo(sourceText.length);
    -    if (openDecoration) {
    -      html.push('</span>');
    -    }
    -    if (numberLines) { html.push('</li></ol>'); }
    -    job.prettyPrintedHtml = html.join('');
    -  }
    -
    -  /** Maps language-specific file extensions to handlers. */
    -  var langHandlerRegistry = {};
    -  /** Register a language handler for the given file extensions.
    -    * @param {function (Object)} handler a function from source code to a list
    -    *      of decorations.  Takes a single argument job which describes the
    -    *      state of the computation.   The single parameter has the form
    -    *      {@code {
    -    *        source: {string} as plain text.
    -    *        decorations: {Array.<number|string>} an array of style classes
    -    *                     preceded by the position at which they start in
    -    *                     job.source in order.
    -    *                     The language handler should assigned this field.
    -    *        basePos: {int} the position of source in the larger source chunk.
    -    *                 All positions in the output decorations array are relative
    -    *                 to the larger source chunk.
    -    *      } }
    -    * @param {Array.<string>} fileExtensions
    -    */
    -  function registerLangHandler(handler, fileExtensions) {
    -    for (var i = fileExtensions.length; --i >= 0;) {
    -      var ext = fileExtensions[i];
    -      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    -        langHandlerRegistry[ext] = handler;
    -      } else if ('console' in window) {
    -        console['warn']('cannot override language handler %s', ext);
    -      }
    -    }
    -  }
    -  function langHandlerForExtension(extension, source) {
    -    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    -      // Treat it as markup if the first non whitespace character is a < and
    -      // the last non-whitespace character is a >.
    -      extension = /^\s*</.test(source)
    -          ? 'default-markup'
    -          : 'default-code';
    -    }
    -    return langHandlerRegistry[extension];
    -  }
    -  registerLangHandler(decorateSource, ['default-code']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [],
    -          [
    -           [PR_PLAIN,       /^[^<?]+/],
    -           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    -           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    -           // Unescaped content in an unknown language
    -           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    -           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    -           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    -           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    -           // Unescaped content in javascript.  (Or possibly vbscript).
    -           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    -           // Contains unescaped stylesheet content
    -           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    -           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    -          ]),
    -      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [
    -           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    -           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    -           ],
    -          [
    -           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    -           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    -           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    -           [PR_PUNCTUATION,  /^[=<>\/]+/],
    -           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    -           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    -           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    -           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    -           ]),
    -      ['in.tag']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CPP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true
    -        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': 'null true false'
    -        }), ['json']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CSHARP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true,
    -          'verbatimStrings': true
    -        }), ['cs']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JAVA_KEYWORDS,
    -          'cStyleComments': true
    -        }), ['java']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': SH_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true
    -        }), ['bsh', 'csh', 'sh']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PYTHON_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'tripleQuotedStrings': true
    -        }), ['cv', 'py']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PERL_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['perl', 'pl', 'pm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': RUBY_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['rb']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JSCRIPT_KEYWORDS,
    -          'cStyleComments': true,
    -          'regexLiterals': true
    -        }), ['js']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    -
    -  function applyDecorator(job) {
    -    var sourceCodeHtml = job.sourceCodeHtml;
    -    var opt_langExtension = job.langExtension;
    -
    -    // Prepopulate output in case processing fails with an exception.
    -    job.prettyPrintedHtml = sourceCodeHtml;
    -
    -    try {
    -      // Extract tags, and convert the source code to plain text.
    -      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    -      /** Plain text. @type {string} */
    -      var source = sourceAndExtractedTags.source;
    -      job.source = source;
    -      job.basePos = 0;
    -
    -      /** Even entries are positions in source in ascending order.  Odd entries
    -        * are tags that were extracted at that position.
    -        * @type {Array.<number|string>}
    -        */
    -      job.extractedTags = sourceAndExtractedTags.tags;
    -
    -      // Apply the appropriate language handler
    -      langHandlerForExtension(opt_langExtension, source)(job);
    -      // Integrate the decorations and tags back into the source code to produce
    -      // a decorated html string which is left in job.prettyPrintedHtml.
    -      recombineTagsAndDecorations(job);
    -    } catch (e) {
    -      if ('console' in window) {
    -        console['log'](e && e['stack'] ? e['stack'] : e);
    -      }
    -    }
    -  }
    -
    -  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    -    var job = {
    -      sourceCodeHtml: sourceCodeHtml,
    -      langExtension: opt_langExtension
    -    };
    -    applyDecorator(job);
    -    return job.prettyPrintedHtml;
    -  }
    -
    -  function prettyPrint(opt_whenDone) {
    -    function byTagName(tn) { return document.getElementsByTagName(tn); }
    -    // fetch a list of nodes to rewrite
    -    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    -    var elements = [];
    -    for (var i = 0; i < codeSegments.length; ++i) {
    -      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    -        elements.push(codeSegments[i][j]);
    -      }
    -    }
    -    codeSegments = null;
    -
    -    var clock = Date;
    -    if (!clock['now']) {
    -      clock = { 'now': function () { return (new Date).getTime(); } };
    -    }
    -
    -    // The loop is broken into a series of continuations to make sure that we
    -    // don't make the browser unresponsive when rewriting a large page.
    -    var k = 0;
    -    var prettyPrintingJob;
    -
    -    function doWork() {
    -      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    -                     clock.now() + 250 /* ms */ :
    -                     Infinity);
    -      for (; k < elements.length && clock.now() < endTime; k++) {
    -        var cs = elements[k];
    -        // [JACOCO] 'prettyprint' -> 'source'
    -        if (cs.className && cs.className.indexOf('source') >= 0) {
    -          // If the classes includes a language extensions, use it.
    -          // Language extensions can be specified like
    -          //     <pre class="prettyprint lang-cpp">
    -          // the language extension "cpp" is used to find a language handler as
    -          // passed to PR_registerLangHandler.
    -          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    -          if (langExtension) { langExtension = langExtension[1]; }
    -
    -          // make sure this is not nested in an already prettified element
    -          var nested = false;
    -          for (var p = cs.parentNode; p; p = p.parentNode) {
    -            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    -                 p.tagName === 'xmp') &&
    -                // [JACOCO] 'prettyprint' -> 'source'
    -                p.className && p.className.indexOf('source') >= 0) {
    -              nested = true;
    -              break;
    -            }
    -          }
    -          if (!nested) {
    -            // fetch the content as a snippet of properly escaped HTML.
    -            // Firefox adds newlines at the end.
    -            var content = getInnerHtml(cs);
    -            content = content.replace(/(?:\r\n?|\n)$/, '');
    -
    -            // do the pretty printing
    -            prettyPrintingJob = {
    -              sourceCodeHtml: content,
    -              langExtension: langExtension,
    -              sourceNode: cs
    -            };
    -            applyDecorator(prettyPrintingJob);
    -            replaceWithPrettyPrintedHtml();
    -          }
    -        }
    -      }
    -      if (k < elements.length) {
    -        // finish up in a continuation
    -        setTimeout(doWork, 250);
    -      } else if (opt_whenDone) {
    -        opt_whenDone();
    -      }
    -    }
    -
    -    function replaceWithPrettyPrintedHtml() {
    -      var newContent = prettyPrintingJob.prettyPrintedHtml;
    -      if (!newContent) { return; }
    -      var cs = prettyPrintingJob.sourceNode;
    -
    -      // push the prettified html back into the tag.
    -      if (!isRawContent(cs)) {
    -        // just replace the old html with the new
    -        cs.innerHTML = newContent;
    -      } else {
    -        // we need to change the tag to a <pre> since <xmp>s do not allow
    -        // embedded tags such as the span tags used to attach styles to
    -        // sections of source code.
    -        var pre = document.createElement('PRE');
    -        for (var i = 0; i < cs.attributes.length; ++i) {
    -          var a = cs.attributes[i];
    -          if (a.specified) {
    -            var aname = a.name.toLowerCase();
    -            if (aname === 'class') {
    -              pre.className = a.value;  // For IE 6
    -            } else {
    -              pre.setAttribute(a.name, a.value);
    -            }
    -          }
    -        }
    -        pre.innerHTML = newContent;
    -
    -        // remove the old
    -        cs.parentNode.replaceChild(pre, cs);
    -        cs = pre;
    -      }
    -    }
    -
    -    doWork();
    -  }
    -
    -  window['PR_normalizedHtml'] = normalizedHtml;
    -  window['prettyPrintOne'] = prettyPrintOne;
    -  window['prettyPrint'] = prettyPrint;
    -  window['PR'] = {
    -        'combinePrefixPatterns': combinePrefixPatterns,
    -        'createSimpleLexer': createSimpleLexer,
    -        'registerLangHandler': registerLangHandler,
    -        'sourceDecorator': sourceDecorator,
    -        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    -        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    -        'PR_COMMENT': PR_COMMENT,
    -        'PR_DECLARATION': PR_DECLARATION,
    -        'PR_KEYWORD': PR_KEYWORD,
    -        'PR_LITERAL': PR_LITERAL,
    -        'PR_NOCODE': PR_NOCODE,
    -        'PR_PLAIN': PR_PLAIN,
    -        'PR_PUNCTUATION': PR_PUNCTUATION,
    -        'PR_SOURCE': PR_SOURCE,
    -        'PR_STRING': PR_STRING,
    -        'PR_TAG': PR_TAG,
    -        'PR_TYPE': PR_TYPE
    -      };
    -})();
    diff --git a/target/site/jacoco/jacoco-resources/redbar.gif b/target/site/jacoco/jacoco-resources/redbar.gif
    deleted file mode 100644
    index c2f71469ba995289439d86ea39b1b33edb03388c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    diff --git a/target/site/jacoco/jacoco-resources/report.css b/target/site/jacoco/jacoco-resources/report.css
    deleted file mode 100644
    index dd936bca5..000000000
    --- a/target/site/jacoco/jacoco-resources/report.css
    +++ /dev/null
    @@ -1,243 +0,0 @@
    -body, td {
    -  font-family:sans-serif;
    -  font-size:10pt;
    -}
    -
    -h1 {
    -  font-weight:bold;
    -  font-size:18pt;
    -}
    -
    -.breadcrumb {
    -  border:#d6d3ce 1px solid;
    -  padding:2px 4px 2px 4px;
    -}
    -
    -.breadcrumb .info {
    -  float:right;
    -}
    -
    -.breadcrumb .info a {
    -  margin-left:8px;
    -}
    -
    -.el_report {
    -  padding-left:18px;
    -  background-image:url(report.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_group {
    -  padding-left:18px;
    -  background-image:url(group.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_bundle {
    -  padding-left:18px;
    -  background-image:url(bundle.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_package {
    -  padding-left:18px;
    -  background-image:url(package.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_class {
    -  padding-left:18px;
    -  background-image:url(class.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_source {
    -  padding-left:18px;
    -  background-image:url(source.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_method {
    -  padding-left:18px;
    -  background-image:url(method.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_session {
    -  padding-left:18px;
    -  background-image:url(session.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -pre.source {
    -  border:#d6d3ce 1px solid;
    -  font-family:monospace;
    -}
    -
    -pre.source ol {
    -  margin-bottom: 0px;
    -  margin-top: 0px;
    -}
    -
    -pre.source li {
    -  border-left: 1px solid #D6D3CE;
    -  color: #A0A0A0;
    -  padding-left: 0px;
    -}
    -
    -pre.source span.fc {
    -  background-color:#ccffcc;
    -}
    -
    -pre.source span.nc {
    -  background-color:#ffaaaa;
    -}
    -
    -pre.source span.pc {
    -  background-color:#ffffcc;
    -}
    -
    -pre.source span.bfc {
    -  background-image: url(branchfc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bfc:hover {
    -  background-color:#80ff80;
    -}
    -
    -pre.source span.bnc {
    -  background-image: url(branchnc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bnc:hover {
    -  background-color:#ff8080;
    -}
    -
    -pre.source span.bpc {
    -  background-image: url(branchpc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bpc:hover {
    -  background-color:#ffff80;
    -}
    -
    -table.coverage {
    -  empty-cells:show;
    -  border-collapse:collapse;
    -}
    -
    -table.coverage thead {
    -  background-color:#e0e0e0;
    -}
    -
    -table.coverage thead td {
    -  white-space:nowrap;
    -  padding:2px 14px 0px 6px;
    -  border-bottom:#b0b0b0 1px solid;
    -}
    -
    -table.coverage thead td.bar {
    -  border-left:#cccccc 1px solid;
    -}
    -
    -table.coverage thead td.ctr1 {
    -  text-align:right;
    -  border-left:#cccccc 1px solid;
    -}
    -
    -table.coverage thead td.ctr2 {
    -  text-align:right;
    -  padding-left:2px;
    -}
    -
    -table.coverage thead td.sortable {
    -  cursor:pointer;
    -  background-image:url(sort.gif);
    -  background-position:right center;
    -  background-repeat:no-repeat;
    -}
    -
    -table.coverage thead td.up {
    -  background-image:url(up.gif);
    -}
    -
    -table.coverage thead td.down {
    -  background-image:url(down.gif);
    -}
    -
    -table.coverage tbody td {
    -  white-space:nowrap;
    -  padding:2px 6px 2px 6px;
    -  border-bottom:#d6d3ce 1px solid;
    -}
    -
    -table.coverage tbody tr:hover {
    -  background: #f0f0d0 !important;
    -}
    -
    -table.coverage tbody td.bar {
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tbody td.ctr1 {
    -  text-align:right;
    -  padding-right:14px;
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tbody td.ctr2 {
    -  text-align:right;
    -  padding-right:14px;
    -  padding-left:2px;
    -}
    -
    -table.coverage tfoot td {
    -  white-space:nowrap;
    -  padding:2px 6px 2px 6px;
    -}
    -
    -table.coverage tfoot td.bar {
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tfoot td.ctr1 {
    -  text-align:right;
    -  padding-right:14px;
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tfoot td.ctr2 {
    -  text-align:right;
    -  padding-right:14px;
    -  padding-left:2px;
    -}
    -
    -.footer {
    -  margin-top:20px;
    -  border-top:#d6d3ce 1px solid;
    -  padding-top:2px;
    -  font-size:8pt;
    -  color:#a0a0a0;
    -}
    -
    -.footer a {
    -  color:#a0a0a0;
    -}
    -
    -.right {
    -  float:right;
    -}
    diff --git a/target/site/jacoco/jacoco-resources/report.gif b/target/site/jacoco/jacoco-resources/report.gif
    deleted file mode 100644
    index 8547be50bf3e97e725920927b5aa4cdb031f4823..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    diff --git a/target/site/jacoco/jacoco-resources/session.gif b/target/site/jacoco/jacoco-resources/session.gif
    deleted file mode 100644
    index 0151bad8a001e5cc5cc7723a608185f746b7f8c1..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    diff --git a/target/site/jacoco/jacoco-resources/sort.gif b/target/site/jacoco/jacoco-resources/sort.gif
    deleted file mode 100644
    index 6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    diff --git a/target/site/jacoco/jacoco-resources/sort.js b/target/site/jacoco/jacoco-resources/sort.js
    deleted file mode 100644
    index fa9db0868..000000000
    --- a/target/site/jacoco/jacoco-resources/sort.js
    +++ /dev/null
    @@ -1,148 +0,0 @@
    -/*******************************************************************************
    - * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
    - * This program and the accompanying materials are made available under
    - * the terms of the Eclipse Public License 2.0 which is available at
    - * http://www.eclipse.org/legal/epl-2.0
    - *
    - * SPDX-License-Identifier: EPL-2.0
    - *
    - * Contributors:
    - *    Marc R. Hoffmann - initial API and implementation
    - *
    - *******************************************************************************/
    -
    -(function () {
    -
    -  /**
    -   * Sets the initial sorting derived from the hash.
    -   *
    -   * @param linkelementids
    -   *          list of element ids to search for links to add sort inidcator
    -   *          hash links
    -   */
    -  function initialSort(linkelementids) {
    -    window.linkelementids = linkelementids;
    -    var hash = window.location.hash;
    -    if (hash) {
    -      var m = hash.match(/up-./);
    -      if (m) {
    -        var header = window.document.getElementById(m[0].charAt(3));
    -        if (header) {
    -          sortColumn(header, true);
    -        }
    -        return;
    -      }
    -      var m = hash.match(/dn-./);
    -      if (m) {
    -        var header = window.document.getElementById(m[0].charAt(3));
    -        if (header) {
    -          sortColumn(header, false);
    -        }
    -        return
    -      }
    -    }
    -  }
    -
    -  /**
    -   * Sorts the columns with the given header dependening on the current sort state.
    -   */
    -  function toggleSort(header) {
    -    var sortup = header.className.indexOf('down ') == 0;
    -    sortColumn(header, sortup);
    -  }
    -
    -  /**
    -   * Sorts the columns with the given header in the given direction.
    -   */
    -  function sortColumn(header, sortup) {
    -    var table = header.parentNode.parentNode.parentNode;
    -    var body = table.tBodies[0];
    -    var colidx = getNodePosition(header);
    -
    -    resetSortedStyle(table);
    -
    -    var rows = body.rows;
    -    var sortedrows = [];
    -    for (var i = 0; i < rows.length; i++) {
    -      r = rows[i];
    -      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    -    }
    -
    -    var hash;
    -
    -    if (sortup) {
    -      for (var i = sortedrows.length - 1; i >= 0; i--) {
    -        body.appendChild(sortedrows[i]);
    -      }
    -      header.className = 'up ' + header.className;
    -      hash = 'up-' + header.id;
    -    } else {
    -      for (var i = 0; i < sortedrows.length; i++) {
    -        body.appendChild(sortedrows[i]);
    -      }
    -      header.className = 'down ' + header.className;
    -      hash = 'dn-' + header.id;
    -    }
    -
    -    setHash(hash);
    -  }
    -
    -  /**
    -   * Adds the sort indicator as a hash to the document URL and all links.
    -   */
    -  function setHash(hash) {
    -    window.document.location.hash = hash;
    -    ids = window.linkelementids;
    -    for (var i = 0; i < ids.length; i++) {
    -        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    -    }
    -  }
    -
    -  /**
    -   * Extend all links within the given tag with the given hash.
    -   */
    -  function setHashOnAllLinks(tag, hash) {
    -    links = tag.getElementsByTagName("a");
    -    for (var i = 0; i < links.length; i++) {
    -        var a = links[i];
    -        var href = a.href;
    -        var hashpos = href.indexOf("#");
    -        if (hashpos != -1) {
    -            href = href.substring(0, hashpos);
    -        }
    -        a.href = href + "#" + hash;
    -    }
    -  }
    -
    -  /**
    -   * Calculates the position of a element within its parent.
    -   */
    -  function getNodePosition(element) {
    -    var pos = -1;
    -    while (element) {
    -      element = element.previousSibling;
    -      pos++;
    -    }
    -    return pos;
    -  }
    -
    -  /**
    -   * Remove the sorting indicator style from all headers.
    -   */
    -  function resetSortedStyle(table) {
    -    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    -      if (c.className) {
    -        if (c.className.indexOf('down ') == 0) {
    -          c.className = c.className.slice(5);
    -        }
    -        if (c.className.indexOf('up ') == 0) {
    -          c.className = c.className.slice(3);
    -        }
    -      }
    -    }
    -  }
    -
    -  window['initialSort'] = initialSort;
    -  window['toggleSort'] = toggleSort;
    -
    -})();
    diff --git a/target/site/jacoco/jacoco-resources/source.gif b/target/site/jacoco/jacoco-resources/source.gif
    deleted file mode 100644
    index b226e41c5276581db33d71525298ef572cc5d7ce..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    diff --git a/target/site/jacoco/jacoco-resources/up.gif b/target/site/jacoco/jacoco-resources/up.gif
    deleted file mode 100644
    index 58ed21660ec467736a4d2af17d91341f7cfb556c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    diff --git a/target/site/jacoco/jacoco-sessions.html b/target/site/jacoco/jacoco-sessions.html
    deleted file mode 100644
    index abb1dc217..000000000
    --- a/target/site/jacoco/jacoco-sessions.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">praktikum</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">MacBook-Air-Petr.local-5aba0808</span></td><td>10 нояб. 2025 г., 19:31:23</td><td>10 нояб. 2025 г., 19:31:26</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">BunTest</span></td><td><code>4185452dba9b23a5</code></td></tr><tr><td><span class="el_class">BurgerPriceTest</span></td><td><code>b0cd39bc857dd9c0</code></td></tr><tr><td><span class="el_class">BurgerReceiptTest</span></td><td><code>0c9831c80790d9a9</code></td></tr><tr><td><span class="el_class">BurgerTest</span></td><td><code>f9800decebdd0785</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>d4e5f2084d659ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>907fca1b89111e0a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>c8b4f3ffa3a708cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>575662f2862fb481</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>77e9d686c976f6e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>65bfa03c85847dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>1fb9c5c929a4a173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>cdbdedcf0cea0a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>d02df3631a17fa08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>b75da15a4577d948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>99731a44c3f39c30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>3f135d4f310abf3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>3be4336e35a8cbfd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>5a2bb9e71930a24a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>5792db85826ac4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>da984e48de27d4a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>5c74d69cd94d649e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>a613c160b15bbc65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>1070489264457774</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>0b625f401d945e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>69f25e85d31086f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>b8003891860323ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7e080fcc4ab41eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>55a8b2f7b58a15aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>a2b247526c4d26ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>c3dca45e359b717d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>10e1e01ec4afb6b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>b96636e855735fc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>a6be8b00fa72ab7a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationSource.Empty</span></td><td><code>034fcbd435657d97</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>e46e60f3e4357d8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>6b46c288929d794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>650f7b88da7502df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>8683233734d98d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>ecf694f5c718a013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>113fe247f14fdcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>ad40ce4c8d647d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>649136274570c878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>25519a3723562b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>d0a4ee1eb78e8925</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>5cc6d38c7688ce9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>542fa217a5fe4c51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>9adc51229ebb26c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>451401174e8ca82f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>fda0610025cc12ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>256f9475d7baab5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>1a834bbf25c86ab4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>36efae2fe3237ba9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>5b47cbeca30adac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription</span></td><td><code>68bfcf27b64f643e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>8e18b7d4e1ceddcb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>e1174a0c69da5a57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>f267c31e54d89fa1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.SignatureToken</span></td><td><code>3fabeebea84ce146</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>3f20efc75bd15e42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>78739d279005d8a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>323b76a02a64f9a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>ea98dba6ef4eb758</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>cb9472a3dd295bbd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>deaeb62afc98ead8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>f8e1111441309268</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>d9fe344c56539dc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>673ca3d2d56a4b0a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>db01999a48adc399</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>20e100c8a3802774</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>d5f8ea2d4fb9f2a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>5888f2557f6a88e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>a89fdbfb13002946</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>8dc21d2e259d2c0f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>f7f14b8ac76ebd98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>b054427f9b6a48f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b03ab4c21a93dfd0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>38bd1bf17eb05676</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>40aa960dc7616ac5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>f1f510557a04392e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>173e1a83772e6071</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>8dd9bfdcb695c00c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>a18e1a81fc7465d0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>811597af8855d53c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>717f5d8d90c005f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>1aa2e08f2ad0d5c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>36549650fa40d54b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>1890975119bdb094</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>6cc95e3ea064743d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>6fe6f7a3a2c191ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f4a45d2f54ed28b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Explicit.ForTypes</span></td><td><code>75d84e0b4fcd99a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>1456c072c3be7105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>6d7eaa8911075319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>f0835708e2d15fb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>b77d0ee711552f0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>293f1f350b97c439</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.FieldManifestation</span></td><td><code>61ed9ad5f460d425</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>4c37457cc5fe415c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Ownership</span></td><td><code>03978521bbedeaac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SynchronizationState</span></td><td><code>1ee1e76d573ad75b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SyntheticState</span></td><td><code>0ea0b3d14a159257</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>823497b74af56cf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>eddec8671a9488f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>d7e383ada6123e01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>fbc5f3918eb9463b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>647cf445f49b7cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>0cb49b8e5cdceb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>fa2d664156de0c87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>b72447d1fcbe18bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>e252ac8a021f4082</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.SuperClassIterator</span></td><td><code>dcc41092c6176f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>36fd0fa20ad52135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>258559cdb4b6404f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>c72c2e5e6e03df99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>a900e473d864b2b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>8fa35f44ace50391</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>5601518ac3dba89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>3e49593313e4528f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>b0fc4c110c19aecd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>ce5936070db33961</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>83ae335cad65ee98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>3db4d13b1a55ffe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>68fd86a349490e9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>64cbe4cf03033a19</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>58348630fb7f5660</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>0f95408415168381</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>7d262d1efdc1a658</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>0ee749354388952f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>09e831a0a48649e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>4097c89a98a6a8c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>268259d971f079da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>cc35cbb5a12db70b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>ba4ed13a2c16fa27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>5bccd0ca3c6cf39e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>5734f0b82230f143</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>2203d6c2cc2e43d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>5656afa8f8c7fa04</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>837c46ba31dd9215</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>d13b176c2d3dc84b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>5d23c8971e97c94c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>ffefd02f303394e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>d952d613f637b449</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>f00423b3668c6a6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>91d595189a038777</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>4fa1e7c89c00c97f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>68b564e96aa7b7f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>2730ba635b3e4dae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>7c9ee6e3c386d02f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>6646869e65b4683e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f695f950ef96d452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>3887b35198c64c3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>dda2c47b308dfe77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>65dc96c548e3e991</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>da6e736f271084bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>84581ab83cefe0ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.WithoutTypeSubstitution</span></td><td><code>17ef049604f02334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>12b49bec0a736b32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>da60a7cfb717d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>4700315364477234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>59d00ad7b53c811a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>81495dfc3a359dfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>4356a7471aec6f20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>5376e1d2298a6512</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>df9431d33e66dbb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>1ab8c93e54ee2ac6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>1b6544725fdb45a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>05b85732c40f12b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ae7efc80de7c3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>c603bfa8790b860c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>d713fc161a8b3c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>41a985dd07ed867c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>99d4f3faf0ed1337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>74966b175ac75ab9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>2d651d381fd3d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>531a2e961b13325b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>5f4faab3b408ec94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter</span></td><td><code>fd8d7a11be3c9ede</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>e75374fa15e452ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>baf66768a8ba7010</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>24c4f03b22480ac9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>5914cb1a77b4c084</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>8becc0d3a2f579f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter</span></td><td><code>1e5cba284e697ff2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>cd65d88864fb9551</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>2c521e681717b547</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase</span></td><td><code>ae345146b4ff4937</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase</span></td><td><code>bbf864ab6ae58db5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter</span></td><td><code>c094da12c027af78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>9c472892ce0a50bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>d3915da6e1e1de4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>5d66e82b417f9b46</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>e0513b10037138a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>ce292c22036f8154</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>75703fad010e1cc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>0a7a2334f6a9b15d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>c67240824c7cd31a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>f1f199a3d7662651</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>a20cd2a086e77441</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>b010816c4e7b6513</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>ca6748217ece3884</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>e63ea06339154cad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>876286f205b44199</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>26c139b5f2f58862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.Compound</span></td><td><code>a5a52522b43091ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod</span></td><td><code>22ab387d59f6c970</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.MethodModifierTransformer</span></td><td><code>829c18ff395159ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod</span></td><td><code>083bfd5734c4504d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.AttachmentVisitor</span></td><td><code>43014c50e1310fbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameterList</span></td><td><code>54d561afbee57f99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>49cd89a2b3b975a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>d5784ee7fb36ce53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>ae8d9f7fd85c6aad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>63c0d42260c7599e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>a8389e9d32c4ecd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>30f7afc5a8be245c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>811732d1db761cc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>c9ee72578a4d55a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>f7eb2a49ccc0c5d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>331215a38873f162</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>9b4c6d016e86d89d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>e95efd9bc7c2fbec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>ee369f8a9915cac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>0fe8982cff47681a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>ef15ca0109cc8f56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>fe60291c22873865</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>17fb081ccc92f99c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>7390ec8634515594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>759cb7a298fc98b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>88c49bdd78533ba6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>fae0995eb7740944</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.MultipleParentClassLoader.Builder</span></td><td><code>c6fb9f2d63f216f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Undefined</span></td><td><code>1b8dafe51f80088c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>31480ec85144aa31</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>d0ed587787d4d89f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>52e278e8d81b4dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.AbstractBase</span></td><td><code>db8c5004661a0bd8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy</span></td><td><code>0e8431af1152b965</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy.Factory</span></td><td><code>d97235dbbc3871e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Simple</span></td><td><code>7e3dca01a01498d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>cc5265630d0906f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>00933225bc77b175</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled.Entry</span></td><td><code>0ec1361a69a955fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Entry</span></td><td><code>a7413622fd851aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>83177f7ca587cf30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>cd900ae01efd903f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>a7ce85bb2f37ff77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>ad157a47dace4f55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>fc88be698cc4a50f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>ad55505e167100d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>a37bac0e0eceb0c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>4b92bfc82ab49b25</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>e2da236960e0a189</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>421619c0f44567f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>82540bbf94c15922</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>5d9ad1d55d82a355</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>f948e4de58324a0f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>1fc852958287c36a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>6672a261c5f5dd2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>0f0b18948cce4159</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>f50e2614e64a132c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>0ba0f74ab7d66be7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>7341085250d5f338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>f9767f80e7124acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>8e20af4bf9dad8a0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>3f435ec381113f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>9a1f1f9d25ac44be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>35ae92274e85ac88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>dd840dc4ea29fc06</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>827864e42dc177c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>66b9b2c39c4a08ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>3c270a20a21353d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>e96586202cb119f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>ea77701fcbc47e2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>7b000ab44a4af2cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>eec49897d441dcbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>1d64a300c478cbd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a3bc2736d5ad95f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple</span></td><td><code>3429322f4d42e2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>b9ab70dc0d5e3c60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>c13cf997e386f3cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>d4f0d2e7fbcab045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>fc9ad618be46b3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3f5380fd3549f07e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>0449b85d73902e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField</span></td><td><code>a03e0587988aae1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>9527fd76169900c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>e3fde8a86929682d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>963047d43410ba83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>28a00d78fb553a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>928d954d831a88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>0d114e09a2faac83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>16fc5c99e02d7f9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>dd199479878d5739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>792ea5ce51475037</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>98fceb895a262b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>f0898605f9020c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>16995528b814abfb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>c2850d79fc87446b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>17f509a8b52b39f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>f6c0a700d93e9d10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>282c73cc811d5b71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>2eb773d398b87160</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>903a99da03746eb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor</span></td><td><code>0174e94238af9d2f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative</span></td><td><code>e3f1a92ea73df3a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative.Prepared</span></td><td><code>c55029896988613b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty</span></td><td><code>751b847060c7cd95</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty</span></td><td><code>623c50de803e8dff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty.Appender</span></td><td><code>db2e4aeceee38d5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>d63040bc175192ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AbstractPropertyAccessorMethod</span></td><td><code>4a69ecc69149f327</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethod</span></td><td><code>147ddbd116dc5018</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation</span></td><td><code>4ecb89b1b8e43487</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.CacheValueField</span></td><td><code>091aa1cc83b89353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord</span></td><td><code>7772d9b1460b4444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>329a9c16f45fea72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.FieldCacheEntry</span></td><td><code>93ea3c3584aedbb3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>a2bce3211300b141</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>85cfd05a0313231d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>1a7229cc1aa2fe64</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>4c4edc4b4128953d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>0086e69e9329bfd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>99ac1d4463895d3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>7916d516ba029853</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>891cf9f2a321fafd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>29b19b204be139f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>3ba9a760aa49a971</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>8279f38afb254f72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>1af8ca0d9b7adbe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodAccessorFactory.AccessType</span></td><td><code>a8b1b417256441f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>9251b44dfd29e831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>b108fada5fdaf224</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>27c6e8587355ecbd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>b4db52149f474bc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>655146ce4ac9eab5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>b28621164470f5a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>99f3c681fe17468e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>7498b3460d90e103</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>04cc8ab3c2c8bcbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>4240030260d49936</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>8661202aa19373c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>7e75be1c6b4d6117</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>f9781532f50651fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>dfae9890b6004933</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>d6f1bb290a2a92f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>ec9af1244cdb0f2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.Appender</span></td><td><code>578e9e4be578040b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall</span></td><td><code>78b3eb01c3540dcc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>f19452fcc061d904</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>c804a366d1128499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>48a9709638c71f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>1278488d60ed8e86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>35d2e0ef6d7f630d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>05664af3a3b6738b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>be670f96c6d93831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>7787cf7f483d6685</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>040d5aab72de4582</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnField</span></td><td><code>52ad3ce83f52621f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>b2534f024a4880dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>c9f39d80b694c092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>db8f4f1dbbcf3c3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>6dca59a58d56874f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>190882f8828de18a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>593737e47cc84848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>a61861baa0bc96ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.FieldAttributeAppender.ForInstrumentedField</span></td><td><code>ca19f51ae14fb7b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Compound</span></td><td><code>87d24d92007e506e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Factory.Compound</span></td><td><code>85113e9ca3ae38c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>a3b87b1a75d290fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>10e734a991eea3bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType</span></td><td><code>577555a7861b5701</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>9ff4d19573d987f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy</span></td><td><code>e4ad67673bba91b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.AssignableSignatureCall</span></td><td><code>e32307e618f933aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall</span></td><td><code>b40129a97ef170e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall.Appender</span></td><td><code>6a4a35552c21bf78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall</span></td><td><code>d2f0f120376a3b4f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall.Appender</span></td><td><code>df4a3b2e219da333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.PrecomputedMethodGraph</span></td><td><code>7fb29fbd9d22e04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>74973272be85ce17</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver.ParameterIndexToken</span></td><td><code>a8052b758f0a0361</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>d1000b5d5bf7bd79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.1</span></td><td><code>54de841f73ee4eae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>7d40b5a2d5d69397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>eab4a548d2693cd2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Resolution</span></td><td><code>e8ca39d95b4ade42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>ed3f9e212bdf4696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder</span></td><td><code>ffaacecf2e1956bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder.Build</span></td><td><code>fbe15ed2c0b7c26f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Illegal</span></td><td><code>ca301be97fe35cde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodInvoker.Simple</span></td><td><code>dafea2ba3b2f164b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous</span></td><td><code>30b0f734840f8b2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Unique</span></td><td><code>c60c100f523804e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.Processor</span></td><td><code>1dd9238ba412581f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>946265fda2ca27e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>db109132d7373fda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>cb3895b610bd15d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>65a8d1431b34fdcd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>58a025cd0f10dff1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>bfcd0244baa95f1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>b7e6501b9bd85e65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>9d613cfc7a8f0cd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>ad9a5463673957e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>5750463a9b2658fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>653fe2b1bb93cce4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>2fd170c18c979895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>fdd8dd2baa86d3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>d7e4b58cec267a0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>03d209c7b50b3b07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>6af2e8e3cdad25b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>ffe1f66fdf57240f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>b16d4f0b5def41e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>f6eaa0a37f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>58bfe04015269f97</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>79ef98193cf36f83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>90a2fb5cbb2fc45c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>159db3adf8f80917</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>d504027b57aeebbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>787b81ea7c3cf9d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>a9644f0a487b56f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>08e777de45b651f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>fe4b74c6469cb373</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>53b08d554175038c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>6f273cd5a9428c36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>49c4acf91fc87123</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>f5597b43768b5a7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>b3e837fb5b95fa04</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Compound</span></td><td><code>0f6ce72d7ea48338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Simple</span></td><td><code>3d7cd79d87926f75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>897030ac0b46252c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication</span></td><td><code>87726ed8bb6e39de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.1</span></td><td><code>6cbf4aae44bb9c6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.2</span></td><td><code>204abf23cbf37c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.3</span></td><td><code>0631976e078609bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>6d539a300caa5092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ab763f3b743f79a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>fd766afb93ac2a09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ac4a0904ac3e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>96939a22aac4c91b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>e69b15cd3e8d4461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>80f94e8effa2f7bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.TypeCreation</span></td><td><code>4865d2e454028bc1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>7e67d52e9390b000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>b09adf7fa17d04b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>1a445bd188e2931d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>dac9a66a711d1bdb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>96e0379915a5a251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>c888a19b998b7769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>14e47d44e5cebb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>adf7d49661fe0566</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>1008755d8fe45330</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>796408ff7247d988</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>3df36760b29d387a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>3623cb487284bb53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>59b5f6f8641c87f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>f2dcfb1430649b3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>7ff584cc516e3f40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>2ffee25860dde2e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>2420354f9fdfb502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>8c2c8e360f844ad5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>a779a54b4d7fcd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>56544d5987e5a6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>829c95b7b67e95cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>bdee038754940fff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>58a28f871a6a0499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>113f925135fa3020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>4af2674773bedc86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.CachedMethod</span></td><td><code>927dce16203d5f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>5c66dba4a8bfbcea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>9cf4bfc5c52a2517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>76b9599de59f2aeb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess</span></td><td><code>e098860a4703e90a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher</span></td><td><code>20c90535a547e3cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.AbstractFieldInstruction</span></td><td><code>75724b7b6b2e4a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldGetInstruction</span></td><td><code>adcac7724ac0272c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldPutInstruction</span></td><td><code>aeaedb775e139b65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>ccdb8e0f61d03f72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>7edd2eb29addcb20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>7ec211e72c6c3719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>0b690307be533e18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>3f3d0d86b569e241</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>4794627822a950ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>202001c737179f70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>98826fd4e883df65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>c9c9db052671c945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>21cf79e64cb95598</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>3a3fa5cb8e06f5c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>76fc9326535687d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>f44d88efeab63dac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>00001f478e852135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>904cbca1953e75e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>45a01df29df18510</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>b9cc80f05fd1a1b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>4b49360620cb7f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>4c083a293a95675e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>fc276a6c128e2875</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>76b5d2cc623cc312</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>640386844f0e29b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>670278e525ff9bfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>8f59b8be9ab4a58b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>72a4630003105f69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>76e282c5482618bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>d129e1a5bbea50cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>6586c7d2abf8bf59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>78eb86ff19c5e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>40b97e222b442c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>4ccc5ccec6e01297</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>7ddcccca3867f2c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>327b39df894c794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>acc833b482b3e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>994e694dc878695f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Disjunction</span></td><td><code>cf547e86976c153f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken</span></td><td><code>08b4951ce99afdff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken.ResolvedMatcher</span></td><td><code>7a313b55df92d5ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>acf53d7e0ad9c66c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>a1b47b682cdd16e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>838bf93f64347719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>d565dce3bed4679b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>4f9a1c61c2ca1d30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>754bf9d07553d1f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>1b6fa22a35a706bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>d9a4a7f8ba8d705a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>df4da3ccf1c43fb2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>9f8edcf420246fae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>5b30e294f2304972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>9c8b9e468a9ba4ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>4c3709005a13f932</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>93400b67a6230353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>c0d2e66fbd31c083</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>09bd88f8f539be92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>b901fc4b35799fa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>a7d93978e9d78d7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>60c758b99c3d9148</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>236df1d1d60ab580</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>78a8ab1a5e998326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>197cd818fecbf0dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>130a12e752b093e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>37e1825b2b41bae8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>34a59e75ad57ee16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>6b18de0e0195fcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>bdaf5299d13e3bfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>f608050eb76b29c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>7a1f43a330aa49e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>d97cfe0669542624</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SuperTypeMatcher</span></td><td><code>5f65e9ccb1649334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>bea3cd319f7a9ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>6f0d2c70b6ce50e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>03ef41c73bcdac6f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>1ef4bf1634aa9314</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>d45eb8340ca21b2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>f60fbd5bc692f3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>8c0a9ed2a729f1ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>b8b501baeee21c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>c7333b6b982e8e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>99c2d8870a99ec8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>bb7f751c11c3b61b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>5223602c7c397de6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>4e5549fe1a1bb16a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>475c5a28b2a65671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>787d0fb443c33196</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForDefaultValue</span></td><td><code>4ebad402feea5e1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForDefaultValue.OfNonPrimitiveArray</span></td><td><code>8e244cbf0b1c2c9a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>348c5ed1a0ea72ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>bf4d2158c4101736</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>2cbd19f9947661fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>fa40b0b626be1aa7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>8ca4ae6007eb9fd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>9a96cee67ed31732</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>8b81db7b9bb021a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>a4eb032d57e965fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>74124300a1be96ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>3dcb9c5481b99d57</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.surefire.log.api.NullConsoleLogger</span></td><td><code>50e0945fec76b333</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.BaseProviderFactory</span></td><td><code>da939a0152866a4b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.BiProperty</span></td><td><code>ed0281592f3976b4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.Command</span></td><td><code>52d7b732759793ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.Constants</span></td><td><code>8f58b0da27218c74</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.DumpErrorSingleton</span></td><td><code>ea25742803c9e73f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.ForkedProcessEventType</span></td><td><code>4f32ae2d4e670365</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.ForkingReporterFactory</span></td><td><code>be06f83accc5a8aa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.ForkingRunListener</span></td><td><code>c34d0a9f28f66585</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.MasterProcessCommand</span></td><td><code>fc8c116a509256d1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.booter.Shutdown</span></td><td><code>47a37ed2a684ef1d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.cli.CommandLineOption</span></td><td><code>5825f848ee2abcd7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.filter.NonAbstractClassFilter</span></td><td><code>bac4a9198196b6ad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.provider.AbstractProvider</span></td><td><code>0fea65ed91d7c12a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ConsoleOutputCapture</span></td><td><code>7ee3451cf95e2f70</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>804935f758ebaea3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ConsoleOutputCapture.NullOutputStream</span></td><td><code>a81300d2d50decb6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.ReporterConfiguration</span></td><td><code>bf4075c0385296c2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.RunMode</span></td><td><code>70edc0a9dea60143</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.report.SimpleReportEntry</span></td><td><code>5acc6a35bed0445f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder</span></td><td><code>c6f3b2781f9ac881</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.BufferedStream</span></td><td><code>11f69a75bc1c7211</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.Memento</span></td><td><code>e504a9e8cfc028af</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.Segment</span></td><td><code>773004ac6cd115ef</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamDecoder.StreamReadStatus</span></td><td><code>8d5ee1d510b5c935</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.AbstractStreamEncoder</span></td><td><code>9547668418a858ad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.stream.SegmentType</span></td><td><code>77b0d78ed3ddd126</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.suite.RunResult</span></td><td><code>0eef4ae883b6fcaa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.DirectoryScannerParameters</span></td><td><code>529e83b831c47f72</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.IncludedExcludedPatterns</span></td><td><code>e12220ce508068df</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest</span></td><td><code>119a5faa0ae08a91</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest.ClassMatcher</span></td><td><code>cb9dd1b6069a872b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest.MethodMatcher</span></td><td><code>1d5196f3dfcebd52</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.ResolvedTest.Type</span></td><td><code>6f46eedd1917ca66</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.RunOrderParameters</span></td><td><code>f74f6b3eb9f1a132</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.TestArtifactInfo</span></td><td><code>6d162cddde2db959</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.TestListResolver</span></td><td><code>0f4645f0d7fd02c8</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.testset.TestRequest</span></td><td><code>1cb2946d8f0dc9e4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.CloseableIterator</span></td><td><code>01846c357efacb7b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.DefaultRunOrderCalculator</span></td><td><code>21a42ec0f6d63b8e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.DefaultScanResult</span></td><td><code>01695a339c66ab8d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.ReflectionUtils</span></td><td><code>7f9a430ae144c985</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.RunOrder</span></td><td><code>93376844e6d709d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.TestsToRun</span></td><td><code>db4e8195893ece6d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.TestsToRun.ClassesIterator</span></td><td><code>543f26bfbdd04ce0</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleReadableChannel</span></td><td><code>6826ce793980b64e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel</span></td><td><code>484afcc5593fbc9a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.Channels</span></td><td><code>eb60281181a1dc33</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.Channels.3</span></td><td><code>605144c3f67338aa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.Channels.4</span></td><td><code>4834cf9402eabd28</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ClassMethod</span></td><td><code>817ad544e129b000</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.DaemonThreadFactory</span></td><td><code>b2161e778265b95d</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.DaemonThreadFactory.NamedThreadFactory</span></td><td><code>e3fb668fa8792230</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.DumpFileUtils</span></td><td><code>9cc0f89ffb46ba32</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ImmutableMap</span></td><td><code>c7398d64c0977b06</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ImmutableMap.Node</span></td><td><code>3a9862055afaee58</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.ObjectUtils</span></td><td><code>992d9f9f62042416</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.api.util.internal.TestClassMethodNameUtils</span></td><td><code>c96abeed5fa75a6a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.AbstractPathConfiguration</span></td><td><code>f8b4034fe9c934d2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>d2b4a565d2c195cc</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>c511fbfeb1f35c23</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>d05af49602124353</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>d14c58928ac6aa7b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader</span></td><td><code>8bc1181d0c5af474</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.1</span></td><td><code>72a8e2906ddc1c93</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.CommandReader.CommandRunnable</span></td><td><code>f6a6b02be2fb0964</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>c8ce6ed3be8ec9bc</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>68f2dae15ae26cc2</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.3</span></td><td><code>fc217f2c1d87c099</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.4</span></td><td><code>2afb302f7c81f991</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.6</span></td><td><code>850ef2748b5ef5e6</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.7</span></td><td><code>9577114e02a5bdef</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.8</span></td><td><code>3c8febd047cd2b0c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.PingScheduler</span></td><td><code>c83e3af27d5d3c47</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedNodeArg</span></td><td><code>9dbb0ff22dfc1303</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PpidChecker</span></td><td><code>f83a9169197e13b1</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProcessCheckerType</span></td><td><code>e554be35191ff5a7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>1e4e30276db2e62e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>ec2cd1e39ec4278e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>70176a3dd903d57a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>a843c08e9b5c79ad</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>355d20d53741b604</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.AbstractMasterProcessChannelProcessorFactory</span></td><td><code>67a1c051e3809086</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.AbstractMasterProcessChannelProcessorFactory.1</span></td><td><code>cc936f6c85f9235a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.AbstractMasterProcessChannelProcessorFactory.2</span></td><td><code>a1fa70e4af42c555</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.CommandChannelDecoder</span></td><td><code>6684e6bad0b7c71e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.EventChannelEncoder</span></td><td><code>b69d9287bf010b1a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.EventChannelEncoder.StackTrace</span></td><td><code>265e85a5e039b0af</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.LegacyMasterProcessChannelProcessorFactory</span></td><td><code>3b29862697f79d34</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.spi.SurefireMasterProcessChannelProcessorFactory</span></td><td><code>8c14c673718fba9e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.stream.CommandDecoder</span></td><td><code>a23a4082e2bbd1ed</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.stream.CommandDecoder.1</span></td><td><code>950700970edca54a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.stream.EventEncoder</span></td><td><code>7c894cb22c8c16ca</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit3.JUnit3TestChecker</span></td><td><code>3df3144c058afe39</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil</span></td><td><code>17dc9f06bacd89c3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4Reflector</span></td><td><code>be0a89076ee835a8</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListener</span></td><td><code>321cf67f603a9748</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory</span></td><td><code>f960a666ec2b1056</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4TestChecker</span></td><td><code>b125367edb33ddb7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnitTestFailureListener</span></td><td><code>317f6d02dd6c4e74</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.Notifier</span></td><td><code>12b1613f216694e3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider</span></td><td><code>24efdeaea8558a34</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider.1</span></td><td><code>496831ec2081181a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ClassMethodIndexer</span></td><td><code>0e8f3008aec84fcb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.JavaVersion</span></td><td><code>4e21c3be19560aac</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.StringUtils</span></td><td><code>f086d3427078adb7</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.SystemUtils</span></td><td><code>e5eafc9ce14dcbec</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.lang3.math.NumberUtils</span></td><td><code>11e46630af73f131</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.utils.StringUtils</span></td><td><code>abd8480c7152bf46</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.shared.utils.cli.ShutdownHookUtils</span></td><td><code>011b23cd829ec86c</code></td></tr><tr><td><span class="el_class">org.junit.Assert</span></td><td><code>eda6db924019425b</code></td></tr><tr><td><span class="el_class">org.junit.internal.Checks</span></td><td><code>5f543b0bb87b92da</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter</span></td><td><code>a26607ae067f7352</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.1</span></td><td><code>d3997b4bdb7889c1</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.2</span></td><td><code>c8e6351cbf098013</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AllDefaultPossibilitiesBuilder</span></td><td><code>4f18a1d7932cb8ab</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AnnotatedBuilder</span></td><td><code>0faf353d180c9332</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.IgnoredBuilder</span></td><td><code>e152f333c53967a6</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit3Builder</span></td><td><code>4a2cc8e608e1275e</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit4Builder</span></td><td><code>f2e00a3e1fc23005</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.SuiteMethodBuilder</span></td><td><code>1df136431e07e393</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest</span></td><td><code>47dbc61675e5a92e</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest.CustomAllDefaultPossibilitiesBuilder</span></td><td><code>ea1c269d9656f543</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest.CustomSuiteMethodBuilder</span></td><td><code>03d01020b1c503c7</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.MemoizingRequest</span></td><td><code>1e70801476dbab8f</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.EachTestNotifier</span></td><td><code>077481995383e000</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.ReflectiveCallable</span></td><td><code>d591724635588bcb</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator</span></td><td><code>95b5ee2068ec6875</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.Builder</span></td><td><code>f24845fa6fd065af</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.DeclaringClassMustBePublic</span></td><td><code>1de994463c748d89</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeARule</span></td><td><code>e24e9f59de6fe5b7</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeATestRule</span></td><td><code>690823bd2992f52e</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeNonStaticOrAlsoClassRule</span></td><td><code>1e703fb3e7f4e533</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBePublic</span></td><td><code>806c174eb921b478</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeStatic</span></td><td><code>ac28a03dd36b2b5a</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeARule</span></td><td><code>88ea4a2237de2b8b</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeATestRule</span></td><td><code>9f4dd18a26005c18</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.statements.InvokeMethod</span></td><td><code>05a7aa636afa2c39</code></td></tr><tr><td><span class="el_class">org.junit.runner.Description</span></td><td><code>1d6f7ddbbf223f9a</code></td></tr><tr><td><span class="el_class">org.junit.runner.Request</span></td><td><code>214d9ade1c7dc38d</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result</span></td><td><code>ecf6c1c04298ff7d</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result.Listener</span></td><td><code>cf649a4ffbe55db9</code></td></tr><tr><td><span class="el_class">org.junit.runner.Runner</span></td><td><code>f5abacc70e2e08a4</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunListener</span></td><td><code>69d2c783b42f6720</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier</span></td><td><code>f6313076e2224ebb</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.1</span></td><td><code>e31025c12b4dbdee</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.2</span></td><td><code>4c7314c6d595dc3e</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.3</span></td><td><code>df2bada5cb3794f3</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.4</span></td><td><code>fbdd84204c215de7</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.5</span></td><td><code>f62dc396b601f8bd</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.9</span></td><td><code>c3c3d54b8ed47ee1</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.SafeNotifier</span></td><td><code>0b43c10299733bfb</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.SynchronizedRunListener</span></td><td><code>2b59d5cb3b105225</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner</span></td><td><code>95752fb34ff12f3f</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.1</span></td><td><code>d0f63145230a5f42</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.2</span></td><td><code>f93eace695ddd30e</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.RuleCollector</span></td><td><code>9c768e710e39c989</code></td></tr><tr><td><span class="el_class">org.junit.runners.Parameterized</span></td><td><code>963841242a61a1e2</code></td></tr><tr><td><span class="el_class">org.junit.runners.Parameterized.RunnersFactory</span></td><td><code>c5ee5b5ac59f40b0</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner</span></td><td><code>335ee90b10f96ea1</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.1</span></td><td><code>ecc6961e8bc209c4</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.2</span></td><td><code>c5cb913a629ec4c8</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.3</span></td><td><code>20bad8188aebc0f2</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.4</span></td><td><code>80476dbdcb8d52cc</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.ClassRuleCollector</span></td><td><code>26f7fb338afcd13b</code></td></tr><tr><td><span class="el_class">org.junit.runners.RuleContainer</span></td><td><code>d44c3ba6dc65af53</code></td></tr><tr><td><span class="el_class">org.junit.runners.RuleContainer.1</span></td><td><code>57bbc73f6f47763b</code></td></tr><tr><td><span class="el_class">org.junit.runners.Suite</span></td><td><code>154944342f498508</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkField</span></td><td><code>2fe27c284e7d39f4</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMember</span></td><td><code>bfd059486f267475</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod</span></td><td><code>f293b82d5aa86323</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod.1</span></td><td><code>8fd5e02769c0e0c2</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.RunnerBuilder</span></td><td><code>585cad2d320dc86e</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.Statement</span></td><td><code>9a75aa5de27bf4d5</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass</span></td><td><code>7e71209792391ee8</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass.FieldComparator</span></td><td><code>1b96cd3d5c4aeb07</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass.MethodComparator</span></td><td><code>0369eb29eb04248a</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters</span></td><td><code>ebeaa09f1f8eb6f3</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.1</span></td><td><code>c4024da18ca412c5</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.InjectionType</span></td><td><code>4a7c5c9856e4e9f4</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory</span></td><td><code>6f2e3a2b7ea357b7</code></td></tr><tr><td><span class="el_class">org.junit.runners.parameterized.TestWithParameters</span></td><td><code>0ec69411e744952d</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationValidatorFactory</span></td><td><code>e1e5570798173ab9</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator</span></td><td><code>6cbe8454c9a93bb8</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.AnnotatableValidator</span></td><td><code>d211a963f22be103</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.ClassValidator</span></td><td><code>1b463c4e6642e880</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.FieldValidator</span></td><td><code>64068b954dc56a31</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.MethodValidator</span></td><td><code>f16b57f17c787036</code></td></tr><tr><td><span class="el_class">org.junit.validator.PublicClassValidator</span></td><td><code>3bac248cf06b18e4</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>7bb49d321e73bbc5</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>577272f0518bf2bf</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>7c1c365c15c2133e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>8c1dee29fb0da68b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>b1d3667699da5bde</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>1837784d8946effa</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>c193dbfbfd7e7112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>5d2c645125c6e76f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>6712157121b4c009</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>093bcb2236e9e096</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>63f2cd0aa6f4adfe</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>b0201f8ea6674009</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>b56656ae000198c7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>973f142b836667e1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>d946fdf7c3f2c58b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>fda3656b50f9d2f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>a0b8a7c6baea530e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>ef9e70f0651edcfb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>ff53f63a8240eb6e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>7ea1353e5c77b5f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>ef96156d4aa39063</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>dc8e823dfe533d87</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>91ac516637b8c4ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker</span></td><td><code>e18344ca184c75a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>896014d879c42ec9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>161a6ae9389d4da3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor</span></td><td><code>0b02a477841f06a5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.DispatcherDefaultingToRealMethod</span></td><td><code>eb121594c82e0f72</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.ForHashCode</span></td><td><code>5950ac1448663d13</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>77380dd282d3eb30</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>d8515816e294707d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker</span></td><td><code>11d36e9ecc8c0605</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker.1</span></td><td><code>8361f13ee7b2c0cd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>b13aa2a3c3f5de88</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>47ea8dba5b15c796</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>55a84d6cf8f318a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>123a98feabc81a7a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>8fb34c2e10b7db99</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeSupport</span></td><td><code>652949fe1e4bb215</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>3900ee0969504a34</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>e451a21eadbc4d30</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>c4b00e979fa0a182</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.Java9PlusLocationImpl</span></td><td><code>c89b58bdb45a8526</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.Java9PlusLocationImpl.MetadataShim</span></td><td><code>51626abff131ec07</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>28d49edcf5091319</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.Java9PlusLocationFactory</span></td><td><code>7041d193e796a0ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>370150513bd990b0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>475c82ec8ba01c75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>7c138f78143ab433</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>236482acbbebaf4a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>973b60d05d2d4a4d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>40a1d637e9eadd05</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>d50039fd637b3496</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>06ea8a896a1550ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>40a1bce4be9e6523</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>1a1152b98b0c7d86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>0f3f05080ade9bf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>80b88eded9ee9335</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>60f4d78d262883d3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>b39b9426c9814ac7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.FromBehavior</span></td><td><code>3606745ce75bc7b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.FromCallable</span></td><td><code>91b88c5e1e6b856f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.FromCallable.1</span></td><td><code>851ae10acd2d90b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>1314bab3c1422857</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>0d588952c2946cca</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>ac456a2a5b693d6e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6b94cdf6e74e7282</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>83a3e5fcf460cd8d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>92818897164b80b6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>a1ad00aef40918d3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>fd2449d941ed721b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>5ef9d6f1a875dc18</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>1c85bd989b9441aa</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>0fd68c747fb3e1ac</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>1b3fea0e4598e3dc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>f2057cd0aee1a50b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>70d6f02b67d57b4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>646db189ef95b765</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>738da3903cdefa65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>16da2f316c946fec</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>de0c324c57207f3c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>558393abbeee5acd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>b865c001022cfefe</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>f308e3faf16f6212</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>7a1b5ff44181d6b8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>fb54ce54650adcb6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>f923109370288432</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>4a4f9f45d874e56f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>56e4359834584989</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>2df789f77987f023</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>c6a1d20be0e11d77</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>b50468c7ba4abdba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>0581c028953ad812</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>b073c74d6aea57f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>c374206ea5426e18</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>d287b066371cb395</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>2e0e0e3f520fd2eb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>3126a7777504288b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>fc180f2e2cfb19c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f2f271f84160edef</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>85227a69a82c938b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>356b7028b146ffda</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>f614172becdb4957</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ReflectionMemberAccessor</span></td><td><code>5b659ecadce64e6d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>2c81cbe8de7c014f</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>35d1981ec862bf72</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.instantiator.sun.SunReflectionFactoryHelper</span></td><td><code>d17e7b3403696605</code></td></tr><tr><td><span class="el_class">org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator</span></td><td><code>6156947e7d7c507c</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.PlatformDescription</span></td><td><code>c6456f671febfd7c</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><a href="praktikum/Bun.html" class="el_class">praktikum.Bun</a></td><td><code>9bbff48f5ab149ab</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0</span></td><td><code>1522817904504ac1</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0.auxiliary.01PIO8gy</span></td><td><code>10c391239d15fad5</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0.auxiliary.25ad0ikC</span></td><td><code>4ae25ce08bdf8b5a</code></td></tr><tr><td><span class="el_class">praktikum.Bun.MockitoMock.A7W8sFe0.auxiliary.S73rGv1y</span></td><td><code>11ed49fa7473c589</code></td></tr><tr><td><a href="praktikum/Burger.html" class="el_class">praktikum.Burger</a></td><td><code>b4dadda402dde431</code></td></tr><tr><td><a href="praktikum/Ingredient.html" class="el_class">praktikum.Ingredient</a></td><td><code>26e77bf1546192ff</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu</span></td><td><code>9edaa0641d192863</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu.auxiliary.3ApAOwvS</span></td><td><code>c90d8293b04602c2</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu.auxiliary.9bLVnSkC</span></td><td><code>2f7c62b416679566</code></td></tr><tr><td><span class="el_class">praktikum.Ingredient.MockitoMock.D1faYXWu.auxiliary.Iv2OVqla</span></td><td><code>30ae4d6bb6b54104</code></td></tr><tr><td><a href="praktikum/IngredientType.html" class="el_class">praktikum.IngredientType</a></td><td><code>ac8aa2b81b2c7423</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_ru</span></td><td><code>7711049ed4b6e8d6</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>3d1ea3e23b319ce9</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>eebde39dfb7981b7</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/jacoco.csv b/target/site/jacoco/jacoco.csv
    deleted file mode 100644
    index 2399a879f..000000000
    --- a/target/site/jacoco/jacoco.csv
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
    -praktikum,praktikum,Bun,0,15,0,0,0,6,0,3,0,3
    -praktikum,praktikum,IngredientType,0,24,0,0,0,3,0,1,0,1
    -praktikum,praktikum,Burger,0,133,0,4,0,23,0,9,0,7
    -praktikum,praktikum,Database,106,0,0,0,15,0,3,0,3,0
    -praktikum,praktikum,Ingredient,9,12,0,0,3,5,3,1,3,1
    -praktikum,praktikum,Praktikum,59,0,0,0,14,0,2,0,2,0
    diff --git a/target/site/jacoco/jacoco.xml b/target/site/jacoco/jacoco.xml
    deleted file mode 100644
    index bbe51dc46..000000000
    --- a/target/site/jacoco/jacoco.xml
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="praktikum"><sessioninfo id="MacBook-Air-Petr.local-5aba0808" start="1762792283542" dump="1762792286078"/><package name="praktikum"><class name="praktikum/Bun" sourcefilename="Bun.java"><method name="&lt;init&gt;" desc="(Ljava/lang/String;F)V" line="12"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="18"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()F" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/IngredientType" sourcefilename="IngredientType.java"><method name="&lt;clinit&gt;" desc="()V" line="8"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/Burger" sourcefilename="Burger.java"><method name="&lt;init&gt;" desc="()V" line="12"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setBuns" desc="(Lpraktikum/Bun;)V" line="18"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addIngredient" desc="(Lpraktikum/Ingredient;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeIngredient" desc="(I)V" line="26"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="moveIngredient" desc="(II)V" line="30"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()F" line="34"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getReceipt" desc="()Ljava/lang/String;" line="44"><counter type="INSTRUCTION" missed="0" covered="74"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="133"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/Database" sourcefilename="Database.java"><method name="&lt;init&gt;" desc="()V" line="11"><counter type="INSTRUCTION" missed="100" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="availableBuns" desc="()Ljava/util/List;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="availableIngredients" desc="()Ljava/util/List;" line="33"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="106" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="praktikum/Ingredient" sourcefilename="Ingredient.java"><method name="&lt;init&gt;" desc="(Lpraktikum/IngredientType;Ljava/lang/String;F)V" line="14"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()F" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getName" desc="()Ljava/lang/String;" line="25"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getType" desc="()Lpraktikum/IngredientType;" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="12"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="3" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="praktikum/Praktikum" sourcefilename="Praktikum.java"><method name="&lt;init&gt;" desc="()V" line="5"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="9"><counter type="INSTRUCTION" missed="56" covered="0"/><counter type="LINE" missed="13" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="59" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="Database.java"><line nr="11" mi="5" ci="0" mb="0" cb="0"/><line nr="12" mi="5" ci="0" mb="0" cb="0"/><line nr="14" mi="2" ci="0" mb="0" cb="0"/><line nr="15" mi="9" ci="0" mb="0" cb="0"/><line nr="16" mi="9" ci="0" mb="0" cb="0"/><line nr="17" mi="9" ci="0" mb="0" cb="0"/><line nr="19" mi="10" ci="0" mb="0" cb="0"/><line nr="20" mi="10" ci="0" mb="0" cb="0"/><line nr="21" mi="10" ci="0" mb="0" cb="0"/><line nr="23" mi="10" ci="0" mb="0" cb="0"/><line nr="24" mi="10" ci="0" mb="0" cb="0"/><line nr="25" mi="10" ci="0" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="106" covered="0"/><counter type="LINE" missed="15" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="Bun.java"><line nr="12" mi="0" ci="2" mb="0" cb="0"/><line nr="13" mi="0" ci="3" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="1" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Burger.java"><line nr="12" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="1" mb="0" cb="0"/><line nr="22" mi="0" ci="5" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="0" ci="1" mb="0" cb="0"/><line nr="30" mi="0" ci="9" mb="0" cb="0"/><line nr="31" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="11" mb="0" cb="2"/><line nr="37" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="14" mb="0" cb="0"/><line nr="46" mi="0" ci="11" mb="0" cb="2"/><line nr="47" mi="0" ci="17" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="51" mi="0" ci="13" mb="0" cb="0"/><line nr="52" mi="0" ci="13" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="133"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Praktikum.java"><line nr="5" mi="3" ci="0" mb="0" cb="0"/><line nr="9" mi="4" ci="0" mb="0" cb="0"/><line nr="12" mi="4" ci="0" mb="0" cb="0"/><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="18" mi="3" ci="0" mb="0" cb="0"/><line nr="21" mi="6" ci="0" mb="0" cb="0"/><line nr="23" mi="6" ci="0" mb="0" cb="0"/><line nr="24" mi="6" ci="0" mb="0" cb="0"/><line nr="25" mi="6" ci="0" mb="0" cb="0"/><line nr="26" mi="6" ci="0" mb="0" cb="0"/><line nr="29" mi="4" ci="0" mb="0" cb="0"/><line nr="32" mi="3" ci="0" mb="0" cb="0"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="59" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="IngredientType.java"><line nr="8" mi="0" ci="12" mb="0" cb="0"/><line nr="9" mi="0" ci="6" mb="0" cb="0"/><line nr="10" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Ingredient.java"><line nr="14" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="3" ci="0" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="12"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="3" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="174" covered="184"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="32" covered="37"/><counter type="COMPLEXITY" missed="8" covered="14"/><counter type="METHOD" missed="8" covered="12"/><counter type="CLASS" missed="2" covered="4"/></package><counter type="INSTRUCTION" missed="174" covered="184"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="32" covered="37"/><counter type="COMPLEXITY" missed="8" covered="14"/><counter type="METHOD" missed="8" covered="12"/><counter type="CLASS" missed="2" covered="4"/></report>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Bun.html b/target/site/jacoco/praktikum/Bun.html
    deleted file mode 100644
    index 31bd1cb9e..000000000
    --- a/target/site/jacoco/praktikum/Bun.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Bun</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Bun</span></div><h1>Bun</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 15</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="Bun.java.html#L12" class="el_method">Bun(String, float)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Bun.java.html#L18" class="el_method">getName()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Bun.java.html#L22" class="el_method">getPrice()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Bun.java.html b/target/site/jacoco/praktikum/Bun.java.html
    deleted file mode 100644
    index 136b5ff88..000000000
    --- a/target/site/jacoco/praktikum/Bun.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Bun.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Bun.java</span></div><h1>Bun.java</h1><pre class="source lang-java linenums">package praktikum;
    -
    -/**
    - * Модель булочки для бургера.
    - * Булочке можно дать название и назначить цену.
    - */
    -public class Bun {
    -
    -    public String name;
    -    public float price;
    -
    -<span class="fc" id="L12">    public Bun(String name, float price) {</span>
    -<span class="fc" id="L13">        this.name = name;</span>
    -<span class="fc" id="L14">        this.price = price;</span>
    -<span class="fc" id="L15">    }</span>
    -
    -    public String getName() {
    -<span class="fc" id="L18">        return name;</span>
    -    }
    -
    -    public float getPrice() {
    -<span class="fc" id="L22">        return price;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Burger.html b/target/site/jacoco/praktikum/Burger.html
    deleted file mode 100644
    index 8dd3b41e9..000000000
    --- a/target/site/jacoco/praktikum/Burger.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Burger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Burger</span></div><h1>Burger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 133</td><td class="ctr2">100 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">9</td><td class="ctr1">0</td><td class="ctr2">23</td><td class="ctr1">0</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="Burger.java.html#L44" class="el_method">getReceipt()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Burger.java.html#L34" class="el_method">getPrice()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="Burger.java.html#L30" class="el_method">moveIngredient(int, int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="Burger.java.html#L12" class="el_method">Burger()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="12" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="Burger.java.html#L22" class="el_method">addIngredient(Ingredient)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="Burger.java.html#L26" class="el_method">removeIngredient(int)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="Burger.java.html#L18" class="el_method">setBuns(Bun)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Burger.java.html b/target/site/jacoco/praktikum/Burger.java.html
    deleted file mode 100644
    index 64335ab30..000000000
    --- a/target/site/jacoco/praktikum/Burger.java.html
    +++ /dev/null
    @@ -1,58 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Burger.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Burger.java</span></div><h1>Burger.java</h1><pre class="source lang-java linenums">package praktikum;
    -
    -import java.util.ArrayList;
    -import java.util.List;
    -
    -/**
    - * Модель бургера.
    - * Бургер состоит из булочек и ингредиентов (начинка или соус).
    - * Ингредиенты можно перемещать и удалять.
    - * Можно распечать чек с информацией о бургере.
    - */
    -<span class="fc" id="L12">public class Burger {</span>
    -
    -    public Bun bun;
    -<span class="fc" id="L15">    public List&lt;Ingredient&gt; ingredients = new ArrayList&lt;&gt;();</span>
    -
    -    public void setBuns(Bun bun) {
    -<span class="fc" id="L18">        this.bun = bun;</span>
    -<span class="fc" id="L19">    }</span>
    -
    -    public void addIngredient(Ingredient ingredient) {
    -<span class="fc" id="L22">        ingredients.add(ingredient);</span>
    -<span class="fc" id="L23">    }</span>
    -
    -    public void removeIngredient(int index) {
    -<span class="fc" id="L26">        ingredients.remove(index);</span>
    -<span class="fc" id="L27">    }</span>
    -
    -    public void moveIngredient(int index, int newIndex) {
    -<span class="fc" id="L30">        ingredients.add(newIndex, ingredients.remove(index));</span>
    -<span class="fc" id="L31">    }</span>
    -
    -    public float getPrice() {
    -<span class="fc" id="L34">        float price = bun.getPrice() * 2;</span>
    -
    -<span class="fc bfc" id="L36" title="All 2 branches covered.">        for (Ingredient ingredient : ingredients) {</span>
    -<span class="fc" id="L37">            price += ingredient.getPrice();</span>
    -<span class="fc" id="L38">        }</span>
    -
    -<span class="fc" id="L40">        return price;</span>
    -    }
    -
    -    public String getReceipt() {
    -<span class="fc" id="L44">        StringBuilder receipt = new StringBuilder(String.format(&quot;(==== %s ====)%n&quot;, bun.getName()));</span>
    -
    -<span class="fc bfc" id="L46" title="All 2 branches covered.">        for (Ingredient ingredient : ingredients) {</span>
    -<span class="fc" id="L47">            receipt.append(String.format(&quot;= %s %s =%n&quot;, ingredient.getType().toString().toLowerCase(),</span>
    -<span class="fc" id="L48">                    ingredient.getName()));</span>
    -<span class="fc" id="L49">        }</span>
    -
    -<span class="fc" id="L51">        receipt.append(String.format(&quot;(==== %s ====)%n&quot;, bun.getName()));</span>
    -<span class="fc" id="L52">        receipt.append(String.format(&quot;%nPrice: %f%n&quot;, getPrice()));</span>
    -
    -<span class="fc" id="L54">        return receipt.toString();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Database.html b/target/site/jacoco/praktikum/Database.html
    deleted file mode 100644
    index d38a6daa9..000000000
    --- a/target/site/jacoco/praktikum/Database.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Database</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Database</span></div><h1>Database</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">106 of 106</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Database.java.html#L11" class="el_method">Database()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="100" alt="100"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Database.java.html#L29" class="el_method">availableBuns()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="Database.java.html#L33" class="el_method">availableIngredients()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Database.java.html b/target/site/jacoco/praktikum/Database.java.html
    deleted file mode 100644
    index d5f8f806b..000000000
    --- a/target/site/jacoco/praktikum/Database.java.html
    +++ /dev/null
    @@ -1,37 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Database.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Database.java</span></div><h1>Database.java</h1><pre class="source lang-java linenums">package praktikum;
    -
    -import java.util.ArrayList;
    -import java.util.List;
    -
    -/**
    - * Класс с методами по работе с базой данных.
    - */
    -public class Database {
    -
    -<span class="nc" id="L11">    private final List&lt;Bun&gt; buns = new ArrayList&lt;&gt;();</span>
    -<span class="nc" id="L12">    private final List&lt;Ingredient&gt; ingredients = new ArrayList&lt;&gt;();</span>
    -
    -<span class="nc" id="L14">    public Database() {</span>
    -<span class="nc" id="L15">        buns.add(new Bun(&quot;black bun&quot;, 100));</span>
    -<span class="nc" id="L16">        buns.add(new Bun(&quot;white bun&quot;, 200));</span>
    -<span class="nc" id="L17">        buns.add(new Bun(&quot;red bun&quot;, 300));</span>
    -
    -<span class="nc" id="L19">        ingredients.add(new Ingredient(IngredientType.SAUCE, &quot;hot sauce&quot;, 100));</span>
    -<span class="nc" id="L20">        ingredients.add(new Ingredient(IngredientType.SAUCE, &quot;sour cream&quot;, 200));</span>
    -<span class="nc" id="L21">        ingredients.add(new Ingredient(IngredientType.SAUCE, &quot;chili sauce&quot;, 300));</span>
    -
    -<span class="nc" id="L23">        ingredients.add(new Ingredient(IngredientType.FILLING, &quot;cutlet&quot;, 100));</span>
    -<span class="nc" id="L24">        ingredients.add(new Ingredient(IngredientType.FILLING, &quot;dinosaur&quot;, 200));</span>
    -<span class="nc" id="L25">        ingredients.add(new Ingredient(IngredientType.FILLING, &quot;sausage&quot;, 300));</span>
    -<span class="nc" id="L26">    }</span>
    -
    -    public List&lt;Bun&gt; availableBuns() {
    -<span class="nc" id="L29">        return buns;</span>
    -    }
    -
    -    public List&lt;Ingredient&gt; availableIngredients() {
    -<span class="nc" id="L33">        return ingredients;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Ingredient.html b/target/site/jacoco/praktikum/Ingredient.html
    deleted file mode 100644
    index 366d7d70f..000000000
    --- a/target/site/jacoco/praktikum/Ingredient.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Ingredient</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Ingredient</span></div><h1>Ingredient</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 21</td><td class="ctr2">57 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">4</td><td class="ctr1">3</td><td class="ctr2">8</td><td class="ctr1">3</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="Ingredient.java.html#L21" class="el_method">getPrice()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Ingredient.java.html#L25" class="el_method">getName()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Ingredient.java.html#L29" class="el_method">getType()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="Ingredient.java.html#L14" class="el_method">Ingredient(IngredientType, String, float)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Ingredient.java.html b/target/site/jacoco/praktikum/Ingredient.java.html
    deleted file mode 100644
    index defd10a71..000000000
    --- a/target/site/jacoco/praktikum/Ingredient.java.html
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Ingredient.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Ingredient.java</span></div><h1>Ingredient.java</h1><pre class="source lang-java linenums">package praktikum;
    -
    -/**
    - * Модель ингредиента.
    - * Ингредиент: начинка или соус.
    - * У ингредиента есть тип (начинка или соус), название и цена.
    - */
    -public class Ingredient {
    -
    -    public IngredientType type;
    -    public String name;
    -    public float price;
    -
    -<span class="fc" id="L14">    public Ingredient(IngredientType type, String name, float price) {</span>
    -<span class="fc" id="L15">        this.type = type;</span>
    -<span class="fc" id="L16">        this.name = name;</span>
    -<span class="fc" id="L17">        this.price = price;</span>
    -<span class="fc" id="L18">    }</span>
    -
    -    public float getPrice() {
    -<span class="nc" id="L21">        return price;</span>
    -    }
    -
    -    public String getName() {
    -<span class="nc" id="L25">        return name;</span>
    -    }
    -
    -    public IngredientType getType() {
    -<span class="nc" id="L29">        return type;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/IngredientType.html b/target/site/jacoco/praktikum/IngredientType.html
    deleted file mode 100644
    index f9c8937fa..000000000
    --- a/target/site/jacoco/praktikum/IngredientType.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IngredientType</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">IngredientType</span></div><h1>IngredientType</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 24</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IngredientType.java.html#L8" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/IngredientType.java.html b/target/site/jacoco/praktikum/IngredientType.java.html
    deleted file mode 100644
    index 7782e2034..000000000
    --- a/target/site/jacoco/praktikum/IngredientType.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IngredientType.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">IngredientType.java</span></div><h1>IngredientType.java</h1><pre class="source lang-java linenums">package praktikum;
    -
    -/**
    - * Перечисление с типами ингредиентов.
    - * SAUCE – соус
    - * FILLING – начинка
    - */
    -<span class="fc" id="L8">public enum IngredientType {</span>
    -<span class="fc" id="L9">    SAUCE,</span>
    -<span class="fc" id="L10">    FILLING</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Praktikum.html b/target/site/jacoco/praktikum/Praktikum.html
    deleted file mode 100644
    index c6894a9d2..000000000
    --- a/target/site/jacoco/praktikum/Praktikum.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Praktikum</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.html" class="el_package">praktikum</a> &gt; <span class="el_class">Praktikum</span></div><h1>Praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 59</td><td class="ctr2">0 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="Praktikum.java.html#L9" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="56" alt="56"/></td><td class="ctr2" id="c0">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Praktikum.java.html#L5" class="el_method">Praktikum()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/Praktikum.java.html b/target/site/jacoco/praktikum/Praktikum.java.html
    deleted file mode 100644
    index 91a07a8ef..000000000
    --- a/target/site/jacoco/praktikum/Praktikum.java.html
    +++ /dev/null
    @@ -1,39 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Praktikum.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <a href="index.source.html" class="el_package">praktikum</a> &gt; <span class="el_source">Praktikum.java</span></div><h1>Praktikum.java</h1><pre class="source lang-java linenums">package praktikum;
    -
    -import java.util.List;
    -
    -<span class="nc" id="L5">public class Praktikum {</span>
    -
    -    public static void main(String[] args) {
    -        // Инициализируем базу данных
    -<span class="nc" id="L9">        Database database = new Database();</span>
    -
    -        // Создадим новый бургер
    -<span class="nc" id="L12">        Burger burger = new Burger();</span>
    -
    -        // Считаем список доступных булок из базы данных
    -<span class="nc" id="L15">        List&lt;Bun&gt; buns = database.availableBuns();</span>
    -
    -        // Считаем список доступных ингредиентов из базы данных
    -<span class="nc" id="L18">        List&lt;Ingredient&gt; ingredients = database.availableIngredients();</span>
    -
    -        // Соберём бургер
    -<span class="nc" id="L21">        burger.setBuns(buns.get(0));</span>
    -
    -<span class="nc" id="L23">        burger.addIngredient(ingredients.get(1));</span>
    -<span class="nc" id="L24">        burger.addIngredient(ingredients.get(4));</span>
    -<span class="nc" id="L25">        burger.addIngredient(ingredients.get(3));</span>
    -<span class="nc" id="L26">        burger.addIngredient(ingredients.get(5));</span>
    -
    -        // Переместим слой с ингредиентом
    -<span class="nc" id="L29">        burger.moveIngredient(2, 1);</span>
    -
    -        // Удалим ингредиент
    -<span class="nc" id="L32">        burger.removeIngredient(3);</span>
    -
    -        // Распечатаем рецепт бургера
    -<span class="nc" id="L35">        System.out.println(burger.getReceipt());</span>
    -<span class="nc" id="L36">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/index.html b/target/site/jacoco/praktikum/index.html
    deleted file mode 100644
    index 613e14456..000000000
    --- a/target/site/jacoco/praktikum/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>praktikum</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <span class="el_package">praktikum</span></div><h1>praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">174 of 358</td><td class="ctr2">51 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">8</td><td class="ctr2">22</td><td class="ctr1">32</td><td class="ctr2">69</td><td class="ctr1">8</td><td class="ctr2">20</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="Database.html" class="el_class">Database</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="95" height="10" title="106" alt="106"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="Praktikum.html" class="el_class">Praktikum</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="59" alt="59"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k4">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="Ingredient.html" class="el_class">Ingredient</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">57 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="Burger.html" class="el_class">Burger</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="133" alt="133"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="IngredientType.html" class="el_class">IngredientType</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="21" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">1</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a0"><a href="Bun.html" class="el_class">Bun</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/site/jacoco/praktikum/index.source.html b/target/site/jacoco/praktikum/index.source.html
    deleted file mode 100644
    index 8385e9f9c..000000000
    --- a/target/site/jacoco/praktikum/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ru"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>praktikum</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">praktikum</a> &gt; <span class="el_package">praktikum</span></div><h1>praktikum</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">174 of 358</td><td class="ctr2">51 %</td><td class="bar">0 of 4</td><td class="ctr2">100 %</td><td class="ctr1">8</td><td class="ctr2">22</td><td class="ctr1">32</td><td class="ctr2">69</td><td class="ctr1">8</td><td class="ctr2">20</td><td class="ctr1">2</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="Database.java.html" class="el_source">Database.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="95" height="10" title="106" alt="106"/></td><td class="ctr2" id="c4">0 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i1">15</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a5"><a href="Praktikum.java.html" class="el_source">Praktikum.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="59" alt="59"/></td><td class="ctr2" id="c5">0 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k4">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="Ingredient.java.html" class="el_source">Ingredient.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="9" alt="9"/><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">57 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i3">8</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="Burger.java.html" class="el_source">Burger.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="133" alt="133"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a4"><a href="IngredientType.java.html" class="el_source">IngredientType.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="21" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k5">1</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a0"><a href="Bun.java.html" class="el_source">Bun.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/target/surefire-reports/BunTest.txt b/target/surefire-reports/BunTest.txt
    deleted file mode 100644
    index 72f0ac2e1..000000000
    --- a/target/surefire-reports/BunTest.txt
    +++ /dev/null
    @@ -1,4 +0,0 @@
    --------------------------------------------------------------------------------
    -Test set: BunTest
    --------------------------------------------------------------------------------
    -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s -- in BunTest
    diff --git a/target/surefire-reports/BurgerPriceTest.txt b/target/surefire-reports/BurgerPriceTest.txt
    deleted file mode 100644
    index 9b0019925..000000000
    --- a/target/surefire-reports/BurgerPriceTest.txt
    +++ /dev/null
    @@ -1,4 +0,0 @@
    --------------------------------------------------------------------------------
    -Test set: BurgerPriceTest
    --------------------------------------------------------------------------------
    -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.928 s -- in BurgerPriceTest
    diff --git a/target/surefire-reports/BurgerReceiptTest.txt b/target/surefire-reports/BurgerReceiptTest.txt
    deleted file mode 100644
    index 554d845f5..000000000
    --- a/target/surefire-reports/BurgerReceiptTest.txt
    +++ /dev/null
    @@ -1,4 +0,0 @@
    --------------------------------------------------------------------------------
    -Test set: BurgerReceiptTest
    --------------------------------------------------------------------------------
    -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.034 s -- in BurgerReceiptTest
    diff --git a/target/surefire-reports/BurgerTest.txt b/target/surefire-reports/BurgerTest.txt
    deleted file mode 100644
    index fe3ffa4da..000000000
    --- a/target/surefire-reports/BurgerTest.txt
    +++ /dev/null
    @@ -1,4 +0,0 @@
    --------------------------------------------------------------------------------
    -Test set: BurgerTest
    --------------------------------------------------------------------------------
    -Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.286 s -- in BurgerTest
    diff --git a/target/surefire-reports/TEST-BunTest.xml b/target/surefire-reports/TEST-BunTest.xml
    deleted file mode 100644
    index 31a749e60..000000000
    --- a/target/surefire-reports/TEST-BunTest.xml
    +++ /dev/null
    @@ -1,71 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BunTest" time="0.002" tests="6" errors="0" skipped="0" failures="0">
    -  <properties>
    -    <property name="gopherProxySet" value="false"/>
    -    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    -    <property name="java.specification.version" value="11"/>
    -    <property name="sun.cpu.isalist" value=""/>
    -    <property name="sun.jnu.encoding" value="UTF-8"/>
    -    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    -    <property name="sun.arch.data.model" value="64"/>
    -    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    -    <property name="user.timezone" value=""/>
    -    <property name="java.vm.specification.version" value="11"/>
    -    <property name="os.name" value="Mac OS X"/>
    -    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    -    <property name="user.country" value="RU"/>
    -    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    -    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    -    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="jdk.debug" value="release"/>
    -    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="sun.cpu.endian" value="little"/>
    -    <property name="user.home" value="/Users/ppeter"/>
    -    <property name="user.language" value="ru"/>
    -    <property name="java.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.version.date" value="2025-04-15"/>
    -    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    -    <property name="file.separator" value="/"/>
    -    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    -    <property name="line.separator" value="&#10;"/>
    -    <property name="java.specification.name" value="Java Platform API Specification"/>
    -    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    -    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    -    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    -    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    -    <property name="user.name" value="ppeter"/>
    -    <property name="path.separator" value=":"/>
    -    <property name="os.version" value="26.2"/>
    -    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    -    <property name="file.encoding" value="UTF-8"/>
    -    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    -    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    -    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    -    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    -    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    -    <property name="java.version" value="11.0.27"/>
    -    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="os.arch" value="x86_64"/>
    -    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    -    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    -    <property name="sun.os.patch.level" value="unknown"/>
    -    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    -    <property name="java.vm.info" value="mixed mode"/>
    -    <property name="java.vendor" value="Amazon.com Inc."/>
    -    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    -    <property name="java.specification.maintenance.version" value="3"/>
    -    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    -    <property name="java.class.version" value="55.0"/>
    -    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -  </properties>
    -  <testcase name="testGetPrice[Тест 0: булочка &apos;черная булочка&apos; с ценой 100]" classname="BunTest" time="0.0"/>
    -  <testcase name="testGetName[Тест 0: булочка &apos;черная булочка&apos; с ценой 100]" classname="BunTest" time="0.0"/>
    -  <testcase name="testGetPrice[Тест 1: булочка &apos;белая булочка&apos; с ценой 200]" classname="BunTest" time="0.0"/>
    -  <testcase name="testGetName[Тест 1: булочка &apos;белая булочка&apos; с ценой 200]" classname="BunTest" time="0.0"/>
    -  <testcase name="testGetPrice[Тест 2: булочка &apos;красная булочка&apos; с ценой 300]" classname="BunTest" time="0.0"/>
    -  <testcase name="testGetName[Тест 2: булочка &apos;красная булочка&apos; с ценой 300]" classname="BunTest" time="0.0"/>
    -</testsuite>
    \ No newline at end of file
    diff --git a/target/surefire-reports/TEST-BurgerPriceTest.xml b/target/surefire-reports/TEST-BurgerPriceTest.xml
    deleted file mode 100644
    index 632125b95..000000000
    --- a/target/surefire-reports/TEST-BurgerPriceTest.xml
    +++ /dev/null
    @@ -1,71 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BurgerPriceTest" time="0.928" tests="6" errors="0" skipped="0" failures="0">
    -  <properties>
    -    <property name="gopherProxySet" value="false"/>
    -    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    -    <property name="java.specification.version" value="11"/>
    -    <property name="sun.cpu.isalist" value=""/>
    -    <property name="sun.jnu.encoding" value="UTF-8"/>
    -    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    -    <property name="sun.arch.data.model" value="64"/>
    -    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    -    <property name="user.timezone" value=""/>
    -    <property name="java.vm.specification.version" value="11"/>
    -    <property name="os.name" value="Mac OS X"/>
    -    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    -    <property name="user.country" value="RU"/>
    -    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    -    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    -    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="jdk.debug" value="release"/>
    -    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="sun.cpu.endian" value="little"/>
    -    <property name="user.home" value="/Users/ppeter"/>
    -    <property name="user.language" value="ru"/>
    -    <property name="java.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.version.date" value="2025-04-15"/>
    -    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    -    <property name="file.separator" value="/"/>
    -    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    -    <property name="line.separator" value="&#10;"/>
    -    <property name="java.specification.name" value="Java Platform API Specification"/>
    -    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    -    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    -    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    -    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    -    <property name="user.name" value="ppeter"/>
    -    <property name="path.separator" value=":"/>
    -    <property name="os.version" value="26.2"/>
    -    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    -    <property name="file.encoding" value="UTF-8"/>
    -    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    -    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    -    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    -    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    -    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    -    <property name="java.version" value="11.0.27"/>
    -    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="os.arch" value="x86_64"/>
    -    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    -    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    -    <property name="sun.os.patch.level" value="unknown"/>
    -    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    -    <property name="java.vm.info" value="mixed mode"/>
    -    <property name="java.vendor" value="Amazon.com Inc."/>
    -    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    -    <property name="java.specification.maintenance.version" value="3"/>
    -    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    -    <property name="java.class.version" value="55.0"/>
    -    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -  </properties>
    -  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 0: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@45b96e4c ингредиентами = 200]" classname="BurgerPriceTest" time="0.012"/>
    -  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 1: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@8383a14 ингредиентами = 250]" classname="BurgerPriceTest" time="0.003"/>
    -  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 2: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@379f9555 ингредиентами = 380]" classname="BurgerPriceTest" time="0.002"/>
    -  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 3: цена бургера с булочкой Mock for Bun, hashCode: 139416025 и [Lpraktikum.Ingredient;@7e3ee128 ингредиентами = 460]" classname="BurgerPriceTest" time="0.001"/>
    -  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 4: цена бургера с булочкой Mock for Bun, hashCode: 2103748960 и [Lpraktikum.Ingredient;@166ce247 ингредиентами = 400]" classname="BurgerPriceTest" time="0.0"/>
    -  <testcase name="testGetPriceWithDifferentBurgerCombinations[Тест 5: цена бургера с булочкой Mock for Bun, hashCode: 2103748960 и [Lpraktikum.Ingredient;@5d92e8e2 ингредиентами = 580]" classname="BurgerPriceTest" time="0.0"/>
    -</testsuite>
    \ No newline at end of file
    diff --git a/target/surefire-reports/TEST-BurgerReceiptTest.xml b/target/surefire-reports/TEST-BurgerReceiptTest.xml
    deleted file mode 100644
    index aa724c60d..000000000
    --- a/target/surefire-reports/TEST-BurgerReceiptTest.xml
    +++ /dev/null
    @@ -1,69 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BurgerReceiptTest" time="0.034" tests="4" errors="0" skipped="0" failures="0">
    -  <properties>
    -    <property name="gopherProxySet" value="false"/>
    -    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    -    <property name="java.specification.version" value="11"/>
    -    <property name="sun.cpu.isalist" value=""/>
    -    <property name="sun.jnu.encoding" value="UTF-8"/>
    -    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    -    <property name="sun.arch.data.model" value="64"/>
    -    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    -    <property name="user.timezone" value=""/>
    -    <property name="java.vm.specification.version" value="11"/>
    -    <property name="os.name" value="Mac OS X"/>
    -    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    -    <property name="user.country" value="RU"/>
    -    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    -    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    -    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="jdk.debug" value="release"/>
    -    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="sun.cpu.endian" value="little"/>
    -    <property name="user.home" value="/Users/ppeter"/>
    -    <property name="user.language" value="ru"/>
    -    <property name="java.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.version.date" value="2025-04-15"/>
    -    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    -    <property name="file.separator" value="/"/>
    -    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    -    <property name="line.separator" value="&#10;"/>
    -    <property name="java.specification.name" value="Java Platform API Specification"/>
    -    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    -    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    -    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    -    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    -    <property name="user.name" value="ppeter"/>
    -    <property name="path.separator" value=":"/>
    -    <property name="os.version" value="26.2"/>
    -    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    -    <property name="file.encoding" value="UTF-8"/>
    -    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    -    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    -    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    -    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    -    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    -    <property name="java.version" value="11.0.27"/>
    -    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="os.arch" value="x86_64"/>
    -    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    -    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    -    <property name="sun.os.patch.level" value="unknown"/>
    -    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    -    <property name="java.vm.info" value="mixed mode"/>
    -    <property name="java.vendor" value="Amazon.com Inc."/>
    -    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    -    <property name="java.specification.maintenance.version" value="3"/>
    -    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    -    <property name="java.class.version" value="55.0"/>
    -    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -  </properties>
    -  <testcase name="testGetReceiptWithIngredients[Тест 0: чек для бургера с булочкой &apos;черная булочка&apos; и ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerReceiptTest" time="0.009"/>
    -  <testcase name="testGetReceiptWithIngredients[Тест 1: чек для бургера с булочкой &apos;белая булочка&apos; и ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerReceiptTest" time="0.011"/>
    -  <testcase name="testGetReceiptWithIngredients[Тест 2: чек для бургера с булочкой &apos;красная булочка&apos; и ингредиентом SAUCE &apos;чили соус&apos;]" classname="BurgerReceiptTest" time="0.0"/>
    -  <testcase name="testGetReceiptWithIngredients[Тест 3: чек для бургера с булочкой &apos;особая булочка&apos; и ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerReceiptTest" time="0.004"/>
    -</testsuite>
    \ No newline at end of file
    diff --git a/target/surefire-reports/TEST-BurgerTest.xml b/target/surefire-reports/TEST-BurgerTest.xml
    deleted file mode 100644
    index 857b168cc..000000000
    --- a/target/surefire-reports/TEST-BurgerTest.xml
    +++ /dev/null
    @@ -1,81 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?>
    -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="BurgerTest" time="0.286" tests="16" errors="0" skipped="0" failures="0">
    -  <properties>
    -    <property name="gopherProxySet" value="false"/>
    -    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
    -    <property name="java.specification.version" value="11"/>
    -    <property name="sun.cpu.isalist" value=""/>
    -    <property name="sun.jnu.encoding" value="UTF-8"/>
    -    <property name="java.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="java.vm.vendor" value="Amazon.com Inc."/>
    -    <property name="sun.arch.data.model" value="64"/>
    -    <property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
    -    <property name="user.timezone" value=""/>
    -    <property name="java.vm.specification.version" value="11"/>
    -    <property name="os.name" value="Mac OS X"/>
    -    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    -    <property name="user.country" value="RU"/>
    -    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/lib"/>
    -    <property name="sun.java.command" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar /Users/ppeter/yandex/Diplom/target/surefire 2025-11-10T19-31-22_532-jvmRun1 surefire-20251110193122647_1tmp surefire_0-20251110193122647_2tmp"/>
    -    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="jdk.debug" value="release"/>
    -    <property name="surefire.test.class.path" value="/Users/ppeter/yandex/Diplom/target/test-classes:/Users/ppeter/yandex/Diplom/target/classes:/Users/ppeter/.m2/repository/junit/junit/4.13.2/junit-4.13.2.jar:/Users/ppeter/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/ppeter/.m2/repository/org/mockito/mockito-core/4.11.0/mockito-core-4.11.0.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy/1.12.19/byte-buddy-1.12.19.jar:/Users/ppeter/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.19/byte-buddy-agent-1.12.19.jar:/Users/ppeter/.m2/repository/org/objenesis/objenesis/3.3/objenesis-3.3.jar:"/>
    -    <property name="sun.cpu.endian" value="little"/>
    -    <property name="user.home" value="/Users/ppeter"/>
    -    <property name="user.language" value="ru"/>
    -    <property name="java.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.version.date" value="2025-04-15"/>
    -    <property name="java.home" value="/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home"/>
    -    <property name="file.separator" value="/"/>
    -    <property name="basedir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="java.vm.compressedOopsMode" value="Zero based"/>
    -    <property name="line.separator" value="&#10;"/>
    -    <property name="java.specification.name" value="Java Platform API Specification"/>
    -    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    -    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
    -    <property name="surefire.real.class.path" value="/Users/ppeter/yandex/Diplom/target/surefire/surefirebooter-20251110193122647_3.jar"/>
    -    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    -    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -    <property name="java.runtime.version" value="11.0.27+6-LTS"/>
    -    <property name="user.name" value="ppeter"/>
    -    <property name="path.separator" value=":"/>
    -    <property name="os.version" value="26.2"/>
    -    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    -    <property name="file.encoding" value="UTF-8"/>
    -    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    -    <property name="java.vendor.version" value="Corretto-11.0.27.6.1"/>
    -    <property name="localRepository" value="/Users/ppeter/.m2/repository"/>
    -    <property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-11/issues/"/>
    -    <property name="java.io.tmpdir" value="/var/folders/91/2j8zv51j59db0t18f0szp2rw0000gn/T/"/>
    -    <property name="java.version" value="11.0.27"/>
    -    <property name="user.dir" value="/Users/ppeter/yandex/Diplom"/>
    -    <property name="os.arch" value="x86_64"/>
    -    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    -    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
    -    <property name="sun.os.patch.level" value="unknown"/>
    -    <property name="java.library.path" value="/Users/ppeter/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
    -    <property name="java.vm.info" value="mixed mode"/>
    -    <property name="java.vendor" value="Amazon.com Inc."/>
    -    <property name="java.vm.version" value="11.0.27+6-LTS"/>
    -    <property name="java.specification.maintenance.version" value="3"/>
    -    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
    -    <property name="java.class.version" value="55.0"/>
    -    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
    -  </properties>
    -  <testcase name="testRemoveIngredient[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.055"/>
    -  <testcase name="testMoveIngredient[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testSetBuns[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testAddIngredient[Тест 0: операции с ингредиентом SAUCE &apos;острый соус&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testRemoveIngredient[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testMoveIngredient[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testSetBuns[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testAddIngredient[Тест 1: операции с ингредиентом FILLING &apos;котлета&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testRemoveIngredient[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testMoveIngredient[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testSetBuns[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testAddIngredient[Тест 2: операции с ингредиентом SAUCE &apos;сметана&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testRemoveIngredient[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testMoveIngredient[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testSetBuns[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    -  <testcase name="testAddIngredient[Тест 3: операции с ингредиентом FILLING &apos;сыр&apos;]" classname="BurgerTest" time="0.0"/>
    -</testsuite>
    \ No newline at end of file
    diff --git a/target/test-classes/BunTest.class b/target/test-classes/BunTest.class
    deleted file mode 100644
    index 352811e7552e2fb4634d0f204958239c446f829f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1960
    zcma)6-%}e^6#h296SkBFL}-Nup-l*F)A|bw2!+tJ)fBKnYFf1}u+pVrQ#ZREm0?EO
    z8GW(in{U4O;EZpfLrN?IzB)c_{7-y$9KX9s`I$OC?7e%>J?DJqeCM3|$3M@u0rcb3
    z5WKh;L>mUgGU&&UAMXS(>>2wV2w?=50vPoquL1##d6GW}VG`qhTn?cTsQ|8s{b~r;
    z@NNL_i9^~qGBtbs&%b{8TS%|_F(JXDD@&?`aC%XBpd@mNzL3b6hNdqJO7Pw{v^ic%
    zDG9zIP1np}39Yfis;S-?dP?T!seCl8>FR{FG^-lZ%52W@ou5;3Gm4>!b4}<m?`j1J
    z!StA=Ppbu!aGrU^R3x;;daDSQspS&Md@iTXnOa__Mlho-=!$6>^m_IMYD2g8#5Xy+
    zNaMj_+P2@YbW>YWXS9OGFh+GfZz{rX!H+2kp(({66Q*h~D*2kOt41=X6bdSjXVQ6N
    zA+czYfP`U*t3qN&UHeL%@7XyOh%{jTWS1(dm4}gKO`li4SQ&`eYn4a#roCPH)_!Ie
    zBhl#c`ITriQdx~uzOhU8mc4EN8d<)uBB8+~8CO(u!YPY8CYW{4TDl<izM<SRwR_f5
    zf}|0sX-`}=4&|EpRJC%UOx`l))RZRbAlIlqCrT~h_#W$ORtZvcQ#0?<wfBLNvuM+G
    zNa;Z8gEBghkkO9gGEU$X3C(p1z*u+tt6CHZC&)&r@-?$BR=z(#kst5NxPc7oX0MT<
    z%{n>~I_zh(FIHAx;A2|G2Oxn*_Aw_S?vyZM|7aKO4f_e#ExT-&_J>f8*y}9Iru|fu
    zho$1-iTxXu*NOPB@|}#E_|T86j9a)Zq2K=5sbuj#+!X7&`3N5iAD>9@*DB=49SQOO
    z-*jw_U3ycwykgRqQ^Cp4B(%g*wTW`Z+qoCr<Cr)@Hfk8kmuz&OQb=nB8lQ^QDdOI-
    z6l(P0UwGcBEzies{}a-*o5U!G$)ImpOqF3?{@hY>#JpJNJvltVhb3Y#0)(%1Iwys%
    zR9hWq<KyE(_vCIQb!Qk|d}h6TdtC^NZsuQDG&FY)*lOtHdXlFsHQd~f#y23v`$}-d
    zdrEMxQRG5|YnTSWF|J_*(aeXph0eh{#|*Ecn<qMOU?k^H0J*5$gHzNJFgf^z62^U7
    z@MPWIEqJr;urHJKg#Bd%GW@B@f<hLm%DgpMgOJINtc)W?`jMR2TAdWz7*#u>OmdJZ
    zUSi^>so|m|#=U{MXZW=jaF*LSBzPr4y2X@S+&eeXn2oP9@pZU2_%MZ=#HsHoj+GJK
    zC8E(uxC>28xr0dy5?ZSsY9us~ob$Lq6annx{u*})ukT>qAq@hv`w(WcKz~fomd7o4
    xsf?Eo0!IlPBT(-i;O-sZ<~qP`yg?`z-rV8gEe6v+hquwkix3aJm_+<^@L!EWD+&Mr
    
    diff --git a/target/test-classes/BurgerPriceTest.class b/target/test-classes/BurgerPriceTest.class
    deleted file mode 100644
    index 38343eb0b58d4ecf59fcd434ac5627c63fb2a131..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2901
    zcma)8Np~C768^5#t+tgmapX)k52DPDY$FH|z&1&2*@A$agg7`6VQNbqyJNX!dI%vV
    zkJwC`_XFPYoh%;P0I@Mcd{}Z=wb<|jIEM`zmaKs9wuHOMa1IOIsj6;$RrS?vegFGc
    z>j0j@`)PFHrFLX-Mh=s5IIH31G^TJa4Hf6pDB~5my`YSK2W-Ntcugrh4`_HjjSiew
    zM!8W&|HonES9$z~hBuYMRqhLPq7;6X15K5&EkGIurZrU3=)p^JsLH`?!$mot*D#|D
    z@BJ~I#w;v><g{-KY%VQ0#++x(`SbZv-yRa!WZ5&0S+z{ta|L!>h$)=dkWjC~ys}_c
    zJhOV*u_~s3C<>@!<E67Blojf>>lwB;Wz>AiQp1*Qc}E3uy|L@0zx!NYJTxU3S-nc*
    z%_Yk=Px|xIrgPSquJI&Os#lEKl;K!%-#S#hS&M+Tltz7L#&kkdXHC~5RHbTohQQ9=
    zL#0c`Wh3u<RxMws*J{LX)n(9am08nRARqx<#$~(KWi#BWuHnn@w#R_~Ef1-R@6}9?
    zLGljMr7BHoMpdAF(weai&v$q>a39~p7n+c2hCP!%HGPSQhK>?Y_Zi>zta)?FaxKO<
    zV%v4kkYHU6a{}qphGWc|p6M`T{e*3sPN8PFuE}kGsqW0=FZs-P-tnc#&2Ok%SIz3a
    zjh!o#WAh>bE4UG?G?p66*+t8)npdt3W*Z*`E5YsHW;Xb=@qXia@HrK(bK6)7PlB(5
    z^~T4+SHXJlWp?q=YuR8eyZD%#X!JQXSAtty^NPlDa5MOZ;%Bpqhp!3rd92HGrWe-e
    zoaN1qSr;#w4jI?1U7<cdZ838)ToScck|7<@lBu2!Yb==%r?0F#BkGv+jLO`Eu@Evt
    z!vTTLSWa4`NKe*%r(zZ@$*8S&kmeD|6M>$XSu>S+)<q(w8})LN+`I2mx+C91I{GlK
    zV=wmU*pCA`4x*PZ<IrslH68P?b=0w-;Vm5wTpb>K4VQJi4WB3@i->{(UH9M+Lk_7P
    z<CTUhI^MxmilTd(aqC#byE?An-vU#?|L<LPR&$*-UkxeISmI`#h5d}ASeCruYMsBE
    z-2ErZ<tl4`i*;XN<;f8C@f|tV@ScwASkkb}hvA=dmH|uU`Fdr}^6L4C=1d~X6M_A`
    zv5pFxVyM;jv0SixZ8I$bh79B5wK+;yu~s+O(OOvHQx}=}-eUZcP%eAt?OBsg#$eoK
    ztBDVVtoRG0>-p29G+W%BsdJue?Rm$(crf?VBmX_RI%D!Rp~Gfv!)I*7ag2A^B`L!#
    zSuR2E@4W{d;t!uxqhHN6*>1AIGIu`8vfnz4YBf%>?zmDU7?Qf3QSnCj2028b%g4y^
    z#^3Ud8eQy+XK2!Mn1Z2VF?{8BMaK7ht+1Ql%`SdX6=Y-!ag~u>6wYiU&OJE9nIz&m
    zLH#7xedy;nz>^x!6wX_7UqIygR*=Z`uOOM*zXIjc(Bct}+xbBTc2ILC+R=>%cxx9P
    zM4qR)rad0TW8Cqk5Qhj?5=kOlNi0d)9>(LG={YgLPjU(nA7<1wq`rmvVr~`M8rs&-
    zo=J255}Oh@_m{NP7fJO<+7a4zO!TkfftKy&yQC)vB5CaAmhGU@twi$9yQ~M*ZZ(o`
    z*^qapZX;7pa_lN6bCYEyd7H0mS<OgzliWuVg_3fzpNDE@Yg4L5QZ<wg(4t!jRkk%%
    zQjv<*x}dC3O{H2n)vboQ+nc&tQ@1Y$V@Ffc7D?`Mv@=v$L-$P<DFIpPGb|vmi>1oq
    zVeH{+ycffy)HqA|3X51Fovx5T%cRhMX>o%jSYzpbU}=BF<Dv^sh+}wClyOA7i>JgA
    zWs)XGS?qS6JQ0%gpm-fmawRY>j^hab5GGI&d+;<@Nj`Z=Jj0d3+ke6!S1N`=gu{52
    z^CsGj@HgtBz-f%&5+R${X+ln+@HKkMU*N$~U+xwXtN0hE<V64a(c}?joAS^NZ0p~q
    z93E8rWMv=vKoOt(@k{1mDk)^yuFUQ=?2+V8h8a1)T!4Pt7(*wHGb1B(cAP{WBeroI
    z<2;ID7-g0=2MM7VVkVGQTeK1Xb9kO$Pw=iCNc_R>Q8i>W^k{fNuw8!Ru?#Lnr58iz
    cC5{P9Y=nH0l2a9&rf>OwRuIo696QkdCj{jQI{*Lx
    
    diff --git a/target/test-classes/BurgerReceiptTest.class b/target/test-classes/BurgerReceiptTest.class
    deleted file mode 100644
    index 8e1a8bee31fb74080c266c60fad8a73d2497b252..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 3255
    zcmbVO`*Rdk7XCWvOm~I`VTh4H)IpKFfDzYyC5R+h1JNNM6TslJXQoXWCf(T61M<=Y
    z6x@Xs-|x4(KDKJB!Xsfw4CRlOKlS`Wmf!8}WEv8xwl+1nx9_>%J?Gr>oqO*6^|$F8
    z0RD{s#1X?_JvL&mX!eO_zk;U}45>I!kEijBif2_kCqAE7@q!9nMOH;lMLrG#FDe+0
    zBY{B$BXO8G7)JvRiLb&EjKUH_JC4J6N$&XtP~gPTjG}0WYKATM>;QxYS2QKj98qyJ
    zj+b#v#ql^!;G`IwQt^ryysBbM#khjg5|nJo8qh}#35oPU{fM3_=+<y5<2t4_+$CWd
    zJIBbIhUE?(J51E-^kGLo<eG;{qpALz=59s@I%8W*%XGI&=x$x8{q~v`V%zpfkbCVs
    zJ-8!nTE;+WG;276dbZ$uZs+vEKHV|JI26k6h*^}dGTl>hh7D(rku%K0?x0b0>8PC7
    zU0uSe*0#V@$u$e9Ub|2*a;|AxMAT=@VM}*Q4)t%m4Q$KP5l44r4{~wWR<3Q@Q?guh
    z)YxYhO*+(VS+=VSy+sADNr>;(9Y)+W9QvpATbAMU7W87#;BZ6Qc7{_2ON?5|DT%3K
    zY94MLH}dP|M@6v@%csuqzVRk2<CW9N6Q-3nUOv^Cteo>Ez3HTP)tjkYOnR3pXDVaf
    z6{5zxiDYHmmv}SY4dSM~8{YL~OUsD|Pqnlpy)u8^tapXTNiHw5ovoZE=BMO|&8GzJ
    zA>t(5?J}0z4L6MJe$ySPCIq)q+bT$lW&QAr^r|LKKneX9*|*cq9TKcYrv(F%)C(Yu
    z5lGdN(BcH-N?0BVUr2R4W0#zq(PxTGX<U#Dn?%x!w7xa&DUvAmME!L~^g@ZN*De6v
    zLQa>4KcG*;CZsexh|L-vLW()KNS@Hw>TwHlN5UGx8sk3eO@yS)Q#7IAbq!~+S;C!U
    zja*m8D(A^tWt_t^m2sw>cZpohEV5R^Ik9k=pqf<9(8y_Tf)skwA|I$?F^dvb(4R8l
    z<%pFv!aB3z(js<9H$6LF8B_3vhQH$<++~zjaS$aejfyM<=QUiwKQ+9GiyGd-+X~*%
    z@Gjog@E+b*@PUR8@sWgv>ar^P8a~D+8a~Bm8a~Gt8otCu3G2P@gY2L6CdCoB!97fg
    zJQitxo}s&tv`U47g0D1ujc+9M%`J#x{cT?L37O(%#VQde@0xd+?W{N%Hy@+2f^Rka
    z3;)*e9ln<^@PBJv>;O(^_(5zg^*?H@ob^xc8IrQwF>^*I`CO3x3VxK(erxXElGc%$
    z!<xAm4Z+<|m+9Wy`xwt-Uw=B?Kd^l+$NlQs?Kt`|mW7yJOq)el!UL^~9E)f@7BHT^
    zmBPDG775d}Q=$^EXXO(Tp(Ij*{VLiOs_^fzuqe}|VZ#lsq=va-e)B~qA006)37t`W
    z;p#U3*w1-TbW7Q+$vbkFHEgrbgkyTTF6!y+aIF6>P3<vwx6q(U$9#JHg4xGHSS<^E
    z1zTsJ6u<oJdXYz<wJ*9me_qr->IfKU=H_n4j{p`8x2I&0g+yxvM^Trk)l2n!zIwD+
    zP@<sfgpZBWW?1=2b2Wjwd5<}Cda1b39CyHW2YAvXv_u0NJ})BF&4rp?MCxLIV~}#T
    z<?5zzd`(nO?}+YXjF(D=l{3294luNV)j>y;>&7TFG<iVmbBSxG?W4SP^&(;SR-Iq;
    z#>HAb=wf{8)$(1%%FeHZDDHmG`tHw2Ec_2c!XG&*pawGghW2Za+B+su)4pL6we1@x
    zAzz}r27hAPh&sQOaTn^b3d_)hl~~OOCD0zM$6xSQj;P7EEBRl-a*h8bY}ayaC%V`R
    z%P09b6n}YT7Ij0lv0221Y7<IkNWKg;GgOzT&+t1G$9?e<A=W6a3&l&T=w%egLh&6{
    z^zuxmj1?2KBl$atu?OzK7Pd8b1Y6lJp{$4hy+!<u-DBwE6kU{d&{eVV=@}%3uJL)6
    zXei^(pV6>$!xS3JxU2mtYOZ5d4fa#eRK{w`5^LB8!bGzVZywk<g}VcIZ7@T@J%K=;
    z7u*}JPtLFJpw_h=#NO92h5I|@#JVQAj0Y0yn`B{m3N2-{CffXwJcag9(9t9(xKd13
    zDeS>=?xYne30r{<+=mUMZxgnWm?xPcSyFYBiE)ytG0sq(BcX4S($7fQe@WVPhD^}?
    za1fD@ZWWiY9XlAc75EYTc$|^jhU0hwX~ymx_3fm7*$=Y_{Qx!8Vi(&Q?4A$)lbqR;
    SLk8WPh;#5L&S2a6`riTfT^lL@
    
    diff --git a/target/test-classes/BurgerTest.class b/target/test-classes/BurgerTest.class
    deleted file mode 100644
    index f7cec3cd848eac70c8a0616e7c0baf65b7146e7c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 3790
    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