Calculating dependencies
* IMPORTANT: 5 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-ruby/rmagick-2.13.1
* RMagick-2.13.1.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
* Running unpack phase for all ...
>>> Unpacking RMagick-2.13.1.tar.bz2 to /var/tmp/portage/dev-ruby/rmagick-2.13.1/work/all
>>> Source unpacked in /var/tmp/portage/dev-ruby/rmagick-2.13.1/work
>>> Preparing source in /var/tmp/portage/dev-ruby/rmagick-2.13.1/work ...
* Running prepare phase for all ...
* Running source copy phase for ruby18 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-ruby/rmagick-2.13.1/work ...
* Running configure phase for ruby18 ...
/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1/ext/RMagick /var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1 /var/tmp/portage/dev-ruby/rmagick-2.13.1/work
checking for Ruby version >= 1.8.5... yes
checking for x86_64-pc-linux-gnu-gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for InitializeMagick() in -lMagickCore... yes
checking for snprintf() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AcquireImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AffinityImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AffinityImages() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AutoGammaImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AutoLevelImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for BlueShiftImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for ConstituteComponentTerminus() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for DeskewImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for EncipherImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for EqualizeImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for FloodfillPaintImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for FunctionImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for GetAuthenticIndexQueue() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for GetAuthenticPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for GetImageAlphaChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for GetVirtualPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for LevelImageColors() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for LevelColorsImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for LevelizeImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for LiquidRescaleImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for MagickLibAddendum() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for OpaquePaintImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for QueueAuthenticPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for RemapImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for RemoveImageArtifact() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for SelectiveBlurImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for SetImageAlphaChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for SetImageArtifact() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for SetMagickMemoryMethods() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for SparseColorImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for SyncAuthenticPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for TransparentPaintImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for TransparentPaintImageChroma() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for QueryMagickColorname() new signature... yes
checking for Image.type in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for DrawInfo.kerning in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for DrawInfo.interline_spacing in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for DrawInfo.interword_spacing in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for DitherMethod in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for MagickFunction in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for ImageLayerMethod in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for long double in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes
checking for AlphaChannelType.CopyAlphaChannel... yes
checking for AlphaChannelType.BackgroundAlphaChannel... yes
checking for CompositeOperator.BlurCompositeOp... yes
checking for CompositeOperator.DistortCompositeOp... yes
checking for CompositeOperator.LinearBurnCompositeOp... yes
checking for CompositeOperator.LinearDodgeCompositeOp... yes
checking for CompositeOperator.MathematicsCompositeOp... yes
checking for CompositeOperator.PegtopLightCompositeOp... yes
checking for CompositeOperator.PinLightCompositeOp... yes
checking for CompositeOperator.VividLightCompositeOp... yes
checking for CompressionType.DXT1Compression... yes
checking for CompressionType.DXT3Compression... yes
checking for CompressionType.DXT5Compression... yes
checking for CompressionType.ZipSCompression... yes
checking for CompressionType.PizCompression... yes
checking for CompressionType.Pxr24Compression... yes
checking for CompressionType.B44Compression... yes
checking for CompressionType.B44ACompression... yes
checking for DistortImageMethod.BarrelDistortion... yes
checking for DistortImageMethod.BarrelInverseDistortion... yes
checking for DistortImageMethod.BilinearForwardDistortion... yes
checking for DistortImageMethod.BilinearReverseDistortion... yes
checking for DistortImageMethod.DePolarDistortion... yes
checking for DistortImageMethod.PolarDistortion... yes
checking for DistortImageMethod.PolynomialDistortion... yes
checking for DistortImageMethod.ShepardsDistortion... yes
checking for DitherMethod.NoDitherMethod... yes
checking for FilterTypes.KaiserFilter... yes
checking for FilterTypes.WelshFilter... yes
checking for FilterTypes.ParzenFilter... yes
checking for FilterTypes.LagrangeFilter... yes
checking for FilterTypes.BohmanFilter... yes
checking for FilterTypes.BartlettFilter... yes
checking for FilterTypes.SentinelFilter... yes
checking for MagickEvaluateOperator.PowEvaluateOperator... yes
checking for MagickEvaluateOperator.LogEvaluateOperator... yes
checking for MagickEvaluateOperator.ThresholdEvaluateOperator... yes
checking for MagickEvaluateOperator.ThresholdBlackEvaluateOperator... yes
checking for MagickEvaluateOperator.ThresholdWhiteEvaluateOperator... yes
checking for MagickEvaluateOperator.GaussianNoiseEvaluateOperator... yes
checking for MagickEvaluateOperator.ImpulseNoiseEvaluateOperator... yes
checking for MagickEvaluateOperator.LaplacianNoiseEvaluateOperator... yes
checking for MagickEvaluateOperator.MultiplicativeNoiseEvaluateOperator... yes
checking for MagickEvaluateOperator.PoissonNoiseEvaluateOperator... yes
checking for MagickEvaluateOperator.UniformNoiseEvaluateOperator... yes
checking for MagickEvaluateOperator.CosineEvaluateOperator... yes
checking for MagickEvaluateOperator.SineEvaluateOperator... yes
checking for MagickEvaluateOperator.AddModulusEvaluateOperator... yes
checking for MagickFunction.ArcsinFunction... yes
checking for MagickFunction.ArctanFunction... yes
checking for MagickFunction.PolynomialFunction... yes
checking for MagickFunction.SinusoidFunction... yes
checking for ImageLayerMethod.FlattenLayer... yes
checking for ImageLayerMethod.MergeLayer... yes
checking for ImageLayerMethod.MosaicLayer... yes
checking for ImageLayerMethod.TrimBoundsLayer... yes
checking for VirtualPixelMethod.HorizontalTileVirtualPixelMethod... yes
checking for VirtualPixelMethod.VerticalTileVirtualPixelMethod... yes
checking for VirtualPixelMethod.HorizontalTileEdgeVirtualPixelMethod... yes
checking for VirtualPixelMethod.VerticalTileEdgeVirtualPixelMethod... yes
checking for VirtualPixelMethod.CheckerTileVirtualPixelMethod... yes
checking for ruby/io.h... no
checking for rb_frame_this_func() in ruby.h,rubyio.h... yes
creating extconf.h
creating Makefile
======================================================================
Sun 11Nov12 11:00:28
This installation of RMagick 2.13.1 is configured for
Ruby 1.8.7 (x86_64-linux) and ImageMagick 6.7.8 Q64
======================================================================
/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1 /var/tmp/portage/dev-ruby/rmagick-2.13.1/work
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-ruby/rmagick-2.13.1/work ...
* Running compile phase for ruby18 ...
/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1/ext/RMagick /var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1 /var/tmp/portage/dev-ruby/rmagick-2.13.1/work
make -j5
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmutil.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmdraw.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmenum.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmmain.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmagick.c
rmmain.c: В функции ‘Init_RMagick2’:
rmmain.c:821:5: предупреждение: переполнение при неявном преобразовании константы
rmmain.c:822:5: предупреждение: переполнение при неявном преобразовании константы
rmmain.c:825:5: предупреждение: переполнение при неявном преобразовании константы
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmstruct.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmfill.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmpixel.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rminfo.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmilist.c
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmimage.c
rmilist.c: В функции ‘ImageList_map’:
rmilist.c:448:5: предупреждение: ‘MapImages’ is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:197)
rmimage.c: В функции ‘Image_map’:
rmimage.c:8155:5: предупреждение: ‘MapImage’ is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:195)
rmimage.c: В функции ‘Image_pixel_color’:
rmimage.c:9818:40: ошибка: индекс массива не является целым значением
rmimage.c: В функции ‘Image_recolor’:
rmimage.c:10701:5: предупреждение: ‘RecolorImage’ is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:139)
rmimage.c: В функции ‘Image_class_type_eq’:
rmimage.c:12648:9: предупреждение: переполнение при неявном преобразовании константы
x86_64-pc-linux-gnu-gcc -I. -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -fopenmp -I/usr/include/ImageMagick -fPIC -O2 -pipe -march=native -fopenmp -I/usr/include/ImageMagick -c rmmontage.c
make: *** [rmimage.o] Ошибка 1
make: *** Ожидание завершения заданий...
emake failed
* ERROR: dev-ruby/rmagick-2.13.1 failed (compile phase):
* emake failed
*
* Call stack:
* ebuild.sh, line 85: Called src_compile
* environment, line 4348: Called ruby-ng_src_compile
* environment, line 4012: Called _ruby_each_implementation 'each_ruby_compile'
* environment, line 376: Called _ruby_invoke_environment 'ruby18' 'each_ruby_compile'
* environment, line 428: Called each_ruby_compile
* environment, line 709: Called die
* The specific snippet of code:
* emake || die "emake failed";
*
* If you need support, post the output of `emerge --info '=dev-ruby/rmagick-2.13.1'`,
* the complete build log and the output of `emerge -pqv '=dev-ruby/rmagick-2.13.1'`.
!!! When you file a bug report, please include the following information:
GENTOO_VM= CLASSPATH="" JAVA_HOME=""
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info
* The complete build log is located at '/var/tmp/portage/dev-ruby/rmagick-2.13.1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-ruby/rmagick-2.13.1/temp/environment'.
* Working directory: '/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1/ext/RMagick'
* S: '/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1'
>>> Failed to emerge dev-ruby/rmagick-2.13.1, Log file:
>>> '/var/tmp/portage/dev-ruby/rmagick-2.13.1/temp/build.log'
* Messages for package dev-ruby/rmagick-2.13.1:
* ERROR: dev-ruby/rmagick-2.13.1 failed (compile phase):
* emake failed
*
* Call stack:
* ebuild.sh, line 85: Called src_compile
* environment, line 4348: Called ruby-ng_src_compile
* environment, line 4012: Called _ruby_each_implementation 'each_ruby_compile'
* environment, line 376: Called _ruby_invoke_environment 'ruby18' 'each_ruby_compile'
* environment, line 428: Called each_ruby_compile
* environment, line 709: Called die
* The specific snippet of code:
* emake || die "emake failed";
*
* If you need support, post the output of `emerge --info '=dev-ruby/rmagick-2.13.1'`,
* the complete build log and the output of `emerge -pqv '=dev-ruby/rmagick-2.13.1'`.
* The complete build log is located at '/var/tmp/portage/dev-ruby/rmagick-2.13.1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-ruby/rmagick-2.13.1/temp/environment'.
* Working directory: '/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1/ext/RMagick'
* S: '/var/tmp/portage/dev-ruby/rmagick-2.13.1/work/ruby18/RMagick-2.13.1'
Q2FsY3VsYXRpbmcgZGVwZW5kZW5jaWVzICAKICogSU1QT1JUQU5UOiA1IG5ld3MgaXRlbXMgbmVlZCByZWFkaW5nIGZvciByZXBvc2l0b3J5ICdnZW50b28nLgogKiBVc2UgZXNlbGVjdCBuZXdzIHRvIHJlYWQgbmV3cyBpdGVtcy4KCi4uLiBkb25lIQoKPj4+IFZlcmlmeWluZyBlYnVpbGQgbWFuaWZlc3RzCgo+Pj4gRW1lcmdpbmcgKDEgb2YgMSkgZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEKICogUk1hZ2ljay0yLjEzLjEudGFyLmJ6MiBTSEEyNTYgU0hBNTEyIFdISVJMUE9PTCBzaXplIDstKSAuLi4gICAgICAgICAgIFsgb2sgXQo+Pj4gVW5wYWNraW5nIHNvdXJjZS4uLgogKiBSdW5uaW5nIHVucGFjayBwaGFzZSBmb3IgYWxsIC4uLgo+Pj4gVW5wYWNraW5nIFJNYWdpY2stMi4xMy4xLnRhci5iejIgdG8gL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS93b3JrL2FsbAo+Pj4gU291cmNlIHVucGFja2VkIGluIC92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvd29yawo+Pj4gUHJlcGFyaW5nIHNvdXJjZSBpbiAvdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3dvcmsgLi4uCiAqIFJ1bm5pbmcgcHJlcGFyZSBwaGFzZSBmb3IgYWxsIC4uLgogKiBSdW5uaW5nIHNvdXJjZSBjb3B5IHBoYXNlIGZvciBydWJ5MTggLi4uCj4+PiBTb3VyY2UgcHJlcGFyZWQuCj4+PiBDb25maWd1cmluZyBzb3VyY2UgaW4gL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS93b3JrIC4uLgogKiBSdW5uaW5nIGNvbmZpZ3VyZSBwaGFzZSBmb3IgcnVieTE4IC4uLgovdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3dvcmsvcnVieTE4L1JNYWdpY2stMi4xMy4xL2V4dC9STWFnaWNrIC92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvd29yay9ydWJ5MTgvUk1hZ2ljay0yLjEzLjEgL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS93b3JrCmNoZWNraW5nIGZvciBSdWJ5IHZlcnNpb24gPj0gMS44LjUuLi4geWVzCmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWdjYy4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2ljay1jb25maWcuLi4geWVzCmNoZWNraW5nIGZvciBJbWFnZU1hZ2ljayB2ZXJzaW9uID49IDYuNC45Li4uIHllcwpjaGVja2luZyBmb3IgSERSSSBkaXNhYmxlZCB2ZXJzaW9uIG9mIEltYWdlTWFnaWNrLi4uIHllcwpjaGVja2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgSW5pdGlhbGl6ZU1hZ2ljaygpIGluIC1sTWFnaWNrQ29yZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIHNucHJpbnRmKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBBY3F1aXJlSW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEFmZmluaXR5SW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEFmZmluaXR5SW1hZ2VzKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBBdXRvR2FtbWFJbWFnZUNoYW5uZWwoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEF1dG9MZXZlbEltYWdlQ2hhbm5lbCgpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgQmx1ZVNoaWZ0SW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIENvbnN0aXR1dGVDb21wb25lbnRUZXJtaW51cygpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgRGVza2V3SW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEVuY2lwaGVySW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEVxdWFsaXplSW1hZ2VDaGFubmVsKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBGbG9vZGZpbGxQYWludEltYWdlKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBGdW5jdGlvbkltYWdlQ2hhbm5lbCgpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgR2V0QXV0aGVudGljSW5kZXhRdWV1ZSgpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgR2V0QXV0aGVudGljUGl4ZWxzKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBHZXRJbWFnZUFscGhhQ2hhbm5lbCgpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgR2V0VmlydHVhbFBpeGVscygpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgTGV2ZWxJbWFnZUNvbG9ycygpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgTGV2ZWxDb2xvcnNJbWFnZUNoYW5uZWwoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIExldmVsaXplSW1hZ2VDaGFubmVsKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBMaXF1aWRSZXNjYWxlSW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0xpYkFkZGVuZHVtKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBPcGFxdWVQYWludEltYWdlQ2hhbm5lbCgpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgUXVldWVBdXRoZW50aWNQaXhlbHMoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIFJlbWFwSW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIFJlbW92ZUltYWdlQXJ0aWZhY3QoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIFNlbGVjdGl2ZUJsdXJJbWFnZUNoYW5uZWwoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIFNldEltYWdlQWxwaGFDaGFubmVsKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBTZXRJbWFnZUFydGlmYWN0KCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBTZXRNYWdpY2tNZW1vcnlNZXRob2RzKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBTcGFyc2VDb2xvckltYWdlKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBTeW5jQXV0aGVudGljUGl4ZWxzKCkgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBUcmFuc3BhcmVudFBhaW50SW1hZ2UoKSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIFRyYW5zcGFyZW50UGFpbnRJbWFnZUNocm9tYSgpIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgUXVlcnlNYWdpY2tDb2xvcm5hbWUoKSBuZXcgc2lnbmF0dXJlLi4uIHllcwpjaGVja2luZyBmb3IgSW1hZ2UudHlwZSBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIERyYXdJbmZvLmtlcm5pbmcgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBEcmF3SW5mby5pbnRlcmxpbmVfc3BhY2luZyBpbiBhc3NlcnQuaCxjdHlwZS5oLHN0ZGlvLmgsc3RkbGliLmgsbWF0aC5oLHRpbWUuaCxzdGRpbnQuaCxzeXMvdHlwZXMuaCx3YW5kL01hZ2lja1dhbmQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIERyYXdJbmZvLmludGVyd29yZF9zcGFjaW5nIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgRGl0aGVyTWV0aG9kIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgTWFnaWNrRnVuY3Rpb24gaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBJbWFnZUxheWVyTWV0aG9kIGluIGFzc2VydC5oLGN0eXBlLmgsc3RkaW8uaCxzdGRsaWIuaCxtYXRoLmgsdGltZS5oLHN0ZGludC5oLHN5cy90eXBlcy5oLHdhbmQvTWFnaWNrV2FuZC5oLi4uIHllcwpjaGVja2luZyBmb3IgbG9uZyBkb3VibGUgaW4gYXNzZXJ0LmgsY3R5cGUuaCxzdGRpby5oLHN0ZGxpYi5oLG1hdGguaCx0aW1lLmgsc3RkaW50Lmgsc3lzL3R5cGVzLmgsd2FuZC9NYWdpY2tXYW5kLmguLi4geWVzCmNoZWNraW5nIGZvciBBbHBoYUNoYW5uZWxUeXBlLkNvcHlBbHBoYUNoYW5uZWwuLi4geWVzCmNoZWNraW5nIGZvciBBbHBoYUNoYW5uZWxUeXBlLkJhY2tncm91bmRBbHBoYUNoYW5uZWwuLi4geWVzCmNoZWNraW5nIGZvciBDb21wb3NpdGVPcGVyYXRvci5CbHVyQ29tcG9zaXRlT3AuLi4geWVzCmNoZWNraW5nIGZvciBDb21wb3NpdGVPcGVyYXRvci5EaXN0b3J0Q29tcG9zaXRlT3AuLi4geWVzCmNoZWNraW5nIGZvciBDb21wb3NpdGVPcGVyYXRvci5MaW5lYXJCdXJuQ29tcG9zaXRlT3AuLi4geWVzCmNoZWNraW5nIGZvciBDb21wb3NpdGVPcGVyYXRvci5MaW5lYXJEb2RnZUNvbXBvc2l0ZU9wLi4uIHllcwpjaGVja2luZyBmb3IgQ29tcG9zaXRlT3BlcmF0b3IuTWF0aGVtYXRpY3NDb21wb3NpdGVPcC4uLiB5ZXMKY2hlY2tpbmcgZm9yIENvbXBvc2l0ZU9wZXJhdG9yLlBlZ3RvcExpZ2h0Q29tcG9zaXRlT3AuLi4geWVzCmNoZWNraW5nIGZvciBDb21wb3NpdGVPcGVyYXRvci5QaW5MaWdodENvbXBvc2l0ZU9wLi4uIHllcwpjaGVja2luZyBmb3IgQ29tcG9zaXRlT3BlcmF0b3IuVml2aWRMaWdodENvbXBvc2l0ZU9wLi4uIHllcwpjaGVja2luZyBmb3IgQ29tcHJlc3Npb25UeXBlLkRYVDFDb21wcmVzc2lvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIENvbXByZXNzaW9uVHlwZS5EWFQzQ29tcHJlc3Npb24uLi4geWVzCmNoZWNraW5nIGZvciBDb21wcmVzc2lvblR5cGUuRFhUNUNvbXByZXNzaW9uLi4uIHllcwpjaGVja2luZyBmb3IgQ29tcHJlc3Npb25UeXBlLlppcFNDb21wcmVzc2lvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIENvbXByZXNzaW9uVHlwZS5QaXpDb21wcmVzc2lvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIENvbXByZXNzaW9uVHlwZS5QeHIyNENvbXByZXNzaW9uLi4uIHllcwpjaGVja2luZyBmb3IgQ29tcHJlc3Npb25UeXBlLkI0NENvbXByZXNzaW9uLi4uIHllcwpjaGVja2luZyBmb3IgQ29tcHJlc3Npb25UeXBlLkI0NEFDb21wcmVzc2lvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIERpc3RvcnRJbWFnZU1ldGhvZC5CYXJyZWxEaXN0b3J0aW9uLi4uIHllcwpjaGVja2luZyBmb3IgRGlzdG9ydEltYWdlTWV0aG9kLkJhcnJlbEludmVyc2VEaXN0b3J0aW9uLi4uIHllcwpjaGVja2luZyBmb3IgRGlzdG9ydEltYWdlTWV0aG9kLkJpbGluZWFyRm9yd2FyZERpc3RvcnRpb24uLi4geWVzCmNoZWNraW5nIGZvciBEaXN0b3J0SW1hZ2VNZXRob2QuQmlsaW5lYXJSZXZlcnNlRGlzdG9ydGlvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIERpc3RvcnRJbWFnZU1ldGhvZC5EZVBvbGFyRGlzdG9ydGlvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIERpc3RvcnRJbWFnZU1ldGhvZC5Qb2xhckRpc3RvcnRpb24uLi4geWVzCmNoZWNraW5nIGZvciBEaXN0b3J0SW1hZ2VNZXRob2QuUG9seW5vbWlhbERpc3RvcnRpb24uLi4geWVzCmNoZWNraW5nIGZvciBEaXN0b3J0SW1hZ2VNZXRob2QuU2hlcGFyZHNEaXN0b3J0aW9uLi4uIHllcwpjaGVja2luZyBmb3IgRGl0aGVyTWV0aG9kLk5vRGl0aGVyTWV0aG9kLi4uIHllcwpjaGVja2luZyBmb3IgRmlsdGVyVHlwZXMuS2Fpc2VyRmlsdGVyLi4uIHllcwpjaGVja2luZyBmb3IgRmlsdGVyVHlwZXMuV2Vsc2hGaWx0ZXIuLi4geWVzCmNoZWNraW5nIGZvciBGaWx0ZXJUeXBlcy5QYXJ6ZW5GaWx0ZXIuLi4geWVzCmNoZWNraW5nIGZvciBGaWx0ZXJUeXBlcy5MYWdyYW5nZUZpbHRlci4uLiB5ZXMKY2hlY2tpbmcgZm9yIEZpbHRlclR5cGVzLkJvaG1hbkZpbHRlci4uLiB5ZXMKY2hlY2tpbmcgZm9yIEZpbHRlclR5cGVzLkJhcnRsZXR0RmlsdGVyLi4uIHllcwpjaGVja2luZyBmb3IgRmlsdGVyVHlwZXMuU2VudGluZWxGaWx0ZXIuLi4geWVzCmNoZWNraW5nIGZvciBNYWdpY2tFdmFsdWF0ZU9wZXJhdG9yLlBvd0V2YWx1YXRlT3BlcmF0b3IuLi4geWVzCmNoZWNraW5nIGZvciBNYWdpY2tFdmFsdWF0ZU9wZXJhdG9yLkxvZ0V2YWx1YXRlT3BlcmF0b3IuLi4geWVzCmNoZWNraW5nIGZvciBNYWdpY2tFdmFsdWF0ZU9wZXJhdG9yLlRocmVzaG9sZEV2YWx1YXRlT3BlcmF0b3IuLi4geWVzCmNoZWNraW5nIGZvciBNYWdpY2tFdmFsdWF0ZU9wZXJhdG9yLlRocmVzaG9sZEJsYWNrRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuVGhyZXNob2xkV2hpdGVFdmFsdWF0ZU9wZXJhdG9yLi4uIHllcwpjaGVja2luZyBmb3IgTWFnaWNrRXZhbHVhdGVPcGVyYXRvci5HYXVzc2lhbk5vaXNlRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuSW1wdWxzZU5vaXNlRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuTGFwbGFjaWFuTm9pc2VFdmFsdWF0ZU9wZXJhdG9yLi4uIHllcwpjaGVja2luZyBmb3IgTWFnaWNrRXZhbHVhdGVPcGVyYXRvci5NdWx0aXBsaWNhdGl2ZU5vaXNlRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuUG9pc3Nvbk5vaXNlRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuVW5pZm9ybU5vaXNlRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuQ29zaW5lRXZhbHVhdGVPcGVyYXRvci4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0V2YWx1YXRlT3BlcmF0b3IuU2luZUV2YWx1YXRlT3BlcmF0b3IuLi4geWVzCmNoZWNraW5nIGZvciBNYWdpY2tFdmFsdWF0ZU9wZXJhdG9yLkFkZE1vZHVsdXNFdmFsdWF0ZU9wZXJhdG9yLi4uIHllcwpjaGVja2luZyBmb3IgTWFnaWNrRnVuY3Rpb24uQXJjc2luRnVuY3Rpb24uLi4geWVzCmNoZWNraW5nIGZvciBNYWdpY2tGdW5jdGlvbi5BcmN0YW5GdW5jdGlvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0Z1bmN0aW9uLlBvbHlub21pYWxGdW5jdGlvbi4uLiB5ZXMKY2hlY2tpbmcgZm9yIE1hZ2lja0Z1bmN0aW9uLlNpbnVzb2lkRnVuY3Rpb24uLi4geWVzCmNoZWNraW5nIGZvciBJbWFnZUxheWVyTWV0aG9kLkZsYXR0ZW5MYXllci4uLiB5ZXMKY2hlY2tpbmcgZm9yIEltYWdlTGF5ZXJNZXRob2QuTWVyZ2VMYXllci4uLiB5ZXMKY2hlY2tpbmcgZm9yIEltYWdlTGF5ZXJNZXRob2QuTW9zYWljTGF5ZXIuLi4geWVzCmNoZWNraW5nIGZvciBJbWFnZUxheWVyTWV0aG9kLlRyaW1Cb3VuZHNMYXllci4uLiB5ZXMKY2hlY2tpbmcgZm9yIFZpcnR1YWxQaXhlbE1ldGhvZC5Ib3Jpem9udGFsVGlsZVZpcnR1YWxQaXhlbE1ldGhvZC4uLiB5ZXMKY2hlY2tpbmcgZm9yIFZpcnR1YWxQaXhlbE1ldGhvZC5WZXJ0aWNhbFRpbGVWaXJ0dWFsUGl4ZWxNZXRob2QuLi4geWVzCmNoZWNraW5nIGZvciBWaXJ0dWFsUGl4ZWxNZXRob2QuSG9yaXpvbnRhbFRpbGVFZGdlVmlydHVhbFBpeGVsTWV0aG9kLi4uIHllcwpjaGVja2luZyBmb3IgVmlydHVhbFBpeGVsTWV0aG9kLlZlcnRpY2FsVGlsZUVkZ2VWaXJ0dWFsUGl4ZWxNZXRob2QuLi4geWVzCmNoZWNraW5nIGZvciBWaXJ0dWFsUGl4ZWxNZXRob2QuQ2hlY2tlclRpbGVWaXJ0dWFsUGl4ZWxNZXRob2QuLi4geWVzCmNoZWNraW5nIGZvciBydWJ5L2lvLmguLi4gbm8KY2hlY2tpbmcgZm9yIHJiX2ZyYW1lX3RoaXNfZnVuYygpIGluIHJ1YnkuaCxydWJ5aW8uaC4uLiB5ZXMKY3JlYXRpbmcgZXh0Y29uZi5oCmNyZWF0aW5nIE1ha2VmaWxlCgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpTdW4gMTFOb3YxMiAxMTowMDoyOApUaGlzIGluc3RhbGxhdGlvbiBvZiBSTWFnaWNrIDIuMTMuMSBpcyBjb25maWd1cmVkIGZvcgpSdWJ5IDEuOC43ICh4ODZfNjQtbGludXgpIGFuZCBJbWFnZU1hZ2ljayA2LjcuOCBRNjQgCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCgovdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3dvcmsvcnVieTE4L1JNYWdpY2stMi4xMy4xIC92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvd29yawo+Pj4gU291cmNlIGNvbmZpZ3VyZWQuCj4+PiBDb21waWxpbmcgc291cmNlIGluIC92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvd29yayAuLi4KICogUnVubmluZyBjb21waWxlIHBoYXNlIGZvciBydWJ5MTggLi4uCi92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvd29yay9ydWJ5MTgvUk1hZ2ljay0yLjEzLjEvZXh0L1JNYWdpY2sgL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS93b3JrL3J1YnkxOC9STWFnaWNrLTIuMTMuMSAvdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3dvcmsKbWFrZSAtajUgCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtdXRpbC5jCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtZHJhdy5jCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtZW51bS5jCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtbWFpbi5jCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtYWdpY2suYwpybW1haW4uYzog0JIg0YTRg9C90LrRhtC40Lgg4oCYSW5pdF9STWFnaWNrMuKAmToKcm1tYWluLmM6ODIxOjU6INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0LXRgNC10L/QvtC70L3QtdC90LjQtSDQv9GA0Lgg0L3QtdGP0LLQvdC+0Lwg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjQuCDQutC+0L3RgdGC0LDQvdGC0YsKcm1tYWluLmM6ODIyOjU6INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0LXRgNC10L/QvtC70L3QtdC90LjQtSDQv9GA0Lgg0L3QtdGP0LLQvdC+0Lwg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjQuCDQutC+0L3RgdGC0LDQvdGC0YsKcm1tYWluLmM6ODI1OjU6INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0LXRgNC10L/QvtC70L3QtdC90LjQtSDQv9GA0Lgg0L3QtdGP0LLQvdC+0Lwg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjQuCDQutC+0L3RgdGC0LDQvdGC0YsKeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLUkuIC1JLiAtSS91c3IvbGliNjQvcnVieS8xLjgveDg2XzY0LWxpbnV4IC1JLiAtRFJVQllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLWZQSUMgLU8yIC1waXBlIC1tYXJjaD1uYXRpdmUgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAgLWMgcm1zdHJ1Y3QuYwp4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtSS4gLUkuIC1JL3Vzci9saWI2NC9ydWJ5LzEuOC94ODZfNjQtbGludXggLUkuIC1EUlVCWV9FWFRDT05GX0g9XCJleHRjb25mLmhcIiAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtZlBJQyAtTzIgLXBpcGUgLW1hcmNoPW5hdGl2ZSAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgICAtYyBybWZpbGwuYwp4ODZfNjQtcGMtbGludXgtZ251LWdjYyAtSS4gLUkuIC1JL3Vzci9saWI2NC9ydWJ5LzEuOC94ODZfNjQtbGludXggLUkuIC1EUlVCWV9FWFRDT05GX0g9XCJleHRjb25mLmhcIiAgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAtZlBJQyAtTzIgLXBpcGUgLW1hcmNoPW5hdGl2ZSAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgICAtYyBybXBpeGVsLmMKeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLUkuIC1JLiAtSS91c3IvbGliNjQvcnVieS8xLjgveDg2XzY0LWxpbnV4IC1JLiAtRFJVQllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLWZQSUMgLU8yIC1waXBlIC1tYXJjaD1uYXRpdmUgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAgLWMgcm1pbmZvLmMKeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgLUkuIC1JLiAtSS91c3IvbGliNjQvcnVieS8xLjgveDg2XzY0LWxpbnV4IC1JLiAtRFJVQllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIgIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgLWZQSUMgLU8yIC1waXBlIC1tYXJjaD1uYXRpdmUgLWZvcGVubXAgLUkvdXNyL2luY2x1ZGUvSW1hZ2VNYWdpY2sgICAgLWMgcm1pbGlzdC5jCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtaW1hZ2UuYwpybWlsaXN0LmM6INCSINGE0YPQvdC60YbQuNC4IOKAmEltYWdlTGlzdF9tYXDigJk6CnJtaWxpc3QuYzo0NDg6NTog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog4oCYTWFwSW1hZ2Vz4oCZIGlzIGRlcHJlY2F0ZWQgKGRlY2xhcmVkIGF0IC91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljay9tYWdpY2svZGVwcmVjYXRlLmg6MTk3KQpybWltYWdlLmM6INCSINGE0YPQvdC60YbQuNC4IOKAmEltYWdlX21hcOKAmToKcm1pbWFnZS5jOjgxNTU6NTog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog4oCYTWFwSW1hZ2XigJkgaXMgZGVwcmVjYXRlZCAoZGVjbGFyZWQgYXQgL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrL21hZ2ljay9kZXByZWNhdGUuaDoxOTUpCnJtaW1hZ2UuYzog0JIg0YTRg9C90LrRhtC40Lgg4oCYSW1hZ2VfcGl4ZWxfY29sb3LigJk6CnJtaW1hZ2UuYzo5ODE4OjQwOiDQvtGI0LjQsdC60LA6INC40L3QtNC10LrRgSDQvNCw0YHRgdC40LLQsCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YbQtdC70YvQvCDQt9C90LDRh9C10L3QuNC10LwKcm1pbWFnZS5jOiDQkiDRhNGD0L3QutGG0LjQuCDigJhJbWFnZV9yZWNvbG9y4oCZOgpybWltYWdlLmM6MTA3MDE6NTog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog4oCYUmVjb2xvckltYWdl4oCZIGlzIGRlcHJlY2F0ZWQgKGRlY2xhcmVkIGF0IC91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljay9tYWdpY2svZGVwcmVjYXRlLmg6MTM5KQpybWltYWdlLmM6INCSINGE0YPQvdC60YbQuNC4IOKAmEltYWdlX2NsYXNzX3R5cGVfZXHigJk6CnJtaW1hZ2UuYzoxMjY0ODo5OiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQv9C10YDQtdC/0L7Qu9C90LXQvdC40LUg0L/RgNC4INC90LXRj9Cy0L3QvtC8INC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Lgg0LrQvtC90YHRgtCw0L3RgtGLCng4Nl82NC1wYy1saW51eC1nbnUtZ2NjIC1JLiAtSS4gLUkvdXNyL2xpYjY0L3J1YnkvMS44L3g4Nl82NC1saW51eCAtSS4gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiICAtZm9wZW5tcCAtSS91c3IvaW5jbHVkZS9JbWFnZU1hZ2ljayAgIC1mUElDIC1PMiAtcGlwZSAtbWFyY2g9bmF0aXZlIC1mb3Blbm1wIC1JL3Vzci9pbmNsdWRlL0ltYWdlTWFnaWNrICAgIC1jIHJtbW9udGFnZS5jCm1ha2U6ICoqKiBbcm1pbWFnZS5vXSDQntGI0LjQsdC60LAgMQptYWtlOiAqKiog0J7QttC40LTQsNC90LjQtSDQt9Cw0LLQtdGA0YjQtdC90LjRjyDQt9Cw0LTQsNC90LjQuS4uLgplbWFrZSBmYWlsZWQKICogRVJST1I6IGRldi1ydWJ5L3JtYWdpY2stMi4xMy4xIGZhaWxlZCAoY29tcGlsZSBwaGFzZSk6CiAqICAgZW1ha2UgZmFpbGVkCiAqIAogKiBDYWxsIHN0YWNrOgogKiAgICAgZWJ1aWxkLnNoLCBsaW5lICAgODU6ICBDYWxsZWQgc3JjX2NvbXBpbGUKICogICBlbnZpcm9ubWVudCwgbGluZSA0MzQ4OiAgQ2FsbGVkIHJ1Ynktbmdfc3JjX2NvbXBpbGUKICogICBlbnZpcm9ubWVudCwgbGluZSA0MDEyOiAgQ2FsbGVkIF9ydWJ5X2VhY2hfaW1wbGVtZW50YXRpb24gJ2VhY2hfcnVieV9jb21waWxlJwogKiAgIGVudmlyb25tZW50LCBsaW5lICAzNzY6ICBDYWxsZWQgX3J1YnlfaW52b2tlX2Vudmlyb25tZW50ICdydWJ5MTgnICdlYWNoX3J1YnlfY29tcGlsZScKICogICBlbnZpcm9ubWVudCwgbGluZSAgNDI4OiAgQ2FsbGVkIGVhY2hfcnVieV9jb21waWxlCiAqICAgZW52aXJvbm1lbnQsIGxpbmUgIDcwOTogIENhbGxlZCBkaWUKICogVGhlIHNwZWNpZmljIHNuaXBwZXQgb2YgY29kZToKICogICAgICAgZW1ha2UgfHwgZGllICJlbWFrZSBmYWlsZWQiOwogKiAKICogSWYgeW91IG5lZWQgc3VwcG9ydCwgcG9zdCB0aGUgb3V0cHV0IG9mIGBlbWVyZ2UgLS1pbmZvICc9ZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEnYCwKICogdGhlIGNvbXBsZXRlIGJ1aWxkIGxvZyBhbmQgdGhlIG91dHB1dCBvZiBgZW1lcmdlIC1wcXYgJz1kZXYtcnVieS9ybWFnaWNrLTIuMTMuMSdgLgohISEgV2hlbiB5b3UgZmlsZSBhIGJ1ZyByZXBvcnQsIHBsZWFzZSBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246CkdFTlRPT19WTT0gIENMQVNTUEFUSD0iIiBKQVZBX0hPTUU9IiIKSkFWQUNGTEFHUz0iIiBDT01QSUxFUj0iIgphbmQgb2YgY291cnNlLCB0aGUgb3V0cHV0IG9mIGVtZXJnZSAtLWluZm8KICogVGhlIGNvbXBsZXRlIGJ1aWxkIGxvZyBpcyBsb2NhdGVkIGF0ICcvdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3RlbXAvYnVpbGQubG9nJy4KICogVGhlIGVidWlsZCBlbnZpcm9ubWVudCBmaWxlIGlzIGxvY2F0ZWQgYXQgJy92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvdGVtcC9lbnZpcm9ubWVudCcuCiAqIFdvcmtpbmcgZGlyZWN0b3J5OiAnL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS93b3JrL3J1YnkxOC9STWFnaWNrLTIuMTMuMS9leHQvUk1hZ2ljaycKICogUzogJy92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvd29yay9ydWJ5MTgvUk1hZ2ljay0yLjEzLjEnCgo+Pj4gRmFpbGVkIHRvIGVtZXJnZSBkZXYtcnVieS9ybWFnaWNrLTIuMTMuMSwgTG9nIGZpbGU6Cgo+Pj4gICcvdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3RlbXAvYnVpbGQubG9nJwogKiBNZXNzYWdlcyBmb3IgcGFja2FnZSBkZXYtcnVieS9ybWFnaWNrLTIuMTMuMToKICogRVJST1I6IGRldi1ydWJ5L3JtYWdpY2stMi4xMy4xIGZhaWxlZCAoY29tcGlsZSBwaGFzZSk6CiAqICAgZW1ha2UgZmFpbGVkCiAqIAogKiBDYWxsIHN0YWNrOgogKiAgICAgZWJ1aWxkLnNoLCBsaW5lICAgODU6ICBDYWxsZWQgc3JjX2NvbXBpbGUKICogICBlbnZpcm9ubWVudCwgbGluZSA0MzQ4OiAgQ2FsbGVkIHJ1Ynktbmdfc3JjX2NvbXBpbGUKICogICBlbnZpcm9ubWVudCwgbGluZSA0MDEyOiAgQ2FsbGVkIF9ydWJ5X2VhY2hfaW1wbGVtZW50YXRpb24gJ2VhY2hfcnVieV9jb21waWxlJwogKiAgIGVudmlyb25tZW50LCBsaW5lICAzNzY6ICBDYWxsZWQgX3J1YnlfaW52b2tlX2Vudmlyb25tZW50ICdydWJ5MTgnICdlYWNoX3J1YnlfY29tcGlsZScKICogICBlbnZpcm9ubWVudCwgbGluZSAgNDI4OiAgQ2FsbGVkIGVhY2hfcnVieV9jb21waWxlCiAqICAgZW52aXJvbm1lbnQsIGxpbmUgIDcwOTogIENhbGxlZCBkaWUKICogVGhlIHNwZWNpZmljIHNuaXBwZXQgb2YgY29kZToKICogICAgICAgZW1ha2UgfHwgZGllICJlbWFrZSBmYWlsZWQiOwogKiAKICogSWYgeW91IG5lZWQgc3VwcG9ydCwgcG9zdCB0aGUgb3V0cHV0IG9mIGBlbWVyZ2UgLS1pbmZvICc9ZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEnYCwKICogdGhlIGNvbXBsZXRlIGJ1aWxkIGxvZyBhbmQgdGhlIG91dHB1dCBvZiBgZW1lcmdlIC1wcXYgJz1kZXYtcnVieS9ybWFnaWNrLTIuMTMuMSdgLgogKiBUaGUgY29tcGxldGUgYnVpbGQgbG9nIGlzIGxvY2F0ZWQgYXQgJy92YXIvdG1wL3BvcnRhZ2UvZGV2LXJ1Ynkvcm1hZ2ljay0yLjEzLjEvdGVtcC9idWlsZC5sb2cnLgogKiBUaGUgZWJ1aWxkIGVudmlyb25tZW50IGZpbGUgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS90ZW1wL2Vudmlyb25tZW50Jy4KICogV29ya2luZyBkaXJlY3Rvcnk6ICcvdmFyL3RtcC9wb3J0YWdlL2Rldi1ydWJ5L3JtYWdpY2stMi4xMy4xL3dvcmsvcnVieTE4L1JNYWdpY2stMi4xMy4xL2V4dC9STWFnaWNrJwogKiBTOiAnL3Zhci90bXAvcG9ydGFnZS9kZXYtcnVieS9ybWFnaWNrLTIuMTMuMS93b3JrL3J1YnkxOC9STWFnaWNrLTIuMTMuMScKCgo=