Setting up double integralsWorksheet by \302\251Mike May, S. J, 2006.- maymk@slu.eduThe case of dxdy and dydxrestart;with(plots):OverviewThe first section of this worksheet provides a template for using Maple to set up and check double integrals symbolically.The next section provides code for visualizing the region of integration. (Experience shows that students are more likely to have problems connecting a region of integration with limits of integration rather than with evaluating integrals.)The third section deals with the problem of changing the order of integration.Using Maple to check integrationThis section provides a template for using Maple to check multiple integrals.Much of this chapter deals with problems where you need to evaluate a multiple integral. It is worthwhile to note the Maple syntax used for multiple integrals, so that you can use Maple to check your work.We do multiple integrals in Maple by nesting the integration commands. It is useful to note that the command Int (upper case i) only sets up the integral. If you repeat the integral command with both versions of the int you see that the integral is set up properly, as well as computing its value.Int(Int(x^2+y^2+x*y,x = 1..3), y=2..5);
Int(int(x^2+y^2+x*y,x = 1..3), y=2..5);
int(int(x^2+y^2+x*y,x = 1..3), y=2..5);Sometimes the integral is easier to evaluate in one order or the other.Int(Int(exp(x^2),x=y..1),y=0..1);
Int(int(exp(x^2),x=y..1),y=0..1);
int(int(exp(x^2),x=y..1),y=0..1);
Int(Int(exp(x^2),y=0..x),x=0..1);
Int(int(exp(x^2),y=0..x),x=0..1);
int(int(exp(x^2),y=0..x),x=0..1);We can also use the MultiInt command from the Student[MultivariateCalculus] package, specifying the output=steps option.with(Student[MultivariateCalculus]);MultiInt(exp(x^2),y=0..x,x=0..1,output=steps);Use the template as needed.Visualizing the region of integrationThe bigger problem in any section on multiple integration is not evaluating the integral. Rather it is to set the limits of integration correctly. This worksheet gives 2 blocks of code that can be used to see the region that goes with a set of limits of integration.Quick and dirty visualization - implicitplotThe fast and easy way to see a collection of curves in the x-y plane is to use the implicitplot command form the plots package. It lets you plot a series of curves without solving for x and y.implicitplot([y=x^2,y=x,x=0, x=2],x=-5..5,y=-5..5,axes=boxed);We can make the output easier to understand if we add a list of colors to identify the graphs.implicitplot([y=x^2,y=x,x=0, x=2],x=-5..5,y=-5..5,
axes=boxed, color=[red,blue, green, black]);From the graph, it is clear that we are interested in the region with x from 0 to 2 and y from 0 to 4.implicitplot([y=x^2,y=x,x=0, x=2],x=0..2,y=0..4,
axes=boxed, color=[red,blue, green, black]);Integrating with respect to y on the insideThe first block of code considers the case when we integrate with respect to y on the inside. Thus x ranges from the left end of the region to the right end of the region, and for a particular x, the value of y ranges from a bottom curve to a top curve. The integral should end with dydx.Initially we are only interested in setting up the integral.topcurve := x -> x^2;
bottomcurve:= x -> x;
leftend := 0; rightend := 2;
print("region for ", int(int(f(x,y),
y=bottomcurve(x)..topcurve(x)), x=leftend..rightend));It is important to note that the limits of integration work when we add in the "x=" and y=".Having the integrals correctly set up, we then check that the visualization works.topcurve := x -> x^2;
bottomcurve:= x -> x;
leftend := 0; rightend := 2;
print("region for ", int(int(f(x,y),
y=bottomcurve(x)..topcurve(x)), x=leftend..rightend));
lines := {}:
for i from 0 to 10 do
tempx := leftend + i/10*(rightend - leftend):
lines := lines union
{[[tempx,topcurve(tempx)], [tempx, bottomcurve(tempx)]]};
od:
plots[display]
([plot({[x, topcurve(x),x=leftend..rightend],
[x, bottomcurve(x),x=leftend..rightend]}),
plot(lines, color=BLACK)]); Notice that the code does not check to see which curve is on top.The graph has the lines that correspond to a particular value of x. This should remind you of the volume of revolution problems where you cut an area into thin rectangles to justify using an integral. Integrating with respect to x on the insideThe second block of code considers the case when we integrate with respect to x on the inside. Thus y ranges from the bottom end of the region to the top end of the region, and for a particular y, the value of x ranges from a left curve to a right curve. The integral should end with dxdy.
As above, we start by just trying to set up the integral, then looking at a longer block of code to see the integral and its visualization.leftcurve := y -> y^2 - 1;
rightcurve:= y -> y + 1;
bottomend := -1; topend := 2;
print(`region for `,
int(int(f(x,y),x=leftcurve(y)..rightcurve(y)), y=bottomend..topend));Since the inside variable is x, the top inside limits only get to use the variable y.leftcurve := y -> y^2 - 1;
rightcurve:= y -> y + 1;
bottomend := -1; topend := 2;
print(`region for `,
int(int(f(x,y),x=leftcurve(y)..rightcurve(y)), y=bottomend..topend));
lines := {}:
for i from 0 to 10 do
tempy := bottomend + i/10*(topend - bottomend):
lines := lines union
{[[leftcurve(tempy), tempy], [rightcurve(tempy),tempy]]};
od:
plots[display]([plot({[leftcurve(y),y,y=bottomend..topend],
[rightcurve(y),y,y=bottomend..topend]}),
plot(lines, color=BLACK)]); The lines in this case correspond to integrating for a particular value of y,Exercises:1) Define the limits of integration to define the double integral over the regions defined below. Modify the code above and check your work on 2 of those problems.(a) A triangle with vertices at (-1, 1), (-1, -2), and (3, -2).(b) A triangle with vertices at (0, 1), (2, 1), and (1, 3).(c) A quadrilateral with vertices at (1, 0), (4, 1), (4, 2), and (1, 2).2) For the integrals given below, sketch the region of integration and evaluate the integrals.(a) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiVGKy1GIzYpLUkobXN1YnN1cEdGJDYnLUkjbW9HRiQ2MFEoJiM4NzQ3O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRC8lKXN0cmV0Y2h5R0ZELyUqc3ltbWV0cmljR0ZELyUobGFyZ2VvcEdGRC8lLm1vdmFibGVsaW1pdHNHRkQvJSdhY2NlbnRHRkQvJSVmb3JtR0YuLyUnbHNwYWNlR1EkMGVtRicvJSdyc3BhY2VHRlUvJShtaW5zaXplR1EiMUYnLyUobWF4c2l6ZUdRKWluZmluaXR5RictSSNtbkdGJDYkRlpGQC1GaW42JFEiM0YnRkAvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMkYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGKy1GIzYoLUY6NidGPC1GaW42JFEiMEYnRkAtRmluNiRRIjRGJ0ZARl5vRmFvLUklbXN1cEdGJDYlLUY9NjBRLyZFeHBvbmVudGlhbEU7RidGQEZCRkVGR0ZJRktGTUZPL0ZSUSdwcmVmaXhGJ0ZTL0ZXUTJ2ZXJ5dGhpbm1hdGhzcGFjZUYnRlhGZW4tRiM2JS1GLDYlUSJ4RidGL0YyLUY9NjBRIitGJ0ZARkJGRUZHRklGS0ZNRk8vRlJRJmluZml4RicvRlRRMG1lZGl1bW1hdGhzcGFjZUYnL0ZXRmNxRlhGZW4tRiw2JVEieUYnRi9GMi9GX29GY29GKy1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC4zZW1GJy8lJmRlcHRoR0Zeci8lKmxpbmVicmVha0dRJWF1dG9GJy1GPTYwUTAmRGlmZmVyZW50aWFsRDtGJ0ZARkJGRUZHRklGS0ZNRk9GZHBGU0ZWRlhGZW5GZXFGK0ZpcUZnckZqcEYrLUY9NjBRIjtGJ0ZARkIvRkZGMUZHRklGS0ZNRk9GYHFGUy9GV1EvdGhpY2ttYXRoc3BhY2VGJ0ZYRmVu(b) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EhRicvJSdpdGFsaWNHUSV0cnVlRicvJStiYWNrZ3JvdW5kR1EoWzAsMCwwXUYnLyUwZm9udF9zdHlsZV9uYW1lR1EnTm9ybWFsRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiVGKy1GIzYpLUkobXN1YnN1cEdGJDYnLUkjbW9HRiQ2MFEoJiM4NzQ3O0YnL0Y5USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSi8lKXN0cmV0Y2h5R0ZKLyUqc3ltbWV0cmljR0ZKLyUobGFyZ2VvcEdGSi8lLm1vdmFibGVsaW1pdHNHRkovJSdhY2NlbnRHRkovJSVmb3JtR0YuLyUnbHNwYWNlR1EkMGVtRicvJSdyc3BhY2VHRmVuLyUobWluc2l6ZUdRIjFGJy8lKG1heHNpemVHUSlpbmZpbml0eUYnLUkjbW5HRiQ2JFEiMEYnRkYtRl9vNiRRIjJGJ0ZGLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjJGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRistRiM2KC1GQDYnRkJGXm8tRiw2JVEieEYnRi9GOEZlb0Zoby1JJW1zdXBHRiQ2JS1GQzYwUS8mRXhwb25lbnRpYWxFO0YnRkZGSEZLRk1GT0ZRRlNGVS9GWFEncHJlZml4RidGWS9GZ25RMnZlcnl0aGlubWF0aHNwYWNlRidGaG5GW28tRiM2Iy1GY3A2JUZfcEZiby9GZm9Gam9GYHFGKy1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC4zZW1GJy8lJmRlcHRoR0ZmcS8lKmxpbmVicmVha0dRJWF1dG9GJy1GQzYwUTAmRGlmZmVyZW50aWFsRDtGJ0ZGRkhGS0ZNRk9GUUZTRlVGaHBGWUZmbkZobkZbby1GLDYlUSJ5RidGL0Y4RitGYXFGX3JGX3BGKy1GQzYwUSI7RidGRkZIL0ZMRjFGTUZPRlFGU0ZVL0ZYUSZpbmZpeEYnRlkvRmduUS90aGlja21hdGhzcGFjZUYnRmhuRltv(c) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JlEhRicvJSdpdGFsaWNHUSV0cnVlRicvJTBmb250X3N0eWxlX25hbWVHUSdOb3JtYWxGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictRiM2JUYrLUYjNiktSShtc3Vic3VwR0YkNictSSNtb0dGJDYwUSgmIzg3NDc7RicvRjZRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZHLyUpc3RyZXRjaHlHRkcvJSpzeW1tZXRyaWNHRkcvJShsYXJnZW9wR0ZHLyUubW92YWJsZWxpbWl0c0dGRy8lJ2FjY2VudEdGRy8lJWZvcm1HRi4vJSdsc3BhY2VHUSQwZW1GJy8lJ3JzcGFjZUdGWC8lKG1pbnNpemVHUSIxRicvJShtYXhzaXplR1EpaW5maW5pdHlGJy1GIzYkLUZANjBRKiZ1bWludXMwO0YnRkNGRUZIRkpGTEZORlBGUi9GVVEncHJlZml4RidGVi9GWlEydmVyeXRoaW5tYXRoc3BhY2VGJ0ZlbkZobi1JI21uR0YkNiRRIjJGJ0ZDLUZlbzYkUSIwRidGQy8lMXN1cGVyc2NyaXB0c2hpZnRHUSIyRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0YrLUYjNiktRj02J0Y/LUYjNiRGXW8tSSZtc3FydEdGJDYjLUYjNiYtRmVvNiRRIjlGJ0ZDLUZANjBRKCZtaW51cztGJ0ZDRkVGSEZKRkxGTkZQRlIvRlVRJmluZml4RicvRldRMG1lZGl1bW1hdGhzcGFjZUYnL0ZaRmVxRmVuRmhuLUYjNiMtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GNUZkby9GXHBGYHBGK0Zob0ZbcEZecEYrLUYjNidGZG8tRkA2MFExJkludmlzaWJsZVRpbWVzO0YnRkNGRUZIRkpGTEZORlBGUkZicUZWRllGZW5GaG5GXHJGYnItRiw2JVEieUYnRi9GNUYrLUknbXNwYWNlR0YkNiYvJSdoZWlnaHRHUSYwLjBleEYnLyUmd2lkdGhHUSYwLjNlbUYnLyUmZGVwdGhHRl1zLyUqbGluZWJyZWFrR1ElYXV0b0YnLUZANjBRMCZEaWZmZXJlbnRpYWxEO0YnRkNGRUZIRkpGTEZORlBGUkZgb0ZWRllGZW5GaG5GZXJGK0ZockZmc0ZcckYrLUZANjBRIjtGJ0ZDRkUvRklGMUZKRkxGTkZQRlJGYnFGVi9GWlEvdGhpY2ttYXRoc3BhY2VGJ0ZlbkZobg==Changing the order of integrationThe book also has several problems where you are asked to switch the order of integration. In the exercise, this turns impossible integrals into simple ones. To switch from dydx to dxdy, the boundary curves start in the form y = f(x), and need to be converted to the form x = g(y).Consider, for example, the region with x between 0 and 4 bounded by y=2*x^2 and y = 4*sqrt(x). It is also the region with y between 0 and 8, bounded by the curves x=sqrt(y/2) and x= (y/4)^2. We first set up the two double integrals.topcurve := x -> 4*sqrt(x);
bottomcurve:= x -> x^2/2;
leftend := 0; rightend := 4;
print(`region for `, int(int(f(x,y),
y=bottomcurve(x)..topcurve(x)), x=leftend..rightend));
leftcurve := y -> sqrt(2*y);
rightcurve:= y -> (y/4)^2;
bottomend := 0; topend := 8;
print(`region for `,
int(int(f(x,y),x=leftcurve(y)..rightcurve(y)), y=bottomend..topend));Now we look at graphs with inner integration lines drawn in.topcurve := x -> 4*sqrt(x);
bottomcurve:= x -> x^2/2;
leftend := 0; rightend := 4;
print(`region for `, int(int(f(x,y),
y=bottomcurve(x)..topcurve(x)), x=leftend..rightend));
lines := {}:
for i from 0 to 10 do
tempx := leftend + i/10*(rightend - leftend):
lines := lines union
{[[tempx,topcurve(tempx)], [tempx, bottomcurve(tempx)]]};
od:
plots[display]
([plot({[x, topcurve(x),x=leftend..rightend],
[x, bottomcurve(x),x=leftend..rightend]}),
plot(lines, color=BLACK)]);numlines := 10:
leftcurve := y -> sqrt(2*y);
rightcurve:= y -> (y/4)^2;
bottomend := 0; topend := 8;
print(`region for `,
int(int(f(x,y),x=leftcurve(y)..rightcurve(y)), y=bottomend..topend));
lines := {}:
for i from 0 to 10 do
tempy := bottomend + i/10*(topend - bottomend):
lines := lines union
{[[leftcurve(tempy), tempy], [rightcurve(tempy),tempy]]};
od:
plots[display]([plot({[leftcurve(y),y,y=bottomend..topend],
[rightcurve(y),y,y=bottomend..topend]}),
plot(lines, color=BLACK)]); Notice that there is no easy formula for changing the limits on the region of integration. You need to look at the region, decide which curves are top and bottom, left and right, and solve for the appropriate variable.Exercise:3) For each of the integrals given below, reverse the order of integration and evaluate the integral. Use Maple to graph the region in both directions to check that you have the same region for both integrals.(a) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiVGKy1GIzYpLUkobXN1YnN1cEdGJDYnLUkjbW9HRiQ2MFEoJiM4NzQ3O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRC8lKXN0cmV0Y2h5R0ZELyUqc3ltbWV0cmljR0ZELyUobGFyZ2VvcEdGRC8lLm1vdmFibGVsaW1pdHNHRkQvJSdhY2NlbnRHRkQvJSVmb3JtR0YuLyUnbHNwYWNlR1EkMGVtRicvJSdyc3BhY2VHRlUvJShtaW5zaXplR1EiMUYnLyUobWF4c2l6ZUdRKWluZmluaXR5RictSSNtbkdGJDYkUSIwRidGQC1GaW42JEZaRkAvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMkYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGKy1GIzYoLUY6NidGPC1GLDYlUSJ5RidGL0YyRlxvRl5vRmFvLUklbXN1cEdGJDYlLUY9NjBRLyZFeHBvbmVudGlhbEU7RidGQEZCRkVGR0ZJRktGTUZPL0ZSUSdwcmVmaXhGJ0ZTL0ZXUTJ2ZXJ5dGhpbm1hdGhzcGFjZUYnRlhGZW4tRiM2Iy1GXHA2JS1GLDYlUSJ4RidGL0YyLUZpbjYkUSIyRidGQC9GX29GY29GX3FGKy1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC4zZW1GJy8lJmRlcHRoR0ZlcS8lKmxpbmVicmVha0dRJWF1dG9GJy1GPTYwUTAmRGlmZmVyZW50aWFsRDtGJ0ZARkJGRUZHRklGS0ZNRk9GYXBGU0ZWRlhGZW5GaXBGK0ZgcUZeckZob0YrLUY9NjBRIjtGJ0ZARkIvRkZGMUZHRklGS0ZNRk8vRlJRJmluZml4RidGUy9GV1EvdGhpY2ttYXRoc3BhY2VGJ0ZYRmVu(b) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EhRicvJSdpdGFsaWNHUSV0cnVlRicvJStiYWNrZ3JvdW5kR1EoWzAsMCwwXUYnLyUwZm9udF9zdHlsZV9uYW1lR1EnTm9ybWFsRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiVGKy1GIzYpLUkobXN1YnN1cEdGJDYnLUkjbW9HRiQ2MFEoJiM4NzQ3O0YnL0Y5USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSi8lKXN0cmV0Y2h5R0ZKLyUqc3ltbWV0cmljR0ZKLyUobGFyZ2VvcEdGSi8lLm1vdmFibGVsaW1pdHNHRkovJSdhY2NlbnRHRkovJSVmb3JtR0YuLyUnbHNwYWNlR1EkMGVtRicvJSdyc3BhY2VHRmVuLyUobWluc2l6ZUdRIjFGJy8lKG1heHNpemVHUSlpbmZpbml0eUYnLUkjbW5HRiQ2JFEiMEYnRkYtRl9vNiRRIjNGJ0ZGLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjJGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRistRiM2KS1GQDYnRkItRiM2Iy1JJW1zdXBHRiQ2JS1GLDYlUSJ5RidGL0Y4LUZfbzYkUSIyRidGRi9GZm9Gam8tRl9vNiRRIjlGJ0ZGRmVvRmhvRistRiM2JkZkcC1GQzYwUTEmSW52aXNpYmxlVGltZXM7RidGRkZIRktGTUZPRlFGU0ZVL0ZYUSZpbmZpeEYnRllGZm5GaG5GW28tRiM2JS1GLDYlUSRzaW5GJy9GMEZKRkYtRkM2MFEwJkFwcGx5RnVuY3Rpb247RidGRkZIRktGTUZPRlFGU0ZVRmNxRllGZm5GaG5GW28tSShtZmVuY2VkR0YkNiQtRiM2JUYrLUYjNiMtRmJwNiUtRiw2JVEieEYnRi9GOC1GX282JFEiNkYnRkZGanBGK0ZGRitGKy1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC4zZW1GJy8lJmRlcHRoR0Zicy8lKmxpbmVicmVha0dRJWF1dG9GJy1GQzYwUTAmRGlmZmVyZW50aWFsRDtGJ0ZGRkhGS0ZNRk9GUUZTRlUvRlhRJ3ByZWZpeEYnRllGZm5GaG5GW29GZ3JGK0Zdc0ZbdEZkcEYrLUZDNjBRIjtGJ0ZGRkgvRkxGMUZNRk9GUUZTRlVGY3FGWS9GZ25RL3RoaWNrbWF0aHNwYWNlRidGaG5GW28=(c) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2J1EhRicvJSdpdGFsaWNHUSV0cnVlRicvJStiYWNrZ3JvdW5kR1EoWzAsMCwwXUYnLyUwZm9udF9zdHlsZV9uYW1lR1EnTm9ybWFsRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiVGKy1GIzYpLUkobXN1YnN1cEdGJDYnLUkjbW9HRiQ2MFEoJiM4NzQ3O0YnL0Y5USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSi8lKXN0cmV0Y2h5R0ZKLyUqc3ltbWV0cmljR0ZKLyUobGFyZ2VvcEdGSi8lLm1vdmFibGVsaW1pdHNHRkovJSdhY2NlbnRHRkovJSVmb3JtR0YuLyUnbHNwYWNlR1EkMGVtRicvJSdyc3BhY2VHRmVuLyUobWluc2l6ZUdRIjFGJy8lKG1heHNpemVHUSlpbmZpbml0eUYnLUkjbW5HRiQ2JFEiMEYnRkYtRl9vNiRGam5GRi8lMXN1cGVyc2NyaXB0c2hpZnRHUSIyRicvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0YrLUYjNigtRkA2J0ZCLUkmbXNxcnRHRiQ2Iy1GLDYlUSJ5RidGL0Y4RmJvRmRvRmdvLUZfcDYjLUYjNiYtRl9vNiRRIjJGJ0ZGLUZDNjBRIitGJ0ZGRkhGS0ZNRk9GUUZTRlUvRlhRJmluZml4RicvRlpRMG1lZGl1bW1hdGhzcGFjZUYnL0ZnbkZhcUZobkZbby1GIzYjLUklbXN1cEdGJDYlLUYsNiVRInhGJ0YvRjgtRl9vNiRRIjNGJ0ZGL0Zlb0Zpb0YrRistSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdRJjAuM2VtRicvJSZkZXB0aEdGZHIvJSpsaW5lYnJlYWtHUSVhdXRvRictRkM2MFEwJkRpZmZlcmVudGlhbEQ7RidGRkZIRktGTUZPRlFGU0ZVL0ZYUSdwcmVmaXhGJ0ZZRmZuRmhuRltvRmhxRitGX3JGXXNGYXBGKy1GQzYwUSI7RidGRkZIL0ZMRjFGTUZPRlFGU0ZVRl5xRlkvRmduUS90aGlja21hdGhzcGFjZUYnRmhuRltv