From a9699b4bb2c3857c5396038d6880edf254a8bd80 Mon Sep 17 00:00:00 2001 From: diguage Date: Tue, 23 May 2023 14:38:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BA=90=E7=A0=81=E5=88=86=E6=9E=90@2024-11-08?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd.yml | 116 ++ .github/workflows/sync-main.yml | 39 + README.adoc | 33 + .../build/JavaConventions.java | 3 +- settings.gradle | 2 + .../springframework/aop/PointcutAdvisor.java | 6 + .../org/springframework/aop/TargetSource.java | 14 + .../aop/aspectj/AbstractAspectJAdvice.java | 2 + .../aop/aspectj/AspectJAfterAdvice.java | 2 + .../aspectj/AspectJExpressionPointcut.java | 2 +- .../aspectj/AspectJMethodBeforeAdvice.java | 2 +- .../AbstractAspectJAdvisorFactory.java | 2 + ...nnotationAwareAspectJAutoProxyCreator.java | 4 + .../BeanFactoryAspectJAdvisorsBuilder.java | 8 + ...ntiationModelAwarePointcutAdvisorImpl.java | 1 + .../ReflectiveAspectJAdvisorFactory.java | 16 +- .../aop/config/AopConfigUtils.java | 11 +- .../aop/config/AopNamespaceUtils.java | 7 +- .../config/ConfigBeanDefinitionParser.java | 32 + .../aop/framework/AdvisedSupport.java | 2 + .../aop/framework/AopProxyUtils.java | 3 + .../aop/framework/CglibAopProxy.java | 15 + .../framework/DefaultAdvisorChainFactory.java | 30 + .../aop/framework/DefaultAopProxyFactory.java | 7 + .../aop/framework/JdkDynamicAopProxy.java | 31 +- .../aop/framework/ProxyCreatorSupport.java | 3 + .../aop/framework/ProxyFactory.java | 2 + .../aop/framework/ProxyFactoryBean.java | 2 + .../framework/ReflectiveMethodInvocation.java | 17 + .../DefaultAdvisorAdapterRegistry.java | 6 + .../AbstractAdvisorAutoProxyCreator.java | 6 + .../autoproxy/AbstractAutoProxyCreator.java | 85 +- .../framework/autoproxy/AutoProxyUtils.java | 3 +- .../BeanFactoryAdvisorRetrievalHelper.java | 4 + .../autoproxy/BeanNameAutoProxyCreator.java | 2 + .../DefaultAdvisorAutoProxyCreator.java | 3 + ...InfrastructureAdvisorAutoProxyCreator.java | 2 + .../springframework/aop/support/AopUtils.java | 16 +- .../aop/support/ComposablePointcut.java | 2 + .../aop/support/ControlFlowPointcut.java | 2 + .../aop/target/CommonsPool2TargetSource.java | 2 + .../aop/target/HotSwappableTargetSource.java | 3 + .../aop/target/PrototypeTargetSource.java | 3 + .../aop/target/SingletonTargetSource.java | 2 + .../aop/target/ThreadLocalTargetSource.java | 4 + .../AbstractNestablePropertyAccessor.java | 26 +- .../beans/factory/FactoryBean.java | 12 + .../AutowiredAnnotationBeanPostProcessor.java | 28 +- .../annotation/CustomAutowireConfigurer.java | 5 + ...nitDestroyAnnotationBeanPostProcessor.java | 24 + .../factory/config/BeanDefinitionVisitor.java | 7 + .../config/BeanFactoryPostProcessor.java | 9 + .../factory/config/BeanPostProcessor.java | 57 + .../config/CustomEditorConfigurer.java | 5 + .../factory/config/CustomScopeConfigurer.java | 5 + .../factory/config/DeprecatedBeanWarner.java | 5 + .../InstantiationAwareBeanPostProcessor.java | 28 +- .../config/PlaceholderConfigurerSupport.java | 10 + .../config/PropertyResourceConfigurer.java | 5 + ...rtInstantiationAwareBeanPostProcessor.java | 2 + .../AbstractAutowireCapableBeanFactory.java | 308 +++- .../support/AbstractBeanDefinition.java | 8 + .../support/AbstractBeanDefinitionReader.java | 14 + .../factory/support/AbstractBeanFactory.java | 106 +- .../support/BeanDefinitionReaderUtils.java | 6 +- .../support/BeanDefinitionValueResolver.java | 48 + ...CglibSubclassingInstantiationStrategy.java | 3 + .../support/DefaultListableBeanFactory.java | 22 + .../support/DefaultSingletonBeanRegistry.java | 80 +- .../support/FactoryBeanRegistrySupport.java | 12 + .../support/InstantiationStrategy.java | 6 + .../MergedBeanDefinitionPostProcessor.java | 2 + .../support/SimpleInstantiationStrategy.java | 15 + .../xml/BeanDefinitionParserDelegate.java | 106 +- .../DefaultBeanDefinitionDocumentReader.java | 62 + .../factory/xml/DefaultDocumentLoader.java | 7 + .../factory/xml/NamespaceHandlerSupport.java | 5 + .../factory/xml/ResourceEntityResolver.java | 2 + .../factory/xml/XmlBeanDefinitionReader.java | 31 + .../context/ApplicationEvent.java | 7 + .../context/MessageSource.java | 8 + .../AnnotatedBeanDefinitionReader.java | 52 +- .../AnnotationConfigApplicationContext.java | 80 + .../annotation/AnnotationConfigUtils.java | 13 +- .../AnnotationScopeMetadataResolver.java | 12 + .../ClassPathBeanDefinitionScanner.java | 49 +- ...athScanningCandidateComponentProvider.java | 23 + .../CommonAnnotationBeanPostProcessor.java | 34 + .../ComponentScanBeanDefinitionParser.java | 6 + ...onfigurationClassBeanDefinitionReader.java | 15 + .../annotation/ConfigurationClassParser.java | 15 + .../ConfigurationClassPostProcessor.java | 53 + .../annotation/ConfigurationClassUtils.java | 7 + ...ctPropertyLoadingBeanDefinitionParser.java | 1 + .../event/EventListenerMethodProcessor.java | 5 + .../support/AbstractApplicationContext.java | 138 ++ ...AbstractRefreshableApplicationContext.java | 32 + ...ctRefreshableConfigApplicationContext.java | 7 + .../AbstractXmlApplicationContext.java | 21 + .../ApplicationContextAwareProcessor.java | 31 + .../support/ApplicationListenerDetector.java | 24 + .../ClassPathXmlApplicationContext.java | 4 +- .../FileSystemXmlApplicationContext.java | 1 + .../PostProcessorRegistrationDelegate.java | 32 + .../PropertySourcesPlaceholderConfigurer.java | 14 +- .../weaving/AspectJWeavingEnabler.java | 5 + .../BeanValidationPostProcessor.java | 16 + .../core/annotation/AttributeMethods.java | 1 + .../core/env/AbstractEnvironment.java | 2 + .../core/io/DefaultResourceLoader.java | 13 + .../core/io/ResourceLoader.java | 9 + .../PathMatchingResourcePatternResolver.java | 1 + .../io/support/PropertiesLoaderSupport.java | 2 + .../io/support/ResourcePatternResolver.java | 8 + .../io/support/SpringFactoriesLoader.java | 3 + .../org/springframework/util/ClassUtils.java | 2 + .../util/PlaceholderParser.java | 7 +- .../DataSourceTransactionManager.java | 45 +- .../jdbc/datasource/DataSourceUtils.java | 4 + .../SQLErrorCodeSQLExceptionTranslator.java | 9 + .../jdbc/support/SQLErrorCodesFactory.java | 2 + .../jdbc/support/SQLExceptionTranslator.java | 2 + .../PlatformTransactionManager.java | 7 + .../transaction/TransactionDefinition.java | 3 + .../transaction/TransactionExecution.java | 8 + .../transaction/TransactionStatus.java | 5 + .../AnnotationTransactionAttributeSource.java | 2 + .../SpringTransactionAnnotationParser.java | 11 + .../AnnotationDrivenBeanDefinitionParser.java | 34 +- .../config/TxAdviceBeanDefinitionParser.java | 9 + .../config/TxNamespaceHandler.java | 1 + ...actFallbackTransactionAttributeSource.java | 11 + .../interceptor/TransactionAspectSupport.java | 50 + .../TransactionAttributeSourceAdvisor.java | 2 + .../TransactionAttributeSourcePointcut.java | 3 + .../interceptor/TransactionInterceptor.java | 7 + .../AbstractPlatformTransactionManager.java | 83 +- .../support/ResourceHolderSupport.java | 3 + .../TransactionSynchronizationManager.java | 3 + .../support/TransactionTemplate.java | 12 +- ...AnnotationConfigWebApplicationContext.java | 15 +- .../support/XmlWebApplicationContext.java | 1 + .../web/servlet/DispatcherServlet.java | 25 + .../web/servlet/FrameworkServlet.java | 11 +- .../web/servlet/HandlerExecutionChain.java | 2 + .../web/servlet/HandlerMapping.java | 3 + .../web/servlet/HttpServletBean.java | 3 + src/nohttp/allowlist.lines | 4 + truman/.editorconfig | 4 + truman/.gitignore | 4 + truman/cfg/fonts/download-fonts.sh | 14 + truman/cfg/plantuml.cfg | 27 + truman/cfg/theme/Source-theme.yml | 297 +++ truman/src/docs/.asciidoctorconfig | 19 + truman/src/docs/asciidoc/.asciidoctorconfig | 36 + truman/src/docs/asciidoc/_attributes.adoc | 0 .../docs/asciidoc/annotations-resolve.adoc | 16 + truman/src/docs/asciidoc/aop-bootstrap.adoc | 56 + .../docs/asciidoc/aop-create-proxy-cglib.adoc | 70 + .../docs/asciidoc/aop-create-proxy-jdk.adoc | 71 + truman/src/docs/asciidoc/aop-get-advices.adoc | 101 + .../docs/asciidoc/aop-process-overview.adoc | 75 + truman/src/docs/asciidoc/aop.adoc | 424 +++++ .../docs/asciidoc/application-context.adoc | 18 + truman/src/docs/asciidoc/architecture.adoc | 15 + truman/src/docs/asciidoc/aspectj-intro.adoc | 2 + truman/src/docs/asciidoc/bean-definition.adoc | 107 ++ truman/src/docs/asciidoc/bean-factory.adoc | 103 ++ .../asciidoc/bean-lifecycle-overview.adoc | 169 ++ .../change-gradle-maven-repo-url.adoc | 72 + .../docs/asciidoc/circular-dependence.adoc | 230 +++ .../docs/asciidoc/clone-spring-source.adoc | 13 + .../common-interfaces-introduction.adoc | 64 + truman/src/docs/asciidoc/data-access.adoc | 11 + truman/src/docs/asciidoc/dedication.adoc | 6 + .../asciidoc/development-environment.adoc | 23 + truman/src/docs/asciidoc/docinfo.html | 1 + truman/src/docs/asciidoc/dynamic-proxy.adoc | 2 + truman/src/docs/asciidoc/environment.adoc | 5 + .../docs/asciidoc/extensions-and-dubbo.adoc | 605 ++++++ .../docs/asciidoc/extensions-and-mybatis.adoc | 513 ++++++ .../docs/asciidoc/extensions-overview.adoc | 578 ++++++ truman/src/docs/asciidoc/factory-bean.adoc | 14 + truman/src/docs/asciidoc/hibernate.adoc | 2 + .../asciidoc/images/DataAccessException.png | Bin 0 -> 8884 bytes .../images/TargetSource-invocation-flow.png | Bin 0 -> 92237 bytes truman/src/docs/asciidoc/images/alipay.png | Bin 0 -> 145498 bytes .../src/docs/asciidoc/images/aop-concepts.png | Bin 0 -> 47177 bytes .../docs/asciidoc/images/aop-principle.png | Bin 0 -> 45385 bytes .../docs/asciidoc/images/aop-proxy-call.png | Bin 0 -> 3511 bytes .../images/aop-proxy-plain-pojo-call.png | Bin 0 -> 2548 bytes .../docs/asciidoc/images/aspect-args-flow.png | Bin 0 -> 121489 bytes .../images/aspects-applied-process.jpg | Bin 0 -> 47493 bytes .../asciidoc/images/cglib-architecture.jpg | Bin 0 -> 16891 bytes truman/src/docs/asciidoc/images/cglib.png | Bin 0 -> 5557 bytes .../asciidoc/images/circular-dependence.jpg | Bin 0 -> 26110 bytes .../asciidoc/images/circular-dependence.png | Bin 0 -> 62815 bytes .../docs/asciidoc/images/container-magic.png | Bin 0 -> 8673 bytes .../docs/asciidoc/images/create-instance.jpg | Bin 0 -> 12916 bytes .../asciidoc/images/dirty-read-process.png | Bin 0 -> 100039 bytes .../src/docs/asciidoc/images/dubbo-logo.jpg | Bin 0 -> 11227 bytes .../docs/asciidoc/images/java-exceptions.jpg | Bin 0 -> 39522 bytes .../docs/asciidoc/images/manual-new-test.png | Bin 0 -> 51834 bytes .../images/message-flow-broker-relay.png | Bin 0 -> 80126 bytes .../images/message-flow-simple-broker.png | Bin 0 -> 65382 bytes .../asciidoc/images/mvc-context-hierarchy.png | Bin 0 -> 64492 bytes .../asciidoc/images/mvc-context-hierarchy.svg | 612 +++++++ .../images/non-repeatable-read-process.png | Bin 0 -> 105625 bytes .../asciidoc/images/oxm-exceptions.graffle | 1619 +++++++++++++++++ .../docs/asciidoc/images/oxm-exceptions.png | Bin 0 -> 28027 bytes .../asciidoc/images/phantom-read-process.png | Bin 0 -> 105576 bytes .../docs/asciidoc/images/problem-reads.png | Bin 0 -> 21064 bytes truman/src/docs/asciidoc/images/prototype.png | Bin 0 -> 83478 bytes .../images/relationships-between-classes.png | Bin 0 -> 2836 bytes .../images/second-lost-update-process.png | Bin 0 -> 112417 bytes .../images/setting-gradle-test-runner.png | Bin 0 -> 42475 bytes truman/src/docs/asciidoc/images/singleton.png | Bin 0 -> 85523 bytes .../asciidoc/images/spring-and-mybatis.jpg | Bin 0 -> 18994 bytes .../asciidoc/images/spring-aop-process.png | Bin 0 -> 19043 bytes .../asciidoc/images/spring-bean-lifecycle.svg | 1 + .../src/docs/asciidoc/images/spring-logo.jpg | Bin 0 -> 37330 bytes .../images/spring-mvc-and-webflux-venn.png | Bin 0 -> 104380 bytes .../docs/asciidoc/images/spring-overview.png | Bin 0 -> 58395 bytes .../src/docs/asciidoc/images/stack-frame.png | Bin 0 -> 80980 bytes .../asciidoc/images/transactional-summary.png | Bin 0 -> 28742 bytes truman/src/docs/asciidoc/images/tx.png | Bin 0 -> 82811 bytes .../docs/asciidoc/images/tx_prop_required.png | Bin 0 -> 40355 bytes .../asciidoc/images/tx_prop_requires_new.png | Bin 0 -> 48060 bytes .../src/docs/asciidoc/images/wx-jikerizhi.png | Bin 0 -> 109604 bytes truman/src/docs/asciidoc/images/wxpay.jpg | Bin 0 -> 123252 bytes truman/src/docs/asciidoc/images/wxpay.png | Bin 0 -> 54845 bytes .../docs/asciidoc/import-into-eclipse.adoc | 4 + .../src/docs/asciidoc/import-into-idea.adoc | 64 + truman/src/docs/asciidoc/index.adoc | 34 + .../docs/asciidoc/inject-static-field.adoc | 26 + truman/src/docs/asciidoc/install-git.adoc | 60 + truman/src/docs/asciidoc/ioc.adoc | 163 ++ truman/src/docs/asciidoc/jdbc.adoc | 41 + truman/src/docs/asciidoc/jpa.adoc | 2 + .../src/docs/asciidoc/lifecycle-callback.adoc | 9 + truman/src/docs/asciidoc/mvc.adoc | 11 + truman/src/docs/asciidoc/orm.adoc | 8 + .../docs/asciidoc/performance-monitor.adoc | 52 + truman/src/docs/asciidoc/preface.adoc | 28 + .../docs/asciidoc/property-placeholder.adoc | 25 + truman/src/docs/asciidoc/proxy-pattern.adoc | 2 + truman/src/docs/asciidoc/puml/00AA.puml | 7 + ...ext-invokeBeanFactoryPostProcessors-2.puml | 248 +++ ...ntext-invokeBeanFactoryPostProcessors.puml | 238 +++ ...icationContext-obtainFreshBeanFactory.puml | 174 ++ ...ApplicationContext-prepareBeanFactory.puml | 168 ++ .../AbstractApplicationContext-refresh.puml | 91 + ...ionContext-registerBeanPostProcessors.puml | 197 ++ ...nnotationAwareAspectJAutoProxyCreator.puml | 59 + truman/src/docs/asciidoc/puml/AopProxy.puml | 32 + .../asciidoc/puml/ApplicationContext.puml | 20 + .../docs/asciidoc/puml/ApplicationEvent.puml | 44 + .../docs/asciidoc/puml/BeanDefinition.puml | 67 + .../asciidoc/puml/BeanFactory-getBean.puml | 23 + .../src/docs/asciidoc/puml/BeanFactory.puml | 96 + .../puml/ConfigurationClassPostProcessor.puml | 18 + .../puml/DispatchServlet-init-sequence.puml | 116 ++ .../asciidoc/puml/DispatcherServlet-init.puml | 44 + .../docs/asciidoc/puml/DispatcherServlet.puml | 42 + .../src/docs/asciidoc/puml/MessageSource.puml | 38 + .../asciidoc/puml/ProxyCreatorSupport.puml | 21 + .../src/docs/asciidoc/puml/ProxyFactory.puml | 26 + .../puml/Resource-ResourceLoader.puml | 39 + .../ResourceLoader-ApplicationContext.puml | 31 + .../src/docs/asciidoc/puml/attr-colors.puml | 3 + truman/src/docs/asciidoc/puml/attr-fonts.puml | 3 + truman/src/docs/asciidoc/puml/build.sh | 47 + .../puml/org.aopalliance.aop.Advice.puml | 56 + .../org.aopalliance.intercept.Joinpoint.puml | 45 + .../org.springframework.aop.ClassFilter.puml | 29 + ...org.springframework.aop.MethodMatcher.puml | 36 + .../org.springframework.aop.Pointcut.puml | 46 + ...g.springframework.aop.PointcutAdvisor.puml | 50 + ...ork.aop.aspectj.AspectInstanceFactory.puml | 28 + ...ngframework.beans.BeanMetadataElement.puml | 98 + ...ngframework.beans.factory.BeanFactory.puml | 44 + ....AutowiredAnnotationBeanPostProcessor.puml | 42 + ...ctory.config.BeanFactoryPostProcessor.puml | 49 + ...eans.factory.config.BeanPostProcessor.puml | 64 + ....factory.support.BeanDefinitionReader.puml | 20 + ...eans.factory.xml.BeanDefinitionParser.puml | 36 + ...nDefinitionReader.loadBeanDefinitions.puml | 58 + ...work.beans.factory.xml.XmlBeanFactory.puml | 30 + ...gframework.context.ApplicationContext.puml | 45 + ...ingframework.context.ApplicationEvent.puml | 80 + ...PlaceholderBeanDefinitionParser-parse.puml | 47 + ...opertyPlaceholderBeanDefinitionParser.puml | 32 + ....PropertySourcesPlaceholderConfigurer.puml | 24 + ...rg.springframework.core.AliasRegistry.puml | 23 + ...ngframework.core.env.PropertyResolver.puml | 28 + .../org.springframework.core.io.Resource.puml | 78 + ...ringframework.dao.DataAccessException.puml | 141 ++ truman/src/docs/asciidoc/puml/read-xml.puml | 71 + truman/src/docs/asciidoc/questions.adoc | 4 + truman/src/docs/asciidoc/references.adoc | 43 + truman/src/docs/asciidoc/resource.adoc | 24 + truman/src/docs/asciidoc/scheduler.adoc | 120 ++ .../AbstractApplicationContext-refresh.diag | 33 + .../docs/asciidoc/spring-quartz.properties | 39 + .../asciidoc/startup-process-overview.adoc | 563 ++++++ .../src/docs/asciidoc/tables_mysql_innodb.sql | 179 ++ truman/src/docs/asciidoc/tag-resolve.adoc | 23 + .../asciidoc/template-method-pattern.adoc | 8 + truman/src/docs/asciidoc/tips.adoc | 20 + truman/src/docs/asciidoc/todo.adoc | 6 + truman/src/docs/asciidoc/tools.adoc | 14 + truman/src/docs/asciidoc/transaction.adoc | 187 ++ .../src/docs/asciidoc/uml-class-diagram.adoc | 166 ++ .../docs/asciidoc/uml-sequence-diagram.adoc | 10 + truman/src/docs/asciidoc/uml.adoc | 8 + truman/src/docs/asciidoc/xml-dtd.adoc | 5 + truman/src/docs/asciidoc/xml-schema.adoc | 8 + truman/src/docs/asciidoc/xml.adoc | 6 + truman/src/docs/asciidoc/xmls.adoc | 9 + truman/src/docs/color.html | 70 + truman/src/docs/dist/license.txt | 289 +++ truman/src/docs/spring-framework.png | Bin 0 -> 24327 bytes .../truman/beans/BeanUtilsBenchTest.java | 14 + .../java/com/diguage/truman/aop/AopTest.java | 132 ++ .../truman/aop/AspectAfterThrowingTest.java | 70 + .../truman/aop/AspectAnnoArgsTest.java | 113 ++ .../truman/aop/AspectAnnoTargetTest.java | 111 ++ .../truman/aop/AspectAnnotationTest.java | 107 ++ .../truman/aop/AspectAopManualTest.java | 61 + .../truman/aop/AspectTargetClassTest.java | 79 + .../truman/aop/AspectTargetInterfaceTest.java | 76 + .../truman/aop/AspectThisClassTest.java | 81 + .../truman/aop/AspectThisInterfaceTest.java | 77 + .../diguage/truman/aop/AspectWithinTest.java | 106 ++ .../truman/aop/DeclareParentsAopTest.java | 167 ++ .../com/diguage/truman/aop/FinalTest.java | 131 ++ .../aop/HotSwappableTargetSourceTest.java | 137 ++ .../aop/HotSwappableTargetSourceXmlTest.java | 92 + .../diguage/truman/aop/IntroductionTest.java | 14 + .../com/diguage/truman/aop/MoreAopTest.java | 246 +++ .../diguage/truman/aop/ProxyFactoryTest.java | 54 + .../truman/aop/ProxyTargetClassTest.java | 123 ++ .../diguage/truman/aop/TargetSourceTest.java | 189 ++ .../diguage/truman/aop/xml/AopXmlTest.java | 27 + .../diguage/truman/aop/xml/TestAdvice.java | 35 + .../com/diguage/truman/aop/xml/UserDao.java | 11 + .../diguage/truman/aop/xml/UserService.java | 41 + .../diguage/truman/beans/BeanUtilsTest.java | 45 + .../diguage/truman/beans/FactoryBeanTest.java | 83 + .../PropertyPlaceholderConfigurerTest.java | 77 + .../truman/context/AnnoLookupTest.java | 68 + .../context/ApplicationContextAwareTest.java | 45 + .../truman/context/ApplicationEventTest.java | 57 + .../ApplicationListenerParentTest.java | 82 + .../context/ApplicationListenerTest.java | 41 + .../com/diguage/truman/context/AsyncTest.java | 78 + ...anDefinitionRegistryPostProcessorTest.java | 52 + .../BeanFactoryPostProcessorAutowireTest.java | 91 + .../BeanFactoryPostProcessorFailTest.java | 148 ++ .../BeanFactoryPostProcessorOkTest.java | 153 ++ .../BeanFactoryPostProcessorOrderTest.java | 103 ++ .../context/BeanFactoryPostProcessorTest.java | 92 + .../BeanPostProcessorAnnoBeanTest.java | 78 + .../BeanPostProcessorAutowireTest.java | 73 + .../truman/context/BeanPostProcessorTest.java | 77 + .../CircularDependenceConstructorTest.java | 89 + .../CircularDependencePrototypeTest.java | 99 + .../CircularDependenceSingletonTest.java | 84 + .../truman/context/InitializingBeanTest.java | 89 + ...stantiationAwareBeanPostProcessorTest.java | 48 + .../diguage/truman/context/LifecycleTest.java | 295 +++ .../truman/context/ObjectFactoryTest.java | 57 + .../truman/context/PlaceholderAnnoTest.java | 45 + .../truman/context/PlaceholderTest.java | 34 + .../truman/context/PropertyValuesTest.java | 84 + .../truman/context/ResourceLoaderTest.java | 56 + .../context/XmlApplicationContextTest.java | 26 + .../core/PropertiesLoaderSupportTest.java | 25 + .../diguage/truman/core/ReflectionTest.java | 30 + .../java/com/diguage/truman/dubbo/Book.java | 12 + .../com/diguage/truman/dubbo/BookService.java | 7 + .../diguage/truman/dubbo/BookServiceImpl.java | 22 + .../truman/dubbo/ProviderApplication.java | 32 + .../truman/ext/DggNamespaceHandler.java | 14 + .../com/diguage/truman/ext/ExtensionTest.java | 20 + .../java/com/diguage/truman/ext/User.java | 26 + .../truman/ext/UserBeanDefinitionParser.java | 29 + .../diguage/truman/jdbc/DataSourceTest.java | 61 + .../com/diguage/truman/jdbc/Employees.java | 28 + .../com/diguage/truman/jdbc/JdbcTest.java | 88 + .../truman/jdbc/RoutingDataSourceTest.java | 118 ++ .../com/diguage/truman/mybatis/Employees.java | 28 + .../truman/mybatis/EmployeesMapper.java | 22 + .../com/diguage/truman/mybatis/MapperAop.java | 8 + .../diguage/truman/mybatis/MybatisTest.java | 67 + .../truman/mybatis/SpringMybatisTest.java | 130 ++ .../truman/test/ContextConfigurationTest.java | 39 + .../truman/tx/TransactionTemplateTest.java | 115 ++ .../com/diguage/truman/tx/TxOnCloseTest.java | 122 ++ .../java/com/diguage/truman/tx/TxTest.java | 178 ++ .../com/diguage/truman/util/Constans.java | 5 + .../diguage/truman/web/AppInitializer.java | 24 + .../com/diguage/truman/web/HomeServlet.java | 23 + .../com/diguage/truman/web/TraceFilter.java | 35 + .../com/diguage/truman/web/WebAppConfig.java | 23 + .../web/undertow/MainWebAppInitializer.java | 23 + .../web/undertow/UndertowContainer.java | 43 + .../truman/web/undertow/WebConfig.java | 12 + .../web/undertow/rest/HelloController.java | 12 + .../java/com/diguage/truman/webflux/Test.java | 4 + truman/src/main/resources/META-INF/dgg.xsd | 13 + .../main/resources/META-INF/spring.handlers | 1 + .../main/resources/META-INF/spring.schemas | 1 + .../truman/aop/HotSwappableTargetSource.xml | 43 + .../com/diguage/truman/aop/xml/aop-xml.xml | 28 + ...opertyPlaceholderConfigurerTest.properties | 1 + .../env/PropertyPlaceholderConfigurerTest.xml | 35 + .../context/ApplicationListenerParentTest.xml | 14 + .../truman/context/PlaceholderTest.xml | 22 + .../context/XmlApplicationContextTest.xml | 16 + .../diguage/truman/context/token.properties | 2 + .../core/PropertiesApplicationContextTest.xml | 34 + .../com/diguage/truman/core/token.properties | 2 + .../resources/com/diguage/truman/ext/dgg.xml | 14 + .../truman/test/XmlApplicationContextTest.xml | 16 + .../main/resources/dubbo/consumer.properties | 3 + .../main/resources/dubbo/provider.properties | 3 + truman/src/main/resources/log4j2.xml | 16 + truman/src/main/webapp/index.html | 10 + truman/truman.gradle | 211 +++ 430 files changed, 20908 insertions(+), 62 deletions(-) create mode 100644 .github/workflows/cd.yml create mode 100644 .github/workflows/sync-main.yml create mode 100644 README.adoc create mode 100644 truman/.editorconfig create mode 100644 truman/.gitignore create mode 100755 truman/cfg/fonts/download-fonts.sh create mode 100644 truman/cfg/plantuml.cfg create mode 100644 truman/cfg/theme/Source-theme.yml create mode 100644 truman/src/docs/.asciidoctorconfig create mode 100644 truman/src/docs/asciidoc/.asciidoctorconfig create mode 100644 truman/src/docs/asciidoc/_attributes.adoc create mode 100644 truman/src/docs/asciidoc/annotations-resolve.adoc create mode 100644 truman/src/docs/asciidoc/aop-bootstrap.adoc create mode 100644 truman/src/docs/asciidoc/aop-create-proxy-cglib.adoc create mode 100644 truman/src/docs/asciidoc/aop-create-proxy-jdk.adoc create mode 100644 truman/src/docs/asciidoc/aop-get-advices.adoc create mode 100644 truman/src/docs/asciidoc/aop-process-overview.adoc create mode 100644 truman/src/docs/asciidoc/aop.adoc create mode 100644 truman/src/docs/asciidoc/application-context.adoc create mode 100644 truman/src/docs/asciidoc/architecture.adoc create mode 100644 truman/src/docs/asciidoc/aspectj-intro.adoc create mode 100644 truman/src/docs/asciidoc/bean-definition.adoc create mode 100644 truman/src/docs/asciidoc/bean-factory.adoc create mode 100644 truman/src/docs/asciidoc/bean-lifecycle-overview.adoc create mode 100644 truman/src/docs/asciidoc/change-gradle-maven-repo-url.adoc create mode 100644 truman/src/docs/asciidoc/circular-dependence.adoc create mode 100644 truman/src/docs/asciidoc/clone-spring-source.adoc create mode 100644 truman/src/docs/asciidoc/common-interfaces-introduction.adoc create mode 100644 truman/src/docs/asciidoc/data-access.adoc create mode 100644 truman/src/docs/asciidoc/dedication.adoc create mode 100644 truman/src/docs/asciidoc/development-environment.adoc create mode 100644 truman/src/docs/asciidoc/docinfo.html create mode 100644 truman/src/docs/asciidoc/dynamic-proxy.adoc create mode 100644 truman/src/docs/asciidoc/environment.adoc create mode 100644 truman/src/docs/asciidoc/extensions-and-dubbo.adoc create mode 100644 truman/src/docs/asciidoc/extensions-and-mybatis.adoc create mode 100644 truman/src/docs/asciidoc/extensions-overview.adoc create mode 100644 truman/src/docs/asciidoc/factory-bean.adoc create mode 100644 truman/src/docs/asciidoc/hibernate.adoc create mode 100644 truman/src/docs/asciidoc/images/DataAccessException.png create mode 100644 truman/src/docs/asciidoc/images/TargetSource-invocation-flow.png create mode 100644 truman/src/docs/asciidoc/images/alipay.png create mode 100644 truman/src/docs/asciidoc/images/aop-concepts.png create mode 100644 truman/src/docs/asciidoc/images/aop-principle.png create mode 100644 truman/src/docs/asciidoc/images/aop-proxy-call.png create mode 100644 truman/src/docs/asciidoc/images/aop-proxy-plain-pojo-call.png create mode 100644 truman/src/docs/asciidoc/images/aspect-args-flow.png create mode 100644 truman/src/docs/asciidoc/images/aspects-applied-process.jpg create mode 100644 truman/src/docs/asciidoc/images/cglib-architecture.jpg create mode 100644 truman/src/docs/asciidoc/images/cglib.png create mode 100644 truman/src/docs/asciidoc/images/circular-dependence.jpg create mode 100644 truman/src/docs/asciidoc/images/circular-dependence.png create mode 100644 truman/src/docs/asciidoc/images/container-magic.png create mode 100644 truman/src/docs/asciidoc/images/create-instance.jpg create mode 100644 truman/src/docs/asciidoc/images/dirty-read-process.png create mode 100644 truman/src/docs/asciidoc/images/dubbo-logo.jpg create mode 100644 truman/src/docs/asciidoc/images/java-exceptions.jpg create mode 100644 truman/src/docs/asciidoc/images/manual-new-test.png create mode 100644 truman/src/docs/asciidoc/images/message-flow-broker-relay.png create mode 100644 truman/src/docs/asciidoc/images/message-flow-simple-broker.png create mode 100644 truman/src/docs/asciidoc/images/mvc-context-hierarchy.png create mode 100644 truman/src/docs/asciidoc/images/mvc-context-hierarchy.svg create mode 100644 truman/src/docs/asciidoc/images/non-repeatable-read-process.png create mode 100644 truman/src/docs/asciidoc/images/oxm-exceptions.graffle create mode 100644 truman/src/docs/asciidoc/images/oxm-exceptions.png create mode 100644 truman/src/docs/asciidoc/images/phantom-read-process.png create mode 100644 truman/src/docs/asciidoc/images/problem-reads.png create mode 100644 truman/src/docs/asciidoc/images/prototype.png create mode 100644 truman/src/docs/asciidoc/images/relationships-between-classes.png create mode 100644 truman/src/docs/asciidoc/images/second-lost-update-process.png create mode 100644 truman/src/docs/asciidoc/images/setting-gradle-test-runner.png create mode 100644 truman/src/docs/asciidoc/images/singleton.png create mode 100644 truman/src/docs/asciidoc/images/spring-and-mybatis.jpg create mode 100644 truman/src/docs/asciidoc/images/spring-aop-process.png create mode 100644 truman/src/docs/asciidoc/images/spring-bean-lifecycle.svg create mode 100644 truman/src/docs/asciidoc/images/spring-logo.jpg create mode 100644 truman/src/docs/asciidoc/images/spring-mvc-and-webflux-venn.png create mode 100644 truman/src/docs/asciidoc/images/spring-overview.png create mode 100644 truman/src/docs/asciidoc/images/stack-frame.png create mode 100644 truman/src/docs/asciidoc/images/transactional-summary.png create mode 100644 truman/src/docs/asciidoc/images/tx.png create mode 100644 truman/src/docs/asciidoc/images/tx_prop_required.png create mode 100644 truman/src/docs/asciidoc/images/tx_prop_requires_new.png create mode 100644 truman/src/docs/asciidoc/images/wx-jikerizhi.png create mode 100644 truman/src/docs/asciidoc/images/wxpay.jpg create mode 100644 truman/src/docs/asciidoc/images/wxpay.png create mode 100644 truman/src/docs/asciidoc/import-into-eclipse.adoc create mode 100644 truman/src/docs/asciidoc/import-into-idea.adoc create mode 100644 truman/src/docs/asciidoc/index.adoc create mode 100644 truman/src/docs/asciidoc/inject-static-field.adoc create mode 100644 truman/src/docs/asciidoc/install-git.adoc create mode 100644 truman/src/docs/asciidoc/ioc.adoc create mode 100644 truman/src/docs/asciidoc/jdbc.adoc create mode 100644 truman/src/docs/asciidoc/jpa.adoc create mode 100644 truman/src/docs/asciidoc/lifecycle-callback.adoc create mode 100644 truman/src/docs/asciidoc/mvc.adoc create mode 100644 truman/src/docs/asciidoc/orm.adoc create mode 100644 truman/src/docs/asciidoc/performance-monitor.adoc create mode 100644 truman/src/docs/asciidoc/preface.adoc create mode 100644 truman/src/docs/asciidoc/property-placeholder.adoc create mode 100644 truman/src/docs/asciidoc/proxy-pattern.adoc create mode 100644 truman/src/docs/asciidoc/puml/00AA.puml create mode 100644 truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors-2.puml create mode 100644 truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors.puml create mode 100644 truman/src/docs/asciidoc/puml/AbstractApplicationContext-obtainFreshBeanFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/AbstractApplicationContext-prepareBeanFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/AbstractApplicationContext-refresh.puml create mode 100644 truman/src/docs/asciidoc/puml/AbstractApplicationContext-registerBeanPostProcessors.puml create mode 100644 truman/src/docs/asciidoc/puml/AnnotationAwareAspectJAutoProxyCreator.puml create mode 100644 truman/src/docs/asciidoc/puml/AopProxy.puml create mode 100644 truman/src/docs/asciidoc/puml/ApplicationContext.puml create mode 100644 truman/src/docs/asciidoc/puml/ApplicationEvent.puml create mode 100644 truman/src/docs/asciidoc/puml/BeanDefinition.puml create mode 100644 truman/src/docs/asciidoc/puml/BeanFactory-getBean.puml create mode 100644 truman/src/docs/asciidoc/puml/BeanFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/ConfigurationClassPostProcessor.puml create mode 100644 truman/src/docs/asciidoc/puml/DispatchServlet-init-sequence.puml create mode 100644 truman/src/docs/asciidoc/puml/DispatcherServlet-init.puml create mode 100644 truman/src/docs/asciidoc/puml/DispatcherServlet.puml create mode 100644 truman/src/docs/asciidoc/puml/MessageSource.puml create mode 100644 truman/src/docs/asciidoc/puml/ProxyCreatorSupport.puml create mode 100644 truman/src/docs/asciidoc/puml/ProxyFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/Resource-ResourceLoader.puml create mode 100644 truman/src/docs/asciidoc/puml/ResourceLoader-ApplicationContext.puml create mode 100644 truman/src/docs/asciidoc/puml/attr-colors.puml create mode 100644 truman/src/docs/asciidoc/puml/attr-fonts.puml create mode 100755 truman/src/docs/asciidoc/puml/build.sh create mode 100644 truman/src/docs/asciidoc/puml/org.aopalliance.aop.Advice.puml create mode 100644 truman/src/docs/asciidoc/puml/org.aopalliance.intercept.Joinpoint.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.aop.ClassFilter.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.aop.MethodMatcher.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.aop.Pointcut.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.aop.PointcutAdvisor.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.aop.aspectj.AspectInstanceFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.BeanMetadataElement.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.BeanFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanFactoryPostProcessor.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanPostProcessor.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.support.BeanDefinitionReader.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.BeanDefinitionParser.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanFactory.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationContext.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationEvent.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser-parse.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.context.support.PropertySourcesPlaceholderConfigurer.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.core.AliasRegistry.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.core.env.PropertyResolver.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.core.io.Resource.puml create mode 100644 truman/src/docs/asciidoc/puml/org.springframework.dao.DataAccessException.puml create mode 100644 truman/src/docs/asciidoc/puml/read-xml.puml create mode 100644 truman/src/docs/asciidoc/questions.adoc create mode 100644 truman/src/docs/asciidoc/references.adoc create mode 100644 truman/src/docs/asciidoc/resource.adoc create mode 100644 truman/src/docs/asciidoc/scheduler.adoc create mode 100644 truman/src/docs/asciidoc/seqdiag/AbstractApplicationContext-refresh.diag create mode 100644 truman/src/docs/asciidoc/spring-quartz.properties create mode 100644 truman/src/docs/asciidoc/startup-process-overview.adoc create mode 100644 truman/src/docs/asciidoc/tables_mysql_innodb.sql create mode 100644 truman/src/docs/asciidoc/tag-resolve.adoc create mode 100644 truman/src/docs/asciidoc/template-method-pattern.adoc create mode 100644 truman/src/docs/asciidoc/tips.adoc create mode 100644 truman/src/docs/asciidoc/todo.adoc create mode 100644 truman/src/docs/asciidoc/tools.adoc create mode 100644 truman/src/docs/asciidoc/transaction.adoc create mode 100644 truman/src/docs/asciidoc/uml-class-diagram.adoc create mode 100644 truman/src/docs/asciidoc/uml-sequence-diagram.adoc create mode 100644 truman/src/docs/asciidoc/uml.adoc create mode 100644 truman/src/docs/asciidoc/xml-dtd.adoc create mode 100644 truman/src/docs/asciidoc/xml-schema.adoc create mode 100644 truman/src/docs/asciidoc/xml.adoc create mode 100644 truman/src/docs/asciidoc/xmls.adoc create mode 100755 truman/src/docs/color.html create mode 100644 truman/src/docs/dist/license.txt create mode 100644 truman/src/docs/spring-framework.png create mode 100644 truman/src/jmh/java/com/diguage/truman/beans/BeanUtilsBenchTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AopTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectAfterThrowingTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectAnnoArgsTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectAnnoTargetTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectAnnotationTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectAopManualTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectTargetClassTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectTargetInterfaceTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectThisClassTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectThisInterfaceTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/AspectWithinTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/DeclareParentsAopTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/FinalTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceXmlTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/IntroductionTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/MoreAopTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/ProxyFactoryTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/ProxyTargetClassTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/TargetSourceTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/xml/AopXmlTest.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/xml/TestAdvice.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/xml/UserDao.java create mode 100644 truman/src/main/java/com/diguage/truman/aop/xml/UserService.java create mode 100644 truman/src/main/java/com/diguage/truman/beans/BeanUtilsTest.java create mode 100644 truman/src/main/java/com/diguage/truman/beans/FactoryBeanTest.java create mode 100644 truman/src/main/java/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/AnnoLookupTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/ApplicationContextAwareTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/ApplicationEventTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/ApplicationListenerParentTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/ApplicationListenerTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/AsyncTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanDefinitionRegistryPostProcessorTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorAutowireTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorFailTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOkTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOrderTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAnnoBeanTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAutowireTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/BeanPostProcessorTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/CircularDependenceConstructorTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/CircularDependencePrototypeTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/CircularDependenceSingletonTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/InitializingBeanTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/InstantiationAwareBeanPostProcessorTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/LifecycleTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/ObjectFactoryTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/PlaceholderAnnoTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/PlaceholderTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/PropertyValuesTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/ResourceLoaderTest.java create mode 100644 truman/src/main/java/com/diguage/truman/context/XmlApplicationContextTest.java create mode 100644 truman/src/main/java/com/diguage/truman/core/PropertiesLoaderSupportTest.java create mode 100644 truman/src/main/java/com/diguage/truman/core/ReflectionTest.java create mode 100644 truman/src/main/java/com/diguage/truman/dubbo/Book.java create mode 100644 truman/src/main/java/com/diguage/truman/dubbo/BookService.java create mode 100644 truman/src/main/java/com/diguage/truman/dubbo/BookServiceImpl.java create mode 100644 truman/src/main/java/com/diguage/truman/dubbo/ProviderApplication.java create mode 100644 truman/src/main/java/com/diguage/truman/ext/DggNamespaceHandler.java create mode 100644 truman/src/main/java/com/diguage/truman/ext/ExtensionTest.java create mode 100644 truman/src/main/java/com/diguage/truman/ext/User.java create mode 100644 truman/src/main/java/com/diguage/truman/ext/UserBeanDefinitionParser.java create mode 100644 truman/src/main/java/com/diguage/truman/jdbc/DataSourceTest.java create mode 100644 truman/src/main/java/com/diguage/truman/jdbc/Employees.java create mode 100644 truman/src/main/java/com/diguage/truman/jdbc/JdbcTest.java create mode 100644 truman/src/main/java/com/diguage/truman/jdbc/RoutingDataSourceTest.java create mode 100644 truman/src/main/java/com/diguage/truman/mybatis/Employees.java create mode 100644 truman/src/main/java/com/diguage/truman/mybatis/EmployeesMapper.java create mode 100644 truman/src/main/java/com/diguage/truman/mybatis/MapperAop.java create mode 100644 truman/src/main/java/com/diguage/truman/mybatis/MybatisTest.java create mode 100644 truman/src/main/java/com/diguage/truman/mybatis/SpringMybatisTest.java create mode 100644 truman/src/main/java/com/diguage/truman/test/ContextConfigurationTest.java create mode 100644 truman/src/main/java/com/diguage/truman/tx/TransactionTemplateTest.java create mode 100644 truman/src/main/java/com/diguage/truman/tx/TxOnCloseTest.java create mode 100644 truman/src/main/java/com/diguage/truman/tx/TxTest.java create mode 100644 truman/src/main/java/com/diguage/truman/util/Constans.java create mode 100644 truman/src/main/java/com/diguage/truman/web/AppInitializer.java create mode 100644 truman/src/main/java/com/diguage/truman/web/HomeServlet.java create mode 100644 truman/src/main/java/com/diguage/truman/web/TraceFilter.java create mode 100644 truman/src/main/java/com/diguage/truman/web/WebAppConfig.java create mode 100644 truman/src/main/java/com/diguage/truman/web/undertow/MainWebAppInitializer.java create mode 100644 truman/src/main/java/com/diguage/truman/web/undertow/UndertowContainer.java create mode 100644 truman/src/main/java/com/diguage/truman/web/undertow/WebConfig.java create mode 100644 truman/src/main/java/com/diguage/truman/web/undertow/rest/HelloController.java create mode 100644 truman/src/main/java/com/diguage/truman/webflux/Test.java create mode 100644 truman/src/main/resources/META-INF/dgg.xsd create mode 100644 truman/src/main/resources/META-INF/spring.handlers create mode 100644 truman/src/main/resources/META-INF/spring.schemas create mode 100644 truman/src/main/resources/com/diguage/truman/aop/HotSwappableTargetSource.xml create mode 100644 truman/src/main/resources/com/diguage/truman/aop/xml/aop-xml.xml create mode 100644 truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.properties create mode 100644 truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.xml create mode 100644 truman/src/main/resources/com/diguage/truman/context/ApplicationListenerParentTest.xml create mode 100644 truman/src/main/resources/com/diguage/truman/context/PlaceholderTest.xml create mode 100644 truman/src/main/resources/com/diguage/truman/context/XmlApplicationContextTest.xml create mode 100644 truman/src/main/resources/com/diguage/truman/context/token.properties create mode 100644 truman/src/main/resources/com/diguage/truman/core/PropertiesApplicationContextTest.xml create mode 100644 truman/src/main/resources/com/diguage/truman/core/token.properties create mode 100644 truman/src/main/resources/com/diguage/truman/ext/dgg.xml create mode 100644 truman/src/main/resources/com/diguage/truman/test/XmlApplicationContextTest.xml create mode 100644 truman/src/main/resources/dubbo/consumer.properties create mode 100644 truman/src/main/resources/dubbo/provider.properties create mode 100644 truman/src/main/resources/log4j2.xml create mode 100644 truman/src/main/webapp/index.html create mode 100644 truman/truman.gradle diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 000000000000..b16223aeb0dc --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,116 @@ +name: Deploy GitHub Pages +on: + push: + branches: + - analysis +jobs: + deploy-gh-pages: + runs-on: ubuntu-latest + steps: + # https://github.com/actions/checkout + - name: Checkout 🛎️ + uses: actions/checkout@v4 + with: + ref: analysis + persist-credentials: false + + # https://github.com/actions/setup-java + - name: Set up JDK ☕️ + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + # https://github.com/actions/setup-node + - name: Setup Node.js 🕸 + uses: actions/setup-node@v4 + with: + # https://github.com/nvm-sh/nvm#long-term-support + node-version: 'lts/*' + + - name: Install Graphviz 🐰 + run: | + sudo apt update -y -m + sudo apt install -y python3-pip + # https://graphviz.org/ + sudo apt install -y graphviz + # https://blockdiag.com/en/seqdiag/index.html + pip3 install seqdiag + # https://blockdiag.com/en/blockdiag/index.html + pip3 install blockdiag + # https://blockdiag.com/en/actdiag/index.html + pip3 install actdiag + # https://blockdiag.com/en/nwdiag/index.html + pip3 install nwdiag + # https://github.com/Deep-Symmetry/bytefield-svg + npm install -g bytefield-svg + # https://github.com/gtudan/bpmn-js-cmd + npm install -g bpmn-js-cmd + + - name: Install font 🎃 + run: | + mkdir $HOME/.fonts + cd $HOME/.fonts + wget https://github.com/diguage/open-fonts/releases/download/latest/SourceHanSerifSC-Regular.otf + wget https://github.com/diguage/open-fonts/releases/download/latest/SourceHanSansSC-Regular.otf + wget https://github.com/diguage/open-fonts/releases/download/latest/SourceCodePro-Regular.otf + wget https://github.com/diguage/open-fonts/releases/download/latest/SourceCodePro-It.otf + wget https://github.com/diguage/open-fonts/releases/download/latest/SourceCodePro-Bold.otf + wget https://github.com/diguage/open-fonts/releases/download/latest/SourceCodePro-BoldIt.otf + echo -e "[seqdiag]\nfontpath = $HOME/.fonts/SourceHanSerifSC-Regular.otf" > $HOME/.blockdiagrc + echo -e "\n[blockdiag]\nfontpath = $HOME/.fonts/SourceHanSerifSC-Regular.otf" >> $HOME/.blockdiagrc + echo -e "\n[actdiag]\nfontpath = $HOME/.fonts/SourceHanSerifSC-Regular.otf" >> $HOME/.blockdiagrc + echo -e "\n[nwdiag]\nfontpath = $HOME/.fonts/SourceHanSerifSC-Regular.otf" >> $HOME/.blockdiagrc + # Check result + ls -lh $HOME/.fonts + cat $HOME/.blockdiagrc + + - name: Build 🔧 + continue-on-error: true + run: ./gradlew :truman:asciidoctor --no-build-cache + + - name: Custom Code Style 🐦 + run: | + sudo apt install -y sed + sed -i 's/<\/head>/ \ No newline at end of file diff --git a/truman/src/docs/asciidoc/dynamic-proxy.adoc b/truman/src/docs/asciidoc/dynamic-proxy.adoc new file mode 100644 index 000000000000..114ed07c5f7f --- /dev/null +++ b/truman/src/docs/asciidoc/dynamic-proxy.adoc @@ -0,0 +1,2 @@ +[#dynamic-proxy] += 动态代理 diff --git a/truman/src/docs/asciidoc/environment.adoc b/truman/src/docs/asciidoc/environment.adoc new file mode 100644 index 000000000000..ece2e49a0ddc --- /dev/null +++ b/truman/src/docs/asciidoc/environment.adoc @@ -0,0 +1,5 @@ += `Environment` + +`Environment` 主要用于读取当前应用运行环境的环境变量和一些配置信息。另外,常见的指定不同配置的 `spring.profiles.active` 的处理,也是由 `Environment` 来处理。 + +plantuml::{includedir}/puml/org.springframework.core.env.PropertyResolver.puml[{diagram_attr}] diff --git a/truman/src/docs/asciidoc/extensions-and-dubbo.adoc b/truman/src/docs/asciidoc/extensions-and-dubbo.adoc new file mode 100644 index 000000000000..2463431c8f9a --- /dev/null +++ b/truman/src/docs/asciidoc/extensions-and-dubbo.adoc @@ -0,0 +1,605 @@ += 整合 Apache Dubbo + +在上一篇文章 https://www.diguage.com/post/spring-extensions-overview/[Spring 扩展点概览及实践^] 中介绍了 Spring 内部存在的扩展点。 https://www.diguage.com/post/spring-extensions-and-mybatis/[Spring 扩展点实践:整合 MyBATIS^] 中,D瓜哥带大家了解了一下 MyBATIS 如何利用 Spring 的扩展点实现了与 Spring 的完美整合。现在,学以致用,我们继续来分析一下 Spring 与 Apache Dubbo 的整合流程。 + + +== 示例程序 + +Apache Dubbo 仓库中就有很完整的示例。D瓜哥直接拿来使用就不再搭建示例程序了。 + +首先,需要启动一个 ZooKeeper 实例。查看 Dubbo 的依赖可以看出,最新版代码依赖的 ZooKeeper 是 3.4.13 版。所以,为了最好的兼容性,就要选用 3.4.X 版的 ZooKeeper 服务器。D瓜哥直接使用 Docker 启动 ZooKeeper 了。命令如下: + +[source,bash,{source_attr}] +---- +docker run --rm --name zookeeper -d -p 2181:2181 zookeeper:3.4.14 +---- + +这次我们使用 https://github.com/apache/dubbo[Apache Dubbo^] 的 `dubbo-demo/dubbo-demo-xml` 示例。 + +第二步,启动服务提供者程序,找到 `DUBBO/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider/src/main/java/org/apache/dubbo/demo/provider/Application.java`,运行该类。 + +第三步,运行服务消费者程序,找到 `DUBBO/dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-consumer/src/main/java/org/apache/dubbo/demo/consumer/Application.java`,运行该类。 + +如果没有任何错误,则在终端可以看到 `result: async result` 输出。 + +在开始正餐之前,D瓜哥先给大家来个开胃菜。 + +== Spring 插件机制简介 + +不知道大家有没有想过一个问题:Spring 框架是如何支持越来越多的功能的? + +在D瓜哥了解到 Spring 的插件机制后,非常叹服 Spring 精巧的设计和灵活的扩展性。闲言少叙,好戏上演。 + +这里再问大家一个问题: + +[source,xml,{source_attr}] +---- + + + + + + + + + + + + + + + + + + + + + + + + + +---- + +这是非常典型的 Spring XML 配置。相信大家都见过。大家有没有想过,Spring 是怎么处理这些不同的命名空间的?如果说 AOP、事务这些是 Spring 内置支持的功能,这样配置,Spring 可以正确解析。但是,Dubbo 的配置又是怎么回事? + +要回答这个问题,就要说起 Spring 的插件机制。在 Spring 的插件机制面前,无论是 Dubbo,还是 Spring 的 AOP、事务管理都是人人平等的。它们都是依靠 Spring 的插件机制插拔在 Spring 核心模块之上的。 + +这篇文章不是专门介绍 Spring 插件机制的。这里抛砖引玉,对 Spring 插件机制做个简介。后续有机会再做更详细的介绍和说明。 + +要利用 Spring 插件机制,需要做这么几个事情: + +. 定义自己业务的类。 +. 编写 XSD 文件,定义自己的 XML 格式,将文件放在 `src/main/resources/META-INF` 目录下。 +. 针对每一个标签,定义一个实现 `BeanDefinitionParser` 接口的类,在 `parse` 方法中完成对这个标签的解析工作,将其转化成一个 `BeanDefinition` 对象。 +. 继承 `NamespaceHandlerSupport` 类,在 `init()` 方法中,使用 `registerBeanDefinitionParser()` 将标签名称和上面写的 `BeanDefinitionParser` 实现类之间建起起对应关系。 +. 创建 `src/main/resources/META-INF/spring.schemas` 文件,在其中写上: `http\://www.diguage.com/schema/diguage/diguage.xsd=META-INF/diguage.xsd`,为该 XSD 文件定义唯一的命名空间。 +. 创建 `src/main/resources/META-INF/spring.handlers` 文件,在其中写上: `http\://www.diguage.com/schema/diguage=com.diguage.schema.DiguageNamespaceHandler`。 + +完成上面这些步骤就相当于制作了一个 Spring 插件。这样就可以在 Spring XML 配置文件中,像使用 AOP、事务管理那样来使用这个新插件了。 + +仔细想想,Spring 的插件机制还是挺简单的:首先,定义一个 Bean 类,然后设计 XSD 文件来对 Bean 的属性进行定义。用户在使用插件时,使用 XML 来定义 Bean 类的属性值,再自定义的 `BeanDefinitionParser` 实现类将 XML 中的配置信息解析出来,封装在 `BeanDefinition`(关于 `BeanDefinition` 的更多信息,请移步 https://www.diguage.com/post/dive-into-spring-core-data-structure-bean-definition/[深入剖析 Spring 核心数据结构:BeanDefinition^])。到了 `BeanDefinition` 之后,Spring 在内部就可以统一处理了。 + +下面,结合代理来具体说明一下 Apache Dubbo 的实现过程。 + +== Apache Dubbo 插件机制解析 + +Apache Dubbo 最初就说通过 Spring 插件机制实现了它与 Spring 的整合过程。 + +. 相关业务类有 `ApplicationConfig`、 `ModuleConfig`、 `RegistryConfig`、 `ConfigCenterBean`、 `MetadataReportConfig`、 `MonitorConfig`、 `MetricsConfig`、 `SslConfig`、 `ProviderConfig`、 `ConsumerConfig`、 `ProtocolConfig`、 `ServiceBean` 和 `ReferenceBean`。这些类的命名也都非常讲究,见文知意,与 Dubbo 常见配置可以说是一一对应。 +. Dubbo 的 XSD 定义在 https://github.com/apache/dubbo/blob/master/dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd[dubbo.xsd^],懂 XSD 的朋友应该都能看出来,这个文件就是规范上一步提到的类的属性的。 +. `DubboBeanDefinitionParser` 实现了 `BeanDefinitionParser` 接口,用于解析 XML 配置,并将其“翻译”为第一步中那些类的对象。另外,还注册了一个 `AnnotationBeanDefinitionParser`,用来处理 `annotation` 标签,进而用来处理注解。 +. `DubboNamespaceHandler` 继承了 `NamespaceHandlerSupport`,并且在 `init()` 方法中完成了对上述类的 `DubboBeanDefinitionParser` 注册。 +. 在 `dubbo-config/dubbo-config-spring/src/main/resources/META-INF` 目录下,有 `spring.schemas` 文件和 `spring.handlers` 文件。 + +下面以调试跟进的方式来分析整个处理过程。 + +== Apache Dubbo 配置解析 + +这里使用示例程序中的配置文件: + +.`dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-provider/src/main/resources/spring/dubbo-provider.xml` +[source,xml,{source_attr}] +---- + + + + + + + + + + + + + + + +---- + +在 `org.apache.dubbo.config.spring.schema.DubboNamespaceHandler#init` 方法、 `org.apache.dubbo.config.spring.schema.DubboNamespaceHandler#parse` 方法 和 `org.apache.dubbo.config.spring.schema.DubboBeanDefinitionParser#parse(Element, ParserContext)` 方法打断点开始调试。注意:这三个方法都是重载方法,很容易识别。 + +打好断点后重启服务提供者程序,程序会在 `init()` 方法处暂停: + +.`org.apache.dubbo.config.spring.schema.DubboNamespaceHandler#init` +[{java_src_attr}] +---- + @Override + public void init() { + registerBeanDefinitionParser("application", new DubboBeanDefinitionParser(ApplicationConfig.class, true)); + registerBeanDefinitionParser("module", new DubboBeanDefinitionParser(ModuleConfig.class, true)); + registerBeanDefinitionParser("registry", new DubboBeanDefinitionParser(RegistryConfig.class, true)); + registerBeanDefinitionParser("config-center", new DubboBeanDefinitionParser(ConfigCenterBean.class, true)); + registerBeanDefinitionParser("metadata-report", new DubboBeanDefinitionParser(MetadataReportConfig.class, true)); + registerBeanDefinitionParser("monitor", new DubboBeanDefinitionParser(MonitorConfig.class, true)); + registerBeanDefinitionParser("metrics", new DubboBeanDefinitionParser(MetricsConfig.class, true)); + registerBeanDefinitionParser("ssl", new DubboBeanDefinitionParser(SslConfig.class, true)); + registerBeanDefinitionParser("provider", new DubboBeanDefinitionParser(ProviderConfig.class, true)); + registerBeanDefinitionParser("consumer", new DubboBeanDefinitionParser(ConsumerConfig.class, true)); + registerBeanDefinitionParser("protocol", new DubboBeanDefinitionParser(ProtocolConfig.class, true)); + registerBeanDefinitionParser("service", new DubboBeanDefinitionParser(ServiceBean.class, true)); + registerBeanDefinitionParser("reference", new DubboBeanDefinitionParser(ReferenceBean.class, false)); + registerBeanDefinitionParser("annotation", new AnnotationBeanDefinitionParser()); + } +---- + +从这里可以明显看到,都注册哪些 `BeanDefinitionParser`,都需要处理哪些标签。点击 `registerBeanDefinitionParser` 方法就可以看出,所谓的“注册”其实就是将它们放在了 `org.springframework.beans.factory.xml.NamespaceHandlerSupport#Map parsers` 变量中。 + +这里不要深究,继续向下执行,就会到了 `DubboNamespaceHandler#parse` 方法: + +.`org.apache.dubbo.config.spring.schema.DubboNamespaceHandler#parse` +[{java_src_attr}] +---- + @Override + public BeanDefinition parse(Element element, ParserContext parserContext) { + BeanDefinitionRegistry registry = parserContext.getRegistry(); + registerAnnotationConfigProcessors(registry); + /** + * @since 2.7.8 + * issue : https://github.com/apache/dubbo/issues/6275 + */ + registerCommonBeans(registry); + BeanDefinition beanDefinition = super.parse(element, parserContext); + setSource(beanDefinition); + return beanDefinition; + } +---- + +这里,我们需要注意的是 `registerCommonBeans(registry)` 方法: + +[#register-common-beans] +.`org.apache.dubbo.config.spring.util.DubboBeanUtils#registerCommonBeans` +[{java_src_attr}] +---- + /** + * Register the common beans + * + * @param registry {@link BeanDefinitionRegistry} + * @see ReferenceAnnotationBeanPostProcessor + * @see DubboConfigDefaultPropertyValueBeanPostProcessor + * @see DubboConfigAliasPostProcessor + * @see DubboLifecycleComponentApplicationListener + * @see DubboBootstrapApplicationListener + */ + static void registerCommonBeans(BeanDefinitionRegistry registry) { + + // Since 2.5.7 Register @Reference Annotation Bean Processor as an infrastructure Bean + registerInfrastructureBean(registry, ReferenceAnnotationBeanPostProcessor.BEAN_NAME, + ReferenceAnnotationBeanPostProcessor.class); + + // Since 2.7.4 [Feature] https://github.com/apache/dubbo/issues/5093 + registerInfrastructureBean(registry, DubboConfigAliasPostProcessor.BEAN_NAME, + DubboConfigAliasPostProcessor.class); + + // Since 2.7.5 Register DubboLifecycleComponentApplicationListener as an infrastructure Bean + registerInfrastructureBean(registry, DubboLifecycleComponentApplicationListener.BEAN_NAME, + DubboLifecycleComponentApplicationListener.class); + + // Since 2.7.4 Register DubboBootstrapApplicationListener as an infrastructure Bean + registerInfrastructureBean(registry, DubboBootstrapApplicationListener.BEAN_NAME, + DubboBootstrapApplicationListener.class); + + // Since 2.7.6 Register DubboConfigDefaultPropertyValueBeanPostProcessor as an infrastructure Bean + registerInfrastructureBean(registry, DubboConfigDefaultPropertyValueBeanPostProcessor.BEAN_NAME, + DubboConfigDefaultPropertyValueBeanPostProcessor.class); + } +---- + +这里需要重点关注的是 `ReferenceAnnotationBeanPostProcessor` 和 `DubboBootstrapApplicationListener`,前者设计到 Dubbo 注解的处理,后者着牵涉整个 Dubbo 的启动。先在 `DubboBootstrapApplicationListener` 的 `onApplicationContextEvent` 方法上打上断点。后续涉及到时,再具体分析。 + +然后,我们单步调试,跟进 `BeanDefinition beanDefinition = super.parse(element, parserContext);` 这个调用中: + + +.`org.springframework.beans.factory.xml.NamespaceHandlerSupport` +[{java_src_attr}] +---- +include::{beans_src_dir}/factory/xml/NamespaceHandlerSupport.java[tag=parse] + +include::{beans_src_dir}/factory/xml/NamespaceHandlerSupport.java[tag=findParserForElement] +---- + +结合上面的 `init()`,上面是“放”,现在是根据标签名称来“拿”。这样就找到每个标签对应的 `BeanDefinitionParser`。这些 `BeanDefinitionParser` 的作用就是处理对应的标签并将其转化为 `BeanDefinition`。 + +Dubbo XML 配置的解析就这么些,后续的过程要依赖 Spring 的流程了。 + +== Dubbo 暴露服务提供者的过程 + +让程序继续执行,就到了我们上面打断点的地方: `DubboBootstrapApplicationListener#onApplicationContextEvent`。一路单步调试跟下去,就到了 `DubboBootstrap#start` 方法。到这一步,Dubbo 就开始启动了。 + +`start()` 方法中,调用了 `DubboBootstrap#initialize` 方法,这个方法就有点像 Spring 的 `AbstractApplicationContext#refresh` 方法。如果分析 Dubbo 的源代码,这必定是一个好的入口。在 `initialize()` 方法中,Dubbo 完成了以下功能: + +. `initFrameworkExts()` -- 初始化框架 +. `startConfigCenter()` -- 启动配置中心 +. `loadRemoteConfigs()` -- 加载远程配置 +. `checkGlobalConfigs()` -- 检查全局配置 +. `startMetadataCenter()` -- 开始元数据中心,这里特别标明是从 2.7.8 开始的。 +. `initMetadataService()` -- 初始化元数据服务 +. `initMetadataServiceExports()` -- 初始化元数据服务导出 +. `initEventListener()` -- 初始化时间监听。 + +WARNING: 暂时没有深入研究这些方法的实现。说明也都是直译的方法名。 + +继续向下执行,进入 `DubboBootstrap#exportServices` 方法: + +.`org.apache.dubbo.config.bootstrap.DubboBootstrap#exportServices` +[{java_src_attr}] +---- + private void exportServices() { + configManager.getServices().forEach(sc -> { + // TODO, compatible with ServiceConfig.export() + ServiceConfig serviceConfig = (ServiceConfig) sc; + serviceConfig.setBootstrap(this); + + if (exportAsync) { + ExecutorService executor = executorRepository.getServiceExporterExecutor(); + Future future = executor.submit(() -> { + sc.export(); + exportedServices.add(sc); + }); + asyncExportingFutures.add(future); + } else { + sc.export(); + exportedServices.add(sc); + } + }); + } +---- + +在这里可以清楚看到,Dubbo 通过 `org.apache.dubbo.config.ServiceConfig#export` 方法把服务暴露到注册中心的。由于这不是 Dubbo 源码分析,所以,实现细节就不再介绍了。 + +不知道大家有没有一个疑问:这里的 `configManager.getServices()` 是如何获取带业务实现类对象呢? + +要回答这个问题,需要查看一下 `configManager.getServices()` 返回的是 `Collection` 对象。我们就从 `ServiceConfigBase` 上找原因。经过研究发现, `ServiceConfigBase` 是 `org.apache.dubbo.config.AbstractConfig` 的子类,而 `AbstractConfig` 中有一个 `addIntoConfigManager` 方法如下: + + +.`org.apache.dubbo.config.AbstractConfig#addIntoConfigManager` +[{java_src_attr}] +---- + @PostConstruct + public void addIntoConfigManager() { + ApplicationModel.getConfigManager().addConfig(this); + } +---- + +阅读过 https://www.diguage.com/post/spring-bean-lifecycle-overview/[Spring Bean 生命周期概述^] 文章的朋友应该都清楚,使用 `@PostConstruct` 的方法会在 Bean 创建过程中,由 `AbstractAutowireCapableBeanFactory#invokeInitMethods` 方法来统一调用。所以,如果在上面这个方法中打断点,就可以看到调用过程了。 + +另外,这里给大家介绍一个小技巧:追本溯源,现在开始。从上面的 `configManager.getServices()` 开始,一步一步打开源代码就会发现, 这些数据是从 `org.apache.dubbo.config.context.ConfigManager#configsCache` 变量中获取的,那就在这个类中搜 `configsCache`,找到向这个变量添加元素的地方,会找到如下方法: + +.`org.apache.dubbo.config.context.ConfigManager#addConfig(AbstractConfig, boolean)` +[{java_src_attr}] +---- + protected void addConfig(AbstractConfig config, boolean unique) { + if (config == null) { + return; + } + write(() -> { + Map configsMap = configsCache.computeIfAbsent(getTagName(config.getClass()), type -> newMap()); + addIfAbsent(config, configsMap, unique); + }); + } +---- + +而且,整个类中,这一个地方是向 `configsCache` 变量添加元素的。在这个类打断点,你就看到所有添加的变量信息。再次启动服务提供者程序,你会发现上面提到的相关业务类 `ApplicationConfig`、 `ModuleConfig`、 `RegistryConfig`、 `ConfigCenterBean`、 `MetadataReportConfig`、 `MonitorConfig`、 `MetricsConfig`、 `SslConfig`、 `ProviderConfig`、 `ConsumerConfig`、 `ProtocolConfig`、 `ServiceBean` 和 `ReferenceBean` 都是 `AbstractConfig` 的子类。换句话说,这些类的实例都会注册到 `ConfigManager` 中。 + + +洋洋洒洒又写了好长好长。还有很多东西没写呢,比如 Dubbo 注解的集成实现,Dubbo 服务消费者的创建过程。限于篇幅原因,这些内容就放在下一篇文章介绍。 + +== Dubbo 生成服务消费者的过程 + +先来看看 XML 配置文件: + +.`dubbo-demo/dubbo-demo-xml/dubbo-demo-xml-consumer/src/main/resources/spring/dubbo-consumer.xml` +[{java_src_attr}] +---- + + + + + + + + + + +---- + +我们先看一下 `ReferenceBean` 类的声明: + +.`org.apache.dubbo.config.spring.ReferenceBean` +[{java_src_attr}] +---- +public class ReferenceBean extends ReferenceConfig implements FactoryBean, + ApplicationContextAware, InitializingBean, DisposableBean { + + // 此处省略 N 行代码 + + @Override + public Object getObject() { + return get(); + } + + // 此处省略 N 行代码 + + @Override + @SuppressWarnings({"unchecked"}) + public void afterPropertiesSet() throws Exception { + + // Initializes Dubbo's Config Beans before @Reference bean autowiring + prepareDubboConfigBeans(); + + // lazy init by default. + if (init == null) { + init = false; + } + + // eager init if necessary. + if (shouldInit()) { + getObject(); + } + } + + // 此处省略 N 行代码 +} +---- + +这个类实现了 `FactoryBean` 接口,D瓜哥在 https://www.diguage.com/post/spring-extensions-overview/#factory-bean[Spring 扩展点概览及实践:FactoryBean] 中对 `FactoryBean` 介绍。所以,请在上面的 `getObject()` 打个断点。 + +另外,这个类还实现了 `InitializingBean`,D瓜哥在 https://www.diguage.com/post/spring-bean-lifecycle-overview/[Spring Bean 生命周期概述] 中介绍了这个接口的用途。不了解的,请移步。 + +启动服务消费者程序,开始调试代码。跳过上文结束的配置解析阶段,进入到 `org.apache.dubbo.config.bootstrap.DubboBootstrap#start` 方法中。在这里,它调用了内部私有方法 `referServices()`。但是,这个方法其实啥也没做。 + +上面提到,`ReferenceBean` 实现了 `FactoryBean` 接口,那么直接在 `org.apache.dubbo.config.spring.ReferenceBean#getObject` 方法上打断点。当调用 `applicationContext.getBean(XXX)` 时,就会触发断点,一路跟下去就会发现,现在 `org.apache.dubbo.config.ReferenceConfig#init` 方法中完成各种初始化准备工作,然后调用 `org.apache.dubbo.config.ReferenceConfig#createProxy` 方法创建代理。而实际代理的创建工作是由 `org.apache.dubbo.rpc.proxy.AbstractProxyFactory#getProxy(Invoker, boolean)` 方法创建的。这样说,也不算准确。因为 `AbstractProxyFactory` 对象是一个子类对象,子类是通过 Dubbo 的类 SPI 加载机制来动态选择创建的。 + +其实,Dubbo 服务消费者实例只是一个代理,通过代理封装统一的网络请求,实现 RPC 的调用过程。 + +== Dubbo 注解集成简述 + +使用 Dubbo 注解集成的入口是 `org.apache.dubbo.config.spring.context.annotation.EnableDubbo`,直接上代码: + + +.`org.apache.dubbo.config.spring.context.annotation.EnableDubbo` +[{java_src_attr}] +---- + +/** + * Enables Dubbo components as Spring Beans, equals + * {@link DubboComponentScan} and {@link EnableDubboConfig} combination. + *

+ * Note : {@link EnableDubbo} must base on Spring Framework 4.2 and above + * + * @see DubboComponentScan + * @see EnableDubboConfig + * @since 2.5.8 + */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +@Documented +@EnableDubboConfig +@DubboComponentScan +public @interface EnableDubbo { + + /** + * Base packages to scan for annotated @Service classes. + *

+ * Use {@link #scanBasePackageClasses()} for a type-safe alternative to String-based + * package names. + * + * @return the base packages to scan + * @see DubboComponentScan#basePackages() + */ + @AliasFor(annotation = DubboComponentScan.class, attribute = "basePackages") + String[] scanBasePackages() default {}; + + /** + * Type-safe alternative to {@link #scanBasePackages()} for specifying the packages to + * scan for annotated @Service classes. The package of each class specified will be + * scanned. + * + * @return classes from the base packages to scan + * @see DubboComponentScan#basePackageClasses + */ + @AliasFor(annotation = DubboComponentScan.class, attribute = "basePackageClasses") + Class[] scanBasePackageClasses() default {}; + + + /** + * It indicates whether {@link AbstractConfig} binding to multiple Spring Beans. + * + * @return the default value is true + * @see EnableDubboConfig#multiple() + */ + @AliasFor(annotation = EnableDubboConfig.class, attribute = "multiple") + boolean multipleConfig() default true; + +} +---- + +这个注解非常重要。一共有两点需要注意。这个方法就是注解的三个属性,分别给出了三个最重要的参数: + +. `scanBasePackages` -- 定义了基础扫描的包。通过 `@AliasFor` 注解表明,这是定义 `@DubboComponentScan` 注解的 `basePackages` 属性。 +. `scanBasePackageClasses` -- 定义扫描的基础类。通过 `@AliasFor` 注解表明,这是定义 `@DubboComponentScan` 注解的 `basePackageClasses` 属性。 +. `multipleConfig` -- 可以将 `AbstractConfig`(上一篇文章 https://www.diguage.com/post/spring-extensions-and-dubbo-1/[Spring 扩展点实践:整合 Apache Dubbo(一)] 已经做过说明) 向 Spring 中多次注册。换句话说,你可以配置多个注册中心,配置多个监控中心等等。通过 `@AliasFor` 注解表明,这是定义 `@EnableDubboConfig` 注解的 `multiple` 属性,默认为 `true`。 + +接下来,让我们看看非常重要的两点内容。 + +=== `@EnableDubboConfig` + +`@EnableDubbo` 注解上面加了 `@EnableDubboConfig` 注解,我们来看一下它的源码: + +.`org.apache.dubbo.config.spring.context.annotation.EnableDubboConfig` +[{java_src_attr}] +---- +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +@Documented +@Import(DubboConfigConfigurationRegistrar.class) +public @interface EnableDubboConfig { + + /** + * It indicates whether binding to multiple Spring Beans. + * + * @return the default value is true + * @revised 2.5.9 + */ + boolean multiple() default true; + +} +---- + +这里,我们看到了熟悉的 `@Import`。 `DubboConfigConfigurationRegistrar` 从名字就能看出应该是实现了 `ImportBeanDefinitionRegistrar` 接口的,打开代码,果然如此。更 + +在 https://www.diguage.com/post/spring-extensions-overview/[Spring 扩展点概览及实践] 和 https://www.diguage.com/post/spring-extensions-and-mybatis/[Spring 扩展点实践:整合 MyBATIS] 中有针对 `@Import` 和 `ImportBeanDefinitionRegistrar` 的详细介绍。尤其是 MyBATIS 就是使用 `ImportBeanDefinitionRegistrar` 来做扩展的。不懂的,请移步。 + +关于 `DubboConfigConfigurationRegistrar` 的功能,这里做个简要总结: + +. 使用 `@EnableConfigurationBeanBindings` 注解,将配置项和对一个的 Bean 类型做一个绑定。如果 `multiple` 属性为 `true`,则指出多次注册。 +. 调用 `org.apache.dubbo.config.spring.util.DubboBeanUtils#registerCommonBeans` 方法,将公共的 Bean 注册到 Spring 中。这部分内容在 https://www.diguage.com/post/spring-extensions-and-dubbo-1/#register-common-beans[Spring 扩展点实践:整合 Apache Dubbo(一):registerCommonBeans] 中已经给出了详细介绍,就不再赘述。 + +=== `@DubboComponentScan` + +`@EnableDubbo` 注解上面加了 `@DubboComponentScan` 注解,直接上代码: + + +.`org.apache.dubbo.config.spring.context.annotation.DubboComponentScan` +[{java_src_attr}] +---- +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Import(DubboComponentScanRegistrar.class) +public @interface DubboComponentScan { + + /** + * Alias for the {@link #basePackages()} attribute. Allows for more concise annotation + * declarations e.g.: {@code @DubboComponentScan("org.my.pkg")} instead of + * {@code @DubboComponentScan(basePackages="org.my.pkg")}. + * + * @return the base packages to scan + */ + String[] value() default {}; + + /** + * Base packages to scan for annotated @Service classes. {@link #value()} is an + * alias for (and mutually exclusive with) this attribute. + *

+ * Use {@link #basePackageClasses()} for a type-safe alternative to String-based + * package names. + * + * @return the base packages to scan + */ + String[] basePackages() default {}; + + /** + * Type-safe alternative to {@link #basePackages()} for specifying the packages to + * scan for annotated @Service classes. The package of each class specified will be + * scanned. + * + * @return classes from the base packages to scan + */ + Class[] basePackageClasses() default {}; + +} +---- + +又双叒叕看到了 `@Import`;又双叒叕看到了 `Registrar`,只是这次名字叫 `DubboComponentScanRegistrar`。跟上面的一样,不再赘述。 + +这里总结一下 `DubboComponentScanRegistrar` 的功能:注册了一个类为 `ServiceAnnotationBeanPostProcessor` 的 `BeanDefinition`,将配置项的配置信息传递给这个 `BeanDefinition` 实例。 `ServiceAnnotationBeanPostProcessor` 实现了 `BeanDefinitionRegistryPostProcessor` 接口,会在 Spring 的启动过程中,通过调用 `postProcessBeanDefinitionRegistry` 方法来注册相关的 `BeanDefinition`。关于这部分内容,请移步: https://www.diguage.com/post/spring-aop-process-overview/[Spring AOP 处理流程概述]。 + +在 Spring 启动过程中,就会调用 `ServiceAnnotationBeanPostProcessor` 的 `postProcessBeanDefinitionRegistry` 方法,在这个方法中,通过创建 `DubboClassPathBeanDefinitionScanner` (继承了 `ClassPathBeanDefinitionScanner` 类)实例,调用 `scanner.scan(packageToScan)` 来注册 `BeanDefinition`。另外,有一点需要指出的是: `ServiceAnnotationBeanPostProcessor` 目前是 `@Deprecated`,后续推荐使用 `ServiceClassPostProcessor`,而 `ServiceAnnotationBeanPostProcessor` 就是 `ServiceClassPostProcessor` 的子类。所以,目前处理逻辑都集中在了 `ServiceClassPostProcessor` 中。 + +关于 Apache Dubbo 与 Spring 的整合原理就全部介绍完毕了。如有什么问题,欢迎留言讨论。以后有时间,写写分布式事务解决方案 Seata 的一些原理。 + + +// == Apache Dubbo Consumer Service Bean 的创建 + +// . `ReferenceAnnotationBeanPostProcessor` + + +// [source,java,{source_attr}] +// ---- +// 这是啥? +// ---- + +// image::/images/spring-framework/dubbo-logo.jpg[{image_attr}] + + + +// . `org.apache.dubbo.config.spring.context.annotation.EnableDubbo` + +// . `org.apache.dubbo.config.spring.context.annotation.EnableDubboConfig` +// . `org.apache.dubbo.config.spring.context.annotation.DubboConfigConfigurationRegistrar` + + +// . `org.apache.dubbo.config.spring.context.annotation.DubboComponentScan` +// . `org.apache.dubbo.config.spring.context.annotation.DubboComponentScanRegistrar` + + +// . `org.apache.dubbo.config.spring.beans.factory.config.DubboConfigDefaultPropertyValueBeanPostProcessor` +// . `org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor` +// . `org.apache.dubbo.xml.rpc.protocol.xmlrpc.XmlRpcProxyFactoryBean` + +// . `org.apache.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor` -- 弃用,推荐 `ServiceClassPostProcessor`。 +// . `org.apache.dubbo.config.spring.beans.factory.annotation.ServiceClassPostProcessor` + +// . `org.apache.dubbo.config.spring.schema.DubboBeanDefinitionParser` + +// . `org.apache.dubbo.config.spring.beans.factory.annotation.DubboConfigAliasPostProcessor` + + +// === Seata 与 Spring 整合 + +// . `io.seata.config.springcloud.EnableSeataSpringConfig` +// . `io.seata.config.springcloud.SpringApplicationContextProviderRegistrar` +// . `HttpAutoConfiguration` +// . `RequiredAnnotationBeanPostProcessor` +// . `SpringCacheAnnotationParser` \ No newline at end of file diff --git a/truman/src/docs/asciidoc/extensions-and-mybatis.adoc b/truman/src/docs/asciidoc/extensions-and-mybatis.adoc new file mode 100644 index 000000000000..60678bbeb40b --- /dev/null +++ b/truman/src/docs/asciidoc/extensions-and-mybatis.adoc @@ -0,0 +1,513 @@ +[#mybatis] += 整合 MyBATIS + +Spring 与 MyBATIS 的整合并不是 Spring 实现的,而且由 MyBATIS 项目组提供的。通过这个整合,也可以学习一下如何提供整合自己的类型框架。 + +在上一篇文章 https://www.diguage.com/post/spring-extensions-overview/[Spring 扩展点概览及实践^] 中介绍了 Spring 内部存在的扩展点。学以致用,现在来分析一下 Spring 与 MyBATIS 的整合流程。 + +== 示例程序 + +为了方便分析源码,先根据官方文档 https://mybatis.org/spring/getting-started.html[mybatis-spring – MyBatis-Spring | Getting Started^] 搭建起一个简单实例。 + +数据库方面,直接使用功能了 MySQL 示例数据库: https://dev.mysql.com/doc/employee/en/[MySQL : Employees Sample Database^],需要的话,自行下载。 + +[#SpringMybatisTest] +.SpringMybatisTest +[{java_src_attr}] +---- +include::{truman_src_dir}/mybatis/SpringMybatisTest.java[] +---- + +[#EmployeesMapper] +.EmployeesMapper +[{java_src_attr}] +---- +include::{truman_src_dir}/mybatis/EmployeesMapper.java[] +---- + +[#EmployeesMapper] +.EmployeesMapper +[{java_src_attr}] +---- +include::{truman_src_dir}/mybatis/MapperAop.java[] +---- + +[#Employees] +.Employees +[{java_src_attr}] +---- +include::{truman_src_dir}/mybatis/Employees.java[] +---- + +整个实例代码中,只有 `@MapperScan(basePackages = "com.diguage.truman.mybatis")` 这个注解和 MyBATIS 的配置相关,我们就从这里开始吧。 + +[#mapper-scan] +== `@MapperScan` 处理 + +D瓜哥在 https://www.diguage.com/post/spring-extensions-overview/#bean-definition-registry-post-processor[Spring 扩展点概览及实践:BeanDefinitionRegistryPostProcessor^] 中已经指出 `ConfigurationClassPostProcessor` 负责处理 `@Configuration` 注解。所以,可以直接去看这个类的代码。 + +`ConfigurationClassPostProcessor` 的处理流程都是在 `processConfigBeanDefinitions(BeanDefinitionRegistry registry)` 方法中完成的。在这个方法中,可以看到如下代码: + + +.`ConfigurationClassPostProcessor#processConfigBeanDefinitions` +[{java_src_attr},highlight=68..80] +---- +include::{context_src_dir}/context/annotation/ConfigurationClassPostProcessor.java[tag=processConfigBeanDefinitions] +---- + +在 `parser.parse(candidates);` 这行代码打一个断点,然后一步一步跟下去,就到了 `ConfigurationClassParser` 的 `doProcessConfigurationClass` 方法里,重点关注 `processImports` 这行: + +.`ConfigurationClassParser#doProcessConfigurationClass` +[{java_src_attr},highlight=53..56] +---- +include::{context_src_dir}/context/annotation/ConfigurationClassParser.java[tag=doProcessConfigurationClass] +---- + +请注意这里的 `getImports(sourceClass)`,我们看一下这个方法: + +[{java_src_attr}] +---- +include::{context_src_dir}/context/annotation/ConfigurationClassParser.java[tag=getImports] + +include::{context_src_dir}/context/annotation/ConfigurationClassParser.java[tag=collectImports] +---- + +在 `String annName = annotation.getMetadata().getClassName();` 这行代码打断点,然后调试,注意观察 `annName` 变量的值,相信肯定可以看到 `org.mybatis.spring.annotation.MapperScan`,接着就可以看到,通过 `sourceClass.getAnnotationAttributes(Import.class.getName(), "value")` 解析 `@Import` 注解,把其中的 `org.mybatis.spring.annotation.MapperScannerRegistrar` 的相关信息(被封装成了 `SourceClass` 对象)加入到了 `imports` 变量中。 + +下面看一下是如何处理 `MapperScannerRegistrar` 的。 + +== `MapperScannerRegistrar` + +我们接着看 `processImports` 方法: + +[{java_src_attr}] +---- + private void processImports(ConfigurationClass configClass, SourceClass currentSourceClass, + Collection importCandidates, Predicate exclusionFilter, + boolean checkForCircularImports) { + + //...此处省去 N 行代码 + else if (candidate.isAssignable(ImportBeanDefinitionRegistrar.class)) { + // 很明显,会进入到这个分支 + // Candidate class is an ImportBeanDefinitionRegistrar -> + // delegate to it to register additional bean definitions + Class candidateClass = candidate.loadClass(); + ImportBeanDefinitionRegistrar registrar = + ParserStrategyUtils.instantiateClass(candidateClass, ImportBeanDefinitionRegistrar.class, + this.environment, this.resourceLoader, this.registry); + // 创建一个实例,然后加入到 configClass 中 + configClass.addImportBeanDefinitionRegistrar(registrar, currentSourceClass.getMetadata()); + //...此处省去 N 行代码 + } +---- + +接着,回到 `processConfigBeanDefinitions` 方法: + +.`ConfigurationClassPostProcessor#processConfigBeanDefinitions` +[{java_src_attr},highlight=79..91] +---- +include::{context_src_dir}/context/annotation/ConfigurationClassPostProcessor.java[tag=processConfigBeanDefinitions] +---- + +进入 `this.reader.loadBeanDefinitions(configClasses);` 方法: + +.`ConfigurationClassBeanDefinitionReader#loadBeanDefinitions` +[{java_src_attr}] +---- +include::{context_src_dir}/context/annotation/ConfigurationClassBeanDefinitionReader.java[tag=loadBeanDefinitions] + +include::{context_src_dir}/context/annotation/ConfigurationClassBeanDefinitionReader.java[tag=loadBeanDefinitionsForConfigurationClass] + +include::{context_src_dir}/context/annotation/ConfigurationClassBeanDefinitionReader.java[tag=loadBeanDefinitionsFromImportedResources] + +include::{context_src_dir}/context/annotation/ConfigurationClassBeanDefinitionReader.java[tag=loadBeanDefinitionsFromRegistrars] +---- + +到这里就调用到了 `MapperScannerRegistrar` 的 `registerBeanDefinitions` 方法: + +.`MapperScannerRegistrar#registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry)` +[{java_src_attr}] +---- + /** + * {@inheritDoc} + */ + @Override + public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { + AnnotationAttributes mapperScanAttrs = AnnotationAttributes + .fromMap(importingClassMetadata.getAnnotationAttributes(MapperScan.class.getName())); + if (mapperScanAttrs != null) { + registerBeanDefinitions(importingClassMetadata, mapperScanAttrs, registry, + generateBaseBeanName(importingClassMetadata, 0)); + } + } + + void registerBeanDefinitions(AnnotationMetadata annoMeta, AnnotationAttributes annoAttrs, + BeanDefinitionRegistry registry, String beanName) { + + // 注意这行代码: + BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(MapperScannerConfigurer.class); + builder.addPropertyValue("processPropertyPlaceHolders", true); + + Class annotationClass = annoAttrs.getClass("annotationClass"); + if (!Annotation.class.equals(annotationClass)) { + builder.addPropertyValue("annotationClass", annotationClass); + } + + Class markerInterface = annoAttrs.getClass("markerInterface"); + if (!Class.class.equals(markerInterface)) { + builder.addPropertyValue("markerInterface", markerInterface); + } + + Class generatorClass = annoAttrs.getClass("nameGenerator"); + if (!BeanNameGenerator.class.equals(generatorClass)) { + builder.addPropertyValue("nameGenerator", BeanUtils.instantiateClass(generatorClass)); + } + + Class mapperFactoryBeanClass = annoAttrs.getClass("factoryBean"); + if (!MapperFactoryBean.class.equals(mapperFactoryBeanClass)) { + builder.addPropertyValue("mapperFactoryBeanClass", mapperFactoryBeanClass); + } + + String sqlSessionTemplateRef = annoAttrs.getString("sqlSessionTemplateRef"); + if (StringUtils.hasText(sqlSessionTemplateRef)) { + builder.addPropertyValue("sqlSessionTemplateBeanName", annoAttrs.getString("sqlSessionTemplateRef")); + } + + String sqlSessionFactoryRef = annoAttrs.getString("sqlSessionFactoryRef"); + if (StringUtils.hasText(sqlSessionFactoryRef)) { + builder.addPropertyValue("sqlSessionFactoryBeanName", annoAttrs.getString("sqlSessionFactoryRef")); + } + + List basePackages = new ArrayList<>(); + basePackages.addAll( + Arrays.stream(annoAttrs.getStringArray("value")).filter(StringUtils::hasText).collect(Collectors.toList())); + + basePackages.addAll(Arrays.stream(annoAttrs.getStringArray("basePackages")).filter(StringUtils::hasText) + .collect(Collectors.toList())); + + basePackages.addAll(Arrays.stream(annoAttrs.getClassArray("basePackageClasses")).map(ClassUtils::getPackageName) + .collect(Collectors.toList())); + + if (basePackages.isEmpty()) { + basePackages.add(getDefaultBasePackage(annoMeta)); + } + + String lazyInitialization = annoAttrs.getString("lazyInitialization"); + if (StringUtils.hasText(lazyInitialization)) { + builder.addPropertyValue("lazyInitialization", lazyInitialization); + } + + builder.addPropertyValue("basePackage", StringUtils.collectionToCommaDelimitedString(basePackages)); + + registry.registerBeanDefinition(beanName, builder.getBeanDefinition()); + + } +---- + +其实只干了一件事情,就是在想容器中注册了一个类为 `MapperScannerConfigurer` 的 `BeanDefinition`,在创建过程中,还把 `@MapperScan` 注解中的属性给添加到了 `BeanDefinition` 属性中。下面,来看看 `MapperScannerConfigurer` 是何方神圣。 + +== `MapperScannerConfigurer` + +先看一下 `MapperScannerConfigurer` 的类型定义: + +[{java_src_attr}] +---- +public class MapperScannerConfigurer + implements BeanDefinitionRegistryPostProcessor, InitializingBean, ApplicationContextAware, BeanNameAware { +---- + +结合上一篇文章 https://www.diguage.com/post/spring-extensions-overview/#bean-definition-registry-post-processor[Spring 扩展点概览及实践:BeanDefinitionRegistryPostProcessor^] 中的介绍,可以知道 `BeanDefinitionRegistryPostProcessor` 也是 Spring 生命周期中的一环,将其注册到容器中,就可以通过对 `postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)` 来实现注册自定义 `BeanDefinition` 的功能。 + +来看看 `postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)` 的定义: + +.`MapperScannerConfigurer#postProcessBeanDefinitionRegistry` +[{java_src_attr}] +---- + @Override + public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) { + if (this.processPropertyPlaceHolders) { + processPropertyPlaceHolders(); + } + + ClassPathMapperScanner scanner = new ClassPathMapperScanner(registry); + scanner.setAddToConfig(this.addToConfig); + scanner.setAnnotationClass(this.annotationClass); + scanner.setMarkerInterface(this.markerInterface); + scanner.setSqlSessionFactory(this.sqlSessionFactory); + scanner.setSqlSessionTemplate(this.sqlSessionTemplate); + scanner.setSqlSessionFactoryBeanName(this.sqlSessionFactoryBeanName); + scanner.setSqlSessionTemplateBeanName(this.sqlSessionTemplateBeanName); + scanner.setResourceLoader(this.applicationContext); + scanner.setBeanNameGenerator(this.nameGenerator); + scanner.setMapperFactoryBeanClass(this.mapperFactoryBeanClass); + if (StringUtils.hasText(lazyInitialization)) { + scanner.setLazyInitialization(Boolean.valueOf(lazyInitialization)); + } + scanner.registerFilters(); + scanner.scan( + StringUtils.tokenizeToStringArray(this.basePackage, ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS)); + } +---- + +代码已经非常明确了,就是注册了一个 `ClassPathMapperScanner`,同事调用了 `scanner.scan` 方法。下面,来看一下 `ClassPathMapperScanner`。 + +== `ClassPathMapperScanner` + +老规矩,先看看 `ClassPathMapperScanner` 的定义: + +[{java_src_attr}] +---- +public class ClassPathMapperScanner extends ClassPathBeanDefinitionScanner { + + //...此处省去 N 行代码 + + private Class mapperFactoryBeanClass = MapperFactoryBean.class; + + public ClassPathMapperScanner(BeanDefinitionRegistry registry) { + super(registry, false); + } +---- + +从这里可以看出,`ClassPathMapperScanner` 就是一个 `ClassPathBeanDefinitionScanner`,根据类名可以得知,扫描 `class path` 并生成 `BeanDefinition`。来看一下 `scan(String... basePackages)` + +.`ClassPathBeanDefinitionScanner#scan` +[{java_src_attr}] +---- +include::{context_src_dir}/context/annotation/ClassPathBeanDefinitionScanner.java[tag=scan] +---- + +这里把实际扫描工作委托给了 `doScan(basePackages)` 方法,而这个方法被 `ClassPathMapperScanner` 重写了,来看一下它的实现: + +.`ClassPathMapperScanner#doScan` +[{java_src_attr}] +---- + /** + * Calls the parent search that will search and register all the candidates. Then the registered objects are post + * processed to set them as MapperFactoryBeans + */ + @Override + public Set doScan(String... basePackages) { + Set beanDefinitions = super.doScan(basePackages); + + if (beanDefinitions.isEmpty()) { + LOGGER.warn(() -> "No MyBatis mapper was found in '" + Arrays.toString(basePackages) + + "' package. Please check your configuration."); + } else { + processBeanDefinitions(beanDefinitions); + } + + return beanDefinitions; + } +---- + +实际的扫描工作还是由父类 `super.doScan(basePackages)` 完成,只是又对扫描结果做了进一步处理: `processBeanDefinitions(beanDefinitions)`。 + +.`ClassPathMapperScanner#processBeanDefinitions` +[{java_src_attr}] +---- + private void processBeanDefinitions(Set beanDefinitions) { + GenericBeanDefinition definition; + for (BeanDefinitionHolder holder : beanDefinitions) { + definition = (GenericBeanDefinition) holder.getBeanDefinition(); + String beanClassName = definition.getBeanClassName(); + LOGGER.debug(() -> "Creating MapperFactoryBean with name '" + holder.getBeanName() + "' and '" + beanClassName + + "' mapperInterface"); + + // the mapper interface is the original class of the bean + // but, the actual class of the bean is MapperFactoryBean + // 注意这行代码 + definition.getConstructorArgumentValues().addGenericArgumentValue(beanClassName); // issue #59 + // 注意这行代码 + definition.setBeanClass(this.mapperFactoryBeanClass); + + definition.getPropertyValues().add("addToConfig", this.addToConfig); + + boolean explicitFactoryUsed = false; + if (StringUtils.hasText(this.sqlSessionFactoryBeanName)) { + definition.getPropertyValues().add("sqlSessionFactory", + new RuntimeBeanReference(this.sqlSessionFactoryBeanName)); + explicitFactoryUsed = true; + } else if (this.sqlSessionFactory != null) { + definition.getPropertyValues().add("sqlSessionFactory", this.sqlSessionFactory); + explicitFactoryUsed = true; + } + + if (StringUtils.hasText(this.sqlSessionTemplateBeanName)) { + if (explicitFactoryUsed) { + LOGGER.warn( + () -> "Cannot use both: sqlSessionTemplate and sqlSessionFactory together. sqlSessionFactory is ignored."); + } + definition.getPropertyValues().add("sqlSessionTemplate", + new RuntimeBeanReference(this.sqlSessionTemplateBeanName)); + explicitFactoryUsed = true; + } else if (this.sqlSessionTemplate != null) { + if (explicitFactoryUsed) { + LOGGER.warn( + () -> "Cannot use both: sqlSessionTemplate and sqlSessionFactory together. sqlSessionFactory is ignored."); + } + definition.getPropertyValues().add("sqlSessionTemplate", this.sqlSessionTemplate); + explicitFactoryUsed = true; + } + + if (!explicitFactoryUsed) { + LOGGER.debug(() -> "Enabling autowire by type for MapperFactoryBean with name '" + holder.getBeanName() + "'."); + definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); + } + definition.setLazyInit(lazyInitialization); + } + } +---- + +这里特别需要注意的是 `definition.setBeanClass(this.mapperFactoryBeanClass);` 这行代码。为什么把扫描出来的 `Mapper` 的 `Bean Class` 给设置成 `mapperFactoryBeanClass` 呢?通过上面的 `ClassPathMapperScanner` 类型定义可以知道,`mapperFactoryBeanClass` 就是 `MapperFactoryBean`。 + +另外,还有一点值得思考,扫描出来的是接口,怎么生成对应的实例呢?带着这两个问题,来看一下 `MapperFactoryBean`。 + +== `MapperFactoryBean` + +来看一下 `MapperFactoryBean` 的类型定义: + +[{java_src_attr}] +---- +public class MapperFactoryBean extends SqlSessionDaoSupport implements FactoryBean { + + private Class mapperInterface; + + private boolean addToConfig = true; + + public MapperFactoryBean() { + // intentionally empty + } + + public MapperFactoryBean(Class mapperInterface) { + this.mapperInterface = mapperInterface; + } + + /** + * {@inheritDoc} + */ + @Override + protected void checkDaoConfig() { + super.checkDaoConfig(); + + notNull(this.mapperInterface, "Property 'mapperInterface' is required"); + + Configuration configuration = getSqlSession().getConfiguration(); + if (this.addToConfig && !configuration.hasMapper(this.mapperInterface)) { + try { + configuration.addMapper(this.mapperInterface); + } catch (Exception e) { + logger.error("Error while adding the mapper '" + this.mapperInterface + "' to configuration.", e); + throw new IllegalArgumentException(e); + } finally { + ErrorContext.instance().reset(); + } + } + } + + /** + * {@inheritDoc} + */ + @Override + public T getObject() throws Exception { + return getSqlSession().getMapper(this.mapperInterface); + } +---- + +可以看出 `MapperFactoryBean` 是一个 `FactoryBean`,上一篇文章 https://www.diguage.com/post/spring-extensions-overview/#factory-bean[Spring 扩展点概览及实践:FactoryBean^] 中提到,`FactoryBean` 就是专门生产 Bean 的工厂。 + +再看构造函数 `public MapperFactoryBean(Class mapperInterface)`,结合上一个片段代码中注意的地方可以看出,从 `Class Path` 扫描出来的 `BeanDefinition`,把扫描出来的接口设置为构造函数参数 `definition.getConstructorArgumentValues().addGenericArgumentValue(beanClassName);` 然后通过实例化 `FactoryBean`,然后调用 `getObject()` 就可以获得接口对应的实例对象。 + +实例化对象的过程是由 MyBATIS 完成的,以后单独开篇来介绍,这里不再多做介绍。 + +还有个疑问,MyBATIS 是怎么知道 Mapper 接口信息呢?这个问题就要看 `checkDaoConfig()` 方法了,单步调试代码可以知道父类 `DaoSupport#afterPropertiesSet` 调用的,在这个方法中,把 Mapper 接口信息条件到了 MyBATIS 中 `configuration.addMapper(this.mapperInterface)`。 + +自此,MyBATIS 和 Spring 的整个流程就全部介绍完毕了。下面做个小节。 + +== 小节 + +本文从源码角度,深入绍了 MyBATIS 和 Spring 整合过程。整个过程中,用到了 Spring 的如下扩展点: + +. `@Import` +. `MapperScannerRegistrar` - `ImportBeanDefinitionRegistrar` +. `MapperScannerConfigurer` - `BeanDefinitionRegistryPostProcessor` +. `ClassPathMapperScanner` - `ClassPathBeanDefinitionScanner` +. `MapperFactoryBean` - `FactoryBean` +. `InitializingBean` + +可见,和 Spring 整合并不是只靠一个扩展点就可以完成的,需要多个扩展点多方配合才能更好地完成整合过程。 + +== 为什么在 Spring+MyBATIS 时,一级缓存失效? + +在原生 MyBATIS 实现中,在执行查询时,使用的 `SqlSession` 是 `DefaultSqlSession`, `DefaultSqlSession` 实例是在执行 `SqlSession session = sqlSessionFactory.openSession();` 时创建的。执行查询操作也是在 `DefaultSqlSession.selectList(String, Object, RowBounds, ResultHandler)` 中完成的。 + +.使用 MyBAITS 原生查询 +[{java_src_attr}] +---- +include::{truman_src_dir}/mybatis/MybatisTest.java[tag=testCacheQuery] + +include::{truman_src_dir}/mybatis/MybatisTest.java[tag=getDataSource] +---- + +Spring 的示例请看 <>、 <>、 <>。 + +在 Spring + MyBATIS 搭配中,在执行查询时,使用的 `SqlSession` 是 `SqlSessionTemplate`(由“mybatis-spring”实现)。而 `SqlSessionTemplate` 的查询执行是委托给 `SqlSessionTemplate.sqlSessionProxy`(`SqlSession` 类型)来操作。 `SqlSessionTemplate.sqlSessionProxy` 是通过动态代理创建出来的代理实例。在代理实现内部执行时,从创建 `SqlSessionTemplate` 实例时经构造函数传入的 `SqlSessionFactory` 对象中获取 `SqlSession` 对象(创建过程与原生 MyBATIS 的构造过程相同)。最后,再去执行查询操作。 + +在创建 `SqlSessionTemplate.sqlSessionProxy` 代理时,代理切面在执行完查询后,执行了 `closeSqlSession` 操作。正是因为执行了次操作,导致了一级缓存失效。 + +.org.mybatis.spring.SqlSessionTemplate.SqlSessionInterceptor +[{java_src_attr},highlight=34] +---- + /** + * Proxy needed to route MyBatis method calls to the proper SqlSession got from Spring's Transaction Manager It also + * unwraps exceptions thrown by {@code Method#invoke(Object, Object...)} to pass a {@code PersistenceException} to the + * {@code PersistenceExceptionTranslator}. + */ + private class SqlSessionInterceptor implements InvocationHandler { + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + SqlSession sqlSession = getSqlSession(SqlSessionTemplate.this.sqlSessionFactory, + SqlSessionTemplate.this.executorType, SqlSessionTemplate.this.exceptionTranslator); + try { + Object result = method.invoke(sqlSession, args); + if (!isSqlSessionTransactional(sqlSession, SqlSessionTemplate.this.sqlSessionFactory)) { + // force commit even on non-dirty sessions because some databases require + // a commit/rollback before calling close() + sqlSession.commit(true); + } + return result; + } catch (Throwable t) { + Throwable unwrapped = unwrapThrowable(t); + if (SqlSessionTemplate.this.exceptionTranslator != null && unwrapped instanceof PersistenceException) { + // release the connection to avoid a deadlock if the translator is no loaded. See issue #22 + closeSqlSession(sqlSession, SqlSessionTemplate.this.sqlSessionFactory); + sqlSession = null; + Throwable translated = SqlSessionTemplate.this.exceptionTranslator + .translateExceptionIfPossible((PersistenceException) unwrapped); + if (translated != null) { + unwrapped = translated; + } + } + throw unwrapped; + } finally { + if (sqlSession != null) { + closeSqlSession(sqlSession, SqlSessionTemplate.this.sqlSessionFactory); + } + } + } + } +---- + +为什么要关闭 `SqlSession`?因为 Spring 没有把 `SqlSession` 实例暴露给用户,那么用户不能控制 `SqlSession` 的关闭操作。所以,在执行完查询操作后,就马上关闭 `SqlSession` 是一个比较合理的操作。 + +在 Spring + MyBATIS 中, `Mapper` 的信息什么时候加入到 `Configuration` 的? // TODO + +// == `MapperProxyFactory` + +// == `MapperProxy` + +== 参考资料 + +. https://tech.meituan.com/2018/01/19/mybatis-cache.html[聊聊MyBatis缓存机制^] -- 文章写的很好,值得认真阅读! +. https://www.cnblogs.com/java-chen-hao/p/11833780.html[Mybaits 源码解析 (十)- Spring-Mybatis框架使用与源码解析^] +. https://juejin.im/post/5dbff6fae51d455c042008e6[Mybatis源码解析(一) — mybatis与Spring是如何整合的?^] + diff --git a/truman/src/docs/asciidoc/extensions-overview.adoc b/truman/src/docs/asciidoc/extensions-overview.adoc new file mode 100644 index 000000000000..e4814d95f9e3 --- /dev/null +++ b/truman/src/docs/asciidoc/extensions-overview.adoc @@ -0,0 +1,578 @@ += 扩展点概览及实践 + +学习 Spring 代码,最重要的是掌握 Spring 有哪些扩展点,可以利用这些扩展点对 Spring 做什么扩展操作。说得更具体一点,如果自己开发一个框架,如何与 Spring 进行整合,如果对 Spring 的扩展点有一个比较清晰的认识,势必会事半功倍。 + +== `@Import` + +先来看一下 `@Import` 注解的定义: + +[{java_src_attr}] +---- +include::{context_src_dir}/context/annotation/Import.java[] +---- + +从声明可以看出,使用时,只需要指定 `Class` 实例即可;从方法的文档中可以看出,`Class` 实例可以分为三种:`ImportSelector`、`ImportBeanDefinitionRegistrar` 和常规组件类。示例如下: + +[{java_src_attr}] +---- +@Configuration +@Import(LogImportSelector.class) +public static class Config { +} +---- + +在 `org.springframework.context.annotation.ConfigurationClassParser#processImports` 方法中,集中了对 `@Import` 注解的处理。从代码可以非常清晰地看出,分了三种情况进行处理: + +. `ImportSelector` +. `ImportBeanDefinitionRegistrar` +. 常规组件 `Class` + +下面分别对其进行介绍。 + +=== `ImportSelector` + +先来看一下 `ImportSelector` 接口的定义: + +[{java_src_attr}] +---- +include::{context_src_dir}/context/annotation/ImportSelector.java[] +---- + +从接口文档中就可以看出,使用 `String[] selectImports(AnnotationMetadata importingClassMetadata)` 方法,返回所需要引入的类全限定名即可。实例如下: + +[{java_src_attr}] +---- +public class LogImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName(), + ProtoService.class.getName() + }; + } +} +---- + +=== `ImportBeanDefinitionRegistrar` + +先来看一下 `ImportBeanDefinitionRegistrar` 接口的定义: + +[{java_src_attr}] +---- +include::{context_src_dir}/context/annotation/ImportBeanDefinitionRegistrar.java[] +---- + +这里使用到了 `BeanDefinitionRegistry` 接口,来看一下这个接口的定义: + +[{java_src_attr}] +---- +include::{beans_src_dir}/factory/support/BeanDefinitionRegistry.java[] +---- + +很明显,可以通过 `registerBeanDefinition(String beanName, BeanDefinition beanDefinition)` 方法,向容器在中注入所需要的 `BeanDefinition`,而 `BeanDefinition` 是常见的 Bean 实例的基石。示例如下: + +[{java_src_attr}] +---- +public class LogImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar { + @Override + public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, + BeanDefinitionRegistry registry) { + RootBeanDefinition definition = new RootBeanDefinition(UserService.class); + registry.registerBeanDefinition(UserService.class.getName(), definition); + } +} +---- + +=== 常规组件 `Class` + +这是最简单的情况,直接举例: + +[{java_src_attr}] +---- +@Configuration +@Import(UserService.class) +public static class Config { +} +---- + +[#bean-definition-registry-post-processor] +== `BeanDefinitionRegistryPostProcessor` + +先来看一下 `BeanDefinitionRegistryPostProcessor` 的定义: + +[{java_src_attr}] +---- +include::{beans_src_dir}/factory/support/BeanDefinitionRegistryPostProcessor.java[] +---- + +这个接口扩展了标准的 `BeanFactoryPostProcessor` 接口,允许在普通的 `BeanFactoryPostProcessor` 接口实现类执行之前注册更多的 `BeanDefinition`。特别地是,`BeanDefinitionRegistryPostProcessor` 可以注册 `BeanFactoryPostProcessor` 的 `BeanDefinition`。 + +`postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)` 方法可以修改在 `BeanDefinitionRegistry` 接口实现类中注册的任意 `BeanDefinition`,也可以增加和删除 `BeanDefinition`。原因是这个方法执行前,所有常规的 `BeanDefinition` 已经被加载到 `BeanDefinitionRegistry` 接口实现类中,但还没有bean被实例化。 + +实例如下: + +[{java_src_attr}] +---- +public class LogBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor { + @Override + public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { + System.out.println(getAndIncrement() + + "LogBeanDefinitionRegistryPostProcessor.postProcessBeanDefinitionRegistry\n"); + RootBeanDefinition beanDefinition = new RootBeanDefinition(LogBeanFactoryPostProcessor.class); + registry.registerBeanDefinition(beanDefinition.getBeanClassName(), beanDefinition); + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + System.out.println(getAndIncrement() + + "LogBeanDefinitionRegistryPostProcessor.postProcessBeanFactory\n"); + } +} +---- + +`BeanDefinitionRegistryPostProcessor` 在 Spring 内部的使用,最重要的示例就是 `ConfigurationClassPostProcessor`,这个类负责解析 `@Import` 和 `@Configuration` 等注解。感兴趣可以认真研究一下这个类的代码。 + + +[#bean-factory-post-processor] +== `BeanFactoryPostProcessor` + +`BeanFactory` 生成后,如果想对 `BeanFactory` 进行一些处理,该怎么办呢?`BeanFactoryPostProcessor` 接口就是用来处理 `BeanFactory` 的。 + +先来看一下接口定义: + +[{java_src_attr}] +---- +include::{beans_src_dir}/factory/config/BeanFactoryPostProcessor.java[] +---- + +若 IoC 容器内添加了实现了 `BeanFactoryPostProcessor` 接口的实现类 Bean,那么在该容器中实例化任何其他 Bean 之前可以回调该 Bean 中的 `postPrcessorBeanFactory()` 方法来对 Bean 的配置元数据进行更改,比如设置 `init-method`,或者将 `Scope` 从 `SINGLETON` 改为 `PROTOTYPE`。示例如下: + +[{java_src_attr}] +---- +public class LogBeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + System.out.println(getAndIncrement() + + "LogBeanFactoryPostProcessor.postProcessBeanFactory\n"); + System.out.println(Arrays.toString(beanFactory.getBeanDefinitionNames()).replaceAll(",", ",\n")); + BeanDefinition definition = beanFactory.getBeanDefinition(UserService.class.getName()); + // 设置 init 方法 + definition.setInitMethodName("init"); + } +} +---- + +在代码 `org.springframework.context.support.AbstractApplicationContext#invokeBeanFactoryPostProcessors` 中,集中了对 `BeanFactoryPostProcessor` 的调用。该方法把处理过程,委托给了 `org.springframework.context.support.PostProcessorRegistrationDelegate#invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory, java.util.List)` 方法来处理。根据代码可以整理出处理流程如下: + +. 如果 `beanFactory` 是一个 `BeanDefinitionRegistry` 实例,则: +.. 首先处理参数传过来的 `List beanFactoryPostProcessors` 对象 +... 如果 `postProcessor` 是 `BeanDefinitionRegistryPostProcessor` 实现类,则直接调用 `postProcessBeanDefinitionRegistry`,然后加入到 `List registryProcessors` 列表中; +... 如果不是,则加入到 `List regularPostProcessors` 列表中; +.. 从 `BeanFactory` 中通过 `beanFactory.getBeanNamesForType(BeanDefinitionRegistryPostProcessor.class, true, false)` 方法获取 `BeanDefinitionRegistryPostProcessor` 名称列表。筛选出实现了 `PriorityOrdered` 接口的实例,然后排序再逐一调用 `postProcessBeanDefinitionRegistry` 方法。最后,加入到 `List registryProcessors` 列表中。 +.. 从 `BeanFactory` 中通过 `beanFactory.getBeanNamesForType(BeanDefinitionRegistryPostProcessor.class, true, false)` 方法获取 `BeanDefinitionRegistryPostProcessor` 名称列表。筛选出实现了 `Ordered` 接口的实例,然后排序再逐一调用 `postProcessBeanDefinitionRegistry` 方法。最后,加入到 `List registryProcessors` 列表中。(注意:上一步已经调用过的则不再重复调用。) +.. 从 `BeanFactory` 中通过 `beanFactory.getBeanNamesForType(BeanDefinitionRegistryPostProcessor.class, true, false)` 方法获取 `BeanDefinitionRegistryPostProcessor` 名称列表。剔除掉前两步调用过的类,排序再逐一调用 `postProcessBeanDefinitionRegistry` 方法。最后,加入到 `List registryProcessors` 列表中。要强调的一点是:这里是通过一个循环来反复执行这一步,D瓜哥认为是在调用 `postProcessBeanDefinitionRegistry` 方法中,有会参数新注册的 `BeanDefinitionRegistryPostProcessor`,所以需要反复调用。大家如果有不同见解,也欢迎留言讨论。 +.. 调用 `BeanDefinitionRegistryPostProcessor` 对象的 `postProcessBeanFactory` 方法; +.. 调用 `BeanFactoryPostProcessor` 对象的 `postProcessBeanFactory` 方法; +. 如果 `beanFactory` 不是 `BeanDefinitionRegistry` 实例,则直接调用 `BeanFactoryPostProcessor` 对象的 `postProcessBeanFactory` 方法; +. 从 `BeanFactory` 中通过 `beanFactory.getBeanNamesForType(BeanFactoryPostProcessor.class, true, false)` 方法获取 `BeanFactoryPostProcessor` 名称列表。将其分为: +.. 实现 `PriorityOrdered` 接口的实例 +.. 实现 `Ordered` 接口的实例 +.. 未排序的实例 ++ +按照这个顺序,排除已经处理过的实例,再分类,然后排序再跟着这个顺序依次逐一调用 `BeanFactoryPostProcessor` 对象的 `postProcessBeanFactory` 方法; ++ +. 最后,向 `BeanFactory` 注册 `ApplicationListenerDetector` 实例。 + + +== `InstantiationAwareBeanPostProcessor` + +注意区分 *`Instantiation`* 和 *`Initialization`*。 + +* *`Instantiation`* -- 实例化,在实例化之前还没有生成对象。 +* *`Initialization`* -- 初始化,对象已经生成,需要对其做进一步的处理,比如赋值等。 + +[#factory-bean] +== `FactoryBean` + +在对象生成上,有时也许需要做些特殊处理。比如,创建对象过程比较繁琐,希望可以通过实现 `FactoryBean` 来封装初始化过程。 + +在 Spring 官方文档 https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-extension-factorybean[Core Technologies: Customizing Instantiation Logic with a `FactoryBean`^] 也有进一步的说明。 + +目前,Spring 源码中,`FactoryBean` 的实现类就有五十多个,随便举几个栗子🌰: + +* `org.springframework.http.converter.json.GsonFactoryBean` +* `org.springframework.cache.jcache.JCacheManagerFactoryBean` +* `org.springframework.aop.framework.ProxyFactoryBean` + +示例如下: + +[{java_src_attr}] +---- +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.FactoryBean; +import org.springframework.context.annotation.*; + +import java.util.Arrays; + +/** + * FactoryBean 测试 + * + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-26 16:34 + */ +public class FactoryBeanTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + + System.out.println("-↓----"); + System.out.println("&userServiceFactoryBean = " // <1> + + context.getBean("&userServiceFactoryBean")); + System.out.println(" userServiceFactoryBean = " // <2> + + context.getBean("userServiceFactoryBean")); + System.out.println("-↑----"); + + UserServiceFactoryBean factoryBean = context.getBean(UserServiceFactoryBean.class); + System.out.println(factoryBean); + System.out.println(Arrays.toString(context.getBeanDefinitionNames()) + .replaceAll(",", ",\n")); + } + + @Configuration + public static class Config { + @Bean + public UserServiceFactoryBean userServiceFactoryBean() { + return new UserServiceFactoryBean(); + } + } + + + public static class UserService { + public String getById(Long id) { + return "Name-" + id; + } + } + + public static class UserServiceFactoryBean implements FactoryBean { + @Override + public UserService getObject() throws Exception { + return new UserService(); + } + + @Override + public Class getObjectType() { + return UserService.class; + } + + @Override + public boolean isSingleton() { + return false; + } + } +} +---- +<1> 通过 Bean 名称 `&userServiceFactoryBean` 获得的 Bean 是 `UserServiceFactoryBean` 对象; +<2> 通过 Bean 名称 `userServiceFactoryBean` 获得的 Bean 是 `UserService` 对象; + +有一点需要强调一下:`&` 符号的使用需要注意。上面的代码和相应注释给出了说明。 + + +== `ObjectFactory` + +D瓜哥个人认为 `FactoryBean` 和 `ObjectFactory` 功能有些重叠,都是为了创建对象而设计的。 + +通过 `ObjectFactory` 的文档,Spring 给出了官方解释: + +**** +这个接口通常用于封装一个通用的工厂,它在每次调用时返回某个目标对象的新实例(原型)。 + +这个接口类似于 `FactoryBean`,但后者的实现通常是作为 `BeanFactory` 中的 SPI 实例来定义,而这个类的实现通常是作为 API 馈送给其他 Bean(通过注入)。因此,getObject()方法有不同的异常处理行为。 +**** + +Spring 在解决循环依赖时和在创建 Bean 时,都使用到接口。它似乎可以脱离 Spring 单独使用。 + +== `ObjectProvider` + +`ObjectProvider` 继承了 `ObjectFactory` 接口,它是后者的一个变体,提供了更加丰富的操作 `T getIfAvailable()`,T getIfUnique() 等。在 Spring 5.1 以后,有继承了 `Iterable` 接口,方法用于循环或者 `forEach` 方法。在 `org.springframework.beans.factory.support.DefaultListableBeanFactory` 中有使用示例。 + +== `BeanPostProcessor` + +`BeanPostProcessor` 是 Spring 中最最重要的扩展点。Spring 内部大量的功能 IoC 和 AOP 也都是通过 `BeanPostProcessor` 来实现的。先来看一下接口定义: + +[{java_src_attr}] +---- +include::{beans_src_dir}/factory/config/BeanPostProcessor.java[] +---- + +具体到实际应用上,Spring 内置了大量的应用: + +. `ApplicationContextAwareProcessor` -- `Aware` 接口的处理。 +. `InitDestroyAnnotationBeanPostProcessor` -- `init-method` 和 `destroy-method` 方法的调用。 +. `InstantiationAwareBeanPostProcessor` +. `CommonAnnotationBeanPostProcessor` -- 常用注解 `@Resource`、`@PostConstruct` 和 `@PreDestroy` 的解析。 +. `AutowiredAnnotationBeanPostProcessor` -- 常用注解 `@Autowired`、`@Value` 和 `@Inject` 的解析。 +. `BeanValidationPostProcessor` -- 字段校验。 +. `AbstractAutoProxyCreator` -- 生成代理。 + +少废话,直接上代码: + +[{java_src_attr}] +---- +public class LogBeanPostProcessor implements BeanPostProcessor { + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + if (bean instanceof UserService) { + System.out.println(getAndIncrement() + + "LogBeanPostProcessor.postProcessBeforeInitialization"); + System.out.println(bean); + System.out.println(); + } + return bean; + } + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + if (bean instanceof UserService) { + System.out.println(getAndIncrement() + + "LogBeanPostProcessor.postProcessAfterInitialization"); + System.out.println(bean); + System.out.println(); + } + return bean; + } +} + +// 将其注册到 BeanFactory 上 +beanFactory.addBeanPostProcessor(new LogBeanPostProcessor()); +---- + +在 `org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(String, Object, RootBeanDefinition)` 方法中,通过 `applyBeanPostProcessorsBeforeInitialization(wrappedBean, beanName)` 和 `applyBeanPostProcessorsAfterInitialization(wrappedBean, beanName)` 来分别调用 `postProcessBeforeInitialization` 和 `postProcessAfterInitialization` 方法。 + +== 各种 Aware + +有时,自己开发的代码可能需要 `ApplicationContext` 或者 `BeanFactory` 等实例。则可以通过实现相应的 `Aware` 接口来获得对应的实例。目前有如下这些 `Aware` 接口: + +. `ApplicationContextAware` +. `ApplicationEventPublisherAware` +. `BeanClassLoaderAware` +. `BeanFactoryAware` +. `BeanNameAware` +. `BootstrapContextAware` +. `EmbeddedValueResolverAware` +. `EnvironmentAware` +. `ImportAware` +. `LoadTimeWeaverAware` +. `MessageSourceAware` +. `NotificationPublisherAware` +. `ResourceLoaderAware` +. `SchedulerContextAware` +. `ServletConfigAware` +. `ServletContextAware` + +在代码 `org.springframework.context.support.ApplicationContextAwareProcessor#invokeAwareInterfaces` 中,集中处理了 `EnvironmentAware`、`EmbeddedValueResolverAware`、`ResourceLoaderAware`、`ApplicationEventPublisherAware`、`MessageSourceAware` 和 `ApplicationContextAware` 等六种 `Aware` 注入。值得一提的是,通过类的定义可以得知,`ApplicationContextAwareProcessor` 是一个 `BeanPostProcessor` 实现类,那么 `BeanPostProcessor` 的处理机制也通过适用于该类。 + +=== `ApplicationContextAware` + +如果某个 Bean 实现了 `ApplicationContextAware` 接口,那么 Spring 将会将该 Bean 所在的上下文环境 `ApplicationContext` 传递给 `setApplicationContext()` 方法,在 Bean 类中新增一个 `ApplicationContext` 字段用来保存 `ApplicationContext` 的值,并实现 `setApplicationContext()` 方法。 + +[{java_src_attr}] +---- +@Service +public static class UserService implements InitializingBean, ApplicationContextAware { + @Resource + UserDao userDao; + + ApplicationContext applicationContext; + + public UserService() { + System.out.println(getAndIncrement() + + "UserService()\n"); + } + + @Override + public void afterPropertiesSet() throws Exception { + System.out.println(getAndIncrement() + + "UserService.afterPropertiesSet\n"); + } + + public void init() { + System.out.println(getAndIncrement() + + "UserService.init\n"); + } + + String getById(Long id) { + return userDao.getById(id); + } + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + System.out.println(getAndIncrement() + + "UserService.setApplicationContext\n"); + this.applicationContext = applicationContext; + } +} +---- + +=== `BeanClassLoaderAware` + +如果某个 Bean 实现了 `BeanClassLoaderAware` 接口,那么 Spring 将会将创建 Bean 的 `ClassLoader` 传递给 `setBeanClassLoader()` 方法,在 Bean 类中新增了一个 `classLoader` 字段用来保存 `ClassLoader` 的值,并实现 `setBeanClassLoader()` 方法。 + +=== `BeanFactoryAware` + +如果某个 Bean 实现了 `BeanFactoryAware` 接口,那么 Spring 将会将创建 Bean 的 `BeanFactory` 传递给 `setBeanFactory()` 方法,在 Bean 类中新增了一个 `beanFactory` 字段用来保存 `BeanFactory` 的值,并实现 `setBeanFactory()` 方法。 + +=== `BeanNameAware` + +如果某个 Bean 实现了 `BeanNameAware` 接口,那么 Spring 将会将 Bean 实例的ID传递给 `setBeanName()` 方法,在 Bean 类中新增一个 `beanName` 字段,并实现 `setBeanName()` 方法。 + +=== `ServletContextAware` + +这个接口只能在 Web 项目中使用。 + +如果某个 Bean 实现了 `ServletContextAware` 接口,那么 Spring 将会将 `ServletContext` 传递给 `setServletContext()` 方法,在 Bean 类中新增一个字段,并实现 `setServletContext()` 方法。 + +[#InitializingBean-vs-init-method] +== `InitializingBean` 与 `init-method` + +设置 `init-method` 方法和实现 `InitializingBean` 方法达到的效果是一样的。在代码 `org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#invokeInitMethods` 中可以看到很详细的处理流程: + +. 判断 Bean 是否是 `InitializingBean` 实例,如果是,则做类型转换,然后再调用其 `afterPropertiesSet()` 方法; +. 获取 `AbstractBeanDefinition#initMethodName` 属性,然后判断是否合法(①长度大于零,②和第一步条件不重复,③不是外部管理的初始化方法),如果合法,则调用该方法。 + +`init-method` 是通过反射执行的,而 `afterPropertiesSet()` 是直接执行的。所以 `afterPropertiesSet()` 的执行效率比 `init-method` 要高;不过 `init-method` 消除了 Bean 对 Spring 依赖。 + +其实,按照一种方式设置即可。如果两者同时存在,则按照上述顺序执行。示例见上面的 `ApplicationContextAware` 示例。 + +== `DestructionAwareBeanPostProcessor` + +能否在 Bean 销毁之前,对其做些操作呢?答案是可以的。 + +`DestructionAwareBeanPostProcessor` 就可以实现这个功能。先来看一下接口定义: + +[{java_src_attr}] +---- +include::{beans_src_dir}/factory/config/DestructionAwareBeanPostProcessor.java[] +---- + +由于 `DestructionAwareBeanPostProcessor` 是 `BeanPostProcessor` 子类,由此可见,可以像操作 `BeanPostProcessor` 一样来操作 `DestructionAwareBeanPostProcessor` 实现类。示例如下: + + +[{java_src_attr}] +---- +public class LogDestructionAwareBeanPostProcessor implements DestructionAwareBeanPostProcessor { + @Override + public void postProcessBeforeDestruction(Object bean, String beanName) throws BeansException { + System.out.println(getAndIncrement() + + "LogDestructionAwareBeanPostProcessor.postProcessBeforeDestruction"); + System.out.println(bean.getClass().getName()); + } +} + +// 将其注册到 BeanFactory 上 +beanFactory.addBeanPostProcessor(new LogDestructionAwareBeanPostProcessor()); +---- + +调用是在 `org.springframework.beans.factory.support.DisposableBeanAdapter#destroy` 方法中实现的。 + +当调用 `beanFactory.destroyBean(bean)` 来手动销毁 Bean 时,就会创建 `DisposableBeanAdapter` 实例,然后调用 `destroy()` 来触发这个回调。也是在这个方法中,当调用完回调后,就会触发下面的 `DisposableBean` 回调。 + +== `DisposableBean` 与 `destroy-method` + +想要触发生命周期函数的 `destroy()` 方法,必须要要手动调用 `beanFactory.destroyBean(bean)` 方法才行: + +[{java_src_attr}] +---- +DggDisposableBean dggDisposableBean = applicationContext.getBean(DggDisposableBean.class); +ConfigurableListableBeanFactory beanFactory = ApplicationContext.getBeanFactory(); +beanFactory.destroyBean(dggDisposableBean); +---- + +调用是在 `org.springframework.beans.factory.support.DisposableBeanAdapter#destroy` 方法中实现的。 + +和 <> 类似,`destroy-method` 也是在 `DisposableBean#destroy()` 之后执行的。如果同时存在,只要两者不重复,则两个同时都会执行。 + +== `ApplicationListener` + +在 `org.springframework.context.support.AbstractApplicationContext#finishRefresh` 中,发布了 `ContextRefreshedEvent` 事件。 + +// == `ReaderEventListener` + +== 整合实践 + +上面介绍那么多,现在找一些实际项目对整合过程做个分析。先来个简单的。 + +=== Hibernate 与 Spring 整合 + +在 Spring 官网中,给出了非常详细的介绍: https://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html#orm-hibernate[Data Access: Hibernate^] + +Hibernate 与 Spring 整合主要涉及下面几个类: + +. `LocalSessionFactoryBean` -- 声明 Hibernate 配置信息;或者注入数据库连接池对象。 +. `HibernateTransactionManager` -- 负责处理 Hibernate 的事务。 + +实例代码: + +[source,xml,{source_attr}] +---- + + + + + + + + + + + + + product.hbm.xml + + + + + hibernate.dialect=org.hibernate.dialect.HSQLDialect + + + + + + + + + + + + + + + + + + +---- + +Spring 与 Hibernate 的整合过程还是比较简单的,就是把 Hibernate 的相关对象当做普通的 Bean 注册到 Spring 容器中即可。 + +另外,还有一种 `HibernateTemplate` 方式,和上面的方式类似,就不再赘述。 + +原计划还准备添加 Spring 与 MyBATIS 和 Apache Dubbo 整合分析。考虑到本篇内容已经非常长,仔细分析它们的整合过程又需要大篇幅内容,所以,另外单独开文章进行说明。 + +== 参考资料 + +. https://www.jianshu.com/p/397c15cbf34a[Spring扩展点总结 - 简书^] +. https://www.cnblogs.com/v1haoge/p/6106456.html[Spring中Bean的生命周期及其扩展点 - 唯一浩哥 - 博客园^] +. https://leokongwq.github.io/2017/04/02/spring-expandPoint.html[spring扩展点整理 | 戒修-沉迷技术的小沙弥^] +. https://juejin.im/post/5da995d25188256a49204d7b[spring源码系列7:Spring中的InstantiationAwareBeanPostProcessor和BeanPostProcessor的区别 - 掘金^] +. https://juejin.im/post/5d31b1d2518825276a6f9c70[Dubbo源码之Spring整合 - 掘金^] +. https://blog.csdn.net/canot/article/details/50512217[详细解释Spring与Hibernate的整合原理_java_不能说的秘密的博客-CSDN博客^] +. https://blog.csdn.net/u012291108/article/details/51886269[bean的加载(九)记录创建bean的ObjectFactory_java_u012291108的博客-CSDN博客^] diff --git a/truman/src/docs/asciidoc/factory-bean.adoc b/truman/src/docs/asciidoc/factory-bean.adoc new file mode 100644 index 000000000000..f0fae059c9e0 --- /dev/null +++ b/truman/src/docs/asciidoc/factory-bean.adoc @@ -0,0 +1,14 @@ += `FactoryBean` 详解 + +[#FactoryBeanTest] +.FactoryBeanTest +[{java_src_attr}] +---- +include::{truman_src_dir}/beans/FactoryBeanTest.java[] +---- +<1> 获取 `FactoryBean` 的实现类的实例。 +<2> 获取 `FactoryBean` 的 `getObject()` 方法创建的实例。 + +由 `FactoryBean` 实现类创建的 Bean 实例,在实际 `getBean` 之前,不会创建。 会根据 `isSingleton()` 方法的返回值来决定创建之后是否缓存实例。 + +`FactoryBean` 实现类创建的 Bean 实例并不是存储在 `singletonObjects` 实例变量中(由 `DefaultSingletonBeanRegistry` 声明, `AbstractBeanFactory` 间接继承了 `DefaultSingletonBeanRegistry`),而是保存在 `factoryBeanObjectCache` 实例变量中(由 `FactoryBeanRegistrySupport` 声明, `AbstractBeanFactory` 直接继承了 `FactoryBeanRegistrySupport`)。具体情况,请参考类图: <>。 \ No newline at end of file diff --git a/truman/src/docs/asciidoc/hibernate.adoc b/truman/src/docs/asciidoc/hibernate.adoc new file mode 100644 index 000000000000..fdaa9f4c3adf --- /dev/null +++ b/truman/src/docs/asciidoc/hibernate.adoc @@ -0,0 +1,2 @@ +[#hibernate] += 整合 Hibernate diff --git a/truman/src/docs/asciidoc/images/DataAccessException.png b/truman/src/docs/asciidoc/images/DataAccessException.png new file mode 100644 index 0000000000000000000000000000000000000000..746f17399b995fa3e45cf0ac7c12a255abfd105b GIT binary patch literal 8884 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 Vv2?eiY#Cr|CI*aYi=JcLe*sBq5w`#U literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/alipay.png b/truman/src/docs/asciidoc/images/alipay.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bb3340e6621a944a062df1d6718b2f27992d46 GIT binary patch literal 145498 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%0DkNG0k#C4r8O0iBg;kBLB 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'+6$75fy|rR?yS;D_P!$QpFwfO@ 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

59=jcH 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∾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

4ZV%zd{&4JgNkmAzxt zsL5qJl)k;;+mx|>j{s-e@6y3A-Xj)9AP4IBw7T}&B zfQBO9Jf=RnM{Dw4fNo7Eh^aUJ>JoZG6u|KKa>ekJ`Tv!p!Ycb zn{U;_;3DzWrZ~dklCo=*jm%$me}kb6U^YDPnd@9(bWBn>j`fdWx+E5NR49~qq#|W; zkF)1-=!Bso*?WzS;A&iE2&Cl(JAQ8=?=)RI?*9Rm`SqQIHUQuu7!Vb}f!84%qX3Ky z1(MXY3;~Pvf;sA^i=$Go6}7b)U@hA+LNhXL&@~)0L&#(j!S`+ymjn5gv?QgfvN25t@7fr-s zDF_439C?!n!i$#Q;pfC$FJ2nAo5N$y{}&AU>IJ{*|DyT{t_tZac#L|DdcptQ|KB5P z1a#p)1q!WnZILqrXDfCy;M~GJo1rrM_Lqz6op$;)*BRHuUSxo+tCX$~cB-eYPb`^A zSvN%y$?CCmAL+ametR{y%*;Z{iq6!lHF$xCBiwfGmQYp9DF@gb#)mO!= zuv-j*nC%@dU|aA7mfIm2-|_6{Z3QOofz@HuB3xPZGadWnRw5H*YT}ky9^(>d7FgH@Ts0D+17Qa8tY==gwXMj zxIM+}mRzVD+%bgy``klCzKeJy)0Fm6QW^UtaT~&h#T;GqW ze^T@Ym99;+ySC-_*^~kflX)@mRQ#I+enoXwQgn8flkiT3sxboJLPK%HK2o%xhUY$i zcGW-28UhY4eWPowtyGjTW*^c8dwVr>i77AE=oUNGCh+p=fW#20a^zMWuT*B}V zL{!A{f6>=#O>g~O4)bK0lS+N)Ei>Q=O)8J71Z|C;SZK?Hf8 zSo?KNoUxWfRoj~Djr9!p?jW8%AOqbk0UrJ>BOEUEQ2Gcqdl%?Kq^V0uD-Hgbz@Eay z+2Z?+$pee>+i#s<3OHEyg0Q*rXFHf~^76|s&!)qC!X`<70;1h3b!aO#?-uVjX;csy z{yhWL9_;~$XbiN4?g^74psyQ7Ks84j=m+Um@(<7w7yQz+b8b}rf2)6*71hr(PN(uQ zKElEGCwT5g?ZD01%dpKS60qkzg5`tA|5bQo6H;m>raXgtxfj%4QuD|BWyD`3oO)}R zCKARZ$(YYq!P5XX^-y4<7yjy^*I}0(@jEjboUB^rfb+EfgVD7r5$%{++iG?FEcxxv z^oSTLqJYE1uyGPhW3$ze_$i%~+svqu*YvF&2|XFyil36NR1}vj*NgVuUP`!zfzI9> zm9rP^k!T@ z>Ym9=7LGInK~{IKSOlF~&3|_hO@SLG*}mb3z@POV4BP^!qkn!~QebVm?fp!7SvYCL zJ1a>_FL&Vpwo3M&pH&h|l6n{d5!yBr9#HKd|2jovwgh~_4&5()wo6;)VImsva;XJ3 z%zU^O7)W662EA4ZAbz~QPSxJx9w*c?@;Nrl&xwuRMfNK(8!wGL*GVFh9p)ob>Pjt0 zVMPiimD>CcXyRCK*Z}@IJ=XxBiwPOE-z?Q0!uV*({h_{>H(MhF zGlk85Uwe7pE-bV9^p$bO%6(4cP9-;Y?0$0DXEe zZnTAgpUvSo7^Uu#kw7YNe1N2_4J0^C8X$&^g^2T9-X!V=eSR?BorD6@M3tjpzm>_j zzE}{;4F~lRlCSxvdB$7c^$ob6s%5tO-`?~^Y7!b?Ox^kTkQm&!#g4~{`aXPtv6hoe zmLVJ*6WXtiZ5Ls9-k$UhRQEP(Mr1wE(M*T6RkpRYd2WCB?+J1)W-f}GYQEJ*JTBguXlKRZ|q$L^_<`kE-#hw0_=D_X2h-fYDMOd}{ zRChGsLZ{kKG+IN6A`YGs%kj4J8j`w$6@dK7V4(~dF&TY62SHT{17f+(-9{}%vPHO%*a9> zqdL?q>F0U+R_%QusaP(~V|;aS0W4wZqnDCG3&*jB{|C{ke)anB*jv&YyRVAqE&+PF6fMVnu+>$B$zi%(`zG5S)h)*`> z7<*!8Q`I)DjbvVnOeM6{2~k^aL8#_HTI=UPg`{^skMxt;Lz5_^&(y$H`WP5gw6pzh zjfFyKzuriE3><(n);3l(syIy<8Vj4;w6UTB0W!a@tc6*M`$45)7k&xd?7P~T@c!wR z7=fG&3;?Aq?&^d|Pt0TnwL+SK!RLGz z4Z~AoYnn{!7ad?dCGMZ4Z^@0WawDIwKXL=9;iQ>D9dH;k!PGN;xR?Sjz)(NN#TKtH zHad3UT@%8$pFC_-!bjgl@P$=04=Z8}_yTxwaNl73qzs(9F`^Zw)ArU=Y)+PBIt2~< zR)x@`U)?vun0_0efRh<-B@y&PYdmUUE;kI7N7aqPz&3A2VuW!Ir5`p2T;}aJCLk|N(=o8Ur=e;~}CwcN@VKQu#2zVa(!}N89o5`YS@D=NSqCD<=?|!L2iBdDFWy5<{>cUpu@BXBZ+gyn4$j5zzCSR z1ptreRAUXil7y2Cyb46(1pz`1wmI#fDp(v5n6jBn-N+IbjD0!;F<#2wKN}8z~ z^5z|2BSuCq{3>j^{Et7)rQuoVg!a1t%a^0!$P^?LbQAPHw;wT@JU-a~yYQWtCV>~rUv}G|QVPApsV)>DW{X`eMqXp(L>;O2R z;L4wbsmceSXp8>NTF@MLo&lYT;m3aPGf4<)Vug??(It2tBdG^*4h2&fQt)ecM&gY~ zWawSL7btGWO!P*mh!hEz5}ns>NmEHh6Va zJi-idX3k<`C>}zwg7M}HpubBoQ6|}CkL+@uy1|7@*o%7{%12g~4+|D+ChXjJYjpHBAY_W4vS(*`r(+9`p^MHh zw7e#iQPOVgctWQvXg@*{UT ziQPnLa(Qs!JB1~^7&!gRUZK*Oa(+vm1i(VvBVMDlv>Egz%!NbV$I7We3dIZEl1+Pi zgn(HkY5u*AQ^94|mhm?Lb9r%jinnvBK(apq_O~<&(OF*Aa3=O6)z81i!o2>cj)dV` z>Gu;-DJotbAeZIXLgRgN1GzRFkB^7kKYs$yBcj(4^e5dx`uxhLo5IUI+ZC<8ha?eE zUC(D?6z6~M+*+m3Wt2W^p2VR{SDqigN0pB~70XQHpK$Ex+(S-l?l9z7MryO##bRpU z*;(VVihB<|_&X%^*x&=Dx#DLR&-nlz6nEh=%}7+b0H`4D0PWm#i9(pc{302Jt3Kg7 zeC-hTfI_Z1P1u*9PsjT$$=wn_25oSY?C~5o?qBz-*i?;IkueeD1 zT0kMyl_4JMt0yEpT%$aB1a>v%2-ZbV>-5{3_VKP4S@=vion?n80wJ%!!4W9g5C{u7 z2yTz$J)WCw&n;V74wA`kVAi$(I`bE;KkfuIYZ<8-f;;`E$j&pYG!YZuR}XIf_-(zv zmdVE38c$Z|`8g4utJp@bPNtj_+s;(OYU;K?$We1d6XCp(Z*Mssw+43vFn)&X|RL+6*RC8gse4hM{N z+V8XbB<>poBe}Q%-FcX{?ZUc1We`NK%-Cy=&C%_-L>Qy&GI=_ACoyp+xi~quBxiWn z)fv?==G3Gjf-h8vBoWmeFvZ!k;Hj`lp62E}XpJ+l<}4+;}<-nOfO9 zxifQIIodxpfIo;lV7?V>=0cc}f{3PQD6qUu97&*>9^?wC2Jg@tl z{`2t0=-SE|&quFR(odFT{_M2f%zi7wIrJ;$EAa7cZA!)7KI!ZrwgmoD8CKrCS6quHW-^Gi!>-$3?X?YqKbi)z#P z^OM>D-DY)-rzJ}z;!DSLY#vxb*gdqY*KRi$(eWQ1eA!qYp4d|g|2#YRw`H$ZshX7T zz=k}t{wKTE8~$>_I0?hj&fX$Kh*Enz*I$)*<&FyK*$W_O@83B5PBk!y$HWf9asnsw zUb3A(v<*Q&$n@1??|Hakhf=eeQRtzH@v9CPmFOWGBWr%bFIvu}L!SViEDJ2p2M}@-z&YMe#rgJMiICnaab!R3nYB{;E`~7)B_?)uuHv+C(GG#cW%AXO? z2nQQ}fTyK=6@Y?x1#jCGo0b!7dt+9fUPInlqKs` z-KIujFO)~lV_E>Nf0dqO?~cOQu@0Kl+rXUs6gpP?p!(N=1S^K03Z#tK%5r1DO5rBCC`6upm$9$ zIZ>&)wtI`HTCF+uWYs{UV*TSY-N7({VNKY#i^WN1^0IdWTF{che1&3GuTis*u+@(n z9cYST2w!A9SOGh%eI#8wUxhajs{UyWZlflf)+;ACK|f%P$nW*G0P?a@*wAs)m>FD~ zuNUE1_iLK$M+;mc@QQ*la5LxO$?2!WM=(NlAN5CO?LS#UJ_tEm;t0EuBUX0+xVkR~ z(Q-+tP2$U97g&7c0#Z{K+q))=fOb5CUM4^@Mhhbr`KQ4%NecYKFFisx6krrrL^DqC zcT2E~dO3Yo5s)O9gr%&6#wGmKuGgbFDrQH1-ILWf0fz0@46kv02X4Q&u`5ofAXliK zQ5mSytL7l(`C#;mOq!B`9TjDwFrXh4stQF_$HjKQOC`7cOOy@a(fIUd-#ZnFF?q~~ z{L;!f2+rH;+)NT6G9ZIRHJ1tc(RYRq`~S&f(y+JG`e(lBO^e&-c?bUcb00jsz&ov5I;>9f@jTf+AyE1sy>>Rn#P`C4Gw2Ocnj zNG5E;t2zUwOqY8CK{)7zeJezpMJO~_kS9%aBA@Xohcz0;S1p~%;auz z)0lyiJ^jE4LVrLPqTAd-=ZjO9!uITP{vj}i_G!=%oJ&6*za@4QMr7badb!aW+6JOJ z>gZ5)Lb37!35<+fOrKUkJ@ zJ=Va)a;Fqx(gAD}F{gDO4=OJ#5BsSgh_ZT7L%&*jq)E%%CO(B=9EA`% zO)v-C6*v3ul>TT{`ai8$`UNhaiAs;_MDy&Ho)#FZ4p_J>2>`QJcq$Fmk~5d@?4>8b zeiF-G<(*&nT(#Vmkq`c(rH~*1-**6p7y-=T5l$YRgcYB?9RrQz<=2p|khdMeaODGt zO!feA)xH0iw98n%jz`c2#J>}EG8vnYHe@r%@oTd2AmXx)!V&BMsD#X`5QQ66`bjPx zMKVeKLT4tKSv#U4VJAFK%m-TxrC0tu11ZbmSbBkbz2iB>lQ!Z#0qq5omF8zyCYIXo zLkxL1$MP-U+Xf9&$GN&`R!K2&@Z{HnWB7LJ(YIX}uELkP&`MMVk`xN@|2 z-Xaf8IqshOvDPsMa7Gt5#GWz7G3CUo3DLn`MReDm^&S3|$5-Ffqygcl!!nDIT{rW8VEpD zZUmbyv$gywGpk+wDMNt~X0ZdH{@We_oGt~-oFmcmdNB=jz5fEzOx1uZ7#-M_dOA0Y zBX&HPxFPcUaB*b_6zH8S8n)gGSCt|Ove(p|6SpdZjRxoG*3DnJ$@SiAuZgt;1>kSA zem&$q1p{EOk|h4i$`>>6Uy}Ay*&>=-}-8Q+F+lXqQ|7@DZ3R1E+q^x zd<>Vae|AczFw1_Ao0UJz<@IC>*XZ?E94A!Z z=VL$sAdZHx?LP9Fwjt1Q`j{yP5ab;(HGLmM3s$}JsF|L+VtEXp#to$wRz}WKbQqvk zAvF+G?_HP>r*Upo;HD5kLbMC&1_!i$ZQ-CbD)Pyka7S1L-S@HAF5iJzgFbqiZ}ZE@*X?+ zjJ@jbe@g}sx@>>1+S}qcG+aM?pC@+_T(ihbtl`pb3mZiJNoeW|&f7@6O*UnV@iuCj zX3?kvUr#O$hig=ScYii6Y1D{Ba*%aM#b=q!SUSBD(9UR827bNs?Le5Z=u&il(i|me zc3q>LNMkVV$*g)Kb~2M`&x+mCyfm!Kcv7nA`r=$d*_Hd5?4%W9u4LH$Vf`5xImP)c zW54eks-JCrTvN>g20E@L1zb?`fO_zcxM_}T5-PI#!P50ny>dMdGtNe_jkaj2q zp4hAm_@of9KF78s?&J=ee9pEzwHYPU(#!hhe0-esIrGT**63nM-^Q-fk^@&y4BJ`Q z@+ECeK9a0lF(aFG^z4?aSZieH1`YemTfQ??ikG&9`|RxO`}>yrJ_(Mu$O zFPA@=MG zb+_HO0XcT~Xu404xYVtY|8s&Pin7Oh3!Nro4lBDqJ75uaev3JfCY&B_MMFhat!&9^ zdwq!X27J{Y>kEsFnc=s-8xx%O5#0Ay)Z5^|MHG5<;*K#bI5n9c781yGLKtuw;mU2p zF8y~-0@v$?{U7RvrdYTC-uZN(iXq4fnCA47Bx1qd`s8fQS^tV6GN5?kL`R`GJAhWc zH5K?;uodzqbQ3ieu{aoFe%s*9?Q}P}PYa+@Kg*CeU5+kbpDETYL>*{g`6{l_4KMWT z<-_h3Zz7aM>A7PPHyQ-RrwGKL>Fis^z3hlHT*h!vt=J(jF5@6?dih*jYXP@y>LqSX zs$G<4$iKR3+_s#0{5RC_Q12aXT+CA>s7!Vn9ln);OXQZNqv)JKLU!bBNflxT4&X!w zuY!r+NcH*uBJHh%qI|=@(WOIaln&{T5L`M1DWyfE7LXDa>F!3lLApCuVx^WYX~~uD z?ruDf-}jt9&Tr1lduHBwW*C-XX7}E?pXa`=PhI_ijVu_4@uzm4UAZ&cdZl)?gxB{R zWA@b<1+^2P7&Our%t;&}hb3kOoX64OH(M>v?r-3igLq zD^n@hA#Y97){dP}gVsKNLt>U1Va92w>r0d-Zs{rW(tiXZCPV9;){`k zx`WAL09km|Re?CTRaoSu2R){%=7;g+O*WK@4>C5)yq~6~PXut$6G~~2QVwn+KZwxT zt!=Yey|l=g zj25g3`EHNPTl*@O(R@PPl7glP4wGr#b>C|n&&7b7Ss&y^Yn(X$1oauIESkB? zoyNwOuK`3eEe+_py_OBjM@p4tv25%yn=JmJ1r=A?vuNy-=(gIyv=%Grssq zXf5re)v|+bIPyLhIUfRwm(dgpoiLufgyu+hRSHHTopMtdn6cD1!NnceEg|%0V&{gg zroK7E&N41-x11@<_8&{>tUkoKb8&3i;azOaQ2uDI+yt9MDOf<>eNegN)FVTcYCh;=tJEY%~`kyRx6LU}kOp=eI3gyeb}D)?t> z(H|otU@-XT4aU6)E9m%9lPv{>NwvHe+ueDa;LX<3(w7#?ZUb&dtHA)X^GQgto2BjAyyk1GGQ*1UR+c_kU$*Hv&`~ zy&*S)L}5ng?97o;7$rsuVs33?DH!in)d1_4>dW}y*SCAm?$`&qp`zekbbr1?2I+<= zXdIwl6dYRyU z@R@SJv=D1=W)4Q&Kc*k`L@J1b92VvKa%$z}75zjT21n33XFm+J*0**rK{&9V2+H?$K)HnPH{tz0ispWU@~j@)+>G z(Efk%ApesW`QN|3v%Q+_Zu3yK6WN9D?l~auOa#>HJ@EKpsb?S8+*>d~ZBx*uCS)0G zurTJBG7?;x?#^{1)4~#oESr3JmL>%PXhrBMoRK|rRFB}yr)&tC*~kJimTKwihAPB5 zT=QNc{Kv<*MyWtVU0Wq}$w_LZNHN`hr~*HXU26&oQlMZYIHp{@b9zQWE6qlFLQd}v zoKEmoW(eA=YrR#FUhj@;>zso!Wo@l`#oD<2r^)B%&XP zOk^uRhRtQMMcw5NtY6aS328#(4<1fF!6>k=zWv?QEWpy@!|9okc-y{*`iKuSdddfb zOtefa?9z#U^A{JaFilO-rgqg-LDNfB&hnRoT5-uO*++I2qa5vXyrl(B81a*eb0|`U zZczBzt9g! zZH^PN-UfHz%;Pknh8m2a{-Tr+LY=?qVs+=*<($#8l4*34CHvDI{AxPqPZ0}QGarO% z5A!hf1pH<|bRWf%&Z1UaH)$=~#%+NtYE{}fk|2sui?%|10NPCy+qvX5!CWg>pZ%I| zt=u9K)%nkVTjy%2?nI~HLk3aEgO4H2V@a*N2VN>6DauV~5?WjFy`>wp#+`ZT=e3fhX)cWr4I-|H<6 zaB>QaBp|pmQQ`N>&IT=hd94daWEh>E4nv+NM15h~xyWNu=i~Cq$;UDppg3lkbBj=CR*w z4D=|C>{zCK+4=l+$2md$S8l7kIKlP)=IQ2WlBdoHG2howZu8XQL&o8qa}#K##p-X4 z2Q~Uf`Gi~c;X=50TZ5x^u1--&W+GCVER0a*U>>Cqw0)zG&M&Gb_%fQM`Ir;cF@nCr_MaO(*FCV4?T}NaS;N#b$#Z;!;o)A%5?xeE-pJLc=hmI4XV0L-l4wjJZdcq1ykqg>+%@{>l+FH%k$<@gejV&08O=%vSv4u zDbl9fL60pKuvMKw|DBuUW~Pe$o@GhvQf7eRO#G4flL@n zDur;qa)NZ( zziR7d-kb2vv2K*(p|Bw`dlM{;@_o%Sa;u?!O}!w%RC2xHzeTZ;@#1?t_4_UFj#o=& z5;>Qf^==unbJ!^9sHwtX=iK2=ES}&ERBIS|mMQyja}X;#;DnNX9)nqm2>tl-aQiuu zkNKU`X^>CJ2=TZ=etujyfy7@sw#Wc$z0^%MORjg047QAlPYAF~An6zKj;C6EYev@% zR1*DA^jwZQ$QCWdtlIrEKzTqF{q)5d`3oTjF_LRH*eli8>dBtYjHo8WI(TVIx?LPs zi=O*)i?>IjH((v2;9#1YYKup@c!YiEeco?S$SLFEa&u$y0Lc7_V^Gni^;2pRE&1QQ ziq|?if$(n>e2!TCq4$3KvloSrPn1OQ#+^KMlXu}%4bo=XfeE8dsZ+=s?94UpzJZ!M zd1c_`Mm z-*r+;1{O6PEcQB1q)qIAT)A``a&DIzkXV+7{OQ4guQh+rC(@MJL9YakRe08yZB9x0 z{rYNGbChu#IVXh?fp#5n2~fqe0ap#6R}XUk7QoNI z*5AK~j*sd=N*f;b$m@ui{7Yh0$~*f7Deq^a3{;JPdKnw3P2Qa0iB=pw1}&6S*`kOd z0GU(j3*&?CPaS-zj7&D=eBYX*H$StJ2HkB(BlTuPmm2jKmUW-jbOQ}O4?-`ii zB}FDl_~LO}L>l1>B{US;C|ZiWk0z7f+^td^`lSmXPVo;6mUI4lM59+Y%QB#pKsqTk zc{kttNw?w3DRHTQE3}{hyRp}d5AP7>cezsHhy|7Tw^HFTXOyN!MD&p_)Bst+Q$Ghl zJkm+lUe)sPz`fg=rc8riJM`lp+D=)4-RrmFPo!gGn|tI8(0j)+KhX((BHdkQhw#t# zBZ>xyv_2zTj)_ZH(Yf3Ur8f(t<<}q+Xa+vKR)mU$1?mj|fobx=*hlg=w3E3LIOh>_ zc-h-v*kNrrB!9^5;HaO@s^xMC^FM|5E4un(wPRfzAg;i?gHH}e@$yD8%N`WUeunKY zDuvtmqFr~d2K8CX$BwPrd#p%CJMMl>UkPG<+jep>%yVo9lIoo} z4wP(%0x>QBu3o6X|B&L`k^J}{fBD~+p#S%O>^Wo(K~-g(%?(h5HsO_=uztfWaJ+le z&uQ9iu*fRdbgG5rZwf*{p=A?rVPfBTv0*r&H_!%4;;uHLv!Py7)3@Oc2%D86iJ!?S z3MYBx<%v%Cmz+ExpQAD82k^H3P5Y>`Si~nY6>Q8fWdJduMv+sJU9~5az*mqB+eC2T6IEh(U^qd1ET%IC)op$hD%_;Vl-c7KLfZ7re1 z5LEFqM_IxAo0n}+3`Wo-!U+FGyZ#HY6vC85e2Z_B&J^@Fq6qVrO$Q}ZGNHd+h>!q_ zBb5rU66DMqH-(j^v>8o@X)G+<#M`rI@g%xXVzvzB3WuH@JieM6@A101ko|S|PmO(a}uRB|Ug7(R*RIj0r-7?-|Gs3)V zn~;sw3tr?W^KOO zl8ForD8Zy39c>iz_kSYIz(dcxe5d^Ey%K24IL0172ZCg-zn)O45%BvaiCzsE14A>{ zjUf?TvX-SlUlyd7OKJ6FUHRkg2aw3uGt|!0E7Euw{M^vJBPT4xIe3nE_8=csiGONOD z|8nhG1%?+org87$nb*GYp*Bh2Xk%_6T!WuFW8}TE!E@Y3>-u8uB_4>Eq)3VEtOV2+ z6_wN{8~I~;#NqGzy5jM2mA&-V0$8Qrg44Sdf5=|?*oZWP>g+_%G;dE4>lb0aw=f)@ zW~$1a9hW)kEILVXapB0>f4vFj>f(6^5b)2*%*nz-k6!*{$0m@w%hiO9-@DH_>apN0;zi6g zTlNFx^fou_6`-9e`qqm)*eIk@N&cuZs*<9j$`if*z;r?%@$7C%JH;0FRbfWO{e9|Y z#9j4|7O-LP`Da5Fob!yO=P;Di@5-7-g)g~yGOJ9(u9GK}c-o$lqcEXAB{&FW>9x^4 z%;JWvM^!siH^#S0t3Xr;*_I^e(OH*Xrds>F6Xr}OlWcR4wc5gad=6Xb6Q?NZez3Wh zC%SBIIb7M5=WX)qL`W}_d`$l$;FjN!Nj*X(+1j1I6GOr*T5h<<5@Ekg7M+R6umagh zEGDgX@N#O4+f~`moR8Wy+x0<$i)B>J9M`oYX>06BP3GKf`Q+NVXdP zJ~(e$fLOE`q+{zBqaw!A&i&DyPv;Q5K3>uJKcL(Vh9%AVcp;u@t6eS0gl9&nptYGR!dY))u{c#QmzgdO7O z4A_zUXUy?sOI#xfEOGlUmD`2789}WviOCXa&Y_)LlbcOl5_!{q`C3DQ+_>Aj=i{hZ z$LuqH-SHm2p6R!h)c9KG*MXLkv37JeJ9v~DCZ|(QHK%!r4P$3cqCKx28@8V;u9tZB zU53Kh;AmmS%@# zQ0obkp3!R@YGR$=5>9O?Im+33HuyX$gr~#~$8YZ#s!#OtGAh+6FWy(DEd*U3%V_mn z?RnLj?hoT7AgVy;{#Ovq+0I&{1Wb^k#4h39H`4CDRWSIq)_bimMKNDQOF%g15< z`?4ld(dz1LGGF;RxF7(9w{1lRKbKS@D+cf}B<@2HXm(y7J>H?M1lh&-?V+rjk;I_# z9)61x7Wb7%R!lUT0bI)`Amh~nN6&1IQW4u&HgK8_GleV=m(*u$$J2Qwt`xLKbR7lp zyc-tM+4!1m5TQ>4@Z;BZFf%-fZ&3pS+cp^jee&o8j@ZMCW1I%;j9N-H92*o2<89`P z?H-lhOi7Wq3;yn$_m)iAtc?N%^<)*A}V5JTzdWJf)r zLfOJEjwKl)D4>0sr|=Mg#LjQuLr=3rB+v7{9})gtLzyb(*p%6ojdZgj;7GA=Np4f#dxzoJ`8O>eUaoh522lPX5V?yPUv%mp^^;><_{o}X(&*jbB~%OuWP3ZuF?giK7=>z@sPVo1m_{? zpR~-k%djm^Ew9BTitLB>oWMW1sIY(t?P^fW=5;guk4RhOj<(l@Ss;U`p`u$dM2%}^ z5a?HczYSrcU+rtw!rbNLD&PaJ?3<85P6uql>PkkF z{&n|WWFos5yiF+t@{XZVchJhz%@iSkxTT8RiWlO`hi$YL_6;u;C7V!`7WkD;3eXdt zKW6=FT_NrVqi<3b+oNI#{%DOc~Ve zHHmU%A&jN}1bgVKhG-I;&H5*&x+|Rv@JJI%bsMgLFJKT8((DOnpl_K6o+EHJE-r4u zJNVtW#==f?>rV3a!EgTdK!@C-axP|%dj3~!_<#8GAZ*Wp>TfWFp9f?DIs17bHOO=m z1xdf(fM}*7F$pdx>2+Zb-jH|k8jlG~39<~?sj{Venk=Im;1It=02h4p%Ft35pNDev z&pL}qHO*=c>-&QHSrtD_K@~LEq@@Q1vp^^HSn8MbZg1nun>9}wuVi{v>L|; znV{k~fiQwnICb&kU%}MTO(TIX#~Cs)c9AYcU^=fgzP{~sDW!68*EPXne?JJ^&HFcM zOxW|@2;{Pvq^5es23kvUxB6zC&IY2Tz!8V(yPD|Dr+b^WO|> zE&N;k)oS~$)8hbkrt5S7X9`cc|GK_~99;p|X7_29+V*HbDK6k2G{o5;RI)lrd7pw8 z<}}msoeHzGNy{Fsp3tH?5Gbkbs%E%Mb%mh4|Jlsex&-~~Vz}5VQVekkCG;^su)sf_ z%z6gdvm}2O9#Le>nI!SGN0_g{WkXxeS_1PQj<)2tEJuEBtuGt-{=L6Hv*{~Y6-G=O z_)Z|+CrqcVLt{*KPlub51A#Pfo}EjBakn)55KC)4B5my8ysH z$S!0|GM{4VUR=4xJgGd{DDiZAe7L)vkGR}O6u!VqIY`m;0|5^$IC4l-5QLU{EV@jn z&-U>23{xGJZTbK$B)M_JtY)XDf_iKtI;2>QOGqe=9+t7MeY*_pFz_}BoZ#wJzn*ej z+!Fk{lGwW@r9lzqCQ}d(Dm#v$%H?B#B_A#LWstB*8~AIpv#~vL!1~!}=lP;+?>*f< zqRCWOyVv4pG|#(MA|E&1Dr-LlE@3bF+*fss_OGl^^*YZj!IV zmEZhsAu~z&dR|HpqeLY>s1H^FYb!fQB%+WyLTg+A-UfVqptdYk}pOT9-cjZWA8a8_(%5v=+ z@+&|8E5+VX-d2I90`aox)VsSUvMW-GG@%?}Wu9ED6bjzg#Du4VMV)72tacVxcc(s> z3qtr&l?CDX1-c{Y4=HlYg+6S#ov!|`cHIH8I(BlAcF$i?JKq!oCXA0_`V^&T!SuG$a5bpH)+lT0B^V=JvMY5?w3DcNa3B&wl&j%{(*0wI zanO~r+~_Mh${zcVHZBG+a(JJ`^&M}QeM;0LKjdm;(n-axtDz5|RexgFkI;l&7Pje|T2ab~`uEB3N?0pyMwm{=TL)(Z_n z-Dv$Kk{MuHO@(Sq3S>RU8|Uv@yW5mj4jarEK9zbc_G?ZT$h(vWJWi`yG9+f71G;V~ z$@5=f`WcMfXG-h26o!nXY=IV7Q3(Og`8kGbaEqcmqyrtZN37|| zEH)czj$Oqsz?R%$}kV@d{%FWw02$?;VO z7QK|H`o7E&<6`6!7Gh$L+PSHvt{@|@t6*tZmwn9DE$S8e*fGlP z1dr=o&l%liQ%gSN==$q37_$CzM|q|R)96(^_fQ6aB4(rc!>Yt zg8LhcC7#IT!~h-eA=q*+TH2T9t{nRMA})PidY&| zPmZXi%gniXRyG~2M8$P}Afw~j_<0_U^I&Y7n7;Q|T0?dz&V-0&ZT1`C=-uKlotObu zaWQ=<(+vAPIQ1TQvzb=@yVuPO^{LQ$>|)Oys|ViwU_#Xp8`)pgbd(0##8fZ1FC47> zOn?U`lD~1HpK{0WY##;p&<>UP_X;TJ1wEq{!X+u?_RfnY>zinc&qQKOenqCJyHOlV z5v8lyG@779w%@?F`ew$jDWo>%znn90&{LWxJr4f)xjd>)X7^ohn1=AzRL>|i(8qzK z3Zf4M8z<->TXb}#NgqI*JgAIn^ir$Sa2v1w{8140;w*@eG#C8}B*w}Ki$^A^5Eou< zQXR`u9tjjg$}nelYt_CDlzrr=`8gQUsl>+5KXK=dGer*?*)su~|5;I{+?srAB&hrE zAtDnZ^=%m&u3d_pWQ^mW>^2^6yq3yd1P-a5UMG{oJ+${2026s&YL~u=@zZdn=d4uk88^_*6!HhRo>jDI99^D?5K^JLp1b=UpC9?L{=$oPZ z84>_ZO-W)w!%)j4G+dF9O6d$KYI$w@zd0^x)?w9-6WZ*R!epOXDE?LUcr`w{jn(0*EZ}0UMpQpVcY!4#lj_g1iF+c@!^IB=Gr?&Vz_QHETZT7A)V#Z1YqVPE=0+HsU=J4%9JtNk}SR6NG93=mFYl%lN)t$n)@iqUPlSi{L1v_VFj)S^IoV1 zE-3iTAM5WIp3Z`Z2`D$pIdv9Jx!)c!Xt!BwOU9Wc@8}60{k0qD)84~w0$mSfG;D$P zkYzw350%Bv*j*~dYx&^Sz)2-XL5?G;FDW0pnw z-);}2FlLUom)u1tSpv3pQv}NKaa(p0>2AYYYDG!C(75<#I+ic!c|$;qC%T_UguWdf zhB7di4N=DkQNnOMpz`7I)%UrIAEzE}FbUm&po1N7>e-~5@`8tCg1qaO+JHeyFJ{5t&QrsXlJj3+sChU z`>_mXpZa;KnLDgVm94*kFt($!yK|)zB!#KZE$oR^1^ggd=Eg?lLy^RX6{e4E(FR+7DxgS%6d1RE6e36=!d6?_AbvGZHttLLyCR*y=b z190JCB$Btd2}zDu->$vS#pUOxTWtAm|KsqtyeAiq2|Iz{ZRzPnkxEmuU9 zz2`XsAO!Okf$b}wR`;_D=XAXR0s;2Qr=*_k9kVCBTX&ONTE(_dA*3~ z6_1R6>_9y68zMkA8^xA3&ETh}hG?Co?Z}w-EyP6I@L2qLpY1z|f<2fEViQxv*5m|i zBJjUvFq$C;*|v`0!EG@5AAR}02eo2U?1Zt`O7@BHm?nNmzJxrk=3wSsOR@qO`_4G= z`yMs4Fp+IMIDgp4*JFR{9X)9_F{~%EQ3Q46!jI@Sl2G;y#apA}H3*C%m3anRPvfn1 z*iNln@4cchglhB8oZfd?p5tH2THi-0&LYi#qHr4ew;2*KYOzOKu8PTB99vJ6EgIQr zBl)ouDfiP|xoUHEG800w{Awa^P+Z4nwHVKIQ(f_z609iAmMzcezRd^-w4YTWJuLfCTjemER(2XbSqph=Gp&*_DGM)qw z)B|8N$;!=}E{slW&{;RwT+fC%VMteLDQER~Kr*Zqy6ES}>G!=2tcqXQN??Zjjv~E! ze~F1nAw1MVe%Dvmj~4LTttLGm#3vfXWu9Eqr*|&9kb&vGd23v8^wwZhnZSt;^6T+4 z8VDFP#BOS9vVz$PJaA_J{y^sCS0xY zVV&1$(KQ^U(ggz-;WZ?0&CLvQal>A3jjV!C&|!EC3zC-VIT@bkI?_x-&XyY|VCO=Q zvn_8X4uJ&+?*yMR>Q8k0bxOjfVc66G-D~q_)X4u9JPSPo1BvhT+_Cy-yq*#bm%7oB zwQNd#XwF**6cSntB|;;ILj{&ABL_QttZ+=-Xue5Z$q(+YWL8QSSm>Emb=sagt3uI( zj+#mP`B8xg3e;^N2QS*TX}#ZD;n~&Qid0nbCxyD!Q%Yt*`ZHmaRfogyzX#5Z)6k!E zO_F}~RZlvmdsnvcx7aelHJK-qVUOO75a3Yq(pe*#CCPeZOuEQOxrj*m| z#TwV&X2#bBa7}1(aZ=DbwMVOvv61EM>51Fiun!Ljl>IDpS!4mJb2TS$o9FEKREIOa zYBOku`0a9l7Fp|`ZX|zn7tT}z{PN!gh)w>_uGznSNOTk_KP*o!C_|DdWX&iim6;qP zU^8fR8NM>LyYT!2dPjPbb9UZwfi&O2J*`?h!5TP8A3T5NX!>t;R~`q<^S$@E11&Ce zOOm|geSjzLy_d}!v+j-AN*}S4<*QS^__m~xjDI(c;V!(SUZ9QlZgzp+6GcF#PgDSi2LQxNRc6INP8gWW=f?LVs&kS@N_Wt;WoMW z%+I;9x^<-&_}y+agV)0O>(`6bt$|J^deVM|x3;^(o%=C#Fo)-xWMrGJBOiSr){pc0 zEx%^;g=ZFLbThz7-1?XIBYQYk9#5hf;PsZA8(%+U?uXV$LPk zG7n|EPN98gd;-x-m7@?9!8xQ_%oc`DdG)Mm`IMD_UczwLv}w8UObN2J$~DiYe(A{R zb^*fLmFO_ZW9ayKx6D)0s0QpVQwi327hyf*45!{Yc4GLVy!o1kb)4UU$S#PX3Jbeq zb<5`H_=g*fz2Lr&FCP3O*Oxlnp2>#VsaM*I2UiYFx%a0<_#kU098l(BR8>{Qm6S-! ziYkqZK(SuYfmP917TJUnylD-c_P_HDpoEMkbAV9OyA!E$Dko}aQloP6c9xJ-=@#xG z->ygipEh9-K_6PF#_A`_F0B_H>mu>8sUUllFIn$oucJcfUQ>>&stcvX8CbgiSU9Ib zwZ(T0YW#6U}e0(20&`5P2BU+N9T*`qg>XUtfc7*fBad$Ds#efC|a{>Ujf_?BaGcajHH zYp4>TkWY@__lPPK+9|O{*xSW>ZWDs_L_2l zi7N4Ah0`d}K*s3Xi7uZ_=fe#sc7r_WGww5P3pLc-YHw3+3no!Zr^mGc7GZ3r?^GU6 z>&Iuo&m*Px=wfWst~$1*E6j)or=FuZVQ3smT8xY%lCVj*S^xVIa*-e488(ebv6SZb zzl{+g`ugr%{X^GBCuy`yd}8+~*uirz$Uzr&mtS}nRZ5Y&AU8BMh+2V0@gF8p?+ zb$pDTyFFB*0SF{y${Gc2;ulwu7Wq>i}CCT6Bn6u66*b%0}bl|Q3K$tE(Y+G@)B zrPu%OK;b#l&3jryxj=%yAvg4R_fXG9@NjrB`;HBGL!uvcCGwidtQ=>$M4LkM&k_j( z)Pi0C9wK$pP{orBw9+d>)Lf^6IVCF#?}Te6Zh#-ID@6ZsHRTuaO|Z zGga--6Z!|PBmr3pH1ICmZ5uq=62iX*?&5;H6HbHrr*~1zhxw&Z7$#V)i{wp0F?$!N zunB#Oi%p43Ww+$}a_=8&Q2Yw4F`k--2&U-qUtNXPvQ8)uv(oXz}Vudv1 zf0@)RlM=R2)fFwhhEZ6=q$%FgN78Sg5=r<(C?m|R(n?VKxgZf5Fd`4MfW3uHcsZTK ztd0LW$6r%D{40%4KxpLQm)AucZc)Ff5vOUEVo4-DU2aj|8N-F>Bn=B;RAM%n@_BjI znOG;}5_cj5;er!@68JwDSOmtb*gDNfp?4qWSy?xNb~4N4r&D~~Wnu8ui|eC?tB(}X zI``r(SQwb*(LT^uOgIpvcS`wr6YNMZn3B6;bi};8ZAV>mn{kq6Z0!{l>8|W0G*S$r ztsjvgK)RFj^AoJ3_W!S4b##`d(VvMj&js0|1b|Pes$}C_`6y&7UQK)+o3>uwfY}zr zQ!9($0-YQ}6Ll_AxPlO)3lA!aJ(*J=?EVc^N~wFkcYOEG4&!+^%Bm>h=R%9Kgi|%f zCaGOHGE0JPV4Ht5G+A#4@^4|}(n>^xyFejHq!s^baTjX@hm;eDuNEGz%|Zn8OmKq= zndyEELG54Hlyv>s`&erh;n4T_$DkS3uThaI*U_oB9UiWiA5+4T1}& ze{J=rPf4`N+0{ekb2S7C!fy%8pps)hh{?dQ7aG0jDpw-9q`9W;{R|d&y7I~QMEq=m z2AKcUIaqDrKmsE|*W}B!!|Gm1Y}$EJU__)K-O<=bXd@M~#g86rlG!95%P^0xF}eYe z)RcSR?v>`UlMk>$SY`ylKaL#x>UXBlL0Z1NY?3>kaIqN-t^vcdxkyw01kV(0dglye z$4Q~LEb2s>LHNmGW`TQ3Wzu2{{<3{>;RO;va7Qez)uZ1`V1spgF485<40h8M{fu~J z?9}lC_Qh++L?9dc7M8#XC2Hb_9&wIHWTYpcqXV}ms>8hdTRyrVr$A`{bjH`{v*@RO z?fPvL=cGYiu0oFQ`&JWkd4B4(={iU8JzhIn@-riR`rs~u6e8I-!56yG7nEG?T<%QT z<=3K;#V8=UJuvK}E6W_Kc#^Ix8E(v7?)`j`6jfB*7dwX&DSSl-n~-s*!nphq3M|kY zPzh&E3^vH4%WW92cX{O~!v`$Jjf=^cH7=gxU^w7GX7C`XTO~@BOto&6n7lrBu}wY; z!PGJSez(&QYL|!@6TGH}2G@H`;ov;X>gnaE10RNb-pOYO%>4&JcPe#i`B?;0J$Dwx zL1>e;TLKD^4F-ijXL#O#IY>-(zVxkW6*-hiDeeXjM*ml?>xzwwVi9;eMwz~#!YFAG zOIDI3F2vM*+dnowsfm!&m%AUV?fN9|5d;XCe-p^gK;hb3ZVtL@zvp-K5vINfg(PAX#Z=7raC($qAs%S@3J!iIkT|-@1~P9J~@CA=4*LH{#|F7 zICbnpo}B0W%vDXPCVRxFy0Qo@{TX>-K%8D~s(09+IG@C4xez#q!NpWv@gNP%t6>kT z^~tZmH=OFo{7nL-3Z&c*2qU*SBw;sB;Y|43I@883*HeoVU2PTDNw2+n$Lh*-bgWqi!2u22Fv+p*;? zRvNs?FB5NN@|nYK1{&ibm&!@{!!MzYv&ZD9U?me$+hAWT|5*1)^tfj+`b2mfg(1_1i;W=pLN*Ps8A&jVCEvMvHkPr|Q1 z!NNkG90sKl(45N{u!#fGq%$gK%=|OV&0Qt1HU||$S<{ZswIeZ`+NjyLDo!!Mxp5h< z`;W)7Nut9`TDiK$86^!%Q)Oqk=p@>1q~upJ=&Bn`IA^_2XULc2offkuXKrraD2T|^RGSZKgfv0o~NfBoviz@HX=@r}L~ zCG@=;M@ynY>8Gmc1}xczEQ{OJ^N-*A8ZGq;dO%NWR(#Lz+fTm4t>hmBMR!AE!=mUf zsO1UMy1bWUn10fU0I=OL`(&F>e3%cD_7jL_`UL2h2^O}gBS_W!v1gp|=Anh49W6U~ z3r_>a+=c2$Y#HLaYOV1BK%d-+v2%{GK_rnl(*6zCE6)L1Prk>hCr}ozvsEK={0uYb z*8iv(1iO+cb<7juwD5I$NV97cJx_br4_5FBjm<^oHPCa=>;cE)TS_}7LG0bBO^?}c z_2UQ>@4sf-KgPd~4$<`PmLUzE>nZWw^PlCqFXnWx+d%N z!-80PMR^3|oFpFaNxboC*z<_gKiCXn0&*RsKcefx%s#=)j5fi(=Gqcz<;>4oB3%7q zVvuTtge1iedIKpy2<{j26;!5l0%eUl%6`4#JTa?A*F}1e6(xG^uV&k^??_X=ZGv_3 z{5_=FH8(jV8Hk^>cVVsBT8!|2$D6TL81N=F-KT_-%Fq*UjnMazw`!6A{KGZ-Y|*Lu zL<1J=s@jl9VCbC7mx$%%L_K`w9b+`6u+8@?$A|IPk>IhMxfFSGba~s8Y|a0;G0>)_ zo#g!)I&5d3dI6s5k=e1|&Ip}b1N-AEw-C({HLp1^My-KW|H!@3mkl!0`AcQT>x zyv9S&qM&ULFD}LRZ#`DNLPXo%@^8CGU=^NlgUJEe*KeFdvOXN|rJj2d-J(`FtnZ3p zhpw%W>keW9pt}t-JjmF@k6p44{yQnV>niz4Ow9u;HUq1m!nz=T*bTu-1<=E;ay!#!cG~8y7TNN&;LbceEZesz2r?u$` z(New)uX#?5FS7H)Q>|pK<8g~;OWt$os@2v&Whpk94-B62`D^@nZ!qQli(|vhUdL^D z|9HhK;{ep_%CH?kyW|uHsPgAn<*nwSCpXg@cdkA8!5toRF8$)D z&9G#0qi{maSLlif&GN~E8rrF=-kGIFbC1T&6V_T%ziVlGiA1;dv?ms|EPM0wUL&g` z1NPclzIk`c=j)%{nK!locVp7V29Ub|(VIo|62OIy_njzh0Xfx$G>@ z+}J40P8V#``1p}~+Q;TA&%qGcpG6f;!M3yfgQ%x(h-EeIgz8gS;`JWgdrn8E;8XB~ ziM3X0`HR28EuR(;e-I+`KN=BEr_6)B&w2r)YrEmm%Yv`=red9|gtvTqTXC&?<>Brw zH)Odi_emwqWU+SF3JnK5Yu1};lB%d$FSsb{+(LBWh0er+biGCEGrE_mQQH|HH>nX1 zAlIPi!~@Dt{p*iI{a^y5O`97*7vji`qFHyLi?av*^~9a>o9cz`R34ryjlmtoPBmnE zLcRL`>g>DY;R?F`R|%qvAeJCRiB7DV5F#X6v>;*^kqEibS-p#h7QIG`7Q}9l)q6|y z5?s9mE4mOR>U-sRe$V?p@8|b^e&uuj*qu3ZX6DYFIWu$SobRk9m9qp&j4arEl4PE2 zKj6-0s$Kr}B69)9uW=gwJXBaJeLT&7;y^4aei?)7f)3!jy~Va%&x&5# z9pjkeuXQ7}WMu;VFS`M(vg z#XCtlEF8B)!mkB1*iQd>w-4u_7wnR0{T9N@G2_1KgXK<^WXr8tdvQrfjvK3^=I=o6 z?5LSg=^^T}8)FD9vNN}4rk8Qskt}L2F6qR#N&bfC5*Lb!g@gJZI3N8U59_X{L_(-0 zhBuP0#Hpo!2O5dUA;a3N@R%P1C2Ss4%mja}(!wHEk0-;Mc77Z*Ha?Le=(a%>k zIo0u_)SWLEKu6m;GM%k*4pUJUp z0N!}$j^Q3${2@oyzJI^T1}g35pcHuB1zi?Z13SBht&%73+jF$LuKunne}dRQq~R9y z;Zp&)s;G+pQC$C0pt~>;`BP1m4!v4Daw%WXkdYvnHl5ds8+%VDeQ4j`D($0af*RT& z)Ki!8yMeBKo~vqYUe4T$*xPM@Lr#1Qb9O=bB_|P=PXfDl_fe9;#YP=K>ewm3;~J=6 z1&%0C9%bcKH%tLC>lr7}5R?U;jDRB!vVLAi-J~UKe!UcQC=ACI^ZbfE%wi6oDz%ZO zLycT4{(%$VdX^AH)AHrXttefzRG5WwOUX;Zrr!z{J0!tj7oj5o?)H5Cs$%i>TkS)I zgSAbG;O?5lq#75s?RiI@#V}b{NAY~mOO|pQKS+^$j3wdGE2+J4iySL1rJpMQ$k@ks45oO4 z{_-Y~{Yzv4%9O`Jn(w{-*-avqXM}!dZ)$_}IZV=>b2g~ALksw-L%~_Q8DGc=lK!&p zEo#i&s9Ws%Iigmt?%#l5g9X_=4kx&x44IO-I4+c(4nQ}8lt`jhgWF{~?ncS#LaurP zCQi}wAMpGe_$$>@P=2h;tyru+6=3 zb?OENhhGxdlOxUxIpI2=B*Hep~tRTfs=PL9CY)K;%q&VF_#92b9!C~5 zw}V!qV-j&{8CF`3ux2Y9Gx-3{{-J zfM3j66xeNQb+q7hJmSoxNGtNu36fW%Kw()qqUL6zrP{c$(PWCRRyp31skfY|LjJ4y zF){WU!N;C%yUm;nwhU@B)2QR|&Q|RnKy{TjUtQt5vtE~iVFLSaVDVX7j*l!7<#F?| zM`R~MNaQ9s^C>AiILAFp3j!9_dMIT&LUc%sy)pkI5chpOHbX$BOCWzjfJIfdK$5-C z!riR|mo#nX)VKM3<9hK)Tbr&&Z|-r752p5Iz$zikr zkj#!3RR1x+p~Cm~$wwz=ANwf0pO-;oWaK-!sq8w8K6HYHKbrM6k>5=7{o|uAc)Dd~ zag>&tt57_P7@kS9c_=Buo6-Ye_!1>ozPGIq;horIAyz9GUlo@25A0bk=t>O~`JO$a ziQ_?;5H|6;35g{y7@DHWg(-4P%O`s9M{T<;YvhY{AMdxTe)UX)0D}2lU-??Rkge-R z?>KrqeafFdMfip$U-_2;1BA`53{>A1b9h{6v~!Oher)G0KjdL^p!o2E(F1N@dWZKk zuWpY6?}@xl*q+OTb~#JV5D;`)$Gd6Tm0!F?g{>7P;d8x0W(YH%$8h@7HGQw;p?Mfi zX|GIrJay0X(UYZUzMBlJ9iblsUkB5D`zF)mdPfv?N9F7$>aK(-1c1r@VJoVv!2v3B zoo4ppi8k?peGUYg-J?#M(|L$!>AVi7&^;jfI70KN)YtK1wkWM0u$}y~$C2amX#`|% zu>y(BM6)`Q`!IRdpSoVU+i=L94ETvSw%Z;b95Mn#Y1d!u7{6#DZT|%NKz)7$Sg}Su zDM!_0^nThMziAFl=>Ojjh!rCy{){@>sVj%zcHVx0CXu5e$b$pH@^@vS`CdIO>C3%# zGT+N@V*-6qFb*yT%w6KGIlgHANG=2(cLyd($mdra*19km?kv7nOW?QaM&^5|dFe9D zlKOdrmrJ0}^&c)0K2O*uZ)YuALM;iKYGwfJ zlUnh1Hgri6A9SiuoOyn1BBa6Ip{#PUac4#Gn3OJg-@W#T!CwZtJ`KXOQdoP#SVkRG z>M3@C&0oAVqq1Lot&5MJO?dZl;2%Y{x5qmDhh33Xj~yb#!HI{@qr@F6+Md6(z53wl z8F}bMd>dLIBbOs71?XIb^e*%zUzW)>CXxn zKKP>k)~NW)yV3=A^Xv4xywTq-*G1<_7usJ9D#-##?&)x=b)6o{eLR}{h2-Oa!0^Q> za|g3gT$7}C0(?`3$ezx>VKx=0(B;&uMJIxBr;jRd{c0VGD~M~b)8XrU;fMXN$3*+W zayL{`pP}l)tQ%RC{2WbTpOhVzN0oQ)-X3*R^m~k*3chM8SNT9R@%RDdQ+jN&D~6V# z9gL!dFfMZ_=cD5)r*^Hks=B7JkI1q9H8=$Dpb%@JO_qL(;Hv zlBAhp9(YVDmQ)?3OSRpSp;8j)qjZIaEHVgQhJ;j#J*bL7Z1$R)2<&2 z5+gRc@p_J5mp{Cx!Nck+wA{7Lb@z#Vp}VX=l3QJ;U9@pH;YUgksJ1!9bTsZ(eBFwk zP@_ru*fBTpfzS>1IvGV6nd=-);04x3_p-#EumvK`srrP{SdR!WFaUIG$;B=A+{eFB zpnLQx=hTD>)?^gcl$I%`i$~~@>e10F%!Kl5Y=^rEc{&(6$HYZGEFIfsCOij4KvQhK zTgXuVax|i~pAJ6ZS5q;_7Q(XV4Rq*%5E$n>$ZTE_XcniP9i4 zyGUr{*&v)j>LRLe5w`D6_3>8uD&sze#mq)YgUSBaI+Zo zsrc*?xlMKbb~F)37FpbJ*J&FbW+rOE??qEow92x4LsF7y0yXDD$?ipd|VRSl2?_nf; zQL5sE{S(W2QA0}#AQOS*nt6?XYA+t%LF_jI9a+M0Ub7-Of%i-+qP%>yoO&>b%M-RUnFzEFTL zdcB(T-s-?dd;fMj@qU^Bbc&|xf7py2X63sh?fPBhn%k_L)PcXMOwC2KgSvD zQHTWTd-&3BHEFXe`7ih`S(dh)qHz0shp&eo& zU<#TJy>G7XHp%@Qs}rCStynzAC>$iFcHyD=Cn+!DRh$llJgZ)obKjR$gHknJ4;xJm z4kS@}MJ5v%QSY*b3Wo+S4X+9>Tp3=hnze(RwVC|tX?)>iKQBOc;6jeK;1$|lKXDk}GC76V-&VLVBMlp9h)Ggk`Zg^|=6fZMuKUV>(BuU;S#EeV z>x!5jEw?D4SlcB%i5me)-hpCHc?xgWegyBf4X$U8Np%}CEA?bGY>0OjD_dxfAV2j8+O{uA0CzS<~Xxl%8IQson>9%ZzxZ?FU z0;G62sKrlHzddzz2GeB9^|#{A#?jj3!$yoESY zTA}osKcK95pd4Z<(JCgf5b42xr~Hk*x}}Q#TTTj;#6iSMC~22wgHQh_2b}!@}$%cB0B8Wzv3-{v0p9al^(ggrBoaATH*|vKJN1E$D!wyl^kaCL3@&I%iS6+E{p(PFtHcO;{|Ki?$u!nEbKz8pD2 zvS<0W+pTdA@`*xEVn61!RZhKqq>(25(`!NZsrGQswe64;&pwDK-w68BhISd{g(V>( z8@9P@SjG#D+3!7$%$B4W2R~z(IUS?JN(Eo*7Zy_k6fmb8jR!e#IX2_8g)QdZGPfSg zvsKe}->OSJ-mJm^2yfLTiL!KNN|F|Si;?QL5l-VEPWMDS6JR!7s6}Y5@uD1PU^`Fu z&VIXXK5k%7_gx$EhrwW!#90qA&hFH6Y{UIPSS?8u2or{33EZd}0T_yC3qFhZ&rmJN zze0c0{xh`o56-`#bC!S7{+Yr5CiJh&A=>|2QH{XA3XbsH+j!COcnFw1V9qEsWsthl zlYUzlQ+2`Ml~JvfBEyj2(rNFby6@4aOcAQ#qwVrDZG!1y%aIS{HEDYsJK|o+KOkw> z$4jGa8a~}<^ZFwZH~A~4`j%mkShv$y95#7a)@jYSEA!d*;!SN?6T}6N0mMn8IiixH zaO5tS++|*%JZ?~dc z8_#V4YE-;dfDGhhlR9Qu$NcBcbMm?Xg{zJ5QBE=f%@ty2+8w(PBt?D{uZm&5iu606 zl{%rk7vWhF{YBlFq0pd-G0S>w9Jfl7Vw-?HEL7Dv?Q8KSA;h%y9fmx7SamN_3Cu87YHH4i0RDrWiC*)%m(G zB|wC1JHl$wxSN5_q83l1fN||9P^+Y`A5J}6aS+}y6~o^xD^N{(xRP`m%Jk}5%7b0i ztXIyeH3=DLp-f4hwnGw&&wT)Vnv~BL2N`%cGo&lUo!!#<@b+tzrMCPbGDp~?3|Jd4 z!6=flkdxK~_th|Ft!4(=m=A}V4Pae_8b_6zy|46lATA5RBVcJTw~&VlDZ8%#^z7%U#Z@yW{WNSsSQ~9QY^KW{VaT7vkwL8gjtn5 z3`Sajn1vL?%ygtRUUl4R<`fWk5!=j+4Aa&*ZkJPKBKroacg>!B52BS}IVDk0{zQCd@x8rQJFdfpODSDsdZyRg zgz-b4(@6*b|5;(DLBjhvcM2IhO7r?loyqr)RJ)E66&|e+jM!I<<_^RDU^C)S_%}6X zfb?|ULbp~S0tj|2KCTzGJ}^i`qkG~`O7j6SfSzy^w?B%T-)JjZ>YI#7mG9J*h{DjN zP2rSMT~(UF=GgjKx6a_UHq(K8JSJZJyvJ-9voXDR;3(wJwRk@t-LsZb=os;Bmt|>G zVp5l#moVs|$WAFBQwntv7i8H`xprur1o9RRaPPadyIj|a*d(%*;a}+)Y~_J6L(U)q z-ljW8B($HffsVz1@|iSM#_}QWp%F+4k#Be3a}5W6mp|n&q7C(lk7fGy@aB?&tE`U@ z^Ht#$cyw^zpn4_GWnmuQTwu+Z*zeCH&Fzg{x{0d10z>8~*O5e_ZxjozqTd(T=ZBHm z=CK>cn1P1`r^etY?otU)eHL)PZuNo6EsT?m7`n%kYV&P6vPNsoc=ID(zf_Tm-R4a}+wWS=hNFZNYjOR{S zNAP*`tn?=d0qsZan>%uYl1=N^D42{1;6!h?Uzp* z#`V}egYT?k7Kt}=Elh4QIh~U)RT*^(RK}x55KLe9T!dPmn7e|kai@dHlo<}13aiHX z^G_A#&kM7@R80AF>QN|1dOPC75;A*Y!+1nnHv)O{_boPu?~tF%jv4g&4|*4jUM7Eh zSX14O;pV$oGl&>am@|G;C5!FzOyh)_Roz}4tNrXqoCaMitp4!xfb#%G(_qVFzB&dP zL3l$iO3k5Ruy%SFf$kCDOD@OUyHXQ;KDbnTDT^xwu2-0W<(i-85GGDg96A&5Y5S^; zE#S&Sl>kpnvhDcwpMb1lE@~pB*_cGR8dAZU5plH8>Km+92tyZ0jJr@%{wppJ`jqR9 ztyZAj%EqZb5@4>uGhzl<3`9&RVA$o9)=+(!Ew>=R{6y+)CjvvqwJvy4X1ixTIE43>-Q_ zavkd61T;XER|Jwv$>@mITyPLGAQGD`E}A!XF7?PLrXt#}yGz9&J!QaPb{8t&Du`vM z;!I81#sFve;BnH~c8nb8QJLG_GUOb_CiV*5L!DIu;Kea*HW<3VU+vsC6MS$GkCLBF z3#Ex`sOkGA{06adiDTc(8P>Ei}fRg2tg|HPD1Y6u<57p5be^ zX52wVp7|PJG^olmd*U7j=&1YUVdA}ZS;D82(8Z_aqeHmR3$G+4%SD1`p#H#!@UxnS zW1OfYx%KOSEW>_9PjK8d36O6x%0p&ji&allE~(dz6|j9B+Dx_~LifNgAW8dMab!g% zVV{LQITUB|obp^Z12=9KA+yUl#A9(@6RDHYv;oK?ZcJ6s^WMU@z}XL3kYsd-9XW5j zG7Nql=SHtz0lgabuu=Xa=Jh^nDRJ5_=ZyngFxI091@=@y2cCQFYbmIGo2M_c0e3Ty zIvgpWiHto+@Ij}&iH!qX!4)H99T5Ah=2yzqA3Kms2OF+8n~UuOyVT{%VH}yon(@vk z?m=mVRQQ_hs-sJlg@=!jVfo>E%S4IpT)h^TDmwXCqu3ykt2I6m)AnTmbvtKGx$7GI z7wT)=N$(Pia^Vx?K{CZ7jkx}#YxRqc_kI^v zX*1qlg`}KDD@^5M6HZz|za^<{3K>R`ct++R%D2>qq%EYWYQ;2lPK-Z4wF12q(lUXW z$-o_m$H=_@60yc$Nss&H#dc@gCF7~bdv+h)`!G`uI1g^qPtG>m#!(6zX| zq|fb9JmG+$a?m5KvYf4pXR#bdY#;3UmjFx;o4;h6#A2d>ogKtHn??7x4J7Q; zDsAsRfQGmE@!w=E-nuvk8xM)01xAc@w*) zkq%m`Q`qu+67Ki}Ik6GE-qmue0l=#wV*xB)tkKA5GX+5oTV@_u&wm67hZI*1PtW6h zovJ97N|pD}*h%U8(~ViAuf)^WN`1Ozn*vrdb}lB)Q$}Kvf!G>LP}tOYjD5wpAR37F zh^-91l*dhZGhA%H)rGlmjN%|T~^X~L1oPY2vuL*_YiM`OisAZ8!s_^a>b9)q2 zgwNMQghjAh*P^xXG(5a1-K{F42T|r+uAJ!e4e@3x{l5Fu?-cE-PMq)e--=dOD9+~| zZ?Lov*hxP<+}f#0FzYUNjWDAU)qDKZW4#yGp>zpx@_XWZrM-(R>Z>gWQmVsMCRY7` zgKms`{EbJ|20V1H@9&eEpPf&8?HD?{oJ6Od<|NxqxR^0f8A|cVk#p;EORF5$*!fx{ z^;3}Al5<4mrEGAhWm*!w%CX2ze(UN@l-qrOcT(y*xt)c+7rxqGrRcd0q){l=9x zsLy<@V$=)Y`;B2BAGAj9jJ1{2_-pm4sZ@f@xGz$I5RcnpVr9$T?U41U^ zM8L~gV=pAMszKXuB&=o(Aztt}?V$)@icg5ZXN8kQW`>(HqE=PEHFfR|``Jj>oxe|B zPofq0(bMw=_&$2;@i%U{+1M{PJ{G%XV7GtpS|>rj>atSEo{iM`TKVpKr9J0h|3= z-``f8u)Vpew43F_77J%S@|h!D$>DXKLwu57Zrq1nVb2NEv5sleh}$Ud|NZ{mk(T}k zFE!Xzn4gl3hM>2sMR{r-!|fLj`*{+r)j#vR_AVVeGKr2aA~AsDzu*1lv(ZXH!L4{R z49ZD`;pyqO!Z(q3;u01p`a!vl0f{;5i{RCcgo%dhX;%5_RKLoxzb=Fp^ zl4W|s_QD|Y?X=L0tt>clLPwFo<}HzXO}-nyR@WCl7qCkFY4mGNK3lVMBS}($5^I+L zT;ogGyk-{$DN6+-|9U5+Dlwt1L3~|)hyC*uZf(Pvui#KDXsptJ6N6i8h!KO+sSNU1 zr+V|0s`Pv+YKx<>HIkvh=goIvx$fSsV+(n`?ko0j)BMg*UQSjV_Ub#(a{5)$+mtHH z_GWlw{#z>c-lvPKIuAzP%ML4oOb zZOx^bEYXiTJ@d>YdoajbRI$x;nAiCxVWOJBFPr4*)-yS)JH5pcBda7Q)IBQ4Fqz-{ z9Xc3>$T)hOyD)517N$Tn1=PnLT zjk^{ZEF$+M95Qw;SI5!xoOuRnj%!#>#dy=foRi$A%q9|DFJ7%d?{a!k9YvjJVW`{- ztlD2q>z_@r4o_4oOkLVF+euM6HpU1}MUUi1W%Sf24gjYU3)dT?GPHVcZ-z2Dy}L-E z@n^dP*s#^q^Lbl)rV@F3b#uKe=*dUTP+RQDs<#sC{+|Ovvzm9*H#SYf9Yoow1{QfO zKxtc1o_5C1Pl~r6N{kv{{#a+W(+3`>Q}(t0nob(?^TD@Ny4F^g*0WkoY7|Few$lj?2u czv%m51Vwhum%0a0p63}oxTmFzQ8Eko55bdfn*aa+ literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/aop-concepts.png b/truman/src/docs/asciidoc/images/aop-concepts.png new file mode 100644 index 0000000000000000000000000000000000000000..85f1243c02e5eeb4b06ba6116608780752bf7f79 GIT binary patch literal 47177 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/aop-principle.png b/truman/src/docs/asciidoc/images/aop-principle.png new file mode 100644 index 0000000000000000000000000000000000000000..712eebf2d4ca7fb821353fd722dbcdcebeadb7a6 GIT binary patch literal 45385 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 YBDC^O{j>A}`T;$Khf1<}(gr^N2RMQfd;kCd literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/aop-proxy-call.png b/truman/src/docs/asciidoc/images/aop-proxy-call.png new file mode 100644 index 0000000000000000000000000000000000000000..de6be86ed543bf978a6a38e7a7945843284476a0 GIT binary patch literal 3511 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/aop-proxy-plain-pojo-call.png b/truman/src/docs/asciidoc/images/aop-proxy-plain-pojo-call.png new file mode 100644 index 0000000000000000000000000000000000000000..8ece077d34456a89d8864c95e3a97784f2c52cf1 GIT binary patch literal 2548 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�-*wa}syRlUy|;@?iV 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 LOQ}fVWzhcti%ZX% literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/aspects-applied-process.jpg b/truman/src/docs/asciidoc/images/aspects-applied-process.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2302777912ceb3f0bc90bb8e031811e00d3cb16c GIT binary patch literal 47493 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

8J1n61-tLi|09 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/cglib-architecture.jpg b/truman/src/docs/asciidoc/images/cglib-architecture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a8a9e33656acd791e8d94b0c6846d1703ccdeeb GIT binary patch literal 16891 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/cglib.png b/truman/src/docs/asciidoc/images/cglib.png new file mode 100644 index 0000000000000000000000000000000000000000..899a51d4419146e813779b7f9a44db39af83cc49 GIT binary patch literal 5557 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

qkDAxDfjS4+2_~X3f&8KgV{+Ga5&ymK u{{|7_`ky(dlM%WYwPIkq_Ef$~S7c+GYgG=-sEB_Tu!ag$xkk}C{C@z8$_ax2 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/circular-dependence.jpg b/truman/src/docs/asciidoc/images/circular-dependence.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23fa7ab2b9ce3a2acf894772e64fe4d72023c4bc GIT binary patch literal 26110 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

749P^q7>r%DjDNebDn;c3`Ho4R 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 z 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 Y0(q)XmdA2k;s5{u07*qoM6N<$g2jO;rT_o{ literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/container-magic.png b/truman/src/docs/asciidoc/images/container-magic.png new file mode 100644 index 0000000000000000000000000000000000000000..2628e59b00e846b79660a483bd6fd7a44f4365bd GIT binary patch literal 8673 zcmbVwbySqm*7rk6hal1+r6|(frG!H`(h}0r-7ug?C`d?2qewb{bTd*CLr4wH2m&Jv zT>}j9j`zFwd*iO}kMEtep7pFb=j`X~z0W>-|9<R*4d#!;@1>O^wsj+rz=h z)gAx>=W?F~n51BCD1Ub`fb|<1TIJrTSTdtq^fz-f z4SQZsk!j|}t`yvBa#VR2YZhl{F1^FCP*NWjyt}=PoyNAIa!?l|L8H_WH);8j*FQT0 zGT&0mC^H0$s#N1|Q;*dquEg!q0_y1=XQ0Pq3NDM23EzUAx4 z7JWWrfHN8R#YKxE$4deO{elMlw}5^|;M=oWJ2D^@09=DYRk?t2N?_|qOOXheDN9*k z0A@b3mXQGO@qo;G8a(*Qt-uSzS6~7B?_EFvRGCYV@Ovd*glU7Q27W|45#XO-l0>ci z0*J^|6&M0IrSSnZcDi8#P7pzX@Hp&OnU!Z$lO`VU9iBFv@nl@=R#Vzf=758}Un_T3 zx?HPOtr_@f97tEWax${H=`>LUpb-iHU_Kk`ypmQ*LanbZuREYzcaM5MU%Bjga4Fu| zM_#qX;}Zfjx}&>uR%>er0?$6YZ+B29_F?a6TC1!GC{enl9JZNl6+eAQQDx-YxDr z+7=RH(#SU=U3a-sO7-e^gK5ut0&QfglT02%`F8HG-^t^(yh}xAm7>W*HSl3om+TI2 zlBgEBmW$@R=EE<~z9^2>wAvE(N^68g`J$?s1?5kN%km~k%422o&9vMK{Pl&N#gx&B`(^PCXWv$Xe|cCq z^)t)K(FyZXXv4RKbTN|sQO3`VahE^D8>o%QqW}uZXv)YwO`Cg6E=(azC5(+sLYbgq zqKS;megolYQI<@{kJKMM3{CEz+z+Ks9;8i^O*2Y^q@l_U41Elhrh>}J4Za#uf3-9U zD}HQPtN*)%9`k?#|6=vg$A~bKbYR% zx&1@be&0kD;cY~K7I68fWAnV`YzyR1gk|v;3IRP+^C@?LIwU*fu6qsRQT?d?wI?&1 zqdjtGgmNV0A;CkXht&w@3Wo|vh16W|T*sWvw)gh!ZS>r(pJ%Reu0ZawteY&xkF-Uy z#{rs9MxI%tFRc<`8NV{uI5*zKtBm|=4lu{*{gB`i)NnZ)EOB5k`jlw|wI z<)c&6*xsAv(wp#?Ey+DE3&*qy?>6!6#5n$z2xL%nfO@dnK*g8r7hL46ZJb2szw~_R zUG3l>PIbw0Xc?=U@EscJ7g&JKKnJ!GWTtXl@~k^%+vYFcM-@HF>D7*tjO$CEOAmz; zrR$_)pdXDCje?Ahji#Ym2y?Um+6`gss?TDaO_42|4R0u|$gb$|&vrxJTDg_TKhA&r z%zaK|>tc&+D{Jeu&-Dh z!EBZRi*AKom7_h3$%@y|@7$8?lCHxfl#r#rrKu&hon5ashc6Ey?AAZu^ZZvkJmiI} zqJsVT$OeJp4@La^;QW}5;tnpPLI*bl0m+0AU*uus&f%Adr?BOqgWLPML@)3<@z(I# zUopR`C2%3&Aj~8zB9%f)zRJTDwr4It1Gd>S&(rni>n-oJjTy36llfS+l+Me`Hzv)};OjDrg{x2@rqt@Hp zanBe61Vt>sEp~xUd*fm7m++eOOZ^oSu;GDo(856iIC8wGNbSLEWAU`I)B(7A<&jyl zExmP`o#C!?#?*78@cRsDR!~o9Y31p+$4%=i#=2Hhp~pdPb8}1Djf2~0P4pMEI}~FI ztI}?FR+;)4y+>KWvj2XK#mY^4$@f#R^Krs(-SFTrfrPch_Vb|z=={Ma$-IRm4&#o!!xt1N_F_*oa6;SVKcAu(CWv%lrvN$y4 zxBj0`Bi#$#!^q6=#$yt+X3&FiS(qR6VWC@r!l(A#Kkq9gWwJU6J3meti;& z#(4#~_Z0TeR$r(5F0m`g%hgpms zHqRq2jLkf6?bqpx?=MEX zO{sUONMrJ@Qm-dsmd7=QG^V&8bH7i_<=|kUWNtsO8%bF%sVSiw9fTNN2cdnwqL7y> z*e9bV7c+b0XK|yj%Am4C@7=FuRkD5DeH?8gK??iD7ZoG(VY^McEy%uhj?8-(%2)b_ zW9PPgB|r5rim1@53n9##LoDxjz8DT|5<05rr~p89LMZlW3hqCrttMCp0D^e|AR-a~ z&aQFq4FK>H27t{M03iDj02n+zSoJ;zfZJDE>M90-b6bnyFIiE!eft_{8aa)Tnh7<; zO)m1MZ`|h2iFr!-`BZdm2JOq01o_iDd7Bz!=}$Q{ZbU*SYg|a|Dz0vNPWn;NQq)}S zU0O5I<@9U6Q|SV7F_^z- z^7ORnLRwL=GF7_>Y`7g=Vkc^<8wr;v=jP_#v1MXnBAsaW4$gzGX){*aiI$}fu6gId z@Gpf)e9R%l;K}HdZhn-A{&LJc>sOk6=NA`k;6Y)EvoT?cqRESk(0bd&%hUv$WN`@z z-a;t}iK2{t#!X&B**e;++|10U+L^^0OXij%$K9MmUP1oFGnCt)3FwJ!qDkMoSU-5p zj~_q2fKyNnh2I7pY7auibi}fU&wJlpYBWC_^(0Let`FAgeD*<;!~aQhP5}H za9eh^HdL)ECYcK|EI^S5!n{7784FRN${5ywS+!Yqv~}=T#}^mnewWOw>rL_*F|$9b zz8;HFt3kP`ss%@#`?kvMO~Hm*$@hGU^Q}t}m3iZf^7DxIGcSMy6rqYjdlOS0= z<@9HjROj%GQPMYw$JNy$7DBCk!UZAcg4kQ{kjg|DBkijQCcDrW|HWTDbhjQnQFMfvQH#airhl&Z^g0ZWfb+@_lT` zDxrpc1%q*gkPIpJv+eVo24RT|?9#x1mPY-~tgGiTlX=Cwqs(BALG{F4$RFzSi;*|U zHR3}&@u(`!?BPM4p$~?k-z|2u7-3!}2TgVmb9P2=eNnkv4$7~QR4q!jj<2p2jlPHj6qA`2<;h3v1F-Jkp3o;?GhT7lcQ%TK^#;Qpum{Pu_3A#TvV!yeR64 z`G`bNoPyw`b$o~=WB_j;eV-!}zaAHh*Mu5jSy@h5;KDRk^vT=B2nQ4jwU$_tF5fwJ zSipDp?wT@1_qUSxzn)cadCq2ti;skwNw3$1mrKHnwQahdbwa7E6cf(}Y+!V(aSE0D z`(BsdJweID9)G3{%g)iugc==mHlbBP5SImMJ0K89PH0f zn0V_46rHZb3GqxMvMZRuFFOtfA8416GYC%3M`&hz34teQF{eVf(L{ z=|9uezb5`~y83_SvH$Uzh~PJOlyjeyOc+<1C(lPlMrxNWwgv?F`U;Cil-z*VFcMAH zW@ctKG&Dp-5uJGrXGsL?EI7HlJJs&Bfftd!B z%wO9t!kKNKf2PrO)*Fp@Xv4;dFivNa^IvH4iu8)DbenImfI)J-a1{im$wSMr)?vr` z8QqI02{if)rFlW}F9ZJ9miA~n!lBPL8u5lZ+`ww$hbj<6?V)<9yF`$OD{z_F*|!Ua5rDr z*^g!Cu5M1O`dEcWOpe9a9dtld>)J2G>k!pqTcY0co*qIqBjX#ye}8KyE>-O(KUh5K z>g%T*ji2N#`mc6`e6oV~3N}_L*Vq>I$Zn<(2Iq$Qo2k-UsrL9dkSjy`CVWN}0#GBl zu{VM<4dnqFh3LHStFsx7-(&(qEX>S-u4)2;g11{q9lHuTXyu2zF~k-18#k2esRTOr zm%lg~R*o9%KObJwl;IefW4SYXb2%U+-F^yEMMp=+5q_~>_N*ioTxPIYlws-Yb@#ranq5ewpsIj>36eI}rK4>Hc!(H;SqA zKY#u#wTB!hDkvyum$^#L;|i>IwnhSLv+u@-1=0NlJBhY_=f&kc zOwm=}_t(ztHf!5QM@Pjv*;`MJF5(qL9)*Wr52V~>gFl4V?Dj4dSTl+ma|g)C7KYbJ zebg?ZVwDya7UrbGs4hK!gY@Vp_+&;rCHondq&F6teYDGxlW)Rn9zTA3M60udtHs*< zZ_RSy>GsW5!ghzangp+DX>IMssQVvneyzG+q?;$t|9*66=w4BDOpMx2V<`b%1fvle zLhqXyFg!XcB`JBEEb16N9Ro$!(=AqqDuy4f505Hhhpx=P`%6En%&OMj_{l4td@c^#4VaL}xr}w_Hms_=?gWeP3 z+Y>7Z)T&XxQ}o8>=O3_?$KyBFivxP?a!Hf>>eT$m?xd&hIrh*ss#CU17%Wz4zxR|f3fU>(OaNj0A zQHpk|1?iWpDu{6{pLyIRu3MkbZ;0N%E*Hvd^>BAbJb5QOeDm0RciQyI#tG)GCjHf+O=`9wP3+=W>-Rr$vatwjyJjZ$s5XlW&ya(t(Dccck`OUuN8mOSfCLV+4=d7tem$Q7~c9pKL%vIRX68or=+C3 zfIRhvijfik`{jZEWN&_(H=}WE(}vr zNgU`^m}A0ET7TkhSw`xm`--@lYLZJpEXVQTls{2L$yGx5>W1am#c#z1tft5OZXbAND`FvN`>x(9b z;Vij;9dRisF;N3F%}@omO;&cc&cvirRi}f=&h*BB7e!TzabB^M?W6QSVMj#bVg|?CE|~^icX(!o4fnyPE{WVia_7%w9xT*DeL4=?T62XH+>|6+ zJ&c%}abMYKMkeF;$a1;5Vm^Y)_jFW<(RsT&PN8*A`KL}_{_Y$mPGQq(M*qZ6)ypq& zHDwx6zsl)DxB1xK!8tF7DzW?tSaQtS`s48VDizepD;znJ7K9d=j; z9(*aXT1knL?4P!vynsije*%{u4(Jvc1WV#pXpR;i3%ZXYjkLEYlj6 zE5$IPlx5LF?eUhM2P|M`7gD|KRldg=(-3~_oTt0m-ajmb?&&OVZPzZ+Ew)e?YqwuT zPBVnuwz}>_YnQzb$4=83d|(^UYgJ5hp6o`yaAYLF0W-Ww9TS;&ixY8^7hIQc<#p8ANX^XQc5y|Aq&6|t zYt7%47uv_1z}mM>`q=8b8)Hyc@{Kqb9_FHqtIQNIsOE!K3)O-+4$F(>o^a4AY^2Jv zzU6RWq%~ys1_!?~l>0-=-InQ#iL5TEs02#3eE+cf@2i?T>uEId zw2wub-zUz=<9ft6AQi0SepcPVHnfy_!Ew;bdF^M(e;kv4rK0$0DjV)yjXtP+&&@L3 z-l)sZdr2(~jxf=9)1Dn>%s*BANo|C>`D1Ho3Exo}cW}#Ne!qi_6x_*%?rjs8-a~s_ zjv#PhS%I8&_BcDdzA{(HnNFYYT+qqIVtlNrmIpJ8amW-shnzi2I5L&YSkvYYV~)@9 z=Jw+7{2Kuz=qH$g$wOR-rGXWug9R7cc}TB*%@b#aFkSZL4}iewDA>sL`FT~*y`5$R zcZv*kN0{(=-_sB{ZneAzcB2{Lb8=!j8#Q!_DZ+NKs*cv@O-SkKA@duicO5hr2EiuL5`SVNd<(#2m?XSU=2h>s1)()U1mVjp$8|xX`eCSG`A=6p!abA7 zduW%uFaKB$oixGqw1Ac4liWK%#LPd&aL@zTtT(`Ih|4bj>ej@@%VwJVL-{KYz_W^- V?Yfd<4A(UWv>xfISE{~v{U6xW!2|#R literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/create-instance.jpg b/truman/src/docs/asciidoc/images/create-instance.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34453203b6cab38fd7d0b147df2eb2f9538ba4aa GIT binary patch literal 12916 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 WUttV2a%z#jUyVaBniubH7XB9i*mOVu literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/dirty-read-process.png b/truman/src/docs/asciidoc/images/dirty-read-process.png new file mode 100644 index 0000000000000000000000000000000000000000..f1bf22d3f015d016b0cf1b1d690baf9a6d7aece9 GIT binary patch literal 100039 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 z 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/dubbo-logo.jpg b/truman/src/docs/asciidoc/images/dubbo-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad6c4f5453520bc514b372590a7276f8e3d370f4 GIT binary patch literal 11227 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 K=Nau~?*9S7f>=2K literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/java-exceptions.jpg b/truman/src/docs/asciidoc/images/java-exceptions.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d83d1d8bdf816f1201c8043515612a0a7c28f8c GIT binary patch literal 39522 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 THlCCgod68 zM~{QaElwJzdQ=?LVvgnF5}y^Xc$}MFRo<2&kx@A(S>sb!7zMK=Cb?yO*#^TGZ~-`%PX5}wokQhq6aC9-` zv4r1-7IEU&ZfDB|-6GgBxgh%dYGi5y|Is33qn+3`@!BH1vZHsd~@p6QQ}R zLqbz(&W7-Q5~bg8b<%E)z)S9`%d?ucMC7T!Z(8Z0=P-V=AH`>}bH4vwN`CcH%@_ayH^_m%yVfmp!f*jckOOS?|*n zRZ;97Pr}-MgZ73n+88oS&yn@qk1RR9%vv7LudMzF$LdT)B1^mdL1VMze1|x}d=@UP+b;rN&Q~8MPfG1bi zo$b#(5!BZTU^3{rp(jmLR+5*X=83pKg14;luex(


lLI%}b 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/manual-new-test.png b/truman/src/docs/asciidoc/images/manual-new-test.png new file mode 100644 index 0000000000000000000000000000000000000000..0e4d40e03a35c0b62322a074920ad9d746735bf6 GIT binary patch literal 51834 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

)0XnoHk|x+C7GU- zW+(eTx*Y+TQ>yn_<^h+|eTTkL_2lm>#s)EW&B96^T`gD+*fjkX6FMe&G|bICcR*Q8R%IrqmQqUJPS1WBk7AU# zDEYA+4O(tDJ$RgteYHAif@i8(&*1CS47_;}x?#rdw8kF+Q z{{#^MRy)!5<}Mj-DHS>(p;3asWNrjSIg~Q0nNQn;)M?SxLq;q&4EpxIHv2AE%rA56 z9;U5V_^6-a9`Sa|3C)HhhtvYh6=-0!y|Drl-1uwmPBb)N&x6#?725YsD;3}(t>Qbu z_znkV)Hk&^n}^0C7w7>q#>?NL6!wB=wfN8e8uR5UbLf|3;}L0�M7A+<{AeG_~3f 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�M%!f@op2om2_srx0m*< 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 NZi7t?tMu(7{sC!5%FqA+ literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/problem-reads.png b/truman/src/docs/asciidoc/images/problem-reads.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd072e34ed962c2fa59c33aa2fd90ab3a2d8661 GIT binary patch literal 21064 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 A=Kufz literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/relationships-between-classes.png b/truman/src/docs/asciidoc/images/relationships-between-classes.png new file mode 100644 index 0000000000000000000000000000000000000000..e478526a1bfb20d74080c029e1b7918cac0613fd GIT binary patch literal 2836 zcmZuzcU05Y9{&+GD#$GGN*Dq%3RocyBv5uDLlPrVhJZLqa3G2ptOO7+YzISzU=o5M zVTl6Did2*WMOK0Z3|pc>rU^)5l9%?JzS_Q?bMN>2J@?!{?)`qoy=i{Fp4*gkl>h+P z28X#J0YC~Rnf40Ol9l-SfNDu%`+1|>#bPm=&Ft{Esr#Gono8*blq>0b>-+nG0|C~3vk^9?5&Fi;WBkQ#8k&cdzl;QQ(*4Fp| zUR*zqOz$PrdzzY>Qd*fb8m+v%yo6jCQ9qPlQktKipPikZmX?Oc;}a7T6A}_|I2;y> zy?F6rR8-X2vu7hCBb_fKhlPcOhK2?O1)%~%{QdorNTjc?FAN5=_6>4%b^YOoANKCu zYiDP-d-rZ@Yikn|6JujzZEbBWEiFw=O*J(&1qB6pd3jlR1vxo65C|l>tFv>VEC49J zhr2nWu8u9fT_`q&=*X_bwq~xzzpTr&cFxj%RY;ljK<9u!EeSla7#e@|5^aeyT2mp{ zLhauK9$z1ok1s|cv5nbZRuAEX2OPijpD9y$vFn#H+pT3d{wiI(*+hRkDH4f4m#yAk z7O!+U2{!{T&@WxO^jL~f96J%eaK>qKP^DeacVT-T#m&S5k#-P8RQsxofl?g!v#{W( z@_^3pc(0rRq0%mpHW3U1KC04BX^%?3YTdk6kfD_MYU(2PlUdu3sGGohl?1%;^9+2V z2x$yj!SVwE#|}_}Y$m=RXR4@tZDnHlq;jzn-H{>bXz9; z#y*+*B7zUDd)Ud_2lrgP!HY4fH`O|JB94$gquQCDLOm~PNlB+1h&`+YcK|Fw2HB0M z%5h|2D;X1uI_Kq%nh>ae)vG^CMlD!$N+~r=`_FN&a5}L^J=qiYZynB~6r|ca1eNJ= zI60!!n{Tr6JaJnHJu%_$xFJeMbS)7DuGLjt#8)Ck*1pk+aNrUDftXA@JtB*+3e|EB zKJ~qiFa(R!)^f}HGH36}`IZ65KTmTzdVMaWSIuqfiO$DCOFPtnea06RzW*k9F3#k- z%}UW2VZKrETw#KFgT^ZWU-4kR=`eP@DUST*_#9`_?=CE9xLIRytG(_L%GBwPO?n)i3Ve3M5kfn`R0LGxpND98t9~=SRX6O zl}!HD2wjK_%o zfs@~p?MZDkc?OnjtGqe`d)MalPg<7RT9lDa{I9=~;+{{cC+^U8F!Emk`E=!{i$08( z2=VI6j0IcQU|h;j--Z8J=7{oL+9Ik-M7;$6ky!-mBsm$6zbZ3|!=v>>eB=fGd+z0egkxYAWO=M_9*@O0e+b!f?WYL84+v7O+O5>0 zKuu+Tv$HagyRSWXLz?S=Z|7c=s#K<%jOv!B^?rGxoB>SI9((|tO-NN3*IYl!+ET8} zeBpJTpt!98!ptptU^P)uIv_dD?r^J*qn=E!B@*Qdjq(s8w3kV%3l3A6>KYF5YBic+ za1U(?#@(Q+xjlw>JkI7JqX54=_egUgd7cOdCS}3E1zJ0$unrElQ_&u{lde!rx8uuYvr* zLa3DGL$P`tI7?SWBgR2D_Q9oy7MhsJq6uh)l$8)^&SKpwW%BxPm#tqlz6-$&E^t6D zhp>YCT>G}65I3uwsadc^ld@jG=$3{i-!MZvTE6%VTig(A)p35lC{D~dKLKIR8)?9w zc~>6s``E70Yl%m;Xht_6&6Z6TPu1ZAj|uZG@1X)SUfs#&CKjZE5{XnK{^gdo!iR1- zx{9CSwS`8{-eJjLOrT-q#P5!+RE!8O+c-Ow>p`>-Yk_rI@XmZAlfmAECRp)P5~lny zLhpq8HUXu>K+h${KQIBQ!;OOss?>ma!j{8JLQ)MRs@nRIx0pfCMd*e0aQkQLiSr*W ze8ODmc!+vrZF_3lSO{gnua_Mj*kXYZKEd}Mn9T5q;jy36$>}T@lSpnPuSxR8W%=S3 zS8S=pP#>>0KbmF0NurpSnQo8S&uD(GDshpo-KK3j%F*-XuB|Wr8pT_4M5P7}<);7d z`aB~B+_o#GvlHc;Wir^aC{1BlL)>{>pMatB z#~YC=FO-^{Zjk;3Kz8kn-tY3Orjt=6A%E?>E)55b(LSZL&Z^8jkjNl;(@e&logEW|T=Xw}duSYB% z4xCzivm~TRg3a%tDc+Ou4lQ0*%`3(cOH=t1J70LMBkvb=ljs|cI;mlwm-$EgH{KtD zqr2m3hUvF!ZpCO}7&{-bcXlX+&P_GN`gN7l!lBbxu{yPq+kp#L-m@#qZv!qto;`S3 zh77GP;tYP@KI{d_%W3@0OH;s(y&mso-{HcBlxQ2H!5jVkTrc3nrZ)E&Z#@`YYkHs! z6|$7Y#I?OWX>-JB=t+(d({mtl!!7xlF4*}oBOV{Q0#?=Y4AJ7auGQG zn`Ot;ICvYXdp)C1J0_Np9z&oOi&tayCA>IHMQyn=*7##`vqX*q7SyF|3^$nAZg`qX tNM%<_G?yd7fBlJKFbQk>sqa2HT~M^_iiVvulYIRExVx`gjZ0|Ke*ty+dz1hG literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/second-lost-update-process.png b/truman/src/docs/asciidoc/images/second-lost-update-process.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c39c0efd44d3c5b4ad8870f56688e20ad6dde1 GIT binary patch literal 112417 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≫ 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 R{MI_po^d=~{O^DF{tqNTjQRio literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/singleton.png b/truman/src/docs/asciidoc/images/singleton.png new file mode 100644 index 0000000000000000000000000000000000000000..591520ec1dcc6cad3a02b2a6a7ce0c3410fdbc71 GIT binary patch literal 85523 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/spring-and-mybatis.jpg b/truman/src/docs/asciidoc/images/spring-and-mybatis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1442b4300118fe4f7e0ac4d3881d0117cf1328b GIT binary patch literal 18994 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 zx4ORY39#}ltImportAwareBeanPostProcessor#postProcessBeforeInstantiationAutowiredAnnotationBeanPostProcessor#setBeanFactoryAnnotationAwareAspectJAutoProxyCreator#postProcessBeforeInstantiationCommonAnnotationBeanPostProcessor#postProcessBeforeInstantiationAutowiredAnnotationBeanPostProcessor#postProcessBeforeInstantiation构造函数CommonAnnotationBeanPostProcessor#postProcessMergedBeanDefinitionApplicationListenerDetector#postProcessMergedBeanDefinitionAutowiredAnnotationBeanPostProcessor#postProcessMergedBeanDefinitionImportAwareBeanPostProcessor#postProcessAfterInstantiationAnnotationAwareAspectJAutoProxyCreator#postProcessAfterInstantiationCommonAnnotationBeanPostProcessor#postProcessAfterInstantiationAutowiredAnnotationBeanPostProcessor#postProcessAfterInstantiationImportAwareBeanPostProcessor#postProcessPropertiesAnnotationAwareAspectJAutoProxyCreator#postProcessPropertiesCommonAnnotationBeanPostProcessor#postProcessPropertiesAutowiredAnnotationBeanPostProcessor#postProcessPropertiesImportAwareBeanPostProcessor#postProcessPropertyValuesAnnotationAwareAspectJAutoProxyCreator#postProcessPropertyValuesCommonAnnotationBeanPostProcessor#postProcessPropertyValuesAutowiredAnnotationBeanPostProcessor#postProcessPropertiesApplicationContextAwareProcessor#postProcessBeforeInitializationImportAwareBeanPostProcessor#postProcessBeforeInitializationBeanPostProcessorChecker#postProcessBeforeInitializationAnnotationAwareAspectJAutoProxyCreator#postProcessBeforeInitializationCommonAnnotationBeanPostProcessor#postProcessBeforeInitializationAutowiredAnnotationBeanPostProcessor#postProcessBeforeInitializationApplicationListenerDetector#postProcessBeforeInitializationInitializingBean#afterPropertiesSetinit-methodApplicationContextAwareProcessor#postProcessAfterInitializationImportAwareBeanPostProcessor#postProcessAfterInitializationBeanPostProcessorChecker#postProcessAfterInitializationAnnotationAwareAspectJAutoProxyCreator#postProcessAfterInitializationCommonAnnotationBeanPostProcessor#postProcessAfterInitializationAutowiredAnnotationBeanPostProcessor#postProcessAfterInitializationApplicationListenerDetector#postProcessAfterInitializationDisposableBean#destroyDestructionAwareBeanPostProcessor#postProcessBeforeDestructionbeanFactory#destroyBean(bean)destroy-methodBeanInstantiationAwareBeanPostProcessor#postProcessBeforeInstantiationMergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinitionInstantiationAwareBeanPostProcessor#postProcessAfterInstantiationInstantiationAwareBeanPostProcessor#postProcessPropertiesBeanPostProcessor#postProcessBeforeInitializationBeanPostProcessor#postProcessAfterInitializationInstantiationAwareBeanPostProcessorInstantiationAwareBeanPostProcessorInstantiationAwareBeanPostProcessorBeanPostProcessorBeanPostProcessorMergedBeanDefinitionPostProcessor图例:1. 斜体表示空方法,无任何操作。2. 加粗斜体表示继承父类实现,但父类是空方法,无任何操作。3. 深灰色背景,则表示跳过,不执行。 "地瓜哥"博客网 · https://www.diguage.com · 出品postProcessBeforeInstantiation 是断路功能,如果创建实例,则直接返回,不再进行后续的调用。 如果创建了示例,则直接调用 BeanPostProcessor#postProcessAfterInitialization 方法,接着直接返回,不再执行后续操作。判断是否属于基础切面类,如果有指定的 Target 则生成代理。收集 @Resource 依赖信息,@PostConstruct 和 @PreDestroy 等信息。收集 @Autowired 的依赖信息。判断 Bean 是否是一个 `ApplicationListener`,是则保留如果 Bean 是 EnhancedConfiguration的实现类,则注入 `BeanFactory`。返回 null,则执行下面的方法。完成 @Resource 依赖注入。完成 @Autowired 和 @Value 注入注入 BeanNameAware、BeanClassLoaderAware 和 BeanFactoryAware注入EnvironmentAware、EmbeddedValueResolverAware、ResourceLoaderAwareApplicationEventPublisherAware、MessageSourceAware 和 ApplicationContextAware如果实现了 ImportAware 接口,则注入 importMetadata 信息。要调用 LifecycleMetadata 的 initMethod 方法,但是,里面去没有任何实现。如果 Bean 是 BeanPostProcessor 子类,则检查 BeanPostProcessor 数量。检查 Bean 和提前暴露的引用是否相同,不同则重新生成代理对象。将 ApplicationListener类型的 Bean,加入到容器的 applicationListeners中Spring Bean 生命周期流程图ApplicationListenerDetector就是一个 DestructionAwareBeanPostProcessor。但是,Bean 销毁时,不知道为什么没有被调用。"地瓜哥"博客网 · https://www.diguage.com · 出品 \ No newline at end of file diff --git a/truman/src/docs/asciidoc/images/spring-logo.jpg b/truman/src/docs/asciidoc/images/spring-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bf25598fcbb8fa71751c2aa9a9b8e9114798f164 GIT binary patch literal 37330 zcmeFY1yEkg(kQw+Mu1r81t z0RbKX;U(gW7l<#>k&q!j==f-uXpmog9D-NauLy8xNeKx_X_={CQ#13jv-3)dN$Tl& zgZ{rR@T(g@M}XRai-87_15oH7Xmrr8UVsq7AQTidgv);w5CR-L6bvl%uO$HCw+sN# z4F1>Pe>eVH1OI<&01AZ8hVj26$aB9SK^AqFA@q5=`FPvI&GGQ^e}f7|LS$Qdo|Oz5 zW?ABAucbwc{Ra{Juhwq}!rfsz^ELo@^2gZy5X~hz{|D{;LXvdsz(2h|sJ-;N%%lK9 zmRr{zMilpS*K8*Mz;#!r($CE_9MzNlJ&I7OskOi21OB`FyMo@*y=j8fri3Tr?-vPP zfqw%b1-*ja_toXf|D+Jd%B5_`5YbPKvm;sJu7AV<;b!6_nmzhKhW;sV1(ltU_KDWW z=tN1<-oJDdn&|fr3Z%weRXT$7;S0^!4jfClNXP(yj3yQw2O@=e0e%goNGVJc3j!#? zaZq3gHUR3bG$e(nf?Wsico1K5b{Py%#6)d8wmzTvm{5E>XR8E5dCS$XQh8W}j3=*sGAy_hH|Npkq3hWOf#Z1$U%!so(I4^xt#!cE@Xk_%+9 zQ$GA96z8lJgrL|hx82G^AndHV0DwL*-O}G17ia!c^7Xd0_R-~;)<_3y6osEx*qO~} z|H&nK;9O>*(V+QvyTsWi327_-;SOiaMaUV3TJaaJHe(IvU!Bqx8CEzkE~ICuHE7E?auMwcY$`<=pIe?UN3yerSw! zoPOZmgig9%;Y$tdl^G1H{4({!6sw2K#KL%B3ylJJ zH)&gPo)Ri`*SH{pO1CR<>3&qv>3)y_*Q|1H^yv7Wmg_~2!yy_}=Sfi0emfT+@ndcw zWvO|k`WJu-cfmc^ybKWmvUZg3%sSxy6eHQXa`NCaCZ6!LLyAzr|5gy-nO{|A^V&Pv zF!WIzEYHHXoaSGZhc7(7e#G^wUS=ugS%99ef6h?u9UGlc_x6IKM7e1{!*6K~Jcz#) z&_~NW6FbqpzqgDmo#|`+iS|bxuY+GeJmCFq(^Qfm7C%olazt(lM#q*bPtMJ&hc5ker{6p1PjRthH{4-_>;%oZbpQYw-eSQJ4 z@So&Oxts;jV%SfS51+rDYIsb=Rw@q|EDtYPq9y86k zPgBqbX6%EBJQlWMM5USNw10@;H?&G21q|#!XrSXSn@R^9{A4FZrOJ@5E2HM{+mPck zF?*GE2v0%7Xtpw}46J5VIs%v=?rp@fXfHME?RF{D|yaj}V8I&*_ z%z4P}oap!(iO^+Iy4eNP9&MPjFCtu7b`F$(jZp~kT>p^=hpxU2*`Pnm1M~$|kj>15 z_!`uY)-_)Z*XQV6Nf9a^k|`z^bO`u<^8VhE>k8@#D0-iUSI%!B%P%h<#r}(Zo)uqJ z)C`_|JmjX%BeX?zFzBlAS$e7YZx5yJ?FpN*08tH$B}vDg^rl*?Hz~qZ$#*Uo&omW> z2R4X$%HVV`SmRFNv?a(UKu5#BD{pj?>Ms>+j)f9fg)Ps9&oOKuJTJpheTrXR301uK;u zYd?)2OZ^Yd^-%T+E!UDvxVBU^COf#%py(yq`8D2v|0o7=w!+_}0n$b?Dm!b>8IT~! zVbt|QF!IdR^Qb{_GZy;Ixv3R^Op-4ixj0KrAowzF0HNf4++qvjcx5z>XbU{P`%VgS z)12CfUDP%ZULBnAFUCL2lHD|WX9Iu)zs99CAHv*2$A}bwg6q~kPmK1VVb`)y_GHCw z03m#`^5d5=I(aTn4PtP3VHi~bVic~_QJrZRM?yl0`+-d|1< zlwapy%GC`9pjc%_>c2Np$apMYf&t-vV1k&Xeo>C&AOfd058;XqRX6R^S~1V!!HOl+ zKi0DKapKg!FXP@!)Q(SeZP&Z}telk7*8P8&V_P|>%BI&3Aj7|G^|FOCC*9I&pqh(? z5ivpHD}BkCIW3?3JN+ zrl|@z{>xrGT(-HelOdOxH(6nlknu=hseHMF94UHn-PhW-TCF%@Y*DJoU6<(sy!^y# zlhElFO7Y;Ol7y(tjJ|)f$$#zaMj3sP-O1#bWP)}z@GqMuFEYwytGk5U-l&xeU#EJH z7oj){!WthtDaH#0kbVJnX1@SSSNgF=Uft*uj)TCtl~$a&qm33{Xr$o9C$qdQ^FqhG z|7x$j4x?G{3f4w``cSn@Kih;@?Op+Y3eQ0lA-@LoDS+@k^{uAEiRMXAEYECYqYprl zBX<{KPkrOr6e1!QVX~R(GIplnPvRR&q9dK$`&)e#0{@{t1%X_$MmTzP&(6@4HyP0> z2fB9PKU84e&%X4lB|rc{W6Y#ZZ{8k9tB_LYsxKQS`k@!qDf9xKuPWDm+pS6i{Uh+E zf!V~#u~>8CK-U9`E{V#`&X;byQXyj!VgQ*Q62f-86#8?gO;9#W!3TJpwXuIlK#{i` zp{FbfWy6nS&!_GY5-51xDnk#I;4x;#LgAjq%zFWXKgm8RAX-kdrRkR+or%GJHN4_z znzI2Q))0W*s*}Q4yOZN`-A*5N4Mo>MXx`wY*jqZs0zFyvbXX%XP-F0i4$yC9K44EY zP7(4kXaiR$iGun2Vws<$dX1r5E~^wE8CK3Bt3N8~&akNSw#or=&S@J^nH7(`yh*%z zENsr|Li>*7`OmZjs$kw@=i>da3AVT_l_%O?uni++rCVO#ex*W_NFwN1<}em`kYE#4 zzf#_EY~SAT7i|Buz%a^1VSM~`33Mw635sdutCQV$M~4Nw_170x#S(THMOzwFiymt z8#1-_;V(i!bh%334kiZtG{?dRirH-tYEt!Nrg^DNI|~Hiuk~O2jVjSrPF+~r@Jeej z`OZ+=7aF3=8-Mqbfkt|_Q~Eds^B#SCOmHc%~<(4;qebgQV7yt8iKgt zKP8Gi7c@M5{P$sT_Sen==#}*OeaC%)GqQm!BMODaN7oPD9*%deZC^=K- zcb#}ZW`p`tT_Ot>r2bk7iuJH^&kuB_)fV&@07U5e-FY?qs7#3z0M__@f3FRrn(naR zrVaiJ18v_*Ph-Q6#JjZh=hR;yfJm3*CG^W_9An@t7Rx-w5{`cT^NH z9=`w-Utb-n(FW$ie@0kKb|U-$(5dE1HyDBpS=4X8bOGB}ahtiuOmv)AO;(~K0a>GtTTG~uhy#BJ$6ovjwH0RWNG0vNNKY^&4+hm~B^ zCe^r4+}Z1@d83pHEV0E<8x>z_z23jXDRE&OPpU7bwLc&&B|MqSED`v477^%D1-Tq( zNX@_6eNVyj@eBI2La55XU%Sy$J0YTASbQcsnf%(RH~%*Ep?p$tYThBR(B{unEUDR= zZa_>-CmI=}le2d|*UghU!_cTc((6n-rXsg>vKRJ`-29B$9v!9b*dKByF0tvJ$E6-1 z*PwD`MJ+%=UyWlM1XHOfdXm6#-@hhu^~m+k1o4~s$yRj!f6iB<*vTA`m^@!RAOS-% zDhF>}?ojXxxb?bo?T`f4w(~mf-pgl+TzRp}UH6ISSDa%Lb;OeXrMAVgthwQ&6!~-VRBA8$Ut!dWE#b*KF(jZ4(XR^cEA-7Vtly z|BLGXt)GRsS*XAKEHoNKp3DEkWkO|jToAOAIq~~9K4%N(Tmz5WTfW`wO+dh)(yWEQ zMoT8E{HR)9t>XXq-4EVnYnS?K;EO64+G;XswhGb(y%@=RDEb43N|6TOJ7VZjjed76 zY8248(nw~nLTn=81Uu?D#q|EsrSw*?LM zHh7%?;B;pIIvsXjqD!hGEvjB)SI{-(b<0)x`+C_dHVwU-;mhfdy>v2D9egVkt;WgX z;5pIqQYho4a$G{WZL}$TTD2c!wwUEqVJGani7vgmAYX>=@73D3>CULab?{6fwIf%* zfOc)E(yKp`=rI+J@kV3|&+WFnSF^xt#f5n7gnnv13!uU@(;B?kMIhtfck5ewF(QcH zM>vK!$PFG|c>eSk@uT_?#}Pp&xK_cb?#8iNHwfeK%)$DM*)Xs^&*F#UKo6`^$mo1C z3W4jf$F_DO@&lYtFWuu$ZjV`7pMpv$f#;RAbj8TAHEB}n`(rrm7KwAVYnsiajz5$`yP>5JI>9wU+&yq z@pWjk5(j;N)ARLbcz%CO{u>YC--fPc@v^>zjrbMC$j+DnIgOwsDKVMRg`FlBWD7)U zHNLdV$z{?hPm6w&QFo$3oKF|&UH0xivlR9C6t~kdS9%8#RzE)(x?v;(0tq~j#!(z9r> zF!kcQl-WnyN*2;H?svFic+DfFMh};a4s{F^Bka?`S4h20cR|-10%1Bfg9uLCBN0YW zgrn?kVyVy#c!he-*}O67p^4P&Xe)+2FQtDNqC zWM_)@?;D#@ZX})L9xWCHw1vuXIYrck*6^F?Q{WE{f7{B+r}~!L>l-MeATE->Bt$q- z;ujsKp3GaZOZJ%eq1w1vY#w9s19HQ=K4<8xT(tQhqIm7LMt=PEU8ZhDN&Jg>yi$P| z4I+4iC5d-UuQjvo7{AZR%s99y5cB!$XvkNIX0XSJUH;h58q;Bn)Ewk!sm+DByAaqo;R{ppYC4LqOqW~ zZ#-hMX3<rnvuo-`B-Mv|2&khCTaeN7Js_tNkINo#Ih zTZ00_WEn3DACc=dXx4I5Ys@OG&(rWX9QM zjD}mFuiF*TOdVQlu2{@fRs(gBXqI+&8-?ZXRz?&rX!`a${x86q5%c8e!n%#W-;RV& zZ#t_yBqT1wQ^Lloo(j8Qi8|Yn+i&w1Kyd!b0|QoB@<#hnrR#YXw^I?FU^UV_e}-Im z<0f^pTsppnFg%h2%jKmAhjAmfCg2lCs+$i957*d8vUfYvUshBcJJ^T`Po+dC$~x!{ z6@~g4zFd{-+?SY&I}=s!G$7gvqrD4_zY?M{R+aaWWlb=o`fN39*5pq0&7XI*c|<$S zRuq0zd(a`%QcYpk(!Ep=jZRF9QwEM&{ISY&_!-by?7K8CRBo^KH)t3VLQ9g_z4q zSjpYPU)6#fPKC2H4;>25rt@jp%v8;rcR}u(^yieM_O7V+p-udVuO zKb@o@+U*XA6e!Yin^AzgHR7h}*1R}Bn)S^4QVp>-uLz`%I?fD=N@?!B7VAC(qoO?H zN56ay1ci1l8b_hsy)RpKi%qPFZMb{UNy7mRY`r7K-~8#wfkcV<7{ga|0SL@O|Abz_ikALlvsXF z8LP^G+X&}!1=HM@xnwLA&-?9!gl3Q6ij`{JXlp&jD zw~PJiY@Kfdvnast3(NgS<1jSnxig135Db`u*e{xz;Q|fesy%h|g+{;^rHb!uKG{WA z(aB_yDP1BWyF>w$QsUO1c|PFrD$ai#n~)jt3b%tr*+^<+O)6VX2Z{ajm%ev;ww8<8Gxl%qzgwV~ER-(qy_3K2=1JdLia6h%rd49 zjWzV@GIR1%2%L{)o(#DcyaV+ZBN(%7qg;-)5YSD*M^uUNlD>z7f$?I0CoFD?TeV1h zuQ`AGJufwnjZy_iw}-D#n-9$u9ep1NeIbbz*~L2+sXKsx0JnvJ)3=raV`hpg%ImbT zx#zI=H9Iw&{EJn-%!p7FR<4;xU@trEW%LQt6fviJUsP2uAMJ;ppwiBmD6jKHb9|u! zzBEUcuDm4kI;%^&Ff|UH4%r5;L-i^c4+YXrT^r8xM}y5P4wl*5@Pr;YzK3gqM!m%@ zuE`Wvi?|5|%)|@1pu%`l{60>M>=9_l%X4I~C=Oge_b^+msK5){rai-%v?SXXxCfV) zmz7l8I9^x9pE2qB7GiD4esnzs_a?(1DihGYIri@}(39XP43ChF4+$r=A1g4#iIIio)|f2;2Fz<6Tn9Aj;bWV-yVLrqLhhggvg32q7inqz8o7PmcKb2%!u^y zh<>rrJrTC5QJ_Sn+al-br6g@?aw*B0)?m!iZCkg@qqQH}pjf@nYSO#@lar+A^AZ_Rwu)yxe6@04axF(Y6_}xAr8eor>8)KV#X;0liiCaNTdpCiLv6QF z8dnJs6{-k{lK~h>@L@E&Ql+u6u*0yqFSbeyO7<4V9_&m!I_>etLQQI^)N;ik>VBG+ zAKAPWLC32*wx0lW5eY;i>h{~{G}`hRXRAP2|8?j<54kWQ<=931C(UNKN+l&z4K?wk zb-}Kpx}fA(WbIcGc05)nbn5CY;e}-JJh4B03)n7~*dse&_dw@_I#1*LRs2CP+`?T0 zn)-2RG@)}77o)gb-;P#m)9@a*2yuo8+4)zkZHVBB`9jZs0dbf(_+39bMy~GTD?_ESE}a8L3(^F+>;NTx$<2(x2wywZz6f z8U?_T1)1wd=Jlq1&y|SIDqr9T8ycL?7VU@`I-Ca6G#kUC;{!<7s15$tBBY?A5TB8C z+viXXo*^88$*B{`f?~fs)?lrJ?bnn*B5}7QWNDq+(ayFu% zF&wIu51J_)$?{UAxT9i4lp-{u&fnlR{>*gGUTqDrMu)rL z)f2cz%$?Jc17c`1`uo@-z)_3m?LQmrjfK*U1MWqG%|Dde_R5K?%5ki-RUg$*we{dL zY74wve8nWlb{RKn1-p*GlRVVqF2++JX0Dr6>W1r2>~Es4M_omZ<%mx_ED0 zU}1$DY4{knG#0&wCLC0AMogq3ekkb(nDeyL&&VnVnsK7j3;;p|_OVZF%}m=IzyzNZx5I(Sr2V_0 zdiCS^^ysjda4?!_HvF`FJC<++M~|5`+0s0Q3ZB@yG$Wng^&S?M5oIE+sK{qCT_|Ct z@a@%X1j88y(JN{feOMg>S~x*E-j1`1=INR1W=HynjNc*!^Hd&DJ!h$W<&M;E)R2po&VkAj3*74a)o1m-dfpB z!zhC9M4757hF*^2!5PJmC(7gD>EJ5BW<<4BCbEKU)KFrp^OQ}TyaRLv ze5a#5#33H)Nxx;EWE<5XorF;mbv;|H{qS$+)pi(xeDG~4dG!ZB?%i}2fl$ggp(2|v z%nLdOqn+IVZo{BYxly7M0b5I*GAa8Qm=B&zl{VaZ)c#SB#X!=SBoktVLevH99{oQj z$^&y$O8IL$V21H#`V z$$rD5GJ~9xk!AWukCIz*%HWZf>sYjCbiLO@Duok&AEp3OqOH%d{>XY()cfrg3AiK;OQuT(xSkJCfd%a-A!l806}(+IQTZF1ANLJ4V0U zLBY#7t#9z|!E@@wRZGToA7-c6?>|wctwaacrQDzk=eWWCWw%J@SYNvGdR>7v8(k}mSV}^ zmy{WS+?~p~AER-?ZNi`31| zX{O`!=~3NO-Gqa@m`B_RTde-)$=|}qj(k;4iZl&CLsU-W)B4hhzYx03Wm@Y0E}vNG zZ<(DkadF%p^uWk`IA7gHkIkZCYX_8;lQYAYU z{rmzQY|;!v=LBk`TL?_UuaIob%kc;`=)EGDHp^QKc_kzOIS@W7?2!~Uy17k`;IijH zEVXoRiJZuhdOs|KlpR^zICzz}!OO({@QmSKo2>6pfkWwj&Lo3_v{FvX8_T=wuh(m9 zp^GU}uE52)M^(`ajMS*am`^s6Nbl2zY@{C&AzKZ`Y3w_i9^DpN4AQq#A<;exFz|wZ z^$TzwJ3gOr6p2Pys?#=}_)muy?z7Ysb^SvR+CvgEv!1mk_w+pqUX_pbPbb^KYrhwK zjk1o(`#-o2(1FcAu1aCZOuv=Le)x_wJxlD+4*fpJB*L^S@wxr4751jUs*0rdrrY_qM z&h}-Z_O>%Om0UR|WVfHtv>gJ03^`{;HbC{2)iL9&U0zv6dcAODIm^nn^KTi|wPirIY=|vaRo!+zZk>jGDnb5&j1=QvKKem6y!WQbd z^n#)B{F<0;6IoDW{xK@9xSg~Z9Vg_m6Bh!i$!7cpyRbKz-;53QjB-D-J1Z2f(OvAo zl~~@hIBbCd0C}-s9leYuiLD)7eIcxh#6E}5gjWoiTC{BFMRZ<)G7mND=8iSyL^t_0 zeDu{MkvdA%eF0i@=5G%Ez|O&padn$ zUpKA^cUg~t0Cetu-Ue7t_02m#OJZKyUzAEn^;H-_$BQ zy!7U_)uQQ)*YS8}tD7AIBu;#}{a9e%FpKN1Q_R>wH;<6~#1hT$qX4@g;LEg%!rr@# zWDfmIJ-@Rvi zcQFAE#(&%MwN!-3*+bz^IJX*Eo$&%e-%lf#nKDw3xy};p=%1J6GERcI~v*loF@!MnTv>m zel=_~B{9{_RoB!e;cm2=P}x2ei8$=Cl_=SZI~riNRQ?Jx$YJQU%HHUvzl zQyICAXjYy_(wgX2+8CwX^nT;jXmPzNJp->~|NAYrwZLJvK^$7VA1pC?s0w15m8sl z6NNM~Q=A29b{>A>{^jzelf>h~eMVLas96C3bRrRBM*)$eM}!=`j4?<)53 zCdi2=%25{8)qp83VgQbP0SAewbf&z(>93wQ2Z!iAc)Fn$g8UT*NHQgo;!RcKd^{Nz zX|vI^$_N_FELS^prqI?MefKnX($sW!06a;PF*61h9a<;VUtXpq%fVICfwq`{W=O5X zZV}<2N>UcLQ=g#2fNCY8uNT$#{l$DI>!&J_J|fH44sW1;hdgc~4>Mel+m`!3u7>~0 z|2V%vFfsIh&=GKy8XF=&nnm)2^UQHQvXZ;=2Bnr_O%)sMVOh(iU zQWDUh$Sf_RQK5d>MbfNrxY-PQRlWS$COnkq=WSkiX<59~WYHkRcu;$CQ>IA@yI!(^ zC6Vg3RR{qKP@#<4M0K?15n@^HM>VZ?prZG}y9~!t=-lYMQ95z72qp69y4fy%t{X*g zgdG;6m}R@St_*jdB8Vx)B@wB@l_GzecMx~%pP2jnD!%INkBjrga>6EbUNd!EX>w3X zK=Fq8@iI<|rR=w|e!s*dhOU%!SoF8H+ORs5J#OFtF=28lSyaExwNsDP*p7N+zjKtR z{|J(7RDR6$+85UBlMIKg>7*VDR0IJ`Nu>QE*{Pf649goS4; z_>zfLV8^tK#fdXFbnGE_!OmN;;%Bn4y|Z1Q`!ZymAQ`T50q(`dy)eo~pRM?d*qB7B zKBiIP`-JZ7Vl_F=7xOc$tOj9$VyfPTBa76J1LB0civ7Ijg9*(zmK^4Cx%CwV8uDO1 zDk4ORh>^3SgfS%9f-vmN0h!|IPqr6vX9S>WK02ECGy#^$pSw^{ll9L_D*%h`bUk3f z#7;M}4gsMf4e&jV@7< ztfx`2U%=tCtow=Gs=M`<)%G`4pR5?d9RKkx?Ph=b7IUuu*|(Jb@h#kmj{HZ?{B&>j z{T6M?8*9Xi7RDBv3=Z6)-EOzQ=;*}CcLo4-PdGx^j!UeBaD3djZmmirn|E2S$a~UX zK;dO=wWX}MpwXB8l7L~-hLOhP7cxgKF|(K;QA}p0zT=n~PxZHm~WZ2|?sCkJqBy^b1k?t63GG>&Ow+g#j5s$oo9iTAyOifmk zEjPGK4#U&cyH3f5)45E`$H^dI!O6==_kSA@aw4=0jfhaic+ZsTqjAhLa>wkKBrnaF zsDq}l8%mD`?t~)3q)`UK@+xkcI*b@;)7}|L$mo=@6L#)BH-SEMLRBZ(Q^InqFi zG)ULVC${BEy}$Y1nwIR$Pq}fG-WGtD2KAB#c7kuZJ~RSKpt7)L%8WTf9g)gKl~2aS zz*>2Z8&>X?orY z0xc<7g@&#^lW!Rx<4k*^;8-q`+(3TFeE7!fn`2{MmC#Xqj9MQkjR1XMBTdN)d&Mi; zF*r)yNGT8|fd-uoi#x52)hklKH03VMZ;NpYnatd#;fPU!X&{6?4O_;j!TDuokgQnb z^p}R1qDedrFkz)<5<J;jXwGPJd>M78?A%hJr`5!CQmy8Qv=O~eZ&fM> z{bM|6hRfQYSM=Lc$ydB0KHt>y0U(h3zWB|)EV915?4W-K2Y(=V({6pnfR?=hL_1ZX zlylTVC&y<`)M&J-fnvwCb6n9Iwogt9lBtCC#D>8-Ita767MSEE8Qh^TwtC-x?`myA z{@NLnW<+w+V*vkXOx7*z7LI_$>)geb>UW>BXRMw;#mzYepLbbc1>I=gpECP80VQgkqSrRu_wr@$Yj z8Rx9F-coujRdQ=3SC%*lo?!Mex*2&Z7xa~?+iJzo(Z<9`d;_Mw;g?dg*Gs29^ur4r zY*HbX+|nQMV>Osq8BktL}dmtPWBiK-EXFK4Ua%ndrh}#=CTb5k8Daf zYpaiA*x!BjSKanr!bGcY4!a4L;PhP9o^iy_Z5A8IK~fprNhFL-QFrpNHZ`DPV=^|; zLI})Jdh_TOwn0wh?37FLws!Ev2VC6(sQ@)Iimen0E_ydJA^~UoK1__x(XS*`TeQX> zaOW?n9vf1(IOxgaKc?H(K9{5<*NRY%IpQsRMwU6@UJO(-fr7f_)=E$`x#eIOlN2LX z7##@fU;v=?xC&C{6pLS@CjFolCYui&9zbxEQ}IV6CSr7CWG6wGIn7+QQz#n_FkFkQ zEsIQ#IjjJ401tvJlr(px#NX^!pHK)TmE`F-nXbFousD#R<%#)`|9b8=rCzP#=Rk4_ z#)&rAyB$|AFXGF<-$o>UTNBl%lCw zG33boFbxvF;J?^3n&sx57RHJg%Jd^*M+*Vbew7N}+v}tf3H~@828o}v*jW>m4{Kux zXKKT45C~_Cj=xFhwdN5~iYuLV0tQklZ~=L$R=Fkq$Qb%C%h|COnf{%!kT-Yj`qQ$d z;$k-9un_w~=$3emiq$R1JltjxI5*7wZu;H3Mw(htcyw0LCg1FJ8KwSZx&6G-k0444 zw#&)aL&oAe97ehY@lgSxAqsK9{xeF-l)|iKS}6oXV?icmBazE-PQL&&hts|7DO7%vdFW`90dwW=#_z;t)gyebaTG#3{oEkben=h9g-M5K)eLH#{ zMTz6M-z57AUer#5T4gN+pugg;%PWG=a3tLBdIU|Ym0JJ~)dj|3SvThyhO;;{l))e2?rRLWXT z;ni+6vWYeGrcAzb@z$wOl`Z*LUCF-w`1Koy-8VH#oocO`7mdW!H&Gq4Cy z+}DSq85#yG@5qp4cpCd@ag0BSz28Z<{JyB{dcSvJLpi~QYR;DN8dlse-&!U1i+%J@ z;Ch+M>B1>{uK808VHlxYRkS(oELXXZKowo8IU5Q)22sEvcWlh)wT`8BG`*_O z8nfS79HEC{E*EznTXBw#?A}X zWhz_NG>5T1cs&xQ(^&J2@(rTlALS?~NzsMYQ;ic@Xwkeru!V%s_`>VKq*J-f*6cXS zBJu{h4X$|Z*`4i&AbhF)C>4NRR^ha+;>Fy;u;C`Obm)G@SxU*w2tXO7p`QFm_8{yNMwecxP!nn16Y$E^)mnJ* z5l4=wh9_?AG5GnBH2ic1W?5qA3gCYMN;;5lIuy|WC=dt=4jBOf@>K^c?4NHs02p)(QZiOyC0H~}auyL)Lr4F( z>KY0*Wfdc*_#7;-sA52E*Ce}v^OtUigekFHI7*JdPGgs#jm^J5^mriz`L<)@IF&p! z_c?z#$Deax!(Hlz4mv(EoaGC_aJqRI3RQ=gD@GlDt49XRCd9=w%Y!7z;iLp;uo;y`@O+)ac-jxJlntJttHxNmx1b8x#v z#*8{Xak!iEEWdzOL6JFHj;~ob7DIHCgw-tVdI+Y1FusLjMd8d0ee19ij0vdqRQn-^ zvo`VK9T%@G=5r)x%HzTF-$l}9+jmB+KreS+C7-coy*JlRp^WOJ8<;PKSHkVv&xy+O z`G_-rz87ZlE*R$*K(YMgql+P7VYWG^z%geiaf1jg@zIEnb@V50lHF$Rw{MYmGMJcr z4OI-Z&b}{hQ3Eayl819?xgEFumwitZ!h2XgF}AJV&=>WI0*2wY(wtM{ZlUumf>f!u z)iR2{a<{{ekg-w7V2Eg>b8ghLkCdCi7>= zLZfi&v_T2))ZfaxL>}sy<$F-NwXa6)#PB}!V7ro*LOa4(!i&FsKTy4l>hksS3j!&c z#Pr8-EOX;YnNiC8?JhhAbU3?@cn86IwjaNc9=NPkUb24IiX#)A4gO%?%WGWMhuX3S z3Nd^(cU1*TQ?3Bm6p}`Gl*uNR&B1vO8xxa|^fLO5$|k>v;)ziKXh#wMR!}Q1tGm7pAVE zNK(;ye888TMNRP!DKfnn(ZtB$4_|wZrq+-KMCfDc-RDCo_&j*e0^*;LG0h5ANMQ{ww*Kh24};;JC$qVLdjOu6j&6PX3Z(4 zEb>{)$k0)7aW%O1aX7W$7ci95GD)7b$+C%RV)^j+US+_^N+~}rSzVcXYQXD&aL>4o z`2%4o^9KK1!FO##4ALK)LIZO)c&AMYcr;JBf;OX-@JgD4=QD7Ve7i}`!IIz+p_GD_ zdA@rM-3tldfhQlhBoDcPz_tv)l0&Sa8N9mN%6qM`NMLl6i4)a=tEV$ptHVv(@?s_H ziE-%Jg!Z6$g!a53Wq812d_KD;c10^D4gW#j1ySjB37GqXFrMZi{%35vw_vTAUx1=P zR&piZTRy{|NA334mEycy{PegRGo$^ULVD`83(Rd};@|p;`Z7~%gM>e&@$+6MAMgw( z-TIHq-?^)Q;LNMKHO19eZfQ^-#YCZ(0hK39++wFSsSn0YBL!ZUr`JNCG{A=+Hi)v! zMHBcpcEQCGecQ{nEdK-?(X6}0sW+KN{{r~9k=|&|HRb5pZG1Q~g$YrWntCt(QfWVE zrXi8=ocFXmxpsq?z5(=nR6Ls)8AQ+zYZDGLPw}xlk%$M?-FDV4*kvvfd6lP@(t^E~ zMM;Mpnn-DlI^bdPeQcH{KI>DbYUqCV`H($4#yl1c$3U03O%1U_w7AYjy5-6W2A>4O zMQ#9u%?^@$F* zIsCE>Dz^5 zHrw%{znav>+J=Rx(cr~CwoPJ`(F=sr^0;vIDZiDie0g2l*Z|Z+9u*y4)2~Xg%-(!8 zRc&l(T|c{J3Dj!twkY^2@k%A<8EO<*H%UjwhL^c{QRDh4dw3u4erOO z1DV4=m|aP}E*a^$5VI#ytfOS5X{$~9sQC+c4C^0NR3B0xuO9M0$E>!)DwVWI{oYU= z`&eqa*F`8Tf7l-5ZR0tRdqT=h;$QN;wIP|rgY=Lm&-;xlCE+IJb(HL-%xWCzB|Z8e0a$GSh# zW$SH|##|+~nR`;pN-bjMzO^TmJLA_geAWw2$v`PkNi_cWLHF)06bYs?VqM)dm%H6Y zku!3sXcymZJiFsB;C8|q*7h8B6+E)O>$+4|#>$j*ijA^C9JYfq;E5xyy;H|KP4Vg& zFL)WJ_Em>9EB_q6%%PRT`6#Z7opD{x30r)uq>tO2$46~#OP#l7?@aOha#h;csnaOU zVOuSV77?&swUWjOvT&VInnbf^tn5M+GAFK!p(Y3yYgkE0tDc#tIHLs6b~VtgVKq0J zl5BGg)-82D!+7a??P}M1zd}auioIzrV3T@3_ASP8xK7Tr7@zt&_LJb3a`Hvg(k$9T zM_HR6?JP3ldn>$Y0d*hUuE+`YeEbz72(<}UF0&@oO0?F5t&vC!aW~&_L*RMsjIR}U6MR&EUrYs3MXY4zRsckWVM`vjA)HNx+=z_6!qledI>!u zF8JdPjm2xZ#;p4Q-w_klgixPjiA-iOvHm!M#{EHdfr2TYD!Ol@Lwv;)VfzZrYW{Vp zG1i8HN#a^SiyY?x=};jb%UEGLNoyUH#IzaA2E>}o~>xKS={1K)A*hax%o zJC(o7J7Qu>SDi zwjT+h^Dn5-q&V}M`S&-ZmKThOU1CZKDK999O^lTz&8YY13f1sGbvkfGUk+l3k^|MSEf@KqiPOe~OG9dL&f+#-Cfu26i@qDLW`h)nPOEH*nzO{xE<4Kc zIkhfGv}5@>W%9MezvZYS`~6FSgs-_6pM{paHIs%yVl1p zp^d~9DP6ALC{hfchWZvk$7B%n&b{BhOC-i_jC;L~bnHU2N0oU`xPoOSK2bWtqq5C7 z|BduVXFGnqddZH;-552^8@OV-`kH%7$wk@;!CH;;gjdE+i?*oghf!ngk~p8Z9ePP& z8x{wt!59$R`iR?auJ;l@{fRMsYd3Sj!IMHU?On4Fqa&~E8`j1_(lZ+c;nouSsz~j8 zl`>x>;%6i%&syBW>@`OcR;qkpo)X6@-6jKqC6b+oFMDqdP_3O*oE>ro-G zM#oDJN%KkPcxu_;qV#CBp6-6v%4HM!N+rAik0NekTA@@<=EQGT9$1I!3*sNOagjcg z&&t1Mke+5IxhVAx^I_NFG=CSW)w-ZQCgnY#<|Q`!Wl>1hUjR_=5jp0W(x-j?d5F8E zCzB(I!lqy*I!}PEwayIs1uPrEBlbJhf+$-eqtdF37OHGcQaz$~Lvp3dQ$M2Q1$`Z< zx4G0m(fS3L6*DwMn>yniTP+-H=*#9GT)ga~p*oV^Um3=wJh9>&GP_6z7f9iyK$~^b zsk%?s4jpSt@-9X@hgG{32M23Lqgw0I8&VN5=FOkwom_iP_|~Tt0_k9GD4qf1CvSzk1x$64Ka9tPZz{Yew;<%H7hz;dDf%Nax|S zcZcQuH!A`#ngx1Q8U@t>Qk!OGxuRf@77Og?2MpmM4!xvMt$AOVknqRHzH+oBH#H3? z*w7?4q@huflek4ZZcG2M(j0}=7T9ZPOl`u#rq5+^61)bI2(lSROmx<9MNGMi|$_lzEDqHssAWB3MLEAWZS4fG#_)bk7is* z&Eob;By)~gaB?{v#hz5j=^w~C5$>(&NwcXuaHxVuZ? z?iSp&kYK^x-JL>%1SM|;XWp0&?gYn`N42X=m0V9%)93oSMo7RC&}R{ zg>ilQ{sMst_+faPF`}m#Z0~CU-3!@?gc3RkIIMHd?RShl6mT`fhOK}O$m`zq+**Yh zXeK#Zv89_gGWJ#lQgrrj*(5YAmB2mU3lp;_if1H#gTx1BJbAiDLmMYaCO+x$U#Z@w zl>wtDzFG~=tI=CjIB?pD^;b&1R=Dni^c71JL0U3fU>$`fkdJONL}@;_(Jg!3QPJQn zcHz%j>7i#jrz5xn`LFIp7#(svw-)$`f5`?lOgu?A0iPVeIB=iK~g$)HHr5kR5!S>p` z5%G_fqTN*cj{`MlPL2AT0~EPzEN+4FTOcxeGBqPyY%1BT?JePH!A6Yb&=gmEPmvlLmuIl#4K`r3rK3+1!0gNGDf18w7x7abc9t zuGzAmr_LMYDeZ~gq&u22ICM^s>E_tjQ0Y5&fAx!-N`@uGoV9OTUG&f2MD`p0*S)9% zDB25@0Tg3jUWFLY$*9>yF~6ICb|S>Q=7KZYX8rOuY*M1-+o}K^Jc7M+zD}>Wlv%S!~;{gDf5<*}ry;yIpAft9TW9KS8|JrUe7pp~R(q;_BQ?q702w0{?U z`~M^fi(f9fz2t~}{G^2;u{-$VD<$u}b4%#0E-U?h3yrP|R-JT?oGbJUseI2QXbA*V z{(&KegGIoRXI~aoyOORAVt#7&SEb@Mj@gQln=eUEMtV3+ZF-X1-s_#K(Py?Mh7p}^ z32qrU(%B|}UlVhSDwVtY=`5R3d@%ay*6Of%GLRsDU-{?~=qH_;P-ALQwEsDmqJ+&z zBF)D9$zN&gTp&JmrCLnsiv49KzXGUFiXxbdtktL^n7C&Lcjd^@W;`T`Tal9Ad!gwj2LxN-Ui3NF)HsOV%GR zVO^zpdZh4z>VHT?uk(ztI%L?L0=a;XBjyrq8grz=%5(6d2>fo}KJ6J1&v@7W=iuma zT((5mu((Vrn-+~6S@`#z3^YHnHi;{T6O!&KY?21qU#fE}eGeNKa0l-{zKPu@U0L+w zmJ?YyvJ+8ynn098NcVza{xnCXHqPMyGzjj}tbuN<9pGt(7HkUoowF6L5j<*qS*38N zrsxjD{hn#XOY+DA0u1<#tRQc)%^Ci{)bR7JG74wUav|%W4=FcBz9m(pC;uxQ^ufED zw4U`}?y2=(VT8n%>qMH#R@BmB=M?IOMI+9%nIpu5I}}>!V|G^JN9x!pm~+N9X#4;n zl`Embzw1?JEGGOV28Ug>_BGwz0%U#sw3w&yyCFL4P}}|BitDXV!cRe?;qMuK&e?ta zgH(XjIyA(c)JN1dkzNB2IR0IE!3mT|O$Cpq}REN7)X;XKS&1+BqF=gg^n zp%R-6m1Sb&mk#MnvD!8G;M{H%7jPTAab4CYk0D~Q=JTt-1^0*lxgMs{&81`d^BsSe z-@I`X_#J1UGtf(z5Lhg=@)b=3HN!iZ_{`*s>OXKtzwExcHinY3)$nVv$u%#C_(YX# zQ;3dWn%LwMSCw7%0xi#|XKLr>)EflN@^a=`0&9n6wcSR;5*iImdm}4QmWH1QCQ`c* z?+)zyv8CZsX&o>4LP~`&h!~IK=PAqD9Bu+4%v3G^iduhoqmwN zaj@a8FyDVEfL#qY)<64i(%q<@nUgkwad7s7=f>5s! ztgv~n!XN?95~90~^f9IZ(x<3c)Y0E!fn%cbCU}d*k-bXK&@$(vosP%pg6-J1La3w+ zNfGq59d#Ikdi|UBop!Sn4n9X~e-%{hlEk2JSws)7< z9{&xZLZgp{{y)mONJh?{*%vBo7ES(!w}g8pX!Vm0H4vIPa7L*6bN^#q8f`6257d8P zPRM8S<>CTtgd`i#(}k7@yqG_qUe&`;$!(;m0Ez9HlXxDi8u09 z4Lw@IzdA~k9IaK}ChytJyq1|>t076z*1auaOz>`b9GQ%+4gE_Gt2LwH$Xaz~3dGB2 z*~OrX(V{g)`OWBN-eEWj0@>dc=AAB#aB7oJaoME7*Dhme^+AqoqpV(Bzqn|DvZ&ne zNg)5GB>WtsFZ_O-|HHGG>fDZRaUT@mC+sf^|8XjZx7xIv&o&Z(PFIi;>d|#h1Pz0O zQF1Awd6d`;=dk-K}+WcQg2YppSnH!(}+>YKC6% zmCb#S_;YHkc(ouJ3^W!WE_zr$oj#h)@}$ZzhzJ_#@S8X$_3Ch}mHl1y;x|hVa ze11r<^gt;1B%T$V;hpg9c880aZuhaj-+sSAqX4PtGE&!ze_lD_!Qs9FxzXVQ;>TsbcNhTzU(YRzRY2}yr^_Eq*D2b3*a}=@v-1<5KuR>ds*7) z@eDTJ^UQs3?VjGZwNl*hxo%Nmmjau;WEdoDx|0blbceK#6FFMK~z0CATw5T zy}w4pob%Sx2evR@KYobZ9D~fA!v5z!m}_LK|9jTG-xK4IASy=Mdq?BmYJn3+`at^> z*4tykH$Ux={q1Eukb90OYx0$BTnOZdTe)WuS$fBWMtSRD4k?~y5bo7nU1u&Z8Xc94 z8c?IfBey?|>TQsG0Yxiu+{@n#Rix!@LRt%^S82jg4*34SsE2}VMK6R)?(39VRHe3N zdMMR$7vqoRcWS$>jPaNk-SbwMDH-M@rGWj8yrj7yv4h0j^)qU2rO_%jB2- zTHTqQ08?;G5c%_jzI{t?p7tZ1WKBax>r`;0hnmPz74xE_9gJShsTEE0!(T=|;{StTI-xang!7T<+&FTkPjB@}xGV2V&etd0 z@#6bY4LH;mkI+uPG5a;hN!TLbFHIbt&Z;|#tme{_r??k`_!-e~O{d(kPmU73aH;kn zBOxTe_xOP1rHXozI*`LKcYw3&QTHy<^v-|3pqA`f4(FJJ%K8>we{^rGN5*$*5-eOH zpeXJ*!5W;PYP69)srJ3drl?L-O|008(|=L;1j#ksXIp6~k&4Y*2wx+pc;-FV^-j^X zPrlhHYlr+ViN_Av7eg~q`Naw)atoowvDCezI+u$OWtkFM6BZkIxn{7z?2M`!lp}}8 zV&Cjhe>ZMeQ1^CA@}or0)i;&vow3-y86OA`_#5LG*XxJE&GRoR8&A5xHfbbvV0(Si zzV$bm_&TFt&3A-fM9^)2jl_=eHRAD+t|pn@)y4*@f>oR-CS?Dcyp22lH_-9l@*3lW zm_61E`<8X^2zQOD*We0AjPxsn!iO@mJZdG4uVu84UVeJg3(dzq>Vl-vg|?&>pM$V{ zTJjvbr&Wzq(}xndW=|PMw@3`H!n{??$sH?t- zeQ8;oVQcs)+H5Co??w(bO`rY)GoW5%pQ~*-z2mkVP5y{|$d84k(vaOW8fh=L&ri!F z6Sjhg%^DHI{f+*I8!@7*TDBoM-8eASn_rqi=M6Av7#)j(g5c|pX-b+Po}7KkpHt~Afg-QYWR7t7z3rJJvHCQLMmubFSvB%u9C0(}exnXvv0 z$AmF%g~DPa<$+HuLy>zU~L2Mk=4c`;%p=}c~X8$fw@?xmQL_xdgaP3 z8WpRG{KufS>Q#-K4br{1Ow?BxWT_qC)ogGY=`yvX<)F4zGpqU;7$uQ_WFpK#(-*Kn zUwtl|BxTcT-qSYBsWDXPM@~P*L~@Da?3If~H`l^oo0)X#dzh$W##Y-g^h>FyekFo2 zfBbCup80ue=aj2FMEV;`equ$lC_}tA*Gz(7mf2ahokYMP@GhFWAv;`vbO8f;0O2&@ z0HO4Cb6#7*Akq^FOM6!9Z&#jU7G4~cfznC!xsiG$hj*?5aeZ132BNxlfoAI`a-Aj@ ziQ_^_*+O9L=}9*jw0;!~_U~XZuOkS6A(a3&`#Kj5{)p$%MEY)BLFV8oDI5UdCgwV{ z%+w!K!oBsvoC}m6u2*q1^H9VdyKuH<*D|Xt3;gWXm5bHo{Sc+tqslVmP*`GsFX>T- zwwij`fJOYQf2{+7yqf1>TZ}s~B=ZroFn3_6{RQ*m*kSFbX;Zkf1A;=reRZz;i^if6 z@hb^ZS|drmdS@z!p|a+AeD(fb$Cn{clUCA?X(*p9>kveP%MHy1WWBh3}4} z_EnRsiRVD8^MEh4{zc(lmWg>K(X6k(5$!lj6c?jGT)I#_$TD~uxv?PB7w13Wcu25b zF;4-gqB|9Mg_#wi^?5%0PC7SiM`&Xok>HR>l$dfUHe8_*s~4~2xnc7eiT@}7#NOzf zcpVadto4b+uacP3S_|2*hHAlP&)CZ3D$v4KN1JJoWrV$KI+J{Eel?0P!-ml$FWTYT ztj6MUBf`1Yphs!`$p!f>vSJ-M3!p=_v`v*i`t|7B9-)mjsj$6=KI6&4Ec5R82%3Lv z$LEs+vS<-FlyQ`9EoX!gz(&ikh6q`-s7(L{yVnb+KDw%)WBMDdb)UtPH5R#tDB!$6 zh4#;9_lDRkoXekGjK5DIZamK6=yL%ZKlp8vp`07dXUAVHD`Ri%a=66}!R#Mgr?8u` z)USdcQvB{2>oJje#-1q5kS^sb6L{7Z-;RqnSG6l6wHD4>CX%h{WyGZp}%iOlPXU=@2;7;R1!togX^C+f^Ue0S} zLrQD4oD%@%kmTuK427Rb4R3`;XdSN+1n;}tw~~9^pVf57cNirvR|6enRn|vC^SvW} zWnF@(XUq|Xf-WMsYvn}P)sC?@m6@ysLk~)?@;Y+^_{lybenpSM!i0w}T^=!Nf}E=a zF_T2^YN6|up&EF)C6PEVDOEIYh7@!PzI?zgmu%FD!abUY@F*to@R0YNu4_75?|3zU zbxcTYDRJ3lV)aP_OL+J>HpA%d-ZpHNc>(9W#-zJ7}YA%!(P?E&U#3ig;Z%quIy2`^{WiW-dZUFgPBml zU+m{O=6^X@?`sBJplLxm*L3;GO8lfiT%C8*TX$y6!vM|i4ar8pJPYV4Y@N+KvY1j| z!jOLKhO<7x`EJxYafQ$K zbLb+!c5;-(<*f7H^!dC(B1+GQRmel&2!-Bg9SKx6#J133lBef~xd_z78N`}aJgaCC z6chD||Z(Z$D7OSqfAArF<9jiam`pY@qS?8klIeXvpmyL`e^SloH zMUBGJ7lPZRI}G!*M?S-E^3ou+edk^6Rx9AA^T4r&B4{ICrwP9+{nMnFpzf8j&*z*= z^JEk$>3lQXHyH~bQW>~P_29o$yxzgNB&v8);xSKzE|HJWuUUsJweaLvR8R$IHV=pC z0YeeLy4GOxc>-S^h;iFE8%mlDGv@j?D<8Bg+fEa~s!hF^zt6tvh0oS>X3?UsTAu~Q zJui=}2jc(Mvu?-!`lW}xCge=VSV0w2KQBfVTmMmVCF8CkL-I`NS%3Tw%v!*z#AwCq zhjqYV>zJBjaIE65hD690bvU#YU7bdyxQqDoDVRI@?z?9GmgQR5=?+`sW)70lA{b|p z58O9L#ACz3eb|pB9T2iPCn$IPuTZLyF_54p*r@3=J*VQ|cVp@-TM;B9nx>Ie6n(`# zQ~%8ODI?p6d?pR@X}bpB=5(?V$+p0YHvE$WSb5yYcXSo4J&WE@)YB53j6$?Wn9n;@ z;2i$=Yr5hnZ^1F{P5p(GXKWDo>~-`L>$rVN5u=d7-5zIpGw=%ktfNos{x%t~FJ?sa z1R*I9iVj>ADG+K%&K4S3OL_^x``so#645#)Ho^yL#MiAtxqc<14=nM&(aWQaLL86h zpbja|UFkRg%}?L~zfC$S?B}3^PhG1?xcWeECbsWpc$l_z zLG%=WN_y7bFW+HM7OI|Be#FZbD{{ttX>YfTt|;c(=I^R+T0`onq@0N`L3E`$1!^GP zHs56)g-dU-pdxbv>-eg3flJNrMt+)z#oRQ6x83w&1kF}P?=c(hR|$L+1+R?)AkTNDwQyRZi<+4H8)+= zVbbUK-}^^bJ{P0>kS#Kk#V>jFspaawNpD(}RJ1Nkn8mt)$FEz7kWuZ0gL)zEBY7 z0#3Um`+f;Mtm8{n?c4`>`8ZSS#{I|}MJMCHrwRp3YS|OXiSGYuIw!POEKh`~3Ez=i zXx0}xFhh)f^zS2;S7%bgQT8zPmax`0a=A)oONdx4eU%}7lY5ZN&$by}NhIWzoBcC4 z`9~dI8GQ)t_^)}5r!d=OhiRWQ==*7~CyjM;UecfP+pE|F>^K+fI)51BFHC%{w-r4M z7b0OOx?xi^y<_ILAkq~JRN46h$P=HJPdhA)fSyZAMzgHBkI>4CD4ju8$0EG6T=(yw zR#@17iWL_gm1PhY>#)4f0jLch86NDFNA{9WoF!=$D%j7HKNc}nu(?}?z+nm|OTS$L zNYLfykp6+uzaqSx`Mn!#f~!-1lKncRJW{B)KuHGP63%}o`>UYiIMctliGh6ay|zst z%z4vJ{qY-q%4f#yI&<+%6uO+0i!>W53Q(gr-7LyUW5(O|Me~)C` zh_U0f@|S3o$Vm!Y!%$7lFG+iJf?!&>r^9)pcv1?-Cq*L+!(R!4dx>%^?>x5qSV9eAT28`Bk?7K(b2F= z4>X~Y4sLVVA5}VV#G>u1j|vyIujq!h3s!4m!^y)5yzUcZ+A13%w-m+MRZhgK;CFBx=fv#t>P|iiYDf1&iFHwubAHN$9BF zl<7Q`Ppdb(l33CQ2|++Pe56oupc556l?5$YOU#a_x0Mb>7H!bSIy4$=G@0cnL`Hpj z%X$IrN_pj_EmGE9!)UH-RL2BB;PkGBa?q9TNxZ@EM}wMcn_)rMCD;KU>0#q^8Ol@P zCrY9JvbOO|2tcmZ;7wC!qeAK$=ZbMX@bm;{2p7YN!CA!DjgZbIkL7c6&DACtF1uwn zxzdbLkRrBT+bE8pR{RI0)@3ETiWZ9?Q;=nbX%a2G$?;+x?q_k5$#0aYRoZp5q$Y8t zih_g@Q@Ys%Ihc!EziAd<90XLfuIZibQldm@e=gPU$7>xp-4IB3@Z%F@k%U&BfWvB9 z*0N_o5Wl3ITc&;X=65S(6Xfc<8WU+Wnx&fH7EFb#KX+NE26~%z+ zwT;W=Srq&gbUk|j%Gz<-jcS&y6bZE5&uE(H>L-+V1dxsmZ&m|CycU7Tco|geV+ETs zNZNXDGep7AVMLohg7aK5%Cz@aoZ=Iof-bhhcQK6>#!o~pnamING6XF=$zSef2bfrG zY=ajIsRF)yUmuJI!ZP1yhh6sYhH^#tnre6R5KJmw4&^)2-=A1FoXE=zFR}$gD1+0Y zbAB;UwLQu(*mgd&GY!r!R}<)hJ-tLo2kg2zqA@!PYyET&h9(dm>{VPH1dIu=;n>UJ zmh(X40w-bDe1TPkzv?EvdBwGM0nu05*-BzakphqcS~RBA9um*c&g9R2WHd=#un>!f zw0Cn`;$<6R-rf^TMu3x`cG7eq8p|snwPKY9M>xZb_D(-!;>E#v znSPSlg)lbI<)iTIWHpK7!CX!SWQG>JyEstA!Vt;wnvp)jg22p>6a(aqBfzK3uzr}% ztf*N9be5qR5##2#11j70?IvW>{S!0=s(-S`3FLY4)A}OE&VH+Rhd!F%5o65p))!61 zNsPk{lLfC(H3q5uQzZj>0f0}J`W>sHTEsi!k(tx@69BtW>BHTx>KOwrNPmE?#NATsw?qW( zye;YlZa&wWG75eY=V+N2&>NmFo35~6XE(5&Qdi*C^oZVL6M{I`yG+n3Sk+EHb&sf% zM?6VUrLtu-Q#iI4IMTA00Vvv(BFMB|_WdtO$x2{H)eR3Knhs?a*XG*_aO&b?Xq1x| zzyV&Djj4g6R3ZDd$S47N*}IDh$Bu<8_yVmWBk`@JaPpx|(BF9_fBfd-KfygHYtpAZ zYw7+eg;0PN7T%s2!;nz(8?!%kLXk+t5k3{JD2DVxHnHM`w_XF2Yt$HXO_IAB)vpJ& z{9QF?mRc&^u+QeceOzUOigqU0^WEXV#r>O)5!Oy0#Dp$&>rNtMw@HstnBkeJ6{%$&z6P_T8~T|SXf!%%0^>fK1=yeW)d^?3152^M z7#+`H?F&9+VbKswn6&zX>wz;WAGY@WcwvUO<%j_|ko%lUc1`qtHs)3{ zCKb$r$p@#yvFWCmSOm-HT%yeFLV-blb(6d2CB^O$%}Ef9#VwU{Jm7i0OIer~-YN5JBFS zRr6`-z#kiue!o!l3Agp#tlRFs>mp*y>~ELPKltaaf|KtbMHb5AK+ALMZB$l8jxP0O zR^#NrY`bx*t)w5&K+By{k3;Ri95_I)bugS+(Dq{nGe+j~UpKbE3?p6o#roQ{QfJvY z6V_DlGMtDgr>eQ3>0CiIJyP;8%Zg>ejhpGd)Ojhc{=b-yfCBn^j`SYxo6TdDvdW#upBvkQ8t*uHR;H3c2}(YcfeFGK?I7_0V< z+zEZSx+Xzs4UK^#>oi; z77Ouo7&0-vuhyYaO8>)rsUJmKnUkxuqIMYhkfmYud~ofyQO9Ma3*XP6x7J`-ngROo z852^PnZR8z+_d{|q%P^xQ|MI}NtozeVM8*|p&=qgGQiJsf8zfLe#MoQqF_ax}OgzIs{&GeeW;TdVRvd`ta|^B(3(@ zMcCTs%O>BJeBBc*@O8PG)Scv!6Pt1ErI+OZu(;iT4 zXe&&}86@D5`EF`TqA7>ZXTf`T9q-S>ZMkL^rsZA!$Co3189p1gka-6)nEa@QyQ6-Y zS;d3ttXCja=2*1$>IsaJiafnN&h6+<7l zo96w~d~@zxA$ujG6S-@XuBtv8_yg952g+9^fK0A8C$wmWdDKnNG8Lrx@MxK>=n9mfzsn)UYeiVv;dI*5vnbIaV}o1%D8isWTkis?+Q zPk{94i&ZOO9_ zj{V$xq4eFZ=ghxHYGbW12VBAms=EL~wL`T|f=s;srTZlAqjEybhJqKq9V~dt<@>1Z zo#0`8dNP``#^ZaWwSss_jw8zG2ehylQU3Sjl>4e&8}HKBt;Q$~2wxS5WPlFJ4Hp_l z6HoldXG;Q=&d%g#rLJ1d{-CSno4B3&qsCMoPf!;81h)cZj7#`$JxLPN3ZixO4_I4F zazH{lS+xpRgCl)Z`A-N7|41iE9wBO-KI?Iw!bAm4W)WozkoZo;YMO?#ctD{-*p^z7 zEF(cB9nA-V-zVZxgQU}^Os!wkeZ0JCMsxR0><`Rvw78dq<ZD za;;=|kKZGq!{3HQotOPWMgy$D4p}q0&kW{=M>J^%{T>h6JV;$5laj%=5P)48`iU}` zJs;d`{hbvqQ9DYaY-`ld=jYC7s!C#!Ug7A5nk3=F_>vC7b_W{mVE_1LK#b6eCkU1oiTwKNg=duT|32ZIka zWl!koEw7HpWC~KBba~N5xEKK31eI73S|Yx3*T;TmyawDX2Yf#hpIP| zkp>MmuDUgs$;z%lXmx;;yPe@f%|b`_&ya)TWYqC&NQYY`p8rp2h5}eE4}Wbo-4bB& zn{vyvayz7!hvK$V`5FiM?%kDqS57Nl#HqzfJ3lnnwzf5L#U{n3XT&meB4cTaqf;{c zPqc{0X_Ytr40jABgPMoOzY5EKuQ|h5zBw1F{GB;zN1vo$pd1o}_McQ78c6qYQ&DLV zg&v{JrI>=JJt;cG4-Cr`s+fyds$Vemjr7&B$S$(Sj$EoSjZdnv~@^MSFO>H1A zAJ)Lu+A4}3yu)&m=6yxPH^JWYukz|d(d{h1^_D**-F#D+&kEmv8VDt-pk=S1h5PC< zd&h~Il}VU|`_)tj4?M264q~AYTugjJ5UzK4OW<40VxSQ9j3?n(Hn;y!@sgo+;owq` zYAU(eQlVr=F0VX_b?kRVNP9cxKcWXw0K!w$-iiU0h#pFMaR^XEF|ASwapx;iKIl*D z5z)77V7Bva`J#Ej1fj5~lqqbkDx=B7>#_kiQDw4SGB+*=hOzli@RFp5jC4rg0nI-1 zy|T2bgULfZN*< zSNy-rtX8=`Kg0)CU^5%F%lKym1k277H=aZ($f~jbC_^FETGcGCV(=CaIMdn-etKpf zbyVx%$S}0wMfKG5>IzfZ~WJ>TEg zSZ74vKtEf97T+g@m}j}`r({9D{=leFvk2V`G&57fD-YY(SubC}73Kl9UZP5pOlP4W zw!i6%y!{qs!$8c2x>boxf&XBQ9RV;A6-|{#{k9rGbMdn!cuXfe_brbz$qz<488n z8iB4a+CWpLLhHwOg&Ts{ozwlsxgQm?oH&yjF?r`Mvcga9HDCl5T+1pV84NK?QiUee z6WH5oyojs03^~Xn35tPPb9X5|x7awCA=McnPJdtyGUo1(gMO62Ao51`+YR#9hkO=M z)=smj8o0uPCF18rw0&;KsOhDST#VJW`YF9ZQ`D8$zUeI=5E~)T7e$6rhLLvrPt8_UXi_&uIe+e__okxEO zGiOhGYaAt7gdwwQOz>@xd`40=#zi5 ztA|f9NN0!)Sr`kHmzqptG{W}Fx_^9=E)xn6L{{$-QBN`Nhnx*>k5Lw3W;uOkL^Yt3 zKdLtNr&a67Vz@;512e^e^fcr}MxVt?G;U7#3$8fzCI&sZqmubjGA4T8vlIYW{^lHy zeWqzYQv6ME{Iyneh~3c@%{VD^O~a!m_e0T0#NcW*$68RKWZHgf4ic(1W_D{0HtYOy zWlgPeCx65qwruWFc7r@KVs#kuV;&89{s{LE5j`@N`mG=J0ozG<))$*tEuWc#u%Q+dj8B9Ib4`V9?-9;WBk?(^xZdqv)$XYDA)VW7eGSvg96% z7o4i#szeLQJm!wlp?4W>id1Z+SZVVNcJNaa;~<+El)xO`0w)X1vVa^F57eUgIam*-6lGFqq(yYwXb9OI zVL+k)!z!u_YxcTl=?W_@QvucXxcewLlnw*Eu{2VVMnxG7Iw`)WvabYDl~R{T`!boC z=(YNkx39a%CI-(Y20!YVaY|7H$tZIOGwc~?nbI_oQrm>!QrprdUC9V4O7SWU(d0TB zS+(#qD?QN=j*Mr+eEzXjfMFy-0jVqYA^;C8`duQ5Y7g5?Ss9i^FSK$mHxM|U{cZUs z(FDtDEITC+LOUqL5mk|Fv8~c-#noWIP{x!-L*}}?rQYhsXq`)w#F9mdtfx^*B`-yW zfD3v|^aK?M_hW}{ho@M)=&zf^qskDJ`(fV3{K(@>?PMx<A}V4f{lwCvFuycAcp zere>4Q6^6wcpzyMnx=j?%fJ2Ot8TZk_YmIxcdXGBR>SMMd?(q{BD*bZ4G>+qozbMB zi0s&}ZNp$rd|V=zRqFt(SCV16(^Yl9U;r8|>Uq^Bs4}YT9X*Kr1hKGoR(tQItw=9W z-l{XMW3ZKM+}m9YQL%tUJHFUoS^TH%+eRl2CIPa>g=6^EZhhk1ylm}-9f6~bAf0N; z!VWIwR2N8*roZ-v@uF^}Y4MvTRi#7Eb!qc>kQB4Wx?#J(G?fS+rtb_ET;-n58;aLqlM0?}Qbs63HeITZ?30INh!%Qi| z-A_QP!J=TDwE52h%M)IFM5WSb>qddNrlS+G6J2XfU$~qJCoQwsbF*2_Sq}```&t+%vxY1Rq;xy~TGKQg3tnE=f_*+;|`w_)XduY+B7;1SPgf zLK6*mIXD%?awb5cz4a1;Pd}W)ZowUkDPq66y%mOt@i9GlMTz#tn9>~z@?CSx1Y`(W zH#n6C4k}ECys^FKl$4s)LtTvmNjQxeqBgCkYA(rm?aLG%y2y=O9SnC$gEOBef|fd3 zeVEgO13bHlRZcQ1R$&?7C-bL*!)J!(sApP#p;53B|7H~2E5iLLN+f#P<~qMZ2x^+e z19xa4K=)~gyH}}o4-gl_0{{!UvMy%dTrMa}Ko3jgG-OfpSxay>6JR%{Hif|x5Zx4e z*0Z3_bs|dPs3g7-@U|KI+Gkpd^N1$^2_s=l#vR<>D@$?QB!{=x04tDb2l6`^} zb^1Uieprf(=sA|RjRm7)3VtA^9YMAluz2ZpP1}W*cnUcUxK_=0|mB~qLqm@3SL=Zy(;?msSK!P zm!}#_u97a+ylqDtluCRN2OO6_@m4-eDgnV$jI!Oj-5)06mlJ;}Y`lx_zk24Pz!vIF z>-!u^;7b-V-T8~Uw~(CEdsHqi5a(Sah;IU8L{UYp67U_dO|^e_N*b%J$Zch%%&?K@ zj_fvTSKxir_3T2t;~+cIxJ)BW!UVD0GDME!I7GeG?VoAcYL(0$9`zS2Jgg-EN1()ifXh~6)!k~)wm?}(L z$}$Q>K{8R9QA9Xp&}?HxF}?00td@yGW}miN zrZD1qd(LR>T3p0gfm-rW$~Ei9yP)s08vqC8KIN#sEv$X>O|6mCPnyO3`ZA8Or^D)X zim22%lWsZOf>AG-VT(zms~U{iX+EqzmWFKa#bK2dOJzA|=QWGom(jK<+S^r>yN4w*M%DRbTn4AShX}MP@+`wg3izl(JbU&0~0@b9VH<%lEGS4+4 z{fo~J_<3_T1Rs-Nv~fnF=X;P90UYcH*D165Lb zdCC=0&T`#V`Rq#MpJzagNs>R|bg=5Zp5s^AIIp>Sj_eous~1yW5>?;?MhVrI-|`kD z{&D1$9)922i!B`UOLNnqbD+|Dm$GymG^pHeFELm+=t@Wu*xU@aSnN!SNYZDI(l&du z7m}b6w$vZjmAz|U8Qs+hjXZYSkVx>gW$rsQ1=7G8gmSp#x-oF%7nrq%LZ~{Ux*>Ow zFkaG)4E*FUzEh~MGG8YUKoOEq78xZm?_Yza*dj%#`t6YI#e7{ZL}I3!*`wb4A#*$4 z+m`)WQbY5cpMItX8Y&WN4>ewlC-+wJQ}~#GCYmH*@gvO>yDZq4QV>TH?#nZ@iOY>T ze`NjeQc3(fbur7eDv)UPj9ua4ZSugr-g0``7HqAN9r`zRy!p@V@q->lej$;~jo(}xl8;yX zKjFAk)ZkuK6=F5TApM}BuBm=GDZYF@9B=8TddHKJ1Cf|p0y(;(L-DoR%y<>FvNY&? ze(cd<+$H@crUL=t)%jl;lyg=z|4MFjz99cgv>WOzD)?6l-{N*Kdq7(w{i6@~Z?%CwB&kyln!bd~k4 z!|=mXMhQhmc{`tSrf55vm>R)u(`#-eU&{tbBXZG2K<`hNbov|Zqu+vJpeh?zZp5@S ztP@HAT-0A^L?>5S4r^BAg1&)%m&dF)PF!M`iuYLB3hz=E{TtT3fQX8Dw{C+^7*8`#Y$_PZR1id2~4!S4{$K?pGq7 z1$|oP_VETGX)mNJZ9=Hx^f~4huKaP<=|4ANZd~6Xll5QZTr!EWW3z`e)ifJLkCWOG zDgN&H`QZwBW!~k%Y*9m*{wv@_ykYip-4CaNKv#8VV&aD08&vWSL>47DPAA@R-y7Pd zT@uUobB#4X2->Yc3dFA-CAL<1QDY6Y*=aSa+wI?zaOfIM+esC#vR;`PXq(bH&~<+M z1Vh(*xQs(wyMyoQMoh5Y$kWumT*2%{Z&|ZiWvztj-zMrNn#3yTCxIc}b6nf;auix^ zD3GkU8o&fZj{4vo*WkcD7JlU>mJsaPb%U04TqsW#w7$ zdTeeQyzA5PA~+IM#+FM~+Lmh=GJR0ykFp&x2fWi{c5fYAP;DQuY){2Y>%eNX7#tLO zMYkUjl8CEsK&kv>TkmQP-N&5lb%JW;-4#TViz)&t7HfFQKI$E0W^8xd8d@Gz`tl(lmsq^*|k^Rnl1HO$6k!uB{}GWw`z4LaWSqsTi^ z&L&tF)Aw66oE)@e=Sg62m|}16FwrE(JJ`e_(`ltIqjxksKFD6|K+z<}f%30vwX3SM zbl>YWH(1FWU9Gflqi@s2V}RPO(seT+1L3Yv?{nTxe3nrlSfwsy<0=vw3it*&_1 zyzG^HS5OwK82Js__-t`n@$Bx>0GGc|c;C{Zef-RdzLg5DoT6$10-WAt1{lq`YLJfM z-N?<$f$c!RyU41AU9i>jLMbIA`~U%gjt^qIj?>z;dDEFjuHN#!6zdkV?apd|v;&K< zB#7o}R$zh_xd{-kZ)^;s-aGwRU5K=$tb-Ruwmj2Mt*+c1Xapo@xIjuc>Jn0=1)R$E}6}seIPv1^gwaS38MfzmQ!9S%p9HEUP zKf8mUc&baqFC7(S=C#{QsgNCNjhxVrS>)H4vgcIBIRes0CUyK3PmdU1@wIqyj)^mjDknIsdnu4 z2M$DF5uT^pM6CheWvw3;C36-LguoAM%L#b%8=VDK;a#?XgYeWa`PuRc77c_#AqAVJdKVD5mW7QLGb3+HSA00G)%RqDhoR$Cmlum|Sgq^B)43 zJ(1Y1VwFLU=b2Z~2571ffUD$sJ@$E$MOmb^E)6+4-gQs<=rOFA?@XMDyTW81p&Oj4 zrMPkS^Dnnm`fG$f{0$pQaQP!P3hH$jTwxpee_-&ff+|7=H76fZx1dw#LgJgLCd_4J z`8D>|&6WSa5NiB^Y5O)iHzgFdksUKSe@(>PGqb*eC>lEzGOc9XYZvz>ltq9rbf*YK zwH9#kD(Cr2GEFo|8G5L4MZ_i>=`cRkKoXD%91>D|xo#*sSY8{NFS8O&(wM*_V+5rr z7Ek{`^NGpRQfa7V`7Ylzd$H=3jW?l859y?9swXYvCmTHJ_WhXS@$yLge+4c9(f+Jy z>}oO>sGwNwpjkqRB;5WREIT2<+elKBcL7*F0En8e$pKGr925CGQvqWTUrLp9Zt*s_ zH5)1Fxp(B^#$^&O=D0ORUH zRtQpV4+FGRtiOjzH|Vt$%^NBFq_MS$K=&+KoXc36FJ{ueVyNZ(RDaU{0Q4z2dlgXt r$G7Sf)>fXcEoev1^&cumO^fd-eZyd=*nBvG%*RSkK0o@>{{a8lQirfN literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/spring-mvc-and-webflux-venn.png b/truman/src/docs/asciidoc/images/spring-mvc-and-webflux-venn.png new file mode 100644 index 0000000000000000000000000000000000000000..6e0eeab744d4fc06d5315072a9da91815a79cef0 GIT binary patch literal 104380 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%0D>fHS=#@hC z$ja|#`vLB_^Lk0QOcb-{GAZ9&sb8M$7Rea|f>=Qa-n+9RF~#L@#WH1d>;;xjBdKnA zdqt#6vh%FAU>i2$i~&NDf=^(sa|ryiV#5aM+KP#8552}f7nI}|mNfo7P2Kv#l4V!k)LVjca`DY5PtEl0-BIak8CQ2^V|RxffXW@~_XBSa z=*YCTSW)4pl?4E@H@=O>$slx!3KF?}N#1x3s&}s|z}*tz7%51RtfKE{&HzvckG^Bf zsBSnCi9{>_(Bd+$y636cpZ#}nRWrVR4q!3L0g$BCIjb_pv)g0=6lQc8_GQV)bPOA!vWGzsjHl;na9% zLu&+Toi02e*g_A5k5E%AtLASyAOv%QdRo+^~74I7O%{fgpAQ0PoMM z889Lz_E&C>;yPv0DaBbDG|!64C9+(zbK?VVEZZCAPDRpWNs|dS!f!3!RIS^J(>*fB z+dwNKMZyZfibNENC0 zmB5al*8TpwDo`LbDXDFuR(IyI=1q9$iUC;~uFBtk^Gjd$> z{dVPj?=1PpyYv4vdmqRW#u!CvXDr_ILt*e(37Ie<<$HGA{MynjeyS;wrbwDBNoMf5 z8Jo%xBjCJfKqj_MzzapfcyjiUx6Nz}Gi zY}*^K52Uf&v}M=KwZ#@XcO(|)JTBg8S=2P`=D!=lL>heM11^A%AHDhOZM7bkQ&ALI zR#a6(;rzcn_IyDo8sFuDJ0^BCqNiRSZYbHmxPDRsfxM6J`Pav*C5Ka0Raur5Rdc%J zr60Zg)tUlD#x`@c&rJYkRP0(CwiJR8=NtgZiUaY0KS+;~G6(<=Sh^)ElA@}LggF34 z=H_Kz&irDrE<14JE@B8r3#UDL_ov@)(^OT}9Ga$SPEY05FQPnNu{kIZ#7Y1VR8|sHRg#e8jQPc-<|r{j&^BIOl^@KBQ_u9F0HHWkd)I4A zzp5geDyuH;-@a3l77a&MuHW^|?n=AbxZsK*1CwOivg<1ph?f0v+9G7vc|mZ?w#%ym z`$}tfR0JWy296o>kLw1sb;8k35=64g_y6$&qyG8ajM){{{`I>niVYix=f11@XUMi; z0|3~Rb?DLK)BEtRr+vR_+wKQms_4}rV`#^;ET2j^E3d9zxjBDTUR5~4MqM)I|GT_@UIBk^T1njUSrU&=U@+5_@yz${)5wZ>+4EFraO>B$sVOR&L0fyS>5= zo0m+!=!!Hr5X0V7k#2tbQ(?rQ?!<&kx+GSIj7Ggf9IEfS?y28@SFn0V(WVN0NUAeZ zyz!R5FDNFCyM8g@i7}b>x#CoU35rW_M#84-Yk{m^XyEwkZ@O^Sf97wTdgFylufFBH zA-&?9s621O*I!Pb_uWri?)>=k&u8MOZpR=?fUQT{kH7Dsd%pkuD+^zmI(f(H8^)eD zEF(THQnPRQ+>bw-F~{%wU;7_d^u*S=}$W(0sue(GP407fAg~0vu5{B z2o**WFTG?WwIRK20s!B>ZvM>AMs?Bl@2TlL`PxBt!~g(Eb6;@r71RIs(?1{lRka^= z8$WVj=M2tl0OXXy?>+mcC#QWOXLO(Xk58{3+x9>wKM^Q{lAtv(Sw$kZs6Y@SOoNsd z1_m~R`Kq}D762r-6pPU~noa5;BV_4*hN9JYcUO(kGGroNDZ(qGF5rP@DDP=&~zB+Se4=rRE zEOEduXT0>�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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/stack-frame.png b/truman/src/docs/asciidoc/images/stack-frame.png new file mode 100644 index 0000000000000000000000000000000000000000..18b31720515170c2174e2974e4601a37f54166b1 GIT binary patch literal 80980 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 UVe{H;0RHcurk+NbnoY?60iz&f%m4rY literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/transactional-summary.png b/truman/src/docs/asciidoc/images/transactional-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..2083435b4eb8a84acb401dd1d322569ff5cb64fe GIT binary patch literal 28742 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�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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/tx_prop_required.png b/truman/src/docs/asciidoc/images/tx_prop_required.png new file mode 100644 index 0000000000000000000000000000000000000000..218790aca6351fea6a1154a725271452e16d74a2 GIT binary patch literal 40355 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�xArjG;*L9a!*%gnl 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 z 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 rsz`nQ=|eu*f8QFy;I>#NnMSV#R2DnxSW literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/wx-jikerizhi.png b/truman/src/docs/asciidoc/images/wx-jikerizhi.png new file mode 100644 index 0000000000000000000000000000000000000000..9653b7e4252e08c149f6b6d1e8c85a6eeb350c1b GIT binary patch literal 109604 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

6po37vq*;crk2liB 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/wxpay.png b/truman/src/docs/asciidoc/images/wxpay.png new file mode 100644 index 0000000000000000000000000000000000000000..8b848b5a54499e2d0f0e267bad53a3a8df16d42c GIT binary patch literal 54845 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≧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 j&I0n_jx2z)9+);T6!wbwPFmq_0y4 + + + + + + + +---- + +[source,java,{source_attr}] +---- +public class SessionUtil { + + private static LocationService locationService; + + public static void setLocationService(LocationService ls) { + locationService = ls; + } +} +---- diff --git a/truman/src/docs/asciidoc/install-git.adoc b/truman/src/docs/asciidoc/install-git.adoc new file mode 100644 index 000000000000..ad4430969d6b --- /dev/null +++ b/truman/src/docs/asciidoc/install-git.adoc @@ -0,0 +1,60 @@ +[#install-git] += 安装 Git + +由于 Spring 的源代码是使用 Git 来做版本管理的,而且是托管在 https://github.com/[Github^] 上。所以,需要先安装相应的版本管理工具 Git。本节D瓜哥就来介绍一下 Git 的安装。 + +[#install-git-on-mac] +== 在 Mac OSX 上安装 Git + +在 Mac OSX 系统上安装 Git 非常简单。只需一条命令即可: + +[source,bash,{source_attr}] +---- +brew insatll git +---- + +NOTE: 没有使用过 Homebrew,请参考 https://brew.sh/index_zh-cn.html[Homebrew — OS X 不可或缺的套件管理器^]。 + +[#install-git-on-win] +== 在 Windows 上安装 Git + +在 Windows 上安装 Git,也比较简单了,直接去 https://gitforwindows.org/[Git for Windows^] 下载最新版,然后下一步下一步就OK了。 + +NOTE: 由于国内的特殊网络状况,有可能下载可能会很慢甚至失败。实在不行,请“科学上网”。 + +[#install-git-on-linux] +== 在 Ubuntu 上安装 Git + +在 Ubuntu 上安装 Git,相对来说,稍微麻烦一点点,需要多执行几个命令。命令如下: + +[source,bash,{source_attr}] +---- +sudo apt-add-repository ppa:git-core/ppa # <1> +sudo apt-get update # <2> +sudo apt-get install git # <3> +---- +<1> 这是添加 Git 的软件源; +<2> 更新软件源,这样可以应用上第一步安装的软件源,并且可以安装到最新版; +<3> 安装 Git。 + +[NOTE] +==== +如果在执行第一步时,提示找不到命令时,请执行 `sudo apt-get install -y python-software-properties`。 + +`add-apt-repository` 命令可以向本地软件源中添加PPA软件库提供的软件地址,然后就可以使用 `apt-get` 更新安装、更新软件。而 `add-apt-repository` 是由 `python-software-properties` 这个工具包提供的。所以要先安装 `python-software-properties` 就能使用 `add-apt-repository`。 +==== + +[#config-git] +== 配置 Git + +经过上一节的内容后,Git 已经安装好了。但是,在使用之前,需要做一些简单的配置。Mac OSX、Ubuntu 上直接打开终端,在 Windows 上打开刚刚安装的 *Git Bash*,然后执行如下命令: + +[source,bash,{source_attr}] +---- +git config --global user.name # <1> +git config --global user.email # <2> +---- +<1> 配置用户名; +<2> 配置电子邮箱。 + +然后,就可以正常使用了。由于 Git 不是本书的重点。这里就不做过多介绍了。等后续用到再视情况来介绍。 diff --git a/truman/src/docs/asciidoc/ioc.adoc b/truman/src/docs/asciidoc/ioc.adoc new file mode 100644 index 000000000000..5592222cdbd8 --- /dev/null +++ b/truman/src/docs/asciidoc/ioc.adoc @@ -0,0 +1,163 @@ +[#ioc] += IoC 的实现原理 + +TODO: 感觉可以通过向 `ClassPathScanningCandidateComponentProvider` 中添加过滤注解来实现扩展功能。抽空尝试一下。 + +TODO: 除了 singleton 和 prototype 外,其他 Scope 类型的 Bean 实例是怎么缓存的? + +TODO: `default-autowire="byName"` 等实现自动装配的功能在哪里实现的?怎么实现的?是否会遍历 Bean 的所有属性? `org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean` 中有相关类似实现。 + +autowiring 的实现过程: + +. 对 Bean 的属性代调用 getBean()方法,完成依赖 Bean 的初始化和依赖注入。 +. 将依赖 Bean 的属性引用设置到被依赖的 Bean 属性上。 +. 将依赖 Bean 的名称和被依赖 Bean 的名称存储在 IOC 容器的集合中。 + +对属性的注入过程分以下两种情况: + +. 属性值类型不需要强制转换时,不需要解析属性值,直接准备进行依赖注入。 +. 属性值需要进行类型强制转换时,如对其他对象的引用等,首先需要解析属性值,然后对解析后的属性值进行依赖注入。 + + +Spring IoC 容器是如何将属性的值注入到 Bean 实例对象中去的: + +. 对于集合类型的属性,将其属性值解析为目标类型的集合后直接赋值给属性。 +. 对于非集合类型的属性,大量使用了 JDK 的反射机制,通过属性的 Getter 方法获取指定属性注入以前的值,同时调用属性的 Setter 方法为属性设置注入后的值。 + +从 `ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod` 可以看出,对 `@Bean` 的处理复用了自定义 `factory-method` 的处理。在 `spring-beans.xsd` 文件中,可以找到对 `factory-method` 属性的说明。 + +include::{includedir}/bean-definition.adoc[leveloffset=+1] + +include::{includedir}/bean-factory.adoc[leveloffset=+1] + +include::{includedir}/factory-bean.adoc[leveloffset=+1] + +include::{includedir}/environment.adoc[leveloffset=+1] + +include::{includedir}/application-context.adoc[leveloffset=+1] + +include::{includedir}/startup-process-overview.adoc[leveloffset=+1] + +include::{includedir}/bean-lifecycle-overview.adoc[leveloffset=+1] + +include::{includedir}/extensions-overview.adoc[leveloffset=+1] + +include::{includedir}/circular-dependence.adoc[leveloffset=+1] + +== I18n + +properties 文件内容是以 ISO-8859-1 编码的。所以,不支持中文,需要把中文进行转码。 + +plantuml::{includedir}/puml/MessageSource.puml[{diagram_attr}] + +== 事件发布 + +plantuml::{includedir}/puml/ApplicationEvent.puml[{diagram_attr}] + +容器启动伊始,就会检查容器内是否存在名称为 `applicationEventMulticaster` 的 `ApplicationEventMulticaster` 对象实例。有的话就使用提供的实现,没有则默认初始化一个 `SimpleApplicationEventMulticaster` 作为将会使用的 `ApplicationEventMulticaster`。 + +在 `refresh()` 时,先调用 `initMessageSource()` 初始化 `MessageSource` 实例;然后调用 `initApplicationEventMulticaster()` 初始化 `ApplicationEventMulticaster`。 + +Spring 是以 Bean 为核心的。Bean 的配置、配置的读取和解析、以合适的数据结构对 Bean 元数据进行各种操作等。 + +Spring 是如何解决构造函数依赖的呢?以及如何注入呢? + +== 内置 `PostProcessor` 的注册 + +在 `AnnotationConfigUtils.registerAnnotationConfigProcessors(BeanDefinitionRegistry)` 方法中,注册了 Spring 内置的一些核心 `PostProcessor`: + +. `ConfigurationClassPostProcessor` +. `AutowiredAnnotationBeanPostProcessor` +. `CommonAnnotationBeanPostProcessor` +. `PersistenceAnnotationBeanPostProcessor`? -- 这个得看是否需要 +. `EventListenerMethodProcessor` +. `DefaultEventListenerFactory` + +通过对 `AnnotationConfigUtils.registerAnnotationConfigProcessors` 调用追踪来看,在如下地方进行了调用: + +. 通过 `AnnotationConfigBeanDefinitionParser.parse` 在处理 `` 时; +. 通过 `ComponentScanBeanDefinitionParser.parse` 在处理 `` 时; +. 通过 `AnnotatedBeanDefinitionReader` 构造函数在初始化时; +. 通过 `ClassPathBeanDefinitionScanner.scan` 在扫描类路径时; + +覆盖了 XML 配置文件和注解配置两种最核心的场景。 + + +plantuml::{includedir}/puml/BeanDefinition.puml[{diagram_attr}] + +[#uml-BeanFactory] +plantuml::{includedir}/puml/BeanFactory.puml[{diagram_attr}] + +plantuml::{includedir}/puml/ConfigurationClassPostProcessor.puml[{diagram_attr}] + +include::{includedir}/common-interfaces-introduction.adoc[leveloffset=+1] + +include::{includedir}/resource.adoc[leveloffset=+1] + +include::{includedir}/tag-resolve.adoc[leveloffset=+1] + +include::{includedir}/annotations-resolve.adoc[leveloffset=+1] + +可以使用 p-namespace 来简化属性的赋值操作: + +[{xml_src_attr}] +---- + + + + + + + + + +---- + +可以使用 c-namespace 来简化构造函数参数的声明: + +[{xml_src_attr}] +---- + + + + + + + + + + + + + + + + + +---- + +除了常规的 `@Autowired` 和 `@Resource` 注入外,还可以使用 `@Lookup` 注解来注入依赖。示例如下: + +[{java_src_attr}] +---- +include::{truman_src_dir}/context/AnnoLookupTest.java[] +---- + +这里有个疑问:为什么要把 `@Lookup` 注解标注在抽象方法上? + +== `BeanNameGenerator` 自定义 Bean 名称 + +如果想自定义 Bean 名称,可以实现 `BeanNameGenerator` 接口,然后将其配置到 Spring 容器上。更详细文档,请看: https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-scanning-name-generator[Core Technologies:Naming Autodetected Components^]。 + + +include::{includedir}/property-placeholder.adoc[leveloffset=+1] \ No newline at end of file diff --git a/truman/src/docs/asciidoc/jdbc.adoc b/truman/src/docs/asciidoc/jdbc.adoc new file mode 100644 index 000000000000..b637a2c90085 --- /dev/null +++ b/truman/src/docs/asciidoc/jdbc.adoc @@ -0,0 +1,41 @@ +[#jdbc] += JdbcTemplate + +`SQLExceptionTranslator` 是一个接口,如果你需要在 `SQLException` 和 `org.springframework.dao.DataAccessException` 之间作转换,那么必须实现该接口。 + +转换器类的实现可以采用一般通用的做法(比如使用 JDBC 的 SQLState code),如果为了使转换更准确,也可以进行定制(比如使用 Oracle 的 error code)。 + +`SQLErrorCodeSQLExceptionTranslator` 是 `SQLExceptionTranslator` 的默认实现。该实现使用指定数据库厂商的 error code,比采用 SQLState 更精确。转换过程基于一个 JavaBean ( 类 型 为 SQLErrorCodes ) 中 的 error code 。 + +这 个 JavaBean 由 `SQLErrorCodesFactory` 工厂类创建,其中的内容来自于 *`sql-error-codes.xml`* 配置文 件 。 + +该文件中的数据库厂商代码基于 Database MetaData 信息中的 DatabaseProductName,从而配合当前数据库的使用。 + +`SQLErrorCodeSQLExceptionTranslator` 使用以下的匹配规则:首先检查是否存在完成定制转换的子类实现 。通常 `SQLErrorCodeSQLExceptionTranslator` 这个类可以作为一个具体类使用,不需要进行定制,那么这个规则将不适用。 +接着将 `SQLException` 的 error code 与错误代码集中的 error code 进行匹配。默认情况下错误代码集将从 `SQLErrorCodesFactory` 取得。错误代码集来自 classpath 下的 `sql-error-codes.xml` 文件,它们将与数据库 metadata 信息中的 database name 进行映射。 + +== 基于 `AbstractRoutingDataSource` 的主从切换 + +可以考虑使用 `AbstractRoutingDataSource` 做一个透明主从切换代理: + +[{java_src_attr}] +---- +include::{truman_src_dir}/jdbc/RoutingDataSourceTest.java[] +---- + +WARNING: 这还是一个半成品!如果用于生成,还需要打磨,比如简化配置和侵入、接入配置中心等。 + +== 异常体系 + +Spring 会根据错误码和 SQL 状态码将 `SQLExeption` 转换为对应的 Spring DAO 异常 。 在 `org.springframework.jdbc.support` 包中定义了 `SQLExceptionTranslator` 接口,该接口的两个实现类 `SQLErrorCodeSQLExceptionTranslator` 和 `SQLStateSQLExceptionTranslator` 分别负责处理 `SQLException` 中错误代码和 SQL 状态码的转换工作 。 + + +`SQLErrorCodeSQLExceptionTranslator.doTranslate` 是真正实现从错误码到异常的转换工作。在 `sql-error-codes.xml` 文件中定义异常类型,实现可扩展性。 + +在两个地方完成异常转换工作: + +. 在执行 SQL 时报错,这个时候就要进行回滚。所以,在回滚时,执行异常转换。 ++ +TODO dgg 如果"关闭事务"(事务是否可以关闭?)或只读事务时,有事务吗?会执行回滚吗? ++ +. 在提交时报错,进行异常转换。 diff --git a/truman/src/docs/asciidoc/jpa.adoc b/truman/src/docs/asciidoc/jpa.adoc new file mode 100644 index 000000000000..d24ff10d0cda --- /dev/null +++ b/truman/src/docs/asciidoc/jpa.adoc @@ -0,0 +1,2 @@ +[#jpa] += 整合 JPA diff --git a/truman/src/docs/asciidoc/lifecycle-callback.adoc b/truman/src/docs/asciidoc/lifecycle-callback.adoc new file mode 100644 index 000000000000..aa1edec62cbe --- /dev/null +++ b/truman/src/docs/asciidoc/lifecycle-callback.adoc @@ -0,0 +1,9 @@ +[#lifecycle-callback] += 生命周期回调 + +. `@PostConstruct` +. `@PreDestroy` +. `InitializingBean` +. `DisposableBean` +. `init-method` +. `destroy-method` diff --git a/truman/src/docs/asciidoc/mvc.adoc b/truman/src/docs/asciidoc/mvc.adoc new file mode 100644 index 000000000000..0ce1b3adfd00 --- /dev/null +++ b/truman/src/docs/asciidoc/mvc.adoc @@ -0,0 +1,11 @@ +[#mvc] += Spring MVC + +通过 `org.springframework.web.servlet.HttpServletBean.init` 方法开始初始化容器的动作,再进一步委托给 `org.springframework.web.servlet.FrameworkServlet.initServletBean` 方法完成初始化容器。 + +这个操作和 `org.springframework.web.context.ContextLoaderListener.contextInitialized` 启动 Spring 容器有什么区别? + +plantuml::{includedir}/puml/DispatcherServlet.puml[{diagram_attr}] + + +plantuml::{includedir}/puml/DispatchServlet-init-sequence.puml[{diagram_attr}] diff --git a/truman/src/docs/asciidoc/orm.adoc b/truman/src/docs/asciidoc/orm.adoc new file mode 100644 index 000000000000..8249f78b97d7 --- /dev/null +++ b/truman/src/docs/asciidoc/orm.adoc @@ -0,0 +1,8 @@ +[#orm] += Spring 整合 ORM 框架 + +include::{includedir}/hibernate.adoc[leveloffset=+1] + +include::{includedir}/jpa.adoc[leveloffset=+1] + +include::{includedir}/extensions-and-mybatis.adoc[leveloffset=+1] diff --git a/truman/src/docs/asciidoc/performance-monitor.adoc b/truman/src/docs/asciidoc/performance-monitor.adoc new file mode 100644 index 000000000000..3f68416b9c9b --- /dev/null +++ b/truman/src/docs/asciidoc/performance-monitor.adoc @@ -0,0 +1,52 @@ +[#performance-monitor] += 性能监视器 + +[source,xml,{source_attr}] +.引入依赖 +---- + + com.jamonapi + jamon + 2.81 + +---- + +[source,xml,{source_attr}] +.增加 Spring 配置 +---- + + + + + + + + +---- + +[source,xml,{source_attr}] +.增加日志配置 +---- + + /tmp/durian_performance.log + + + /tmp/durian_performance.%i.log.zip + 1 + 2 + + + 100MB + + + + %date [%thread] %-5level %logger{72} - %msg%n + + + + + + +---- + +TIP: 注意 `JamonPerformanceMonitorInterceptor` 的日志级别。线上环境的输入级别一般是 `INFO` ,如果不配置,则这里的日志直接被过滤掉了。 diff --git a/truman/src/docs/asciidoc/preface.adoc b/truman/src/docs/asciidoc/preface.adoc new file mode 100644 index 000000000000..0f53af68a306 --- /dev/null +++ b/truman/src/docs/asciidoc/preface.adoc @@ -0,0 +1,28 @@ +[preface] += 前言 + +本文档是 D瓜哥 阅读 Spring 源码以及相关文档时的笔记。对学习内容做一些总结和提炼,分享出来也方便大家一起学习,共同进步。 + +== 友情支持 + +如果您觉得这个笔记对您有所帮助,看在D瓜哥码字的辛苦上,请友情支持一下,D瓜哥感激不尽,😜 + +[cols="2*^",frame=none] +|=== +| image:images/alipay.png[title="支付宝", alt="支付宝", width="95%"] +| image:images/wxpay.jpg[title="微信", alt="微信", width="95%"] +|=== + +有些打赏的朋友希望可以加个好友,欢迎关注D瓜哥的微信公众号,这样就可以通过公众号的回复直接给我发信息。 + +image::images/wx-jikerizhi.png[{image_attr}] + +TIP: **公众号的微信号是: jikerizhi (“极客日志”全拼)**。__因为众所周知的原因,有时图片加载不出来。如果图片加载不出来可以直接通过搜索微信号来查找我的公众号。__ + +== 官网及版本库 + +本文档的版本库托管在 Github 上,另外单独发布。 + +“地瓜哥”博客网:: https://www.diguage.com/[^] 。D瓜哥的个人博客。欢迎光临,不过,内容很杂乱,请见谅。不见谅,你来打我啊,😂😂 +本文档官网:: https://diguage.github.io/spring-framework/[^] 。为了方便阅读,这里展示了处理好的文档。阅读请点击这个网址。 +本文档版本库:: https://github.com/diguage/spring-framework[^] 。由于组织方式的特殊性,坦白讲,不建议大家发 PR。有问题,欢迎发 Issue 讨论。 \ No newline at end of file diff --git a/truman/src/docs/asciidoc/property-placeholder.adoc b/truman/src/docs/asciidoc/property-placeholder.adoc new file mode 100644 index 000000000000..704f2c381a49 --- /dev/null +++ b/truman/src/docs/asciidoc/property-placeholder.adoc @@ -0,0 +1,25 @@ += 占位符解析 + +.`PropertyPlaceholderHelper.parseStringValue` +[{java_src_attr}] +---- +include::{core_src_dir}/util/PropertyPlaceholderHelper.java[tag=parseStringValue] +---- + + +.`PropertyPlaceholderHelper.parseStringValue` +[{java_src_attr}] +---- +include::{core_src_dir}/util/PropertyPlaceholderHelper.java[tag=findPlaceholderEndIndex] +---- + +plantuml::{includedir}/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser.puml[{diagram_attr}] + +plantuml::{includedir}/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser-parse.puml[{diagram_attr}] + +plantuml::{includedir}/puml/org.springframework.context.support.PropertySourcesPlaceholderConfigurer.puml[{diagram_attr}] + +plantuml::{includedir}/puml/org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.puml[{diagram_attr}] + + +. 可以解析到其他的 `PropertySourcesPlaceholderConfigurer` 吗?或者可以配置多个 `PropertySourcesPlaceholderConfigurer` 吗? diff --git a/truman/src/docs/asciidoc/proxy-pattern.adoc b/truman/src/docs/asciidoc/proxy-pattern.adoc new file mode 100644 index 000000000000..88d642853e73 --- /dev/null +++ b/truman/src/docs/asciidoc/proxy-pattern.adoc @@ -0,0 +1,2 @@ +[#proxy-pattern] += 代理模式 diff --git a/truman/src/docs/asciidoc/puml/00AA.puml b/truman/src/docs/asciidoc/puml/00AA.puml new file mode 100644 index 000000000000..20e891ae4a04 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/00AA.puml @@ -0,0 +1,7 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **标题** + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors-2.puml b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors-2.puml new file mode 100644 index 000000000000..4eccc81c89ff --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors-2.puml @@ -0,0 +1,248 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""BeanDefinitionRegistryPostProcessor & BeanFactoryPostProcessor"" 调用过程** + + +actor Actor +participant AbstractApplicationContext << (A,#AADCDF) >> +participant PostProcessorRegistrationDelegate << (C,#ADD1B2) >> +participant BeanDefinitionRegistryPostProcessor << (I,#AB9DE1) >> +participant BeanFactoryPostProcessor << (I,#AB9DE1) >> + +Actor -> AbstractApplicationContext: ""refresh""\n重塑容器 +activate AbstractApplicationContext + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""invokeBeanFactoryPostProcessors"" + activate AbstractApplicationContext #53E516 + AbstractApplicationContext -> PostProcessorRegistrationDelegate: + activate PostProcessorRegistrationDelegate + loop #D5E8D4 **遍历所有在 refresh 之前添加的 ""BeanDefinitionRegistryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n向容器添加 Bean 的定义(也可删除、修改) + activate BeanDefinitionRegistryPostProcessor + note right: 默认为空。这里是直接获取一个 `List` 类型的对象。可以在在执行\n""refresh"" 之前,通过调用 "AbstractApplicationContext"\n"".addBeanFactoryPostProcessor"" 方法添加。 + + ||| + + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + + ||| + + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 ""BeanDefinitionRegistryPostProcessor"" 实现类 + activate PostProcessorRegistrationDelegate #FF33FF + ||| + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + loop #F8CECC **遍历所有实现 ""PriorityOrdered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n向容器添加 Bean 的定义(也可删除、修改) + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 实现 ""PriorityOrdered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" 实例 + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + + ||| + + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 ""BeanDefinitionRegistryPostProcessor"" 实现类 + activate PostProcessorRegistrationDelegate #FF33FF + ||| + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + loop #FFF2CC **遍历所有实现 ""Ordered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n向容器添加 Bean 的定义(也可删除、修改) + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 实现 ""Ordered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" 实例 + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + + ||| + + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 ""BeanDefinitionRegistryPostProcessor"" 实现类 + activate PostProcessorRegistrationDelegate #FF33FF + ||| + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + loop #DAE8FC **“递归”遍历剩余所有 ""BeanDefinitionRegistryPostProcessor"" 实例** + + ||| + + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 在添加 ""BeanDefinition"" 的过程中,有可能有新加入的 ""BeanDefinitionRegistryPostProcessor"" 类型的 Bean,\n所以要递归调用这个过程,以求把所有的 ""BeanDefinitionRegistryPostProcessor"" 类型的 Bean 都执行到。 + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 ""BeanDefinitionRegistryPostProcessor"" 实现类 + activate PostProcessorRegistrationDelegate #FF33FF + ||| + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + loop #DDFFFF **遍历剩余的 ""BeanDefinitionRegistryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n向容器添加 Bean 的定义(也可删除、修改) + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 剩余所有的 ""BeanDefinitionRegistryPostProcessor"" 实例 + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + + ||| + + end + + ||| + + end + + ||| + + loop #E1D5E7 **遍历所有 ""BeanDefinitionRegistryPostProcessor"" 实例** + + ||| + + note over PostProcessorRegistrationDelegate,BeanFactoryPostProcessor: 由于 ""BeanDefinitionRegistryPostProcessor"" 继承了 ""BeanFactoryPostProcessor""。\n所以,所有的 ""BeanDefinitionRegistryPostProcessor"" 实例,也是 ""BeanFactoryPostProcessor"" 实例。 + + ||| + + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n更新容器内 Bean 的定义(增加、删除、修改) + activate BeanFactoryPostProcessor + + ||| + + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + + ||| + + end + + ||| + + loop #D5E8D4 **遍历所有在 refresh 之前添加的 ""BeanFactoryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n更新容器内 Bean 的定义(增加、删除、修改) + activate BeanFactoryPostProcessor + + ||| + + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + + ||| + + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 ""BeanFactoryPostProcessor"" 实现类 + activate PostProcessorRegistrationDelegate #FF33FF + ||| + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + loop #F8CECC **遍历所有实现了 ""PriorityOrdered"" 的 ""BeanFactoryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n更新容器内 Bean 的定义(增加、删除、修改) + note over PostProcessorRegistrationDelegate,BeanFactoryPostProcessor: 实现 ""PriorityOrdered"" 接口的 ""BeanFactoryPostProcessor"" 实例 + activate BeanFactoryPostProcessor + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + + ||| + + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 ""BeanFactoryPostProcessor"" 实现类 + activate PostProcessorRegistrationDelegate #FF33FF + ||| + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + loop #FFF2CC **遍历所有实现了 ""Ordered"" 的 ""BeanFactoryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n更新容器内 Bean 的定义(增加、删除、修改) + note over PostProcessorRegistrationDelegate,BeanFactoryPostProcessor: 实现 ""Ordered"" 接口的 ""BeanFactoryPostProcessor"" 实例 + activate BeanFactoryPostProcessor + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + + ||| + + end + + ||| + + loop #DDFFFF **遍历剩余所有的 ""BeanFactoryPostProcessor"" 实例** + + ||| + + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n更新容器内 Bean 的定义(增加、删除、修改) + note over PostProcessorRegistrationDelegate,BeanFactoryPostProcessor: 剩余所有的 ""BeanFactoryPostProcessor"" 实例 + activate BeanFactoryPostProcessor + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + + ||| + + end + + ||| + + AbstractApplicationContext <- PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + AbstractApplicationContext -> AbstractApplicationContext + deactivate AbstractApplicationContext + + ||| + +Actor <- AbstractApplicationContext: 完成容器初始化 +deactivate AbstractApplicationContext + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors.puml b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors.puml new file mode 100644 index 000000000000..38b219f574a4 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors.puml @@ -0,0 +1,238 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AbstractApplicationContext.invokeBeanFactoryPostProcessors -- 调用 ""BeanFactoryPostProcessor""** + + +actor Actor +participant AbstractApplicationContext << (C,#ADD1B2) >> +participant PostProcessorRegistrationDelegate << (C,#ADD1B2) >> +participant BeanDefinitionRegistryPostProcessor << (I,#AB9DE1) >> +note over BeanDefinitionRegistryPostProcessor: ""BeanDefinitionRegistryPostProcessor"" \n 是 ""BeanFactoryPostProcessor"" 的子接口。 +participant List << (I,#AB9DE1) >> +participant ListableBeanFactory << (I,#AB9DE1) >> +participant BeanFactoryPostProcessor << (I,#AB9DE1) >> + +Actor -> AbstractApplicationContext: ""refresh""\n重塑容器 +activate AbstractApplicationContext + + AbstractApplicationContext -> AbstractApplicationContext: ""invokeBeanFactoryPostProcessors""\n调用 ""BeanFactoryPostProcessor"" + activate AbstractApplicationContext + + AbstractApplicationContext -> PostProcessorRegistrationDelegate: ""invokeBeanFactoryPostProcessors""\n调用 ""BeanFactoryPostProcessor"" + activate PostProcessorRegistrationDelegate + loop 所有的 ""BeanFactoryPostProcessor"" + alt #CFFCED 实现 ""BeanDefinitionRegistryPostProcessor"" 接口 + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n调用 ""BeanFactoryPostProcessor"" + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 只遍历实现 ""BeanDefinitionRegistryPostProcessor"" 的 ""BeanFactoryPostProcessor"" + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + + ||| + + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate,List: 添加到 ""registryProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + else #FFF7FA 没有实现 ""BeanDefinitionRegistryPostProcessor"" 接口 + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate,List: 添加到 ""regularPostProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + end + end + + ||| + ==首先,调用实现了 ""PriorityOrdered"" 接口的 ""BeanDefinitionRegistryPostProcessors"" 的 ""postProcessBeanDefinitionRegistry"" 方法 == + ||| + + PostProcessorRegistrationDelegate -> ListableBeanFactory: ""getBeanNamesForType""\n获取指定类型的 Bean 名称 + activate ListableBeanFactory + note over PostProcessorRegistrationDelegate,ListableBeanFactory: 获取类型为 ""BeanDefinitionRegistryPostProcessor"" 的 Bean 名称 + PostProcessorRegistrationDelegate <- ListableBeanFactory + deactivate ListableBeanFactory + + ||| + + loop 上述获取的 Bean 名称 + PostProcessorRegistrationDelegate -> ListableBeanFactory: ""isTypeMatch""\n检查 Bean 是否为指定类型 + activate ListableBeanFactory + note over PostProcessorRegistrationDelegate,ListableBeanFactory: 筛选出实现了 ""PriorityOrdered"" 接口的 ""BeanFactoryPostProcessor"",供后面优先调用。 + PostProcessorRegistrationDelegate <- ListableBeanFactory + deactivate ListableBeanFactory + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n对上述筛选出来的 Bean 进行排序 + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> List: ""addAll""\n将上述 Bean 全部添加到 ""registryProcessors"" 集合中 + activate List + note over PostProcessorRegistrationDelegate,List: 添加到 ""registryProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""invokeBeanDefinitionRegistryPostProcessors""\n调用 ""BeanDefinitionRegistryPostProcessor"" + activate PostProcessorRegistrationDelegate + loop 上述筛选出来的所有 ""BeanFactoryPostProcessor"" + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n调用 ""BeanFactoryPostProcessor"" + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 只遍历实现 ""PriorityOrdered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" Bean + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + end + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + ==其次,调用实现了 ""Ordered"" 接口的 ""BeanDefinitionRegistryPostProcessors"" 的 ""postProcessBeanDefinitionRegistry"" 方法 == + ||| + + PostProcessorRegistrationDelegate -> ListableBeanFactory: ""getBeanNamesForType""\n获取指定类型的 Bean 名称 + activate ListableBeanFactory + note over PostProcessorRegistrationDelegate,ListableBeanFactory: 获取类型为 ""BeanDefinitionRegistryPostProcessor"" 的 Bean 名称 + PostProcessorRegistrationDelegate <- ListableBeanFactory + deactivate ListableBeanFactory + + ||| + + loop 上述获取的 Bean 名称 + PostProcessorRegistrationDelegate -> ListableBeanFactory: ""isTypeMatch""\n检查 Bean 是否为指定类型 + activate ListableBeanFactory + note over PostProcessorRegistrationDelegate,ListableBeanFactory: 筛选出实现了 ""Ordered"" 接口的 ""BeanFactoryPostProcessor"",供后面优先调用。 + PostProcessorRegistrationDelegate <- ListableBeanFactory + deactivate ListableBeanFactory + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n对上述筛选出来的 Bean 进行排序 + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> List: ""addAll""\n将上述 Bean 全部添加到 ""registryProcessors"" 集合中 + activate List + note over PostProcessorRegistrationDelegate,List: 添加到 ""registryProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""invokeBeanDefinitionRegistryPostProcessors""\n调用 ""BeanDefinitionRegistryPostProcessor"" + activate PostProcessorRegistrationDelegate + loop 上述筛选出来的所有 ""BeanFactoryPostProcessor"" + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n调用 ""BeanFactoryPostProcessor"" + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 只遍历实现 ""PriorityOrdered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" Bean + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + end + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + ==最后,调用剩余的 ""BeanDefinitionRegistryPostProcessors"" 的 ""postProcessBeanDefinitionRegistry"" 方法== + ||| + loop 有新创建出来的 ""BeanDefinitionRegistryPostProcessor"" 就遍历 + PostProcessorRegistrationDelegate -> ListableBeanFactory: ""getBeanNamesForType""\n获取指定类型的 Bean 名称 + activate ListableBeanFactory + note over PostProcessorRegistrationDelegate,ListableBeanFactory: 获取类型为 ""BeanDefinitionRegistryPostProcessor"" 的 Bean 名称 + PostProcessorRegistrationDelegate <- ListableBeanFactory + deactivate ListableBeanFactory + + ||| + + loop 上述获取的 Bean 名称 + PostProcessorRegistrationDelegate -> ListableBeanFactory: ""isTypeMatch""\n检查 Bean 是否为指定类型 + activate ListableBeanFactory + note over PostProcessorRegistrationDelegate,ListableBeanFactory: 筛选出实现了 ""Ordered"" 接口的 ""BeanFactoryPostProcessor"",供后面优先调用。 + PostProcessorRegistrationDelegate <- ListableBeanFactory + deactivate ListableBeanFactory + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n对上述筛选出来的 Bean 进行排序 + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> List: ""addAll""\n将上述 Bean 全部添加到 ""registryProcessors"" 集合中 + activate List + note over PostProcessorRegistrationDelegate,List: 添加到 ""registryProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""invokeBeanDefinitionRegistryPostProcessors""\n调用 ""BeanDefinitionRegistryPostProcessor"" + activate PostProcessorRegistrationDelegate + loop 上述筛选出来的所有 ""BeanFactoryPostProcessor"" + PostProcessorRegistrationDelegate -> BeanDefinitionRegistryPostProcessor: ""postProcessBeanDefinitionRegistry""\n调用 ""BeanFactoryPostProcessor"" + activate BeanDefinitionRegistryPostProcessor + note over PostProcessorRegistrationDelegate,BeanDefinitionRegistryPostProcessor: 只遍历实现 ""PriorityOrdered"" 接口的 ""BeanDefinitionRegistryPostProcessor"" Bean + PostProcessorRegistrationDelegate <- BeanDefinitionRegistryPostProcessor + deactivate BeanDefinitionRegistryPostProcessor + end + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + end + + ||| + ==结尾,调用 ""BeanFactoryPostProcessor"" 的 ""postProcessBeanFactory"" 方法 == + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""invokeBeanFactoryPostProcessors""\n调用 ""BeanFactoryPostProcessor""\n 的 ""postProcessBeanFactory"" + activate PostProcessorRegistrationDelegate + loop 遍历 ""registryProcessors"" + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n调用 ""BeanFactoryPostProcessor""\n 的 ""postProcessBeanFactory"" + activate BeanFactoryPostProcessor + note over PostProcessorRegistrationDelegate,BeanFactoryPostProcessor: 遍历 ""registryProcessors"" + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + end + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""invokeBeanFactoryPostProcessors""\n调用 ""BeanFactoryPostProcessor""\n 的 ""postProcessBeanFactory"" + activate PostProcessorRegistrationDelegate + loop 遍历 ""regularPostProcessors"" + PostProcessorRegistrationDelegate -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n调用 ""BeanFactoryPostProcessor""\n 的 ""postProcessBeanFactory"" + activate BeanFactoryPostProcessor + note over PostProcessorRegistrationDelegate,BeanFactoryPostProcessor: 遍历 ""regularPostProcessors"" + PostProcessorRegistrationDelegate <- BeanFactoryPostProcessor + deactivate BeanFactoryPostProcessor + end + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + AbstractApplicationContext <- PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + AbstractApplicationContext -> AbstractApplicationContext + deactivate AbstractApplicationContext + +Actor <- AbstractApplicationContext: 完成容器初始化 +deactivate AbstractApplicationContext + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AbstractApplicationContext-obtainFreshBeanFactory.puml b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-obtainFreshBeanFactory.puml new file mode 100644 index 000000000000..1690bae40514 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-obtainFreshBeanFactory.puml @@ -0,0 +1,174 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AbstractApplicationContext.obtainFreshBeanFactory -- XML 配置文件解析** + + +actor Actor +participant AbstractApplicationContext << (C,#ADD1B2) >> +participant AbstractRefreshableApplicationContext << (C,#ADD1B2) >> +participant AbstractXmlApplicationContext << (C,#ADD1B2) >> +participant XmlBeanDefinitionReader << (C,#ADD1B2) >> +participant ResourceLoader << (I,#AB9DE1) >> +participant BeanDefinitionDocumentReader << (C,#ADD1B2) >> +participant BeanDefinitionParserDelegate << (C,#ADD1B2) >> +participant DefaultListableBeanFactory << (C,#ADD1B2) >> +participant NamespaceHandler << (I,#AB9DE1) >> + +Actor -> AbstractApplicationContext: ""refresh""\n重塑容器 +activate AbstractApplicationContext + + AbstractApplicationContext -> AbstractApplicationContext: ""obtainFreshBeanFactory""\n获取BeanFactory + activate AbstractApplicationContext + + AbstractApplicationContext -> AbstractRefreshableApplicationContext: ""refreshBeanFactory""\n刷新BeanFactory + activate AbstractRefreshableApplicationContext + + AbstractRefreshableApplicationContext -> AbstractXmlApplicationContext: ""loadBeanDefinitions""\n加载 ""BeanDefinition"" + activate AbstractXmlApplicationContext + + AbstractXmlApplicationContext -> AbstractXmlApplicationContext: ""loadBeanDefinitions""\n加载 ""BeanDefinition"" + activate AbstractXmlApplicationContext + + AbstractXmlApplicationContext -> XmlBeanDefinitionReader: ""loadBeanDefinitions""\n加载 ""BeanDefinition"" + activate XmlBeanDefinitionReader + note right #FFAAAA: ""loadBeanDefinitions"" 方法被重\n载了多次,在这里也被调用了多次。 + + XmlBeanDefinitionReader -> ResourceLoader: ""getResources""\n加载 ""Resource"" + activate ResourceLoader + note over XmlBeanDefinitionReader,ResourceLoader: 将配置路径转化成 ""Resource"" 对象。\n注:这里的路径也支持占位符替换。可以从环境变量中取值。 + XmlBeanDefinitionReader <- ResourceLoader + deactivate ResourceLoader + + ||| + + XmlBeanDefinitionReader -> XmlBeanDefinitionReader: ""doLoadBeanDefinitions""\n加载 ""BeanDefinition"" + activate XmlBeanDefinitionReader + XmlBeanDefinitionReader -> BeanDefinitionDocumentReader: ""registerBeanDefinitions""\n注册 ""BeanDefinition"" + activate BeanDefinitionDocumentReader + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader: ""doRegisterBeanDefinitions""\n注册 ""BeanDefinition"" + activate BeanDefinitionDocumentReader + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader: ""parseBeanDefinitions""\n处理 ""BeanDefinition"" 定义 + activate BeanDefinitionDocumentReader + note right #FFAAAA: 对于 XML 的解析都在次方法中! + alt #LightGreen **默认命名空间(即 ""beans"")** + ||| + group#yellow """" + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader: ""importBeanDefinitionResource""\n处理 """" 标签 + activate BeanDefinitionDocumentReader + note right #FFAAAA: 该方法时序图做了极大简化处理。\n不过,大致流程是这样的。 + BeanDefinitionDocumentReader -> ResourceLoader: ""getResources""\n加载 ""Resource"" + activate ResourceLoader + note over BeanDefinitionDocumentReader,ResourceLoader: 将配置路径转化成 ""Resource"" 对象。\n注:这里的路径也支持占位符替换。可以从环境变量中取值。 + BeanDefinitionDocumentReader <- ResourceLoader + deactivate ResourceLoader + ||| + BeanDefinitionDocumentReader -> XmlBeanDefinitionReader: ""loadBeanDefinitions""\n加载 ""BeanDefinition"" + activate XmlBeanDefinitionReader + note over BeanDefinitionDocumentReader,XmlBeanDefinitionReader: “递归”调用 ""loadBeanDefinitions"" 方法,解析配置文件并加载 Bean。 + BeanDefinitionDocumentReader <- XmlBeanDefinitionReader + deactivate XmlBeanDefinitionReader + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + ||| + end + + ||| + + group#yellow """" + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader: ""processAliasRegistration""\n处理 """" 标签 + activate BeanDefinitionDocumentReader + BeanDefinitionDocumentReader -> DefaultListableBeanFactory: ""registerAlias""\n注册别名 + activate DefaultListableBeanFactory + note over BeanDefinitionDocumentReader,DefaultListableBeanFactory: 其实,这里调用的是 ""AliasRegistry"" 的 ""registerAlias"" 方法。\n 但, ""DefaultListableBeanFactory"" 是 ""AliasRegistry"" 的一个实现类。 + BeanDefinitionDocumentReader -> DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + ||| + end + + ||| + + group#yellow """" + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader: ""processBeanDefinition""\n处理 """" 标签 + activate BeanDefinitionDocumentReader + BeanDefinitionDocumentReader -> BeanDefinitionParserDelegate: ""parseBeanDefinitionElement""\n处理 """" 标签元素 + activate BeanDefinitionParserDelegate + note over BeanDefinitionDocumentReader,BeanDefinitionParserDelegate: 这里也一并处理 """" 标签的子标签,比如 """" 等标签。\n还会设置一些默认值,比如 ""lazy-init"" 等 + BeanDefinitionDocumentReader -> BeanDefinitionParserDelegate + deactivate BeanDefinitionParserDelegate + + ||| + + BeanDefinitionDocumentReader -> DefaultListableBeanFactory: ""registerBeanDefinition""\n注册 ""BeanDefinition"" + activate DefaultListableBeanFactory + note over BeanDefinitionDocumentReader,DefaultListableBeanFactory: 其实,这里调用的是 ""BeanDefinitionRegistry"" 的 ""registerBeanDefinition"" 方法。\n 但, ""DefaultListableBeanFactory"" 是 ""BeanDefinitionRegistry"" 的一个实现类。 + BeanDefinitionDocumentReader -> DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + loop 上述 ""BeanDefinition"" 对象中包含的所有别名 + BeanDefinitionDocumentReader -> DefaultListableBeanFactory: ""registerAlias""\n注册别名 + activate DefaultListableBeanFactory + note over BeanDefinitionDocumentReader,DefaultListableBeanFactory : 其实,这里调用的是 ""AliasRegistry"" 的方法。\n但, ""DefaultListableBeanFactory"" 是 ""AliasRegistry"" 的一个实现类。 + BeanDefinitionDocumentReader -> DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + end + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + ||| + end + + ||| + + group#yellow """" + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader: ""doRegisterBeanDefinitions""\n处理 """" 标签 + activate BeanDefinitionDocumentReader + note over BeanDefinitionDocumentReader,BeanDefinitionDocumentReader:递归调用,处理 """" 标签。 + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + ||| + end + ||| + else #FFF0C5 **除 ""beans"" 外的其他命名空间** + BeanDefinitionDocumentReader -> BeanDefinitionParserDelegate: ""parseCustomElement""\n处理自定义标签元素 + activate BeanDefinitionParserDelegate + BeanDefinitionParserDelegate -> NamespaceHandler: ""parse""\n处理自定义标签元素 + activate NamespaceHandler + note over BeanDefinitionParserDelegate,NamespaceHandler: 除 ""beans"" 命名空间外,其他所有标签都是通过该机制来扩展 Spring 的能力的。\n只需将 Spring 其他命名空间的或自定义命名空间的标签处理成 ""BeanDefinition"" 对象即可,\n后续,Spring 会调用 ""BeanDefinitionRegistry"" 的 ""registerBeanDefinition"" 方法注册该对象。 + BeanDefinitionParserDelegate <- NamespaceHandler + deactivate NamespaceHandler + BeanDefinitionDocumentReader -> BeanDefinitionParserDelegate + deactivate BeanDefinitionParserDelegate + ||| + end + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + BeanDefinitionDocumentReader -> BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + XmlBeanDefinitionReader <- BeanDefinitionDocumentReader + deactivate BeanDefinitionDocumentReader + XmlBeanDefinitionReader -> XmlBeanDefinitionReader + deactivate XmlBeanDefinitionReader + + AbstractXmlApplicationContext <- XmlBeanDefinitionReader + deactivate XmlBeanDefinitionReader + + AbstractXmlApplicationContext -> AbstractXmlApplicationContext + deactivate AbstractXmlApplicationContext + + AbstractRefreshableApplicationContext <- AbstractXmlApplicationContext + deactivate AbstractXmlApplicationContext + + AbstractApplicationContext <- AbstractRefreshableApplicationContext + deactivate AbstractRefreshableApplicationContext + + AbstractApplicationContext -> AbstractApplicationContext + deactivate AbstractApplicationContext + +Actor <- AbstractApplicationContext: 完成容器初始化 +deactivate AbstractApplicationContext + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AbstractApplicationContext-prepareBeanFactory.puml b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-prepareBeanFactory.puml new file mode 100644 index 000000000000..a927b8510419 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-prepareBeanFactory.puml @@ -0,0 +1,168 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AbstractApplicationContext.prepareBeanFactory -- 准备 ""BeanFactory""** + + +actor Actor +participant AbstractApplicationContext << (C,#ADD1B2) >> +participant DefaultListableBeanFactory << (C,#ADD1B2) >> + +Actor -> AbstractApplicationContext: ""refresh""\n重塑容器 +activate AbstractApplicationContext + + AbstractApplicationContext -> AbstractApplicationContext: ""prepareBeanFactory""\n准备 ""BeanFactory"" + activate AbstractApplicationContext + + AbstractApplicationContext -> DefaultListableBeanFactory: ""setBeanClassLoader""\n设置类加载器 + activate DefaultListableBeanFactory + ||| + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""setBeanExpressionResolver""\n设置Spring表达式解析器 + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""StandardBeanExpressionResolver"" + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""addPropertyEditorRegistrar""\n添加默认 ""PropertyEditor"" + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""ResourceEditorRegistrar"" + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""addBeanPostProcessor""\n添加 ""BeanPostProcessor"" + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""ApplicationContextAwareProcessor""\n处理各种 ""Aware"" 接口,比如 ""ApplicationContextAware"" 等 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""ignoreDependencyInterface""\n添加“依赖忽略接口” + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: 忽略各种 ""Aware"" 接口,\n这些接口由上述 ""ApplicationContextAwareProcessor"" 处理,\n不需要再执行依赖注入。 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""registerResolvableDependency""\n添加“可解析的依赖” + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""BeanFactory""、""ResourceLoader""、\n""ApplicationEventPublisher""、""ApplicationContext"" + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""addBeanPostProcessor""\n添加 ""BeanPostProcessor"" + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""ApplicationListenerDetector""\n探测 Bean 是否为 ""ApplicationListener"" + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + alt 不是 Native 镜像 && 包含了 loadTimeWeaver Bean + AbstractApplicationContext -> DefaultListableBeanFactory: ""addBeanPostProcessor""\n添加 ""BeanPostProcessor"" + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""LoadTimeWeaverAwareProcessor""\n加载时织入 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""setTempClassLoader""\n设置临时类加载器 + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""ContextTypeMatchClassLoader"" + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + end + + ||| + + alt ""BeanFactory"" 实例中不含 ""environment"" + AbstractApplicationContext -> DefaultListableBeanFactory: ""containsLocalBean""\n是否包含 ""environment"" + activate DefaultListableBeanFactory + ||| + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""registerSingleton""\n注册 Bean + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""environment"" // 此为 Bean 名称 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + end + + ||| + + alt ""BeanFactory"" 实例中不含 ""systemProperties"" + AbstractApplicationContext -> DefaultListableBeanFactory: ""containsLocalBean""\n是否包含 ""systemProperties"" + activate DefaultListableBeanFactory + ||| + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""registerSingleton""\n注册 Bean + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""systemProperties"" // 此为 Bean 名称 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + end + + ||| + + alt ""BeanFactory"" 实例中不含 ""systemEnvironment"" + AbstractApplicationContext -> DefaultListableBeanFactory: ""containsLocalBean""\n是否包含 ""systemEnvironment"" + activate DefaultListableBeanFactory + ||| + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""registerSingleton""\n注册 Bean + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""systemEnvironment"" // 此为 Bean 名称 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + end + + ||| + + alt ""BeanFactory"" 实例中不含 ""applicationStartup"" + AbstractApplicationContext -> DefaultListableBeanFactory: ""containsLocalBean""\n是否包含 ""applicationStartup"" + activate DefaultListableBeanFactory + ||| + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + + ||| + + AbstractApplicationContext -> DefaultListableBeanFactory: ""registerSingleton""\n注册 Bean + activate DefaultListableBeanFactory + note over AbstractApplicationContext,DefaultListableBeanFactory: ""applicationStartup"" // 此为 Bean 名称 + AbstractApplicationContext <- DefaultListableBeanFactory + deactivate DefaultListableBeanFactory + end + + AbstractApplicationContext -> AbstractApplicationContext + deactivate AbstractApplicationContext + +Actor <- AbstractApplicationContext: 完成容器初始化 +deactivate AbstractApplicationContext + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AbstractApplicationContext-refresh.puml b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-refresh.puml new file mode 100644 index 000000000000..3231a0336f78 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-refresh.puml @@ -0,0 +1,91 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""AbstractApplicationContext.refresh"" -- 重塑容器** + + +actor Actor +participant AbstractApplicationContext << (C,#ADD1B2) >> +participant BeanFactoryPostProcessor << (I,#AB9DE1) >> + +Actor -> AbstractApplicationContext: ""refresh""\n重塑容器 +activate AbstractApplicationContext + + AbstractApplicationContext -> AbstractApplicationContext: ""prepareRefresh""\n准备环境 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""obtainFreshBeanFactory""\n获取BeanFactory + note right: 加载并解析配置文件 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""prepareBeanFactory""\n准备 ""BeanFactory"" + note right: 忽略各种 Aware 接口的注入;同时,\n注册一些必要的 Bean,比如 ""BeanFactory""。 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""postProcessBeanFactory""\n对 ""BeanFactory"" 做后期处理 + note right: 预留扩展点,\n目前是空实现 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""invokeBeanFactoryPostProcessors""\n调用 ""BeanFactoryPostProcessor"" 的 \n""postProcessBeanFactory"" 方法 + activate AbstractApplicationContext #53E516 + + loop **遍历所有 ""BeanFactoryPostProcessor"" 实例** + AbstractApplicationContext -> BeanFactoryPostProcessor: ""postProcessBeanFactory""\n更新容器内 Bean 的定义(增加、删除、修改) + activate BeanFactoryPostProcessor + note left #FFAAAA: ""BeanFactoryPostProcessor""\n是 Spring 容器非常重要的扩展点!\n\n很多第三方框架集成 Spring 就是\n用的该扩展点,比如 MyBATIS。 + + ||| + + AbstractApplicationContext <- BeanFactoryPostProcessor: 完成 Bean 定义的更新 + deactivate BeanFactoryPostProcessor + ||| + end + + AbstractApplicationContext -> AbstractApplicationContext + deactivate AbstractApplicationContext + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""registerBeanPostProcessors""\n注册 ""BeanPostProcessor"" + note right #FFAAAA: ""BeanPostProcessor"" \n是 Spring 非常重要的扩展点!\n\n依赖注入,AOP切面生成等就是\n通过不同 ""BeanPostProcessor""\n实例来完成的。 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""initMessageSource""\n初始化 ""MessageSource"" + note right: 国际化相关 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""initApplicationEventMulticaster""\n初始化应用事件广播器 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""onRefresh"" + note right: 在 Web 容器中,注册\n""DispatchServlet"" 等九大组件 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""registerListeners""\n注册事件监听器 + note right: 将 ""ApplicationListener"" 类型的 Bean 注册\n到 ""ApplicationEventMulticaster"" 中,\n后续容器启动完成事件即由此广播并处理。 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""finishBeanFactoryInitialization""\n完成预初始化 + note right: 完成非懒加载的\n单例 Bean 实例化 + + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""finishRefresh""\n完成重塑 + note right: 删除一些不必要的配置信息。\n最后,广播容器启动完成的消息。 + + ||| + +Actor <- AbstractApplicationContext: 完成容器初始化 +deactivate AbstractApplicationContext + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AbstractApplicationContext-registerBeanPostProcessors.puml b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-registerBeanPostProcessors.puml new file mode 100644 index 000000000000..00520b7fa9a6 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AbstractApplicationContext-registerBeanPostProcessors.puml @@ -0,0 +1,197 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AbstractApplicationContext.registerBeanPostProcessors -- 注册 ""BeanPostProcessor""** + + +actor Actor +participant AbstractApplicationContext << (C,#ADD1B2) >> +participant PostProcessorRegistrationDelegate << (C,#ADD1B2) >> +participant ConfigurableListableBeanFactory << (I,#AB9DE1) >> +note over ConfigurableListableBeanFactory: 为了简化,所有 ""BeanFactory"" \n 相关操作,都指向该类。 +participant List << (I,#AB9DE1) >> + +Actor -> AbstractApplicationContext: ""refresh""\n重塑容器 +activate AbstractApplicationContext + ||| + + AbstractApplicationContext -> AbstractApplicationContext: ""registerBeanPostProcessors""\n注册 ""BeanPostProcessor"" + activate AbstractApplicationContext + AbstractApplicationContext -> PostProcessorRegistrationDelegate: ""registerBeanPostProcessors""\n处理 ""BeanPostProcessor"" 注册 + activate PostProcessorRegistrationDelegate + + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""getBeanNamesForType""\n获取类型为 ""BeanPostProcessor"" 的 Bean 名称 + activate ConfigurableListableBeanFactory + ||| + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + + ||| + + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""addBeanPostProcessor""\n添加 ""BeanPostProcessor"" + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 添加类型为 ""BeanPostProcessorChecker"" 的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + + ||| + + loop 第一步获取的 ""postProcessorNames"" + alt #Fuchsia 类型匹配 ""PriorityOrdered"" + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate, List: 添加到 ""priorityOrderedPostProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + alt 如果是 ""MergedBeanDefinitionPostProcessor"" 类型 + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate, List: 再添加到 ""internalPostProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + end + ||| + else #Yellow 类型匹配 ""Ordered"" + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate, List: 添加到 ""orderedPostProcessorNames"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + else #DodgerBlue + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate, List: 添加到 ""nonOrderedPostProcessorNames"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + end + end + + group #Fuchsia + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 + activate PostProcessorRegistrationDelegate + note over PostProcessorRegistrationDelegate,PostProcessorRegistrationDelegate: 对 ""priorityOrderedPostProcessors"" 进行排序 + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""registerBeanPostProcessors""\n注册 ""BeanPostProcessor"" + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""addBeanPostProcessors""\n添加 ""BeanPostProcessor"" + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 注册 ""priorityOrderedPostProcessors"" 集合中的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + ||| + end + + ||| + + group #Yellow + loop 第一步获取的 ""orderedPostProcessorNames"" + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""getBean""\n获取指定名称的 Bean + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 获取 ""orderedPostProcessorNames"" 集合中的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + end + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 + activate PostProcessorRegistrationDelegate + note over PostProcessorRegistrationDelegate,PostProcessorRegistrationDelegate: 对 ""orderedPostProcessorNames"" 进行排序 + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""registerBeanPostProcessors""\n注册 ""BeanPostProcessor"" + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""addBeanPostProcessors""\n添加 ""BeanPostProcessor"" + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 注册 ""orderedPostProcessorNames"" 集合中的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + ||| + end + + ||| + + group #DodgerBlue + loop 第一步获取的 ""nonOrderedPostProcessorNames"" + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""getBean""\n获取指定名称的 Bean + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 获取 ""nonOrderedPostProcessorNames"" 集合中的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + ||| + alt 如果是 ""MergedBeanDefinitionPostProcessor"" 类型 + PostProcessorRegistrationDelegate -> List: ""add""\n添加元素 + activate List + note over PostProcessorRegistrationDelegate, List: 再添加到 ""internalPostProcessors"" 集合中 + PostProcessorRegistrationDelegate <- List + deactivate List + ||| + end + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""registerBeanPostProcessors""\n注册 ""BeanPostProcessor"" + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""addBeanPostProcessors""\n添加 ""BeanPostProcessor"" + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 注册 ""orderedPostProcessorNames"" 集合中的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + ||| + end + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""sortPostProcessors""\n排序 + activate PostProcessorRegistrationDelegate + note over PostProcessorRegistrationDelegate,PostProcessorRegistrationDelegate: 对 ""internalPostProcessors"" 进行排序 + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + + ||| + + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate: ""registerBeanPostProcessors""\n注册 ""BeanPostProcessor"" + activate PostProcessorRegistrationDelegate + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""addBeanPostProcessors""\n添加 ""BeanPostProcessor"" + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 注册 ""internalPostProcessors"" 集合中的 ""BeanPostProcessor""\n这样处理后,这些 ""BeanPostProcessor"" 就在列表的最后,也就是最后生效。 + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + PostProcessorRegistrationDelegate -> PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + ||| + + PostProcessorRegistrationDelegate -> ConfigurableListableBeanFactory: ""addBeanPostProcessor""\n添加 ""BeanPostProcessor"" + activate ConfigurableListableBeanFactory + note over PostProcessorRegistrationDelegate, ConfigurableListableBeanFactory: 添加类型为 ""ApplicationListenerDetector"" 的 ""BeanPostProcessor"" + PostProcessorRegistrationDelegate <- ConfigurableListableBeanFactory + deactivate ConfigurableListableBeanFactory + ||| + AbstractApplicationContext <- PostProcessorRegistrationDelegate + deactivate PostProcessorRegistrationDelegate + AbstractApplicationContext -> AbstractApplicationContext + deactivate AbstractApplicationContext + + ||| + +Actor <- AbstractApplicationContext: 完成容器初始化 +deactivate AbstractApplicationContext + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/AnnotationAwareAspectJAutoProxyCreator.puml b/truman/src/docs/asciidoc/puml/AnnotationAwareAspectJAutoProxyCreator.puml new file mode 100644 index 000000000000..01401ba37fe5 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AnnotationAwareAspectJAutoProxyCreator.puml @@ -0,0 +1,59 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AnnotationAwareAspectJAutoProxyCreator 继承体系及关键方法** + +interface BeanPostProcessor { + + postProcessBeforeInitialization(Object bean, String beanName): Object + + postProcessAfterInitialization(Object bean, String beanName): Object +} + +interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor { + + postProcessBeforeInstantiation(Class, String beanName): Object + + postProcessAfterInstantiation(Object bean, String beanName): boolean + + postProcessProperties(PropertyValues, Object bean, String beanName): PropertyValues + + postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object bean, String beanName): PropertyValues +} + +interface BeanFactoryAware { + + setBeanFactory(BeanFactory): void +} +interface BeanClassLoaderAware { + + setBeanClassLoader(ClassLoader): void +} + +interface SmartInstantiationAwareBeanPostProcessor extends InstantiationAwareBeanPostProcessor { + + predictBeanType(Class beanClass, String beanName): Class + + determineCandidateConstructors(Class beanClass, String beanName): Constructor[] + + getEarlyBeanReference(Object bean, String beanName): Object +} + +class ProxyConfig { + + setProxyTargetClass(boolean): void + + isProxyTargetClass(): boolean + + setOptimize(boolean): void + + isOptimize(): boolean + + setOpaque(boolean): void + + isOpaque(): boolean + + setExposeProxy(boolean): void + + isExposeProxy(): boolean + + setFrozen(boolean): void + + isFrozen(): boolean +} + +class ProxyProcessorSupport extends ProxyConfig implements BeanClassLoaderAware, AopInfrastructureBean + +abstract class AbstractAutoProxyCreator extends ProxyProcessorSupport implements SmartInstantiationAwareBeanPostProcessor, BeanFactoryAware + +class BeanNameAutoProxyCreator extends AbstractAutoProxyCreator + +abstract class AbstractAdvisorAutoProxyCreator extends AbstractAutoProxyCreator + +class AspectJAwareAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCreator + +class AnnotationAwareAspectJAutoProxyCreator extends AspectJAwareAdvisorAutoProxyCreator + +class DefaultAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCreator implements BeanNameAware + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/AopProxy.puml b/truman/src/docs/asciidoc/puml/AopProxy.puml new file mode 100644 index 000000000000..ab14a14ed273 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/AopProxy.puml @@ -0,0 +1,32 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AopProxy 相关结构图** + +interface AopProxy { + + getProxy(): Object + + getProxy(classLoader: ClassLoader): Object +} + +class CglibAopProxy implements AopProxy +class ObjenesisCglibAopProxy extends CglibAopProxy + +interface AopProxyFactory { + createAopProxy(config: AdvisedSupport): AopProxy +} + +AopProxyFactory o-right-> AopProxy :create + +class AdvisedSupport extends ProxyConfig + +AopProxyFactory .up.> AdvisedSupport :according to + +class DefaultAopProxyFactory implements AopProxyFactory + +class JdkDynamicAopProxy implements AopProxy + +interface InvocationHandler +JdkDynamicAopProxy ..|> InvocationHandler + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/ApplicationContext.puml b/truman/src/docs/asciidoc/puml/ApplicationContext.puml new file mode 100644 index 000000000000..bd628e8769a5 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/ApplicationContext.puml @@ -0,0 +1,20 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""ApplicationContext""的组成** +card ApplicationContext { + card AnnotatedBeanDefinitionReader + card ClassPathBeanDefinitionScanner + card DefaultListableBeanFactory { + card dependencyComparator + card autowireCandidateResolver + } +} + +AnnotatedBeanDefinitionReader -[hidden]-> ClassPathBeanDefinitionScanner +ClassPathBeanDefinitionScanner -[hidden]-> DefaultListableBeanFactory + +dependencyComparator -[hidden]-> autowireCandidateResolver + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/ApplicationEvent.puml b/truman/src/docs/asciidoc/puml/ApplicationEvent.puml new file mode 100644 index 000000000000..42a09d15b7f5 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/ApplicationEvent.puml @@ -0,0 +1,44 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Spring 容器内事件发布实现类图** + + +abstract class ApplicationEvent extends EventObject +note top of EventObject : JDK 内置事件类型 +note top of ApplicationEvent : Spring 容器内\n自定义事件类型 + +interface ApplicationListener extends EventListener { + + onApplicationEvent(E event):void +} + +interface ApplicationEventPublisher { + + publishEvent(ApplicationEvent event):void + + publishEvent(Object event):void +} +interface ApplicationContext extends ApplicationEventPublisher + +interface ConfigurableApplicationContext extends ApplicationContext + +abstract class AbstractApplicationContext implements ConfigurableApplicationContext { + - applicationEventMulticaster:ApplicationEventMulticaster +} + +interface ApplicationEventMulticaster + +ApplicationEventMulticaster .right.> ApplicationListener : notify + +ApplicationEventMulticaster .up.> ApplicationEvent : publish + +ApplicationListener .up.> ApplicationEvent : receive + +abstract class AbstractApplicationEventMulticaster implements ApplicationEventMulticaster + +class SimpleApplicationEventMulticaster extends AbstractApplicationEventMulticaster { + - taskExecutor:Executor +} + +AbstractApplicationContext *--> ApplicationEventMulticaster + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/BeanDefinition.puml b/truman/src/docs/asciidoc/puml/BeanDefinition.puml new file mode 100644 index 000000000000..25c53ee70d40 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/BeanDefinition.puml @@ -0,0 +1,67 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanDefinition 继承体系及关键属性** + + +abstract class AttributeAccessorSupport implements AttributeAccessor, Serializable { + - attributes: Map +} + +class BeanMetadataAttributeAccessor extends AttributeAccessorSupport implements BeanMetadataElement { + - source: Object +} + +interface BeanDefinition extends AttributeAccessor, BeanMetadataElement + +abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccessor implements BeanDefinition, Cloneable { + - beanClass: Object + - abstractFlag: boolean + - lazyInit: Boolean + - autowireMode: int + - dependencyCheck: int + - dependsOn: String[] + - autowireCandidate: boolean + - primary: boolean + - qualifiers: Map + - instanceSupplier: Supplier + - nonPublicAccessAllowed: boolean + - lenientConstructorResolution: boolean + - factoryBeanName: String + - factoryMethodName: String + - constructorArgumentValues: ConstructorArgumentValues + - propertyValues: MutablePropertyValues + - methodOverrides: MethodOverrides + - initMethodName: String + - destroyMethodName: String + - enforceInitMethod: boolean + - enforceDestroyMethod: boolean + - synthetic: boolean + - role: int + - description: String + - resource: Resource +} + +class RootBeanDefinition extends AbstractBeanDefinition + +interface AnnotatedBeanDefinition extends BeanDefinition + +class ChildBeanDefinition extends AbstractBeanDefinition { + - parentName: String +} + +class GenericBeanDefinition extends AbstractBeanDefinition { + - parentName: String +} + +class ScannedGenericBeanDefinition extends GenericBeanDefinition implements AnnotatedBeanDefinition { + - metadata: AnnotationMetadata +} + +class AnnotatedGenericBeanDefinition extends GenericBeanDefinition implements AnnotatedBeanDefinition { + - metadata: AnnotationMetadata + - factoryMethodMetadata: MethodMetadata +} + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/BeanFactory-getBean.puml b/truman/src/docs/asciidoc/puml/BeanFactory-getBean.puml new file mode 100644 index 000000000000..9e3a63e1bcf7 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/BeanFactory-getBean.puml @@ -0,0 +1,23 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanFactory.getBean Bean 创建** + +actor Actor +participant BeanFactory << (C,#ADD1B2) >> +participant BeanPostProcessor << (I,#AB9DE1) >> + +Actor -> BeanFactory: getBean +activate BeanFactory + + BeanFactory -> BeanPostProcessor + activate BeanPostProcessor + + BeanFactory <- BeanPostProcessor + deactivate BeanPostProcessor + +Actor -> BeanFactory +deactivate BeanFactory + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/BeanFactory.puml b/truman/src/docs/asciidoc/puml/BeanFactory.puml new file mode 100644 index 000000000000..0cf0c77e31aa --- /dev/null +++ b/truman/src/docs/asciidoc/puml/BeanFactory.puml @@ -0,0 +1,96 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanFactory 继承体系及关键属性** + +interface BeanDefinitionRegistry extends AliasRegistry + +class SimpleAliasRegistry implements AliasRegistry { + - aliasMap: Map +} + +class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements SingletonBeanRegistry { + - singletonObjects: Map + - singletonFactories: Map> + - earlySingletonObjects: Map + - registeredSingletons: Set + - singletonsCurrentlyInCreation: Set + - inCreationCheckExclusions: Set + - suppressedExceptions: Set + - singletonsCurrentlyInDestruction: boolean + - disposableBeans: Map + - containedBeanMap: Map> + - dependentBeanMap: Map> + - dependenciesForBeanMap: Map> +} + +abstract class FactoryBeanRegistrySupport extends DefaultSingletonBeanRegistry { + - factoryBeanObjectCache: Map +} + +interface ListableBeanFactory extends BeanFactory + +'StaticListableBeanFactory 不常用,不予展示 +'class StaticListableBeanFactory implements ListableBeanFactory + +interface HierarchicalBeanFactory extends BeanFactory + +interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory + +interface ConfigurableBeanFactory extends HierarchicalBeanFactory, SingletonBeanRegistry + +interface AutowireCapableBeanFactory extends BeanFactory + +interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory + +abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport implements ConfigurableBeanFactory { + - parentBeanFactory: BeanFactory + - beanClassLoader: ClassLoader + - tempClassLoader: ClassLoader + - beanExpressionResolver: BeanExpressionResolver + - conversionService: ConversionService + - propertyEditorRegistrars: Set + - customEditors: Map, Class> + - typeConverter: TypeConverter + - embeddedValueResolvers: List + - beanPostProcessors: List + - beanPostProcessorCache: BeanPostProcessorCache + - scopes: Map + - mergedBeanDefinitions: Map + - alreadyCreated: Set + - prototypesCurrentlyInCreation: ThreadLocal +} + +abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFactory implements AutowireCapableBeanFactory { + - instantiationStrategy: InstantiationStrategy + - parameterNameDiscoverer: ParameterNameDiscoverer + - allowCircularReferences: boolean + - allowRawInjectionDespiteWrapping: boolean + - ignoredDependencyTypes: Set> + - ignoredDependencyInterfaces: Set> + - currentlyCreatedBean: NamedThreadLocal + - factoryBeanInstanceCache: ConcurrentMap + - factoryMethodCandidateCache: ConcurrentMap, Method[]> + - filteredPropertyDescriptorsCache: ConcurrentMap, PropertyDescriptor[]> +} + +class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, BeanDefinitionRegistry { + - {static} serializableFactories: Map> + - allowBeanDefinitionOverriding: boolean + - allowEagerClassLoading: boolean + - dependencyComparator: Comparator + - autowireCandidateResolver: AutowireCandidateResolver + - resolvableDependencies: Map, Object> + - beanDefinitionMap: Map + - mergedBeanDefinitionHolders: Map + - allBeanNamesByType: Map, String[]> + - singletonBeanNamesByType: Map, String[]> + - beanDefinitionNames: List + - manualSingletonNames: Set + - frozenBeanDefinitionNames: String[] + - configurationFrozen: boolean +} + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/ConfigurationClassPostProcessor.puml b/truman/src/docs/asciidoc/puml/ConfigurationClassPostProcessor.puml new file mode 100644 index 000000000000..baf7c66d298e --- /dev/null +++ b/truman/src/docs/asciidoc/puml/ConfigurationClassPostProcessor.puml @@ -0,0 +1,18 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title "**BeanFactoryPostProcessor 继承体系**" + +interface BeanFactoryPostProcessor { + + postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory): void +} + +interface BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor { + + postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry): void +} + +class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPostProcessor + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/DispatchServlet-init-sequence.puml b/truman/src/docs/asciidoc/puml/DispatchServlet-init-sequence.puml new file mode 100644 index 000000000000..9509ab2ab749 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/DispatchServlet-init-sequence.puml @@ -0,0 +1,116 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **SpringMVC 容器初始化时序图** + +participant Actor +Actor -> HttpServletBean : init +activate HttpServletBean +HttpServletBean -> HttpServletBean : initBeanWrapper +activate HttpServletBean +HttpServletBean --> HttpServletBean +deactivate HttpServletBean +HttpServletBean -> HttpServletBean : initServletBean +activate HttpServletBean +HttpServletBean -> FrameworkServlet : initServletBean +activate FrameworkServlet +FrameworkServlet -> FrameworkServlet : initWebApplicationContext +activate FrameworkServlet +FrameworkServlet -> WebApplicationContextUtils : getWebApplicationContext +activate WebApplicationContextUtils +WebApplicationContextUtils --> FrameworkServlet +deactivate WebApplicationContextUtils + +FrameworkServlet -> FrameworkServlet : findWebApplicationContext +activate FrameworkServlet +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet -> FrameworkServlet : createWebApplicationContext +activate FrameworkServlet +FrameworkServlet -> FrameworkServlet : createWebApplicationContext +activate FrameworkServlet +FrameworkServlet -> FrameworkServlet : configureAndRefreshWebApplicationContext +activate FrameworkServlet +FrameworkServlet -> FrameworkServlet : postProcessWebApplicationContext +activate FrameworkServlet +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet -> ConfigurableApplicationContext : refresh +activate ConfigurableApplicationContext +ConfigurableApplicationContext --> FrameworkServlet +deactivate ConfigurableApplicationContext +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet -> FrameworkServlet : onRefresh +activate FrameworkServlet + +FrameworkServlet -> DispatcherServlet : onRefresh +activate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initStrategies +activate DispatcherServlet #89FA4F +DispatcherServlet -> DispatcherServlet : initMultipartResolver +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initLocaleResolver +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initThemeResolver +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initHandlerMappings +activate DispatcherServlet +DispatcherServlet -> HandlerMapping : usesPathPatterns +activate HandlerMapping +HandlerMapping --> DispatcherServlet +deactivate HandlerMapping +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initHandlerAdapters +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initHandlerExceptionResolvers +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initRequestToViewNameTranslator +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initViewResolvers +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet -> DispatcherServlet : initFlashMapManager +activate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet --> DispatcherServlet +deactivate DispatcherServlet +DispatcherServlet --> FrameworkServlet +deactivate DispatcherServlet + +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet -> FrameworkServlet : initFrameworkServlet +activate FrameworkServlet +FrameworkServlet --> FrameworkServlet +deactivate FrameworkServlet +FrameworkServlet --> HttpServletBean +deactivate FrameworkServlet +HttpServletBean --> HttpServletBean +deactivate HttpServletBean +return + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/DispatcherServlet-init.puml b/truman/src/docs/asciidoc/puml/DispatcherServlet-init.puml new file mode 100644 index 000000000000..f9ab5ac9f5e4 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/DispatcherServlet-init.puml @@ -0,0 +1,44 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Spring Web 初始化流程** + +actor Actor +participant DispatcherServlet << (C,#ADD1B2) >> +participant FrameworkServlet << (A,#AADCDF) >> + +Actor -> DispatcherServlet: ""init""\n初始化 +note right: 该 ""init"" 方法是从 ""HttpServletBean"" 继承的\n读取 """" +activate DispatcherServlet + + DispatcherServlet -> FrameworkServlet: ""initServletBean"" + activate FrameworkServlet + + FrameworkServlet -> FrameworkServlet: ""initWebApplicationContext""\n初始化 Spring 容器\n先获取父容器,再初始化 Web 容器 + activate FrameworkServlet + + FrameworkServlet -> DispatcherServlet: ""onRefresh""\n初始化 Spring Web + activate DispatcherServlet + + ||| + + DispatcherServlet -> DispatcherServlet: ""initStrategies""\n初始化 Spring Web 的九大组件 + activate DispatcherServlet + ||| + DispatcherServlet -> DispatcherServlet + deactivate DispatcherServlet + + FrameworkServlet <- DispatcherServlet + deactivate DispatcherServlet + + FrameworkServlet -> FrameworkServlet + deactivate FrameworkServlet + + DispatcherServlet <- FrameworkServlet + deactivate FrameworkServlet + +Actor <- DispatcherServlet: 完成初始化 +deactivate DispatcherServlet + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/DispatcherServlet.puml b/truman/src/docs/asciidoc/puml/DispatcherServlet.puml new file mode 100644 index 000000000000..586c69d732cb --- /dev/null +++ b/truman/src/docs/asciidoc/puml/DispatcherServlet.puml @@ -0,0 +1,42 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **DispatcherServlet 继承结构** + + +abstract class GenericServlet implements Servlet, ServletConfig, java.io.Serializable + +abstract class HttpServlet extends GenericServlet + +abstract class HttpServletBean extends HttpServlet implements EnvironmentCapable, EnvironmentAware { + + init(): void +} +note right of HttpServletBean : 通过 init() 方法\n开始启动容器 + +abstract class FrameworkServlet extends HttpServletBean implements ApplicationContextAware { + + initServletBean(): void + + initWebApplicationContext(): WebApplicationContext + + configureAndRefreshWebApplicationContext(wac: ConfigurableWebApplicationContext): void + + onRefresh(context: ApplicationContext): void +} +note right of FrameworkServlet : 在 initServletBean() 中\n真正完成初始化容器工作 + +class DispatcherServlet extends FrameworkServlet { + __ + + initStrategies(context: ApplicationContext): void + .. 九大组件 .. + + initMultipartResolver(context: ApplicationContext): void + + initLocaleResolver(context: ApplicationContext): void + + initThemeResolver(context: ApplicationContext): void + + initHandlerMappings(context: ApplicationContext): void + + initHandlerAdapters(context: ApplicationContext): void + + initHandlerExceptionResolvers(context: ApplicationContext): void + + initRequestToViewNameTranslator(context: ApplicationContext): void + + initViewResolvers(context: ApplicationContext): void + + initFlashMapManager(context: ApplicationContext): void +} +note right of DispatcherServlet : 通过事件触发 onRefresh 方法,然后调用\ninitStrategies 初始化 SpringMVC 的九大组件 + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/MessageSource.puml b/truman/src/docs/asciidoc/puml/MessageSource.puml new file mode 100644 index 000000000000..9f6a564ff033 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/MessageSource.puml @@ -0,0 +1,38 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **MessageSource 类层次结构** + + +interface HierarchicalMessageSource extends MessageSource + +interface ApplicationContext extends MessageSource + +interface ConfigurableApplicationContext extends ApplicationContext + +abstract class AbstractApplicationContext implements ConfigurableApplicationContext { + - messageSource:MessageSource +} + +abstract class AbstractMessageSource implements HierarchicalMessageSource + +class StaticMessageSource extends AbstractMessageSource +note bottom of StaticMessageSource : 多用于测试 + +abstract class AbstractResourceBasedMessageSource extends AbstractMessageSource + +class ResourceBundleMessageSource extends AbstractResourceBasedMessageSource + +note bottom of ResourceBundleMessageSource : 常用 + +class ReloadableResourceBundleMessageSource extends AbstractResourceBasedMessageSource implements ResourceLoaderAware + +class DelegatingMessageSource implements HierarchicalMessageSource + +note bottom of DelegatingMessageSource : Spring 内部使用该类,启动时\nAbstractApplicationContext\n.initMessageSource 注册该实例 + +AbstractApplicationContext *--> DelegatingMessageSource : has a > + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/ProxyCreatorSupport.puml b/truman/src/docs/asciidoc/puml/ProxyCreatorSupport.puml new file mode 100644 index 000000000000..c81eb8972ff9 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/ProxyCreatorSupport.puml @@ -0,0 +1,21 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **ProxyFactory 的"兄弟"** + + +interface Advised extends TargetClassAware + +class AdvisedSupport extends ProxyConfig implements Advised + +class ProxyCreatorSupport extends AdvisedSupport + +class ProxyFactory extends ProxyCreatorSupport + +class ProxyFactoryBean extends ProxyCreatorSupport implements FactoryBean + +class AspectJProxyFactory extends ProxyCreatorSupport + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/ProxyFactory.puml b/truman/src/docs/asciidoc/puml/ProxyFactory.puml new file mode 100644 index 000000000000..d0a7b037b47f --- /dev/null +++ b/truman/src/docs/asciidoc/puml/ProxyFactory.puml @@ -0,0 +1,26 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **ProxyFactory 继承体系** + + +interface Advised extends TargetClassAware + +class AdvisedSupport extends ProxyConfig implements Advised + +class ProxyCreatorSupport extends AdvisedSupport + +class ProxyFactory extends ProxyCreatorSupport + +interface AopProxy { + + getProxy(): Object + + getProxy(classLoader: ClassLoader): Object +} + +ProxyFactory .right.> AopProxy + +note left of ProxyFactory : 初始化时,就创建一个 AopProxyFactory\n对象(即 DefaultAopProxyFactory 对象),\n然后通过该对象去创建 AopProxy。 + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/Resource-ResourceLoader.puml b/truman/src/docs/asciidoc/puml/Resource-ResourceLoader.puml new file mode 100644 index 000000000000..363957074c3b --- /dev/null +++ b/truman/src/docs/asciidoc/puml/Resource-ResourceLoader.puml @@ -0,0 +1,39 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Resource 与 ResourceLoader** + + +interface InputStreamSource { + + getInputStream():InputStream +} + +interface Resource extends InputStreamSource + +interface ResourceLoader { + +{static} String CLASSPATH_URL_PREFIX = "classpath:" + + + getResource(String location):Resource + + getClassLoader():ClassLoader +} + +note top of ResourceLoader : 加载单个 Resource + +class DefaultResourceLoader implements ResourceLoader +class FileSystemResourceLoader extends DefaultResourceLoader + +interface ResourcePatternResolver extends ResourceLoader { + +{static} CLASSPATH_ALL_URL_PREFIX = "classpath*:" + + + getResources(String locationPattern):Resource[] +} + +class PathMatchingResourcePatternResolver implements ResourcePatternResolver + +note top of ResourcePatternResolver : 可以批量加载\nResource + +ResourceLoader *- Resource + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/ResourceLoader-ApplicationContext.puml b/truman/src/docs/asciidoc/puml/ResourceLoader-ApplicationContext.puml new file mode 100644 index 000000000000..cf34aa537338 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/ResourceLoader-ApplicationContext.puml @@ -0,0 +1,31 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **ResourceLoader 与 ApplicationContext** + + +interface ResourceLoader + +note right of ResourceLoader : 加载单个 Resource + +class DefaultResourceLoader implements ResourceLoader + +interface ResourcePatternResolver extends ResourceLoader + +class PathMatchingResourcePatternResolver implements ResourcePatternResolver + +note right of ResourcePatternResolver : 可以批量加载\nResource + +interface ApplicationContext extends ResourcePatternResolver +interface ConfigurableApplicationContext extends ApplicationContext +abstract class AbstractApplicationContext implements ConfigurableApplicationContext + +abstract class AbstractApplicationContext extends DefaultResourceLoader { + - resourcePatternResolver:ResourcePatternResolver +} + +AbstractApplicationContext o-- PathMatchingResourcePatternResolver : has a > + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/attr-colors.puml b/truman/src/docs/asciidoc/puml/attr-colors.puml new file mode 100644 index 000000000000..b0e061135f90 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/attr-colors.puml @@ -0,0 +1,3 @@ +@startuml +colors +@enduml diff --git a/truman/src/docs/asciidoc/puml/attr-fonts.puml b/truman/src/docs/asciidoc/puml/attr-fonts.puml new file mode 100644 index 000000000000..42ee24df2cd9 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/attr-fonts.puml @@ -0,0 +1,3 @@ +@startuml +listfonts 这 是 一 群 叠 字:犇 驫 骉 叒 鑫 森 淼 焱 垚 壵 厽 惢 掱 品 舙 瞐 晶 畾 磊 矗 尛 孨 众 毳 麤 鱻 猋 羴 㐂 龘 㸚 𠈌 㗊 㠭 𣊫 朤 𨰻 㵘 燚 㙓 +@enduml diff --git a/truman/src/docs/asciidoc/puml/build.sh b/truman/src/docs/asciidoc/puml/build.sh new file mode 100755 index 000000000000..ff68bbd7905e --- /dev/null +++ b/truman/src/docs/asciidoc/puml/build.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# +# 生成图片 +# + +# get base dir +baseDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +echo "baseDir=${baseDir}" + +## 声明一个数字变量,可以带引号 +declare -a files=($(ls -l *.puml | awk '{print $9}')) + +# 获取数组长度 +arraylength=${#files[@]} +echo "arraylength=$arraylength" + +# 遍历数组,获取下标以及各个元素 +for (( i=1; i<${arraylength}+1; i++ )); +do + echo $i ": " ${files[$i-1]} +done + +read -p "请跟上面的数字选择需要构建的简历 [1] : " index +index=${index:-1} # 默认值 +echo "index=$index" + +if [[ "$index" -gt "$arraylength" || "$index" -lt "1" ]]; then + echo "输入错误,请重新开始!" + exit 0 +fi + +origin_file_name=${files[$index-1]} + +echo "start to convert ${baseDir}/${origin_file_name}" +plantuml -tsvg \ + -SdefaultFontSize=18 \ + -StitleFontSize=36 \ + -StitleFontName='Source Han Sans SC' \ + -SheaderFontSize=20 \ + -SheaderFontName='Source Han Serif SC' \ + -SfooterFontSize=20 \ + -SfooterFontColor='#e22d30' \ + -SfooterFontName='Source Han Sans SC' \ + -SnoteFontName='Source Han Serif SC' \ + -SdefaultMonospacedFontName='JetBrains Mono' \ + -v \ + "${baseDir}/${origin_file_name}" diff --git a/truman/src/docs/asciidoc/puml/org.aopalliance.aop.Advice.puml b/truman/src/docs/asciidoc/puml/org.aopalliance.aop.Advice.puml new file mode 100644 index 000000000000..50b2f9d7e1fc --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.aopalliance.aop.Advice.puml @@ -0,0 +1,56 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Advice 继承体系** + + +interface Advice + +interface Interceptor extends Advice + +interface BeforeAdvice extends Advice + +interface DynamicIntroductionAdvice extends Advice + +abstract class AbstractAspectJAdvice implements Advice + +interface AfterAdvice extends Advice + +interface ConstructorInterceptor extends Interceptor { + + construct(ConstructorInvocation invocation): Object +} + +interface MethodInterceptor extends Interceptor { + + invoke(MethodInvocation invocation): Object +} + + + +interface IntroductionInterceptor extends MethodInterceptor, DynamicIntroductionAdvice + +interface MethodBeforeAdvice extends BeforeAdvice + +class MethodBeforeAdviceInterceptor implements MethodInterceptor, BeforeAdvice + + +class DelegatingIntroductionInterceptor implements IntroductionInterceptor + +class AfterReturningAdviceInterceptor implements MethodInterceptor, AfterAdvice + +interface ThrowsAdvice extends AfterAdvice + +class AspectJAfterAdvice extends AbstractAspectJAdvice implements MethodInterceptor, AfterAdvice + +class AspectJAfterReturningAdvice extends AbstractAspectJAdvice implements AfterReturningAdvice, AfterAdvice + +class AspectJAfterThrowingAdvice extends AbstractAspectJAdvice implements MethodInterceptor, AfterAdvice + +class ThrowsAdviceInterceptor implements MethodInterceptor, AfterAdvice + +interface AfterReturningAdvice extends AfterAdvice + +class AspectJMethodBeforeAdvice extends AbstractAspectJAdvice implements MethodBeforeAdvice + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.aopalliance.intercept.Joinpoint.puml b/truman/src/docs/asciidoc/puml/org.aopalliance.intercept.Joinpoint.puml new file mode 100644 index 000000000000..4923669dff70 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.aopalliance.intercept.Joinpoint.puml @@ -0,0 +1,45 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Joinpoint 继承体系** + + +interface Joinpoint { + + proceed(): Object + + getThis(): Object + + getStaticPart(): AccessibleObject +} + +interface Invocation extends Joinpoint { + + getArguments(): Object[] +} + +interface ConstructorInvocation extends Invocation { + + getConstructor(): Constructor +} + +interface MethodInvocation extends Invocation { + + getMethod(): Method +} + +interface ProxyMethodInvocation extends MethodInvocation { + + getProxy(): Object + + invocableClone(): MethodInvocation + + invocableClone(Object... arguments): MethodInvocation + + setArguments(Object... arguments): void + + setUserAttribute(String key, @Nullable Object value): void + + getUserAttribute(String key): Object +} + +class ReflectiveMethodInvocation implements ProxyMethodInvocation { + # proxy: Object + # target: Object + # method: Method + # interceptorsAndDynamicMethodMatchers: List + + + getUserAttributes(): Map +} + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.aop.ClassFilter.puml b/truman/src/docs/asciidoc/puml/org.springframework.aop.ClassFilter.puml new file mode 100644 index 000000000000..78a47f3ae2de --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.aop.ClassFilter.puml @@ -0,0 +1,29 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **ClassFilter 继承体系** + +interface ClassFilter { + + TRUE: ClassFilter + + matches(Class clazz): boolean +} + +class DefaultIntroductionAdvisor +DefaultIntroductionAdvisor .right.|> ClassFilter + +class AspectJExpressionPointcut +AspectJExpressionPointcut .left.|> ClassFilter + +class AnnotationClassFilter implements ClassFilter + +class ControlFlowPointcut implements ClassFilter + +class TypePatternClassFilter implements ClassFilter + +class RootClassFilter implements ClassFilter + +class TrueClassFilter implements ClassFilter + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.aop.MethodMatcher.puml b/truman/src/docs/asciidoc/puml/org.springframework.aop.MethodMatcher.puml new file mode 100644 index 000000000000..58e28f9a5204 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.aop.MethodMatcher.puml @@ -0,0 +1,36 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **MethodMatcher 继承体系** + + +interface MethodMatcher { + + TRUE: MethodMatcher + + matches(Method method, Class targetClass): boolean + + isRuntime(): boolean + + matches(Method method, Class targetClass, Object... args): boolean +} + +class TrueMethodMatcher +TrueMethodMatcher .right.|> MethodMatcher + +interface Pointcut +Pointcut *.up. MethodMatcher + +abstract class DynamicMethodMatcher implements MethodMatcher + +abstract class DynamicMethodMatcherPointcut extends DynamicMethodMatcher implements Pointcut + +interface IntroductionAwareMethodMatcher extends MethodMatcher + +class AspectJExpressionPointcut implements IntroductionAwareMethodMatcher, Pointcut + +abstract class StaticMethodMatcher implements MethodMatcher + +class AnnotationMethodMatcher extends StaticMethodMatcher + +abstract class StaticMethodMatcherPointcut extends StaticMethodMatcher implements Pointcut + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.aop.Pointcut.puml b/truman/src/docs/asciidoc/puml/org.springframework.aop.Pointcut.puml new file mode 100644 index 000000000000..85fc41144e8f --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.aop.Pointcut.puml @@ -0,0 +1,46 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Pointcut 继承体系** + + +interface Pointcut { + + TRUE: Pointcut + + getClassFilter(): ClassFilter + + getMethodMatcher(): MethodMatcher +} + +Pointcut *-up- MethodMatcher +Pointcut *-up- ClassFilter + +abstract class DynamicMethodMatcherPointcut +DynamicMethodMatcherPointcut .right.|> Pointcut + +class AnnotationMatchingPointcut +AnnotationMatchingPointcut .left.|> Pointcut + +interface ExpressionPointcut extends Pointcut + +class ControlFlowPointcut implements Pointcut + +class ComposablePointcut implements Pointcut + +abstract class StaticMethodMatcherPointcut implements Pointcut + +class TruePointcut implements Pointcut + +abstract class AbstractExpressionPointcut implements ExpressionPointcut + +class AspectJExpressionPointcut extends AbstractExpressionPointcut + +abstract class StaticMethodMatcherPointcutAdvisor extends StaticMethodMatcherPointcut + +abstract class AbstractRegexpMethodPointcut extends StaticMethodMatcherPointcut + +class JdkRegexpMethodPointcut extends AbstractRegexpMethodPointcut + +class NameMatchMethodPointcut extends StaticMethodMatcherPointcut + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.aop.PointcutAdvisor.puml b/truman/src/docs/asciidoc/puml/org.springframework.aop.PointcutAdvisor.puml new file mode 100644 index 000000000000..403accd250bd --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.aop.PointcutAdvisor.puml @@ -0,0 +1,50 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **PointcutAdvisor 继承体系** + + +interface Advisor { + + EMPTY_ADVICE: Advice + + + getAdvice(): Advice + +isPerInstance(): boolean +} + +interface PointcutAdvisor extends Advisor { + + getPointcut(): Pointcut +} + +interface IntroductionInfo { + + getInterfaces(): Class[] +} + +interface IntroductionAdvisor extends Advisor, IntroductionInfo { + + getClassFilter(): ClassFilter + + validateInterfaces(): void +} + +interface Ordered { + int HIGHEST_PRECEDENCE = Integer.MIN_VALUE; + int LOWEST_PRECEDENCE = Integer.MAX_VALUE; + + + getOrder(): int +} + +class DefaultIntroductionAdvisor implements IntroductionAdvisor, ClassFilter, Ordered + +abstract class AbstractPointcutAdvisor implements PointcutAdvisor, Ordered + +abstract class AbstractGenericPointcutAdvisor extends AbstractPointcutAdvisor + +class RegexpMethodPointcutAdvisor extends AbstractGenericPointcutAdvisor + +class NameMatchMethodPointcutAdvisor extends AbstractGenericPointcutAdvisor + +class DefaultPointcutAdvisor extends AbstractGenericPointcutAdvisor + +class AspectJExpressionPointcutAdvisor extends AbstractGenericPointcutAdvisor + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.aop.aspectj.AspectInstanceFactory.puml b/truman/src/docs/asciidoc/puml/org.springframework.aop.aspectj.AspectInstanceFactory.puml new file mode 100644 index 000000000000..661898f6f6e2 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.aop.aspectj.AspectInstanceFactory.puml @@ -0,0 +1,28 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AspectInstanceFactory 继承体系** + +interface AspectInstanceFactory + +interface MetadataAwareAspectInstanceFactory extends AspectInstanceFactory + +class SingletonAspectInstanceFactory implements AspectInstanceFactory + +class SimpleBeanFactoryAwareAspectInstanceFactory implements AspectInstanceFactory + +class SimpleAspectInstanceFactory implements AspectInstanceFactory + +class SimpleMetadataAwareAspectInstanceFactory extends SimpleAspectInstanceFactory implements MetadataAwareAspectInstanceFactory + +class SingletonMetadataAwareAspectInstanceFactory extends SingletonAspectInstanceFactory implements MetadataAwareAspectInstanceFactory + +class BeanFactoryAspectInstanceFactory implements MetadataAwareAspectInstanceFactory + +class PrototypeAspectInstanceFactory extends BeanFactoryAspectInstanceFactory + +class LazySingletonAspectInstanceFactoryDecorator implements MetadataAwareAspectInstanceFactory + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.BeanMetadataElement.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.BeanMetadataElement.puml new file mode 100644 index 000000000000..d3aa0ea36fb9 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.BeanMetadataElement.puml @@ -0,0 +1,98 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanMetadataElement 继承体系** + + +interface BeanMetadataElement { + + getSource(): Object +} + +class ManagedProperties implements BeanMetadataElement { + + isMergeEnabled(): boolean + + merge(Object parent): Object +} + +abstract class MethodOverride implements BeanMetadataElement { + # MethodOverride(String methodName) + + getMethodName(): String + # setOverloaded(boolean overloaded): void + # isOverloaded(): boolean + + setSource(Object source): void + + {abstract} matches(Method method): boolean +} + +class AliasDefinition implements BeanMetadataElement { + + getBeanName(): String + + getAlias(): String +} + +interface BeanReference extends BeanMetadataElement { + + getBeanName(): String +} + +class BeanMetadataAttribute +BeanMetadataAttribute .right.|> BeanMetadataElement + +class BeanMetadataAttributeAccessor implements BeanMetadataElement + +interface BeanDefinition extends BeanMetadataElement + +class ImportDefinition implements BeanMetadataElement + +interface ComponentDefinition extends BeanMetadataElement + +class BeanDefinitionHolder implements BeanMetadataElement + +interface DefaultsDefinition extends BeanMetadataElement + +class TypedStringValue +TypedStringValue .left.|> BeanMetadataElement + + +class LookupOverride extends MethodOverride { + + getBeanName(): String +} + +class ReplaceOverride extends MethodOverride { + + getMethodReplacerBeanName(): String + + addTypeIdentifier(String identifier): void +} + + +class RuntimeBeanNameReference implements BeanReference { + + setSource(Object source): void +} + +class RuntimeBeanReference implements BeanReference { + + isToParent(): boolean + + setSource(Object source): void +} + + +abstract class AbstractComponentDefinition implements ComponentDefinition + + +class BeanComponentDefinition extends BeanDefinitionHolder implements ComponentDefinition + + +class PropertyValue extends BeanMetadataAttributeAccessor + +class AutowireCandidateQualifier extends BeanMetadataAttributeAccessor + +abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccessor implements BeanDefinition + +class CompositeComponentDefinition extends AbstractComponentDefinition + +class PointcutComponentDefinition extends AbstractComponentDefinition + +class AdvisorComponentDefinition extends AbstractComponentDefinition + +class AspectComponentDefinition extends CompositeComponentDefinition + + +class DocumentDefaultsDefinition implements DefaultsDefinition + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.BeanFactory.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.BeanFactory.puml new file mode 100644 index 000000000000..58484a056440 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.BeanFactory.puml @@ -0,0 +1,44 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanFactory 继承体系** + + +interface BeanFactory +interface HierarchicalBeanFactory +interface ListableBeanFactory +interface ConfigurableBeanFactory +interface AutowireCapableBeanFactory +abstract class AbstractBeanFactory +class StaticListableBeanFactory +interface ApplicationContext +interface ConfigurableListableBeanFactory +abstract class AbstractAutowireCapableBeanFactory +class DefaultListableBeanFactory +class XmlBeanFactory + + +BeanFactory <|-- HierarchicalBeanFactory +BeanFactory <|-- ListableBeanFactory +HierarchicalBeanFactory <|-- ConfigurableBeanFactory +BeanFactory <|-- AutowireCapableBeanFactory + +ConfigurableBeanFactory <|.. AbstractBeanFactory + +ListableBeanFactory <|.. StaticListableBeanFactory + +ListableBeanFactory <|-- ApplicationContext +HierarchicalBeanFactory <|-- ApplicationContext + +ListableBeanFactory <|-- ConfigurableListableBeanFactory +AutowireCapableBeanFactory <|-- ConfigurableListableBeanFactory +ConfigurableBeanFactory <|-- ConfigurableListableBeanFactory + +AutowireCapableBeanFactory <|.. AbstractAutowireCapableBeanFactory +AbstractBeanFactory <|-- AbstractAutowireCapableBeanFactory + +AbstractAutowireCapableBeanFactory <|-- DefaultListableBeanFactory +ConfigurableListableBeanFactory <|.. DefaultListableBeanFactory + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.puml new file mode 100644 index 000000000000..be3f2f4062d0 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.puml @@ -0,0 +1,42 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""AutowiredAnnotationBeanPostProcessor"" 继承体系** + +interface BeanPostProcessor { + + Object postProcessBeforeInitialization(Object bean, String beanName) + + Object postProcessAfterInitialization(Object bean, String beanName) +} + +interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor { + + Object postProcessBeforeInstantiation(Class beanClass, String beanName) + + boolean postProcessAfterInstantiation(Object bean, String beanName) + + PropertyValues postProcessProperties(PropertyValues pvs, Object bean, String beanName) +} + +interface MergedBeanDefinitionPostProcessor extends BeanPostProcessor { + + void postProcessMergedBeanDefinition(RootBeanDefinition beanDefinition, Class beanType, String beanName) + + void resetBeanDefinition(String beanName) +} + +interface SmartInstantiationAwareBeanPostProcessor extends InstantiationAwareBeanPostProcessor { + + Class predictBeanType(Class beanClass, String beanName) + + Class determineBeanType(Class beanClass, String beanName) + + Constructor[] determineCandidateConstructors(Class beanClass, String beanName) + + Object getEarlyBeanReference(Object bean, String beanName) +} + +interface BeanRegistrationAotProcessor { + + BeanRegistrationAotContribution processAheadOfTime(RegisteredBean registeredBean) + + boolean isBeanExcludedFromAotProcessing() +} +note bottom of BeanRegistrationAotProcessor: Spring 6 为了 AOT 新加的。 + +class AutowiredAnnotationBeanPostProcessor implements SmartInstantiationAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, BeanRegistrationAotProcessor { + - Set> autowiredAnnotationTypes + - Map injectionMetadataCache +} +note bottom of AutowiredAnnotationBeanPostProcessor: 从此图可以看出, ""AutowiredAnnotationBeanPostProcessor"" 是一个 ""BeanPostProcessor""。\n由此可知, ""AutowiredAnnotationBeanPostProcessor"" 是在 Spring Bean 初始化时,发挥作用。 + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanFactoryPostProcessor.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanFactoryPostProcessor.puml new file mode 100644 index 000000000000..d15f9e441f36 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanFactoryPostProcessor.puml @@ -0,0 +1,49 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanFactoryPostProcessor 继承关系** + + +interface BeanFactoryPostProcessor { + + void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) +} + +interface BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor { + + void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) +} + +class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPostProcessor, PriorityOrdered + +class CustomAutowireConfigurer implements BeanFactoryPostProcessor, Ordered + +class CustomEditorConfigurer implements BeanFactoryPostProcessor, Ordered + +class CustomScopeConfigurer implements BeanFactoryPostProcessor, Ordered + +class DeprecatedBeanWarner implements BeanFactoryPostProcessor + +class EventListenerMethodProcessor implements BeanFactoryPostProcessor + +abstract class PropertyResourceConfigurer extends PropertiesLoaderSupport implements BeanFactoryPostProcessor, PriorityOrdered { + - order = Ordered.LOWEST_PRECEDENCE +} + +abstract class PlaceholderConfigurerSupport extends PropertyResourceConfigurer + +class PreferencesPlaceholderConfigurer <> + +class PreferencesPlaceholderConfigurer extends PropertyPlaceholderConfigurer + +class PropertyOverrideConfigurer extends PropertyResourceConfigurer + +class "~PropertyPlaceholderConfigurer~" as PropertyPlaceholderConfigurer <> + +class PropertyPlaceholderConfigurer extends PlaceholderConfigurerSupport + +class PropertySourcesPlaceholderConfigurer extends PlaceholderConfigurerSupport + +PreferencesPlaceholderConfigurer .left.> PropertySourcesPlaceholderConfigurer : 推荐 +PropertyPlaceholderConfigurer .left.> PropertySourcesPlaceholderConfigurer : 推荐 + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanPostProcessor.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanPostProcessor.puml new file mode 100644 index 000000000000..e616e8d3a434 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.config.BeanPostProcessor.puml @@ -0,0 +1,64 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanFactory.getBean Bean 创建** + +interface BeanPostProcessor { + + + Object postProcessBeforeInitialization(Object bean, String beanName); + + + Object postProcessAfterInitialization(Object bean, String beanName); +} + + +class ServletContextAwareProcessor implements BeanPostProcessor + +interface DestructionAwareBeanPostProcessor extends BeanPostProcessor + +class ScheduledAnnotationBeanPostProcessor implements MergedBeanDefinitionPostProcessor, DestructionAwareBeanPostProcessor + +class SimpleServletPostProcessor implements DestructionAwareBeanPostProcessor + +class InitDestroyAnnotationBeanPostProcessor implements DestructionAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor, BeanRegistrationAotProcessor + +class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBeanPostProcessor implements InstantiationAwareBeanPostProcessor + +class ApplicationListenerDetector implements DestructionAwareBeanPostProcessor, MergedBeanDefinitionPostProcessor + + + + +interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor + + +class ApplicationContextAwareProcessor implements BeanPostProcessor + +class AdvisorAdapterRegistrationManager implements BeanPostProcessor + +class ImportAwareAotBeanPostProcessor implements BeanPostProcessor + +interface MergedBeanDefinitionPostProcessor extends BeanPostProcessor + + +'interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor +' +'interface SmartInstantiationAwareBeanPostProcessor extends InstantiationAwareBeanPostProcessor +' +'class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBeanPostProcessor implements InstantiationAwareBeanPostProcessor, BeanFactoryAware, Serializable +' +'abstract class AbstractAdvisingBeanPostProcessor extends ProxyProcessorSupport implements SmartInstantiationAwareBeanPostProcessor +' +'abstract class AbstractAutoProxyCreator extends ProxyProcessorSupport implements SmartInstantiationAwareBeanPostProcessor, BeanFactoryAware +' +'abstract class AbstractAdvisorAutoProxyCreator extends AbstractAutoProxyCreator +' +'class ServletContextAwareProcessor implements BeanPostProcessor +' +'interface DestructionAwareBeanPostProcessor extends BeanPostProcessor +' +'class BeanValidationPostProcessor implements BeanPostProcessor, InitializingBean +' +'class AdvisorAdapterRegistrationManager implements BeanPostProcessor + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.support.BeanDefinitionReader.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.support.BeanDefinitionReader.puml new file mode 100644 index 000000000000..c85dd29d9922 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.support.BeanDefinitionReader.puml @@ -0,0 +1,20 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **BeanDefinitionReader 继承体系** + + +interface BeanDefinitionReader +abstract class AbstractBeanDefinitionReader +class PropertiesBeanDefinitionReader +class GroovyBeanDefinitionReader +class XmlBeanDefinitionReader + +BeanDefinitionReader <|.. AbstractBeanDefinitionReader +AbstractBeanDefinitionReader <|-- PropertiesBeanDefinitionReader +AbstractBeanDefinitionReader <|-- GroovyBeanDefinitionReader +AbstractBeanDefinitionReader <|-- XmlBeanDefinitionReader + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.BeanDefinitionParser.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.BeanDefinitionParser.puml new file mode 100644 index 000000000000..fdcfed7d542c --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.BeanDefinitionParser.puml @@ -0,0 +1,36 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""PropertyPlaceholderBeanDefinitionParser"" 继承体系** + + +interface BeanDefinitionParser { + + BeanDefinition parse(Element element, ParserContext parserContext) +} + +abstract class AbstractBeanDefinitionParser implements BeanDefinitionParser { + # void registerBeanDefinition(BeanDefinitionHolder definition, BeanDefinitionRegistry registry) + + final BeanDefinition parse(Element element, ParserContext parserContext) +} +note left: 如果想自己扩展 Spring,\n可以考虑继承该类,\n减少很多不必要的麻烦。 + +abstract class AbstractSingleBeanDefinitionParser extends AbstractBeanDefinitionParser { + # final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) +} +note left: 如果单例 Bean,\n扩展该类是最佳选择。 + +abstract class AbstractPropertyLoadingBeanDefinitionParser extends AbstractSingleBeanDefinitionParser { + # void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) +} + +class PropertyPlaceholderBeanDefinitionParser extends AbstractPropertyLoadingBeanDefinitionParser { + # Class getBeanClass(Element element) + # void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) +} + +note bottom of PropertyPlaceholderBeanDefinitionParser: 从该继承关系图上来看, ""PropertyPlaceholderBeanDefinitionParser"" 是\n一个 ""BeanDefinitionParser"",将 标签处理成一个\n ""BeanDefinition"",然后后续交给 Spring 来处理。 + +abstract class AbstractSimpleBeanDefinitionParser extends AbstractSingleBeanDefinitionParser + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions.puml new file mode 100644 index 000000000000..c209886598eb --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions.puml @@ -0,0 +1,58 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **XmlBeanDefinitionReader.loadBeanDefinitions(Resource) 函数执行时序图** + + +'autonumber +skinparam sequenceMessageAlign direction + +participant XmlBeanFactory << (C,#ADD1B2) >> +participant XmlBeanDefinitionReader << (C,#ADD1B2) >> +participant EncodedResource << (C,#ADD1B2) >> +participant Resource << (I,#AB9DE1) >> +participant InputSource << (C,#ADD1B2) >> <> + + +XmlBeanFactory -> XmlBeanDefinitionReader : loadBeanDefinition(resource) +activate XmlBeanDefinitionReader + + XmlBeanDefinitionReader -> EncodedResource : new EncodedResource(resource) + activate EncodedResource + XmlBeanDefinitionReader <- EncodedResource : EncodedResource:EncodedResource + deactivate EncodedResource + + XmlBeanDefinitionReader -> XmlBeanDefinitionReader : loadBeanDefinitions(EncodedResource) + activate XmlBeanDefinitionReader + + XmlBeanDefinitionReader -> EncodedResource : getResource() + activate EncodedResource + XmlBeanDefinitionReader <-- EncodedResource : resource:Resource + deactivate EncodedResource + + XmlBeanDefinitionReader -> Resource : getInputStream() + activate Resource + XmlBeanDefinitionReader <- Resource : inputStream:InputStream + deactivate Resource + + XmlBeanDefinitionReader -> InputSource : new InputSource(inputStream) + activate InputSource + XmlBeanDefinitionReader <- InputSource : inputSource:InputSource + deactivate InputSource + + XmlBeanDefinitionReader -> XmlBeanDefinitionReader : doLoadBeanDefinitions(inputSource, EncodedResource.getResource()) + activate XmlBeanDefinitionReader + XmlBeanDefinitionReader --> XmlBeanDefinitionReader : loadedBeanDefinitionNum:int + deactivate XmlBeanDefinitionReader + + XmlBeanDefinitionReader -> XmlBeanDefinitionReader + deactivate XmlBeanDefinitionReader + + ||| + +XmlBeanFactory <- XmlBeanDefinitionReader : loadedBeanDefinitionNum:int +deactivate XmlBeanDefinitionReader + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanFactory.puml b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanFactory.puml new file mode 100644 index 000000000000..d72b0596aace --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.beans.factory.xml.XmlBeanFactory.puml @@ -0,0 +1,30 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **XmlBeanFactory 初始化时序图** + + +autonumber + +participant beanFactoryTest <> +participant classPathResource <> +participant xmlBeanFactory <> +participant xmlBeanDefinitionReader <> + +beanFactoryTest -> classPathResource : new ClassPathResource("beanFactory.xml") +activate classPathResource +beanFactoryTest <-- classPathResource : resource:Resource +deactivate classPathResource + +beanFactoryTest -> xmlBeanFactory : new XmlBeanFactory(resource) +activate xmlBeanFactory + xmlBeanFactory -> xmlBeanDefinitionReader : loadBeanDefinitions(resource) + activate xmlBeanDefinitionReader + xmlBeanFactory <- xmlBeanDefinitionReader : loadedBeanDefinitionNum:int + deactivate xmlBeanDefinitionReader +beanFactoryTest <- xmlBeanFactory : beanFactory +deactivate xmlBeanFactory + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationContext.puml b/truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationContext.puml new file mode 100644 index 000000000000..782ea1b541f0 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationContext.puml @@ -0,0 +1,45 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **ApplicationContext 继承体系** + + +interface BeanFactory +interface HierarchicalBeanFactory +interface ListableBeanFactory + +BeanFactory <|-- HierarchicalBeanFactory +BeanFactory <|-- ListableBeanFactory + +ListableBeanFactory <|-- ApplicationContext +HierarchicalBeanFactory <|-- ApplicationContext + +interface ConfigurableApplicationContext extends ApplicationContext +interface WebApplicationContext extends ApplicationContext +abstract class AbstractApplicationContext implements ConfigurableApplicationContext +abstract class AbstractRefreshableApplicationContext extends AbstractApplicationContext +interface ConfigurablePortletApplicationContext extends WebApplicationContext, ConfigurableApplicationContext +abstract class AbstractRefreshableConfigApplicationContext extends AbstractRefreshableApplicationContext +interface ConfigurableWebApplicationContext extends WebApplicationContext, ConfigurableApplicationContext +class GenericApplicationContext extends AbstractApplicationContext +abstract class AbstractRefreshablePortletApplicationContext extends AbstractRefreshableConfigApplicationContext implements WebApplicationContext, ConfigurablePortletApplicationContext +class StaticPortletApplicationContext extends StaticApplicationContext implements ConfigurablePortletApplicationContext +abstract class AbstractRefreshableWebApplicationContext extends AbstractRefreshableConfigApplicationContext implements ConfigurableWebApplicationContext +abstract class AbstractXmlApplicationContext extends AbstractRefreshableConfigApplicationContext +class StaticWebApplicationContext extends StaticApplicationContext implements ConfigurableWebApplicationContext +class GenericWebApplicationContext extends GenericApplicationContext implements ConfigurableWebApplicationContext +class GenericXmlApplicationContext extends GenericApplicationContext +class AnnotationConfigApplicationContext extends GenericApplicationContext +class XmlPortletApplicationContext extends AbstractRefreshablePortletApplicationContext +class ComplexPortletApplicationContext extends StaticPortletApplicationContext +class XmlWebApplicationContext extends AbstractRefreshableWebApplicationContext +class GroovyWebApplicationContext extends AbstractRefreshableWebApplicationContext +class AnnotationConfigWebApplicationContext extends AbstractRefreshableWebApplicationContext +class ClassPathXmlApplicationContext extends AbstractXmlApplicationContext +class FileSystemXmlApplicationContext extends AbstractXmlApplicationContext +class ComplexWebApplicationContext extends StaticWebApplicationContext +class SimpleWebApplicationContext extends StaticWebApplicationContext + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationEvent.puml b/truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationEvent.puml new file mode 100644 index 000000000000..3a4214a2a1d9 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.context.ApplicationEvent.puml @@ -0,0 +1,80 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""ApplicationEvent"" 继承体系** + +class EventObject implements java.io.Serializable { + # Object source + + Object getSource() +} + +abstract class ApplicationEvent extends EventObject { + - long timestamp + + long getTimestamp() +} + +abstract class ApplicationContextEvent extends ApplicationEvent + +class ContextStartedEvent extends ApplicationContextEvent + +class ContextRefreshedEvent extends ApplicationContextEvent + +class ContextStoppedEvent extends ApplicationContextEvent + +class ContextClosedEvent extends ApplicationContextEvent + +interface ResolvableTypeProvider { + + ResolvableType getResolvableType() +} + +class PayloadApplicationEvent extends ApplicationEvent implements ResolvableTypeProvider { + - T payload + - ResolvableType payloadType + + ResolvableType getResolvableType() + + T getPayload() +} + +class RequestHandledEvent extends ApplicationEvent { + - String sessionId + - String userName + - long processingTimeMillis + - Throwable failureCause + + long getProcessingTimeMillis() + + String getSessionId() + + String getUserName() + + boolean wasFailure() + + Throwable getFailureCause() +} + +class ServletRequestHandledEvent extends RequestHandledEvent { + - String requestUrl + - String clientAddress + - String method + - String servletName + - int statusCode + + String getRequestUrl() + + String getClientAddress() + + String getMethod() + + String getServletName() + + int getStatusCode() +} + +abstract class AbstractSubProtocolEvent extends ApplicationEvent { + - Message message + - Principal user + + Message getMessage() + + Principal getUser() +} + +class SessionConnectedEvent extends AbstractSubProtocolEvent +class SessionConnectEvent extends AbstractSubProtocolEvent +class SessionDisconnectEvent extends AbstractSubProtocolEvent +class SessionSubscribeEvent extends AbstractSubProtocolEvent +class SessionUnsubscribeEvent extends AbstractSubProtocolEvent + +class EmailReceivedEvent extends ApplicationEvent + +class BrokerAvailabilityEvent extends ApplicationEvent + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser-parse.puml b/truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser-parse.puml new file mode 100644 index 000000000000..bba86b7632c1 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser-parse.puml @@ -0,0 +1,47 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""PropertyPlaceholderBeanDefinitionParser - parse"" 时序图 ** + + +actor Actor + +Actor -> AbstractBeanDefinitionParser: parse +activate AbstractBeanDefinitionParser +note right: 实际调用的是 ""PropertyPlaceholderBeanDefinitionParser.parse"" 方法,\n而写 ""AbstractBeanDefinitionParser"",是因为方法就在 ""AbstractBeanDefinitionParser"" 里实现的。 + + AbstractBeanDefinitionParser -> AbstractSingleBeanDefinitionParser: parseInternal + activate AbstractSingleBeanDefinitionParser + + AbstractSingleBeanDefinitionParser -> PropertyPlaceholderBeanDefinitionParser:getBeanClass + activate PropertyPlaceholderBeanDefinitionParser + ||| + AbstractSingleBeanDefinitionParser <- PropertyPlaceholderBeanDefinitionParser:PropertySourcesPlaceholderConfigurer.class + deactivate PropertyPlaceholderBeanDefinitionParser + + AbstractSingleBeanDefinitionParser -> PropertyPlaceholderBeanDefinitionParser:doParse + activate PropertyPlaceholderBeanDefinitionParser + note right: 使用 ""super.doParse"" 调用\n""AbstractPropertyLoadingBeanDefinitionParser""\n中的 ""doParse"" 方法 + + PropertyPlaceholderBeanDefinitionParser -> AbstractPropertyLoadingBeanDefinitionParser:doParse + activate AbstractPropertyLoadingBeanDefinitionParser + note left: 读取 ""location"" 属性 + ||| + PropertyPlaceholderBeanDefinitionParser <- AbstractPropertyLoadingBeanDefinitionParser + deactivate AbstractPropertyLoadingBeanDefinitionParser + + AbstractSingleBeanDefinitionParser <- PropertyPlaceholderBeanDefinitionParser + deactivate PropertyPlaceholderBeanDefinitionParser + + AbstractBeanDefinitionParser <- AbstractSingleBeanDefinitionParser + deactivate AbstractSingleBeanDefinitionParser + + AbstractBeanDefinitionParser -> AbstractBeanDefinitionParser:registerBeanDefinition + note right: 注册 ""BeanDefinition"" + +Actor <- AbstractBeanDefinitionParser +deactivate AbstractBeanDefinitionParser + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser.puml b/truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser.puml new file mode 100644 index 000000000000..d6267f4bcc13 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.context.config.PropertyPlaceholderBeanDefinitionParser.puml @@ -0,0 +1,32 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""PropertyPlaceholderBeanDefinitionParser"" 继承体系** + + +interface BeanDefinitionParser { + + BeanDefinition parse(Element element, ParserContext parserContext) +} + +abstract class AbstractBeanDefinitionParser implements BeanDefinitionParser { + # void registerBeanDefinition(BeanDefinitionHolder definition, BeanDefinitionRegistry registry) + + final BeanDefinition parse(Element element, ParserContext parserContext) +} + +abstract class AbstractSingleBeanDefinitionParser extends AbstractBeanDefinitionParser { + # final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) +} + +abstract class AbstractPropertyLoadingBeanDefinitionParser extends AbstractSingleBeanDefinitionParser { + # void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) +} + +class PropertyPlaceholderBeanDefinitionParser extends AbstractPropertyLoadingBeanDefinitionParser { + # Class getBeanClass(Element element) + # void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) +} + +note bottom of PropertyPlaceholderBeanDefinitionParser: 从该继承关系图上来看, ""PropertyPlaceholderBeanDefinitionParser"" 是\n一个 ""BeanDefinitionParser"",将 标签处理成一个\n ""BeanDefinition"",然后后续交给 Spring 来处理。 + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.context.support.PropertySourcesPlaceholderConfigurer.puml b/truman/src/docs/asciidoc/puml/org.springframework.context.support.PropertySourcesPlaceholderConfigurer.puml new file mode 100644 index 000000000000..c0016998b755 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.context.support.PropertySourcesPlaceholderConfigurer.puml @@ -0,0 +1,24 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **""PropertySourcesPlaceholderConfigurer"" 继承体系** + + +abstract class PropertiesLoaderSupport { + # Properties[] localProperties + - Resource[] locations +} + +interface BeanFactoryPostProcessor { + + void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) +} + +abstract class PropertyResourceConfigurer extends PropertiesLoaderSupport implements BeanFactoryPostProcessor + +abstract class PlaceholderConfigurerSupport extends PropertyResourceConfigurer + +class PropertySourcesPlaceholderConfigurer extends PlaceholderConfigurerSupport +note bottom of PropertySourcesPlaceholderConfigurer: 从该继承关系图上来看, ""PropertySourcesPlaceholderConfigurer"" 是一个\n ""BeanFactoryPostProcessor""。根据 ""BeanFactoryPostProcessor"" 的特性\n可知,它会在 Spring 容器初始化时、Bean 创建之前,完成对占位符的处理。 + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.core.AliasRegistry.puml b/truman/src/docs/asciidoc/puml/org.springframework.core.AliasRegistry.puml new file mode 100644 index 000000000000..16eb27f3d814 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.core.AliasRegistry.puml @@ -0,0 +1,23 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **AliasRegistry 继承体系** +' 删除去不必要的某些类 + +class SimpleAliasRegistry implements AliasRegistry + +interface BeanDefinitionRegistry extends AliasRegistry + +class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements SingletonBeanRegistry + +class SimpleBeanDefinitionRegistry extends SimpleAliasRegistry implements BeanDefinitionRegistry + +class FactoryBeanRegistrySupport extends DefaultSingletonBeanRegistry + +class DefaultListableBeanFactory implements BeanDefinitionRegistry + +class GenericApplicationContext extends AbstractApplicationContext implements BeanDefinitionRegistry + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.core.env.PropertyResolver.puml b/truman/src/docs/asciidoc/puml/org.springframework.core.env.PropertyResolver.puml new file mode 100644 index 000000000000..638ba8258c63 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.core.env.PropertyResolver.puml @@ -0,0 +1,28 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **PropertyResolver 继承体系** +' 删除去不必要的某些类 + +interface PropertyResolver + +interface ConfigurablePropertyResolver extends PropertyResolver + +abstract class AbstractPropertyResolver implements ConfigurablePropertyResolver + +class PropertySourcesPropertyResolver extends AbstractPropertyResolver + +interface Environment extends PropertyResolver + +interface ConfigurableEnvironment extends Environment, ConfigurablePropertyResolver + +interface ConfigurableWebEnvironment extends ConfigurableEnvironment + +abstract class AbstractEnvironment implements ConfigurableEnvironment + +class StandardEnvironment extends AbstractEnvironment + +class StandardServletEnvironment extends StandardEnvironment implements ConfigurableWebEnvironment + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/org.springframework.core.io.Resource.puml b/truman/src/docs/asciidoc/puml/org.springframework.core.io.Resource.puml new file mode 100644 index 000000000000..43c68c4a22aa --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.core.io.Resource.puml @@ -0,0 +1,78 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **Resource 继承体系** + + +interface InputStreamSource +interface Resource +abstract class AbstractResource +interface WritableResource +class InputStreamResource +class DescriptiveResource +class ByteArrayResource +abstract class AbstractFileResolvingResource +class FileSystemResource +class PathResource +class UrlResource +interface ContextResource +class ClassPathResource +class FileSystemContextResource +class ClassRelativeContextResource +class ClassPathContextResource +class VfsResource + +class EncodedResource + +class BeanDefinitionResource + +class TransformedResource + +class ServletContextResource + +class PortletContextResource + + +InputStreamSource <|-- Resource +InputStreamSource <|.. EncodedResource + +Resource <|.. AbstractResource + +Resource <|-- WritableResource +AbstractResource <|-right- InputStreamResource +AbstractResource <|-- VfsResource +AbstractResource <|-- DescriptiveResource +AbstractResource <|-- ByteArrayResource +AbstractResource <|-- AbstractFileResolvingResource +AbstractResource <|-left- BeanDefinitionResource + +WritableResource <|.. FileSystemResource +AbstractResource <|-- FileSystemResource + +WritableResource <|.. PathResource +AbstractResource <|-- PathResource + +ByteArrayResource <|-- TransformedResource + +AbstractFileResolvingResource <|-- UrlResource +Resource <|-- ContextResource +AbstractFileResolvingResource <|-- ClassPathResource + +ContextResource <|.. FileSystemContextResource +FileSystemResource <|-- FileSystemContextResource + +ContextResource <|.. ServletContextResourceLoader +AbstractFileResolvingResource <|-- ServletContextResource + +ContextResource <|.. PortletContextResource +AbstractFileResolvingResource <|-- PortletContextResource + +ContextResource <|.. ClassRelativeContextResource +ClassPathResource <|-- ClassRelativeContextResource + +ContextResource <|.. ClassPathContextResource +ClassPathResource <|-- ClassPathContextResource + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/puml/org.springframework.dao.DataAccessException.puml b/truman/src/docs/asciidoc/puml/org.springframework.dao.DataAccessException.puml new file mode 100644 index 000000000000..19b732bb9a8e --- /dev/null +++ b/truman/src/docs/asciidoc/puml/org.springframework.dao.DataAccessException.puml @@ -0,0 +1,141 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **DataAccessException 继承体系** + + +abstract class NestedRuntimeException extends RuntimeException { + + NestedRuntimeException(String msg) + + NestedRuntimeException(String msg, Throwable cause) + .. + + Throwable getRootCause() + + Throwable getMostSpecificCause() + + boolean contains(Class exType) +} + +abstract class DataAccessException extends NestedRuntimeException { + + DataAccessException(String msg) + + DataAccessException(String msg, Throwable cause) +} + +abstract class NonTransientDataAccessException extends DataAccessException + +abstract class TransientDataAccessException extends DataAccessException + +class RecoverableDataAccessException extends DataAccessException + +abstract class r2dbc.ScriptException extends DataAccessException + +abstract class ScriptException extends DataAccessException + +class ConnectionFactoryLookupFailureException extends NonTransientDataAccessException + +class CleanupFailureDataAccessException extends NonTransientDataAccessException + +class DataIntegrityViolationException extends NonTransientDataAccessException + +class DataSourceLookupFailureException extends NonTransientDataAccessException + +class InvalidDataAccessResourceUsageException extends NonTransientDataAccessException + +class NonTransientDataAccessResourceException extends NonTransientDataAccessException + +abstract class UncategorizedDataAccessException extends NonTransientDataAccessException + +class InvalidDataAccessApiUsageException extends NonTransientDataAccessException + +class PermissionDeniedDataAccessException extends NonTransientDataAccessException + +class DataRetrievalFailureException extends NonTransientDataAccessException + +class TransientDataAccessResourceException extends TransientDataAccessException + +class ConcurrencyFailureException extends TransientDataAccessException + +class QueryTimeoutException extends TransientDataAccessException + +class r2dbc.ScriptParseException extends r2dbc.ScriptException + +class r2dbc.UncategorizedScriptException extends r2dbc.ScriptException + +class r2dbc.CannotReadScriptException extends r2dbc.ScriptException + +class r2dbc.ScriptStatementFailedException extends r2dbc.ScriptException + +class CannotReadScriptException extends ScriptException + +class ScriptParseException extends ScriptException + +class ScriptStatementFailedException extends ScriptException + +class UncategorizedScriptException extends ScriptException + +class DuplicateKeyException extends DataIntegrityViolationException + +class HibernateQueryException extends InvalidDataAccessResourceUsageException + +class TypeMismatchDataAccessException extends InvalidDataAccessResourceUsageException + +class r2dbc.BadSqlGrammarException extends InvalidDataAccessResourceUsageException + +class InvalidResultSetAccessException extends InvalidDataAccessResourceUsageException + +class BadSqlGrammarException extends InvalidDataAccessResourceUsageException + +class IncorrectUpdateSemanticsDataAccessException extends InvalidDataAccessResourceUsageException + +class JdbcUpdateAffectedIncorrectNumberOfRowsException extends IncorrectUpdateSemanticsDataAccessException + + +class DataAccessResourceFailureException extends NonTransientDataAccessResourceException + +class CannotGetJdbcConnectionException extends DataAccessResourceFailureException + +class UncategorizedR2dbcException extends UncategorizedDataAccessException + +class JpaSystemException extends UncategorizedDataAccessException + +class SQLWarningException extends UncategorizedDataAccessException + +class UncategorizedSQLException extends UncategorizedDataAccessException + +class HibernateJdbcException extends UncategorizedDataAccessException + +class HibernateSystemException extends UncategorizedDataAccessException + +class SqlXmlFeatureNotImplementedException extends InvalidDataAccessApiUsageException + +class IncorrectResultSizeDataAccessException extends DataRetrievalFailureException + +class EmptyResultDataAccessException extends IncorrectResultSizeDataAccessException + +class IncorrectResultSetColumnCountException extends DataRetrievalFailureException + +class ObjectRetrievalFailureException extends DataRetrievalFailureException + +class JpaObjectRetrievalFailureException extends ObjectRetrievalFailureException + +class HibernateObjectRetrievalFailureException extends ObjectRetrievalFailureException + +class LobRetrievalFailureException extends DataRetrievalFailureException + +class PessimisticLockingFailureException extends ConcurrencyFailureException + +class DeadlockLoserDataAccessException extends PessimisticLockingFailureException + +class CannotSerializeTransactionException extends PessimisticLockingFailureException + +class CannotAcquireLockException extends PessimisticLockingFailureException + +class OptimisticLockingFailureException extends ConcurrencyFailureException + +class ObjectOptimisticLockingFailureException extends OptimisticLockingFailureException + +class HibernateOptimisticLockingFailureException extends ObjectOptimisticLockingFailureException + +class JpaOptimisticLockingFailureException extends ObjectOptimisticLockingFailureException + + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml diff --git a/truman/src/docs/asciidoc/puml/read-xml.puml b/truman/src/docs/asciidoc/puml/read-xml.puml new file mode 100644 index 000000000000..cb8f2d79faf2 --- /dev/null +++ b/truman/src/docs/asciidoc/puml/read-xml.puml @@ -0,0 +1,71 @@ +@startuml +header D瓜哥 · ""https://www.diguage.com"" + +title **XML 读取涉及的相关类及继承关系** +header D瓜哥 · ""https://www.diguage.com"" + +abstract class AbstractApplicationContext extends DefaultResourceLoader implements ConfigurableApplicationContext + +abstract class AbstractRefreshableApplicationContext extends AbstractApplicationContext { + # {abstract} void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) +} + +abstract class AbstractRefreshableConfigApplicationContext extends AbstractRefreshableApplicationContext + +abstract class AbstractXmlApplicationContext extends AbstractRefreshableConfigApplicationContext { + # void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) + # void loadBeanDefinitions(XmlBeanDefinitionReader reader) +} + +interface BeanDefinitionReader { + + {abstract} int loadBeanDefinitions(Resource resource) + + {abstract} int loadBeanDefinitions(Resource... resources) + + {abstract} int loadBeanDefinitions(String location) + + {abstract} int loadBeanDefinitions(String... locations) +} + +abstract class AbstractBeanDefinitionReader implements BeanDefinitionReader { + + int loadBeanDefinitions(Resource resource) + + int loadBeanDefinitions(Resource... resources) + + int loadBeanDefinitions(String location) + + int loadBeanDefinitions(String... locations) + + int loadBeanDefinitions(String location, @Nullable Set actualResources) +} + +class XmlBeanDefinitionReader extends AbstractBeanDefinitionReader { + + int loadBeanDefinitions(Resource resource) + # int doLoadBeanDefinitions(InputSource inputSource, Resource resource) +} + +AbstractXmlApplicationContext o-right-> XmlBeanDefinitionReader : 调用 + +interface BeanDefinitionDocumentReader { + + {abstract} void registerBeanDefinitions(Document doc, XmlReaderContext readerContext) +} + +class DefaultBeanDefinitionDocumentReader implements BeanDefinitionDocumentReader { + # void doRegisterBeanDefinitions(Element root) + # void preProcessXml(Element root) + # void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) + # void postProcessXml(Element root) + - void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) + # void importBeanDefinitionResource(Element ele) + # void processAliasRegistration(Element ele) + # void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) +} + +XmlBeanDefinitionReader o-right-> DefaultBeanDefinitionDocumentReader : 调用 + +class BeanDefinitionParserDelegate { + + boolean isDefaultNamespace(Node node) + + boolean nodeNameEquals(Node node, String desiredName) + + BeanDefinitionHolder parseBeanDefinitionElement(Element ele) + + BeanDefinition parseCustomElement(Element ele) +} +note bottom of BeanDefinitionParserDelegate: XML 的解析在这里完成 + +DefaultBeanDefinitionDocumentReader o-right-> BeanDefinitionParserDelegate : 调用 + + +footer D瓜哥 · ""https://www.diguage.com"" · 出品 +@enduml \ No newline at end of file diff --git a/truman/src/docs/asciidoc/questions.adoc b/truman/src/docs/asciidoc/questions.adoc new file mode 100644 index 000000000000..27a2179dc05f --- /dev/null +++ b/truman/src/docs/asciidoc/questions.adoc @@ -0,0 +1,4 @@ += 待解问题 + +. Spring 中的事件发布和处理的处理流程是一个什么样的?有哪些实质性的使用场景或案例? +. Spring 在关闭时,还未提交的事务,怎么处理? \ No newline at end of file diff --git a/truman/src/docs/asciidoc/references.adoc b/truman/src/docs/asciidoc/references.adoc new file mode 100644 index 000000000000..f8fbd6db3412 --- /dev/null +++ b/truman/src/docs/asciidoc/references.adoc @@ -0,0 +1,43 @@ +[appendix] += 参考资料 + +[[tips-refer]] +== Spring + +. https://blog.csdn.net/chjttony/article/details/6286144[Spring基于 Annotation 的简单介绍 - Tony Chen的专栏 - 博客频道 - CSDN.NET] +. https://stackoverflow.com/questions/11324372/how-to-make-spring-inject-value-into-a-static-field/11324464#11324464[java - How to make spring inject value into a static field - Stack Overflow] +. https://stackoverflow.com/questions/6990767/inject-bean-reference-into-a-quartz-job-in-spring[inject bean reference into a Quartz job in Spring? - Stack Overflow] +. https://fanshuyao.iteye.com/blog/2309702[Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群 - 蕃薯耀 - ITeye技术网站] +. https://fanshuyao.iteye.com/blog/2309223[Spring定时任务,Spring4整合quartz2.2,quartz-scheduler定时任务 - 蕃薯耀 - ITeye技术网站] + + +[[uml-refer]] +== UML + +. https://my.oschina.net/u/735642/blog/647205[Java异常的统一返回处理 - 边号007的个人空间 - 开源中国社区] +. https://my.oschina.net/kaywu123/blog/614325?fromerr=3jGbYlhw[Spring 源码分析(二) —— 核心容器 - 水门-kay的个人页面 - 开源中国社区] +. https://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html[UML建模之时序图(Sequence Diagram) - 灵动生活 - 博客园] +. https://blog.51cto.com/smartlife/284874[UML建模之时序图(Sequence Diagram) - 灵动生活 - 51CTO技术博客] +. https://blog.csdn.net/shulianghan/article/details/17927131[【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解 - 让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) - 博客频道 - CSDN.NET] +. http://www.uml.org.cn/oobject/201009081.asp[UML建模之时序图(Sequence Diagram)] +. https://www.sparxsystems.cn/resources/uml2_tutorial/uml2_sequencediagram.html[Sparx Systems - UML 2 教程 - 顺序图] +. https://msdn.microsoft.com/zh-cn/library/dd409377.aspx[UML 序列图:参考] +. https://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/3101.html[UML 基础: 序列图] +. https://conglang.github.io/2015/02/04/uml_class_sequence/[UML类图与序列图 ] +. https://conglang.github.io/img/class_diagram_class.jpg[class_diagram_class.jpg (563×138)] +. https://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html[UML类图符号 各种关系说明以及举例 - duanxz - 博客园] +. https://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html[UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合) - 明明的天天 - 博客园] +. https://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/[UML 基础: 类图] +. http://www.uml.org.cn/oobject/201211231.asp[深入浅出UML类图] + +[[environment-refer]] +== 环境配置 + +* https://stackoverflow.com/questions/34332580/run-gradle-test-and-not-junit-test-in-intellij-idea-15-when-choosing-configurati[Run Gradle test and not Junit test in IntelliJ IDEA 15 when choosing configuration type to run with] + +[[xml-refer]] +== XML + +. https://www.w3school.com.cn/xml/index.asp[XML 教程] +. https://www.w3school.com.cn/dtd/index.asp[DTD 教程] +. https://www.w3school.com.cn/schema/index.asp[Schema 教程] diff --git a/truman/src/docs/asciidoc/resource.adoc b/truman/src/docs/asciidoc/resource.adoc new file mode 100644 index 000000000000..a681e45b0c4a --- /dev/null +++ b/truman/src/docs/asciidoc/resource.adoc @@ -0,0 +1,24 @@ +[#resource] += 资源加载 与 Resource + +`ResourceLoader` 也是一种策略模式,加载资源的策略。 + +plantuml::{includedir}/puml/Resource-ResourceLoader.puml[{diagram_attr}] + +`classpath*:` 与 `classpath:` 的唯一区别就在于,如果能够在 classpath 中找到多个指定的资源,则返回多个。 + + +`ApplicationContext` 继承了 `ResourcePatternResolver`,当 然就间接实现了 `ResourceLoader` 接口。所以,任何的 `ApplicationContext` 实现都可以看作是一个 `ResourceLoader` 甚至 `ResourcePatternResolver`。而这就是 `ApplicationContext` 支持 Spring 内统一资源加载策略的真相。 + +plantuml::{includedir}/puml/ResourceLoader-ApplicationContext.puml[{diagram_attr}] + +`AbstractApplicationContext` 继承了 `DefaultResourceLoader`,那么,它的 `getResource(String)` 当然就直接用 `DefaultResourceLoader` 的了。 + +`AbstractApplicationContext` 类的内 部声明有一个 `resourcePatternResolver`,类型是 `ResourcePatternResolver`,对应的实例类型为 `PathMatchingResourcePatternResolver`。 + +`ApplicationContext` 的实现类在作为 `ResourceLoader` 或者 `ResourcePatternResolver` 时候的行为,完全就是委派给了 `PathMatchingResourcePatternResolver` 和 `DefaultResourceLoader` 来做。 + + +`Resource` 类图 + +plantuml::{includedir}/puml/org.springframework.core.io.Resource.puml[{diagram_attr}] diff --git a/truman/src/docs/asciidoc/scheduler.adoc b/truman/src/docs/asciidoc/scheduler.adoc new file mode 100644 index 000000000000..a6de954a73a3 --- /dev/null +++ b/truman/src/docs/asciidoc/scheduler.adoc @@ -0,0 +1,120 @@ +[#scheduler] += 定时调度 + +[source,xml,{source_attr}] +.Spring Quartz 配置 +---- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +---- + +[source,{source_attr}] +.spring-quartz.properties +---- +include::{includedir}/spring-quartz.properties[] +---- + +[source,java,{source_attr}] +.定时任务的实现 +---- +/** + * @author D瓜哥,http://www.diguage.com/ + * @since 2016-11-28 16:53 + */ +public class SnapInventoryQuartzJobBean extends QuartzJobBean implements ApplicationContextAware { + private CityService cityService; + + private ItemDao itemDao; + + private WmsInventoryService wmsInventoryService; + + /** 将 Sku 的库存更新到 sku 表中,方便取用。 仅仅在不重要的查询中使用。 */ + @Override + protected void executeInternal(JobExecutionContext context) throws JobExecutionException { + // 查询每个城市 + List cityList = cityService.findAll(); + + for (City city : cityList) { + // 根据城市查询出在线的Item对应的itemId 和 skuId + List itemList = itemDao.findByCityId(city.getId(), Constants.ITEM_ONLINE); + if (CollectionUtils.isEmpty(itemList)) { + continue; + } + // 获取每个Item的库存 + Set skuIds = Sets.newHashSetWithExpectedSize(itemList.size()); + Map skuIdToItemMap = Maps.newHashMapWithExpectedSize(itemList.size()); + for (Item item : itemList) { + skuIds.add(item.getSkuId()); + skuIdToItemMap.put(item.getSkuId(), item); + } + Map skuIdToInvertoryMap = + wmsInventoryService.checkSkuOnSalesBySiteId(skuIds, city.getId()); + + // 将库存更新到 Item 表中 + for (Item item : itemList) { + SkuForSales inventory = skuIdToInvertoryMap.get(item.getSkuId()); + skuIdToItemMap.get(item.getSkuId()).setSnapInventory(inventory.getCount()); + } + itemDao.batchUpdateSnapInvertory(itemList); + } + } + + /** + * 处理办法借鉴 + * http://stackoverflow.com/questions/6990767/inject-bean-reference-into-a-quartz-job-in-spring + * + * @param applicationContext ApplicationContext 实例 + * @throws BeansException 异常 + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.cityService = applicationContext.getBean(CityService.class); + this.itemDao = applicationContext.getBean(ItemDao.class); + this.wmsInventoryService = applicationContext.getBean(WmsInventoryService.class); + } +} +---- + +TIP: 注意这里实现的 `ApplicationContextAware` 接口。由于不能依赖不能注入进来,只能通过这种方式来获取。 + +[source,sql,{source_attr}] +.MySQL 相关脚本 +---- +include::{includedir}/tables_mysql_innodb.sql[] +---- + +TIP: 这是 Quartz 2.2.3 提供的脚本。可以从它的分发包中获取更多数据库支持的脚本。 diff --git a/truman/src/docs/asciidoc/seqdiag/AbstractApplicationContext-refresh.diag b/truman/src/docs/asciidoc/seqdiag/AbstractApplicationContext-refresh.diag new file mode 100644 index 000000000000..8a830626754d --- /dev/null +++ b/truman/src/docs/asciidoc/seqdiag/AbstractApplicationContext-refresh.diag @@ -0,0 +1,33 @@ +seqdiag { + edge_length = 200; + span_height = 20; + span_width = 300; + + "Actor" => "AbstractApplicationContext" [label = "refresh\n重塑容器"] { + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "prepareRefresh\n准备环境"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "obtainFreshBeanFactory\n获取BeanFactory"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "prepareBeanFactory\n准备 BeanFactory"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "postProcessBeanFactory\n对 BeanFactory 做后期处理", note = "\n预留扩展点\n目前是空实现\n_"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "invokeBeanFactoryPostProcessors\n调用 BeanFactoryPostProcessor 的 \npostProcessBeanFactory 方法"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "registerBeanPostProcessors\n注册 BeanPostProcessor"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "initMessageSource\n初始化 MessageSource", note = "\n国际化相关\n_"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "initApplicationEventMulticaster\n初始化应用事件广播器"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "onRefresh", note = "\n在 Web 容器中\n完成 DispatchServlet 九大组件的注册\n_"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "registerListeners\n注册事件监听器"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "finishBeanFactoryInitialization\n完成预初始化", note = "\n完成单例Bean实例化\n_"]; + + "AbstractApplicationContext" -> "AbstractApplicationContext" [label = "finishRefresh\n完成重塑", note = "\n删除一些不必要的配置信息\n_"]; + } + +=== D瓜哥 · https://www.diguage.com · 出品 === +} \ No newline at end of file diff --git a/truman/src/docs/asciidoc/spring-quartz.properties b/truman/src/docs/asciidoc/spring-quartz.properties new file mode 100644 index 000000000000..666fd9040da5 --- /dev/null +++ b/truman/src/docs/asciidoc/spring-quartz.properties @@ -0,0 +1,39 @@ +#============================================================== +#Configure Main Scheduler Properties +#============================================================== +org.quartz.scheduler.instanceName = quartzScheduler +org.quartz.scheduler.instanceId = AUTO + +#============================================================================ +# Configure ThreadPool +#============================================================================ + +org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool +org.quartz.threadPool.threadCount = 5 +org.quartz.threadPool.threadPriority = 5 + +#============================================================================ +# Configure JobStore +#============================================================================ + +org.quartz.jobStore.misfireThreshold = 60000 + +org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX +org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate +org.quartz.jobStore.useProperties = false +org.quartz.jobStore.dataSource = dataSource +org.quartz.jobStore.tablePrefix = QRTZ_ + +org.quartz.jobStore.isClustered = true +org.quartz.jobStore.clusterCheckinInterval = 20000 + +#============================================================================ +# Configure Datasources +#============================================================================ + +#org.quartz.dataSource.myDS.driver = oracle.jdbc.driver.OracleDriver +#org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@polarbear:1521:dev +#org.quartz.dataSource.myDS.user = quartz +#org.quartz.dataSource.myDS.password = quartz +#org.quartz.dataSource.myDS.maxConnections = 5 +#org.quartz.dataSource.myDS.validationQuery=select 0 from dual \ No newline at end of file diff --git a/truman/src/docs/asciidoc/startup-process-overview.adoc b/truman/src/docs/asciidoc/startup-process-overview.adoc new file mode 100644 index 000000000000..230968f2a1ed --- /dev/null +++ b/truman/src/docs/asciidoc/startup-process-overview.adoc @@ -0,0 +1,563 @@ += 启动流程概述 + +对于 Spring 启动流程和 Bean 的生命周期,总有一些小地方搞的不是很清楚,干脆直接通过修改代码增加日志输出,使用断点单步调试,把整个流程捋顺了一点点的。 + +除了加载配置文件或者基础配置类外,Spring 的启动过程几乎都被封装在 `AbstractApplicationContext#refresh` 方法中,可以说弄清楚了这个方法的执行过程,就摸清楚了 Spring 启动全流程,下面的流程分析也是以这个方法为骨架来展开的。 + +== 流程概要 + +下面完整流程有些太复杂,所以,提炼一个简要的过程,方便糊弄面试官,哈哈哈😆 + +. 创建容器,读取 `applicationContext.register(Config.class)` 指定的配置。 +. 准备 `BeanFactory`,注册容器本身和 `BeanFactory` 实例,以及注册环境配置信息等。 +. 执行 `BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry` 注册 `BeanDefinition`。有三点需要注意: +.. 目前只有一个 `ConfigurationClassPostProcessor` 实现类,Spring 中大量的 Bean 都是在这一步被该类注册到容器中的。 +.. 执行顺序是 ① `PriorityOrdered` ② `Ordered` ③ 普通的顺序来执行 +.. 在执行上一步是,如果发现注册了 `BeanDefinitionRegistryPostProcessor` 类型的 Bean,就会在循环里继续调用 `postProcessBeanDefinitionRegistry` 方法。MyBATIS 和 Spring 整合的 `MapperScannerConfigurer` 类就是在这一步执行的。 +. 执行 `BeanFactoryPostProcessor#postProcessBeanFactory` 方法。目前只有一个 `ConfigurationClassPostProcessor` 实现类。 +. 注册 `CommonAnnotationBeanPostProcessor` 和 `AutowiredAnnotationBeanPostProcessor` 为 `BeanPostProcessor`。 +. 注册 `ApplicationEventMulticaster`,用于广播事件的。 +. 注册 `ApplicationListener` +. 预加载以及注册所有非懒加载的 Bean + +plantuml::{includedir}/puml/AbstractApplicationContext-refresh.puml[{diagram_attr}] + +plantuml::{includedir}/puml/org.springframework.beans.factory.config.BeanFactoryPostProcessor.puml[{diagram_attr}] + +plantuml::{includedir}/puml/AbstractApplicationContext-obtainFreshBeanFactory.puml[{diagram_attr}] + +plantuml::{includedir}/puml/AbstractApplicationContext-prepareBeanFactory.puml[{diagram_attr}] + +plantuml::{includedir}/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors.puml[{diagram_attr}] + +plantuml::{includedir}/puml/AbstractApplicationContext-invokeBeanFactoryPostProcessors-2.puml[{diagram_attr}] + +plantuml::{includedir}/puml/AbstractApplicationContext-registerBeanPostProcessors.puml[{diagram_attr}] + +plantuml::{includedir}/puml/read-xml.puml[{diagram_attr}] + + +.BeanFactoryPostProcessorOrderTest.java +[{java_src_attr}] +---- +include::{truman_src_dir}/context/BeanFactoryPostProcessorFailTest.java[] +---- + +.BeanFactoryPostProcessorOrderTest.java +[{java_src_attr}] +---- +include::{truman_src_dir}/context/BeanFactoryPostProcessorOkTest.java[] +---- + +.BeanFactoryPostProcessorOrderTest.java +[{java_src_attr}] +---- +include::{truman_src_dir}/context/BeanFactoryPostProcessorOrderTest.java[] +---- + +目前, `BeanFactoryPostProcessor` 的排序和筛选,还不支持 `@Order(value = orderFactor)`,使用 `@Order` 会被当做没有设置排序因数来处理。 + + +== 完整启动流程 + +. 调用 `prepareRefresh()` 方法,初始化属性源(property source)配置。 +. 调用 `obtainFreshBeanFactory()` 获得 `ConfigurableListableBeanFactory` 对象。 +. 调用 `prepareBeanFactory`,准备 `BeanFactory`,添加必要的 Bean;添加 `ApplicationContextAwareProcessor`、`ApplicationListenerDetector` 处理器;注册环境相关的 Bean。 +. 下面通过 `AbstractApplicationContext#invokeBeanFactoryPostProcessors` 方法,开始执行 `BeanDefinitionRegistryPostProcessor` 和 `BeanFactoryPostProcessor` 相关的方法。这个方法流程起始也很简单: ++ +目前,除了用户自定义的 `BeanDefinitionRegistryPostProcessor` 和 `BeanFactoryPostProcessor` 外,Spring 内置的,只有 `ConfigurationClassPostProcessor` 一个类。所以,把这个类的实现摸清楚了,`AbstractApplicationContext#invokeBeanFactoryPostProcessors` 就可以跳过了。 ++ +.. 首先,执行 `BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry` 方法,顺序如下: +... 用户手动添加的 `BeanDefinitionRegistryPostProcessor`; +... 实现 `PriorityOrdered` 接口的 `BeanDefinitionRegistryPostProcessor`; +... 实现 `Ordered` 接口的 `BeanDefinitionRegistryPostProcessor`; +... 普通 `BeanDefinitionRegistryPostProcessor`,只要发现有新加入的,就循环调用。 +.. 然后,执行 `BeanFactoryPostProcessor#postProcessBeanFactory` 方法。顺序如下: +... 实现 `BeanDefinitionRegistryPostProcessor` 接口的类; +... 实现 `BeanFactoryPostProcessor` 接口的类。 +. 先执行用户手动添加的 `BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)` ++ +关于 `BeanDefinitionRegistryPostProcessor` 的处理流程,D瓜哥在 https://www.diguage.com/post/spring-extensions-overview/#bean-factory-post-processor[Spring 扩展点概览及实践:BeanDefinitionRegistryPostProcessor^] 中有更详细的描述,不了解的朋友请参考那篇文章的介绍。 ++ +. 创建 `ConfigurationClassPostProcessor` 对象,并针对该对象依次执行 +.. 构造函数 +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` +.. 调用用户手动添加的 `BeanPostProcessor#postProcessBeforeInitialization` 方法 +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` +.. `ApplicationListenerDetector#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` +.. 执行 `init` 方法 +.. 调用用户手动添加的 `BeanPostProcessor#postProcessAfterInitialization` 方法 +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- 由于 `ApplicationContextAwareProcessor` 并没有该方法,所以不执行。 +.. `ApplicationListenerDetector#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` +. 执行 `ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)` -- 在这里,处理 `@Configuration`、`@Import`、 `@ImportResource`、 `@Bean` 和 。 +. 执行用户手动添加的 `BeanDefinitionRegistryPostProcessor#postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` +. 执行 `ConfigurationClassPostProcessor#postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` -- 在这里给 `@Configuration` 标注的类,生成 cglib 增强后的代理类。注意:在这里,还增加了一个 `ImportAwareBeanPostProcessor` 后置处理器。 ++ +因为 `ConfigurationClassPostProcessor` 是一个 `InstantiationAwareBeanPostProcessor` 实例。所以,实例化 `ConfigurationClassPostProcessor` 对象并加入到容器后。__这句话啥意思?想想再补充一下。__ ++ +. 创建了 `EventListenerMethodProcessor` 实例,和创建 `ConfigurationClassPostProcessor` 时类似,依次执行 +.. `InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation` -- 目前有 `ImportAwareBeanPostProcessor`。 +.. 构造函数 +.. `MergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinition` -- 目前有 `ApplicationListenerDetector`。 +.. `InstantiationAwareBeanPostProcessor#postProcessAfterInstantiation` +.. `InstantiationAwareBeanPostProcessor#postProcessProperties` -- 目前有 `ImportAwareBeanPostProcessor`。 +.. `InstantiationAwareBeanPostProcessor#postProcessPropertyValues` -- 从 5.1 开始废弃,使用上面方法代替。 +.. `BeanPostProcessor#postProcessBeforeInitialization` -- 目前有 +... 用户手动添加的 `BeanPostProcessor` +... `ApplicationContextAwareProcessor` +... `ApplicationListenerDetector` +... `ImportAwareBeanPostProcessor` +.. `init` +.. `BeanPostProcessor#postProcessAfterInitialization` 方法。 -- 与 `postProcessBeforeInitialization` 相同,不再赘述。 ++ +有一点需要注意,上面增加了 `ImportAwareBeanPostProcessor` 实例,这里也会执行。以下都是如此,不再赘述。 ++ +. 实例化用户通过 `BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)` 或者 `@Configuration` 添加的 `BeanFactoryPostProcessor`,以及 Spring 自己添加的 `BeanFactoryPostProcessor`。依次执行如下方法: +.. `InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation` -- 目前有 `ImportAwareBeanPostProcessor`。 +.. Bean 的构造函数 +.. `MergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinition` -- 目前有 `ApplicationListenerDetector`。 +.. `InstantiationAwareBeanPostProcessor#postProcessAfterInstantiation` +.. `InstantiationAwareBeanPostProcessor#postProcessProperties` -- 目前有 `ImportAwareBeanPostProcessor`。 +.. `InstantiationAwareBeanPostProcessor#postProcessPropertyValues` -- 从 5.1 开始废弃,使用上面方法代替。 +.. `BeanPostProcessor#postProcessBeforeInitialization` -- 目前有 +... 用户手动添加的 `BeanPostProcessor` +... `ApplicationContextAwareProcessor` +... `ApplicationListenerDetector` +... `ImportAwareBeanPostProcessor` +.. `init` +.. `BeanPostProcessor#postProcessAfterInitialization` 方法 +. 调用上一步创建的 `BeanFactoryPostProcessor` 对象的 `postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` 方法。这里目前包含 `EventListenerMethodProcessor` 对象。`EventListenerMethodProcessor` 是 `AnnotationConfigApplicationContext()` 初始化时,创建 `new AnnotatedBeanDefinitionReader(this)` 对象时,通过调用 `AnnotationConfigUtils.registerAnnotationConfigProcessors(this.registry)` 方法注册到容器中的。 +.. 这里调用 `EventListenerMethodProcessor#postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)`,创建 `EventListenerFactory` 对象,依次执行 ++ +这个 `EventListenerFactory` 对象不重要。或者说,目前没有发现它特别重要的地方。 ++ +... `InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation` +... Bean 的构造函数 +... `MergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinition` +... `InstantiationAwareBeanPostProcessor#postProcessAfterInstantiation` +... `InstantiationAwareBeanPostProcessor#postProcessProperties` +... `InstantiationAwareBeanPostProcessor#postProcessPropertyValues` -- 从 5.1 开始废弃,使用上面方法代替。 +... `BeanPostProcessor#postProcessBeforeInitialization` +... `init` +... `BeanPostProcessor#postProcessAfterInitialization` 方法 +. 到此为止,`invokeBeanFactoryPostProcessors(beanFactory)` 方法调用完毕。 +. 下面开始调用 `registerBeanPostProcessors(beanFactory)` 方法。 +. 添加 `PostProcessorRegistrationDelegate.BeanPostProcessorChecker` 实例,以下执行 `BeanPostProcessor` 方法时,都会带上。 +. 创建 `AutowiredAnnotationBeanPostProcessor`、 `CommonAnnotationBeanPostProcessor` 对象,依次执行如下方法: +.. `InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation` -- 目前有 `ImportAwareBeanPostProcessor`。 +.. 构造函数 +.. `MergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinition` -- 目前有 `ApplicationListenerDetector`。 +.. `InstantiationAwareBeanPostProcessor#postProcessAfterInstantiation` +.. `InstantiationAwareBeanPostProcessor#postProcessProperties` +.. `InstantiationAwareBeanPostProcessor#postProcessPropertyValues` -- 从 5.1 开始废弃,使用上面方法代替。 +.. `AutowiredAnnotationBeanPostProcessor#setBeanFactory(DefaultListableBeanFactory)` -- 完成 `BeanNameAware`, `BeanClassLoaderAware`, `BeanFactoryAware` 三个 `Aware` 的注入。通过 `AbstractAutowireCapableBeanFactory#invokeAwareMethods` 方法来完成。 +.. `BeanPostProcessor#postProcessBeforeInitialization` -- 目前有 +... 用户手动添加的 `BeanPostProcessor` +... `ApplicationContextAwareProcessor` -- 完成如下六个 `Aware` 的注入: +.... `EnvironmentAware` +.... `EmbeddedValueResolverAware` +.... `ResourceLoaderAware` +.... `ApplicationEventPublisherAware` +.... `MessageSourceAware` +.... `ApplicationContextAware` +... `ApplicationListenerDetector` +... `ImportAwareBeanPostProcessor` +... `BeanPostProcessorChecker` +.. `init` +.. `BeanPostProcessor#postProcessAfterInitialization` 方法 +. 将 `AutowiredAnnotationBeanPostProcessor`、 `CommonAnnotationBeanPostProcessor` 对象注册到容器中。以下会随着 `BeanPostProcessor` 的调用,也会被执行。 +. 创建 `AnnotationAwareAspectJAutoProxyCreator` 对象,依次执行如下方法: +.. `InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation` -- 目前有如下三个: +... `ImportAwareBeanPostProcessor` +... `CommonAnnotationBeanPostProcessor` +... `AutowiredAnnotationBeanPostProcessor` +.. 构造函数 +.. `MergedBeanDefinitionPostProcessor#postProcessMergedBeanDefinition` -- 目前有如下三个: +... `ApplicationListenerDetector` +... `CommonAnnotationBeanPostProcessor` -- 收集依赖信息。 +... `AutowiredAnnotationBeanPostProcessor` -- 收集依赖信息。 +.. `InstantiationAwareBeanPostProcessor#postProcessAfterInstantiation` +.. `InstantiationAwareBeanPostProcessor#postProcessProperties` 目前有如下三个: +... `ImportAwareBeanPostProcessor` +... `CommonAnnotationBeanPostProcessor` -- 完成依赖注入。 +... `AutowiredAnnotationBeanPostProcessor` -- 完成依赖注入。 +.. `InstantiationAwareBeanPostProcessor#postProcessPropertyValues` -- 从 5.1 开始废弃,使用上面方法代替。 +.. `BeanPostProcessor#postProcessBeforeInitialization` -- 目前有 +... 用户手动添加的 `BeanPostProcessor` +... `ApplicationContextAwareProcessor` -- 完成如下六个 `Aware` 的注入: +.... `EnvironmentAware` +.... `EmbeddedValueResolverAware` +.... `ResourceLoaderAware` +.... `ApplicationEventPublisherAware` +.... `MessageSourceAware` +.... `ApplicationContextAware` +... `ApplicationListenerDetector` +... `ImportAwareBeanPostProcessor` +... `BeanPostProcessorChecker` +... `CommonAnnotationBeanPostProcessor` +... `AutowiredAnnotationBeanPostProcessor` +.. `init` +.. `BeanPostProcessor#postProcessAfterInitialization` 方法 +. 将 `AnnotationAwareAspectJAutoProxyCreator` 对象注册到容器中。以下会随着 `BeanPostProcessor` 的调用,也会被执行。 +. 重新添加 `ApplicationListenerDetector`,其实就是换了个位置,将其调整到了最后。 +. 到此为止,`registerBeanPostProcessors(beanFactory)` 方法调用完毕。 +. 调用 `initMessageSource()` 方法,注册 `MessageSource` Bean。 +. 调用 `initApplicationEventMulticaster()` 方法,注册 `SimpleApplicationEventMulticaster` 对象, +. 调用 `onRefresh()` 方法,这是空方法,方便做扩展。 +. 调用 `registerListeners()` 方法,但是似乎什么也没做。 +. 调用 `finishBeanFactoryInitialization(beanFactory)` 方法,这个方法中,最重要的一个操作就是实例化非懒加载的所有 Bean,在 `DefaultListableBeanFactory#preInstantiateSingletons` 中完成这些操作。目前,除了用户自己实现的,还有七个如下的 `BeanPostProcessor`: +.. `ApplicationContextAwareProcessor` +.. `ConfigurationClassPostProcessor` +.. `BeanPostProcessorChecker` +.. `AnnotationAwareAspectJAutoProxyCreator` +.. `CommonAnnotationBeanPostProcessor` +.. `AutowiredAnnotationBeanPostProcessor` +.. `ApplicationListenerDetector` ++ +这部分内容放在下一篇文章 https://www.diguage.com/post/spring-bean-lifecycle-overview/[Spring Bean 生命周期概述^] 再展开来讲。 ++ +. 调用 `finishRefresh()` -- 启动生命周期函数,广播刷新完成通知。具体如下: +.. 清理 `Resource` 缓存(也就是被扫描到的各种类,自定义类,以及相关父类和所实现的接口)。(像是在 `ImportSelector` 中声明的类。但是没有找到添加到缓存的地方?) +.. 注册 `LifecycleProcessor`,并通过它启动所有的 `LifecycleProcessor` 和它自身。没有看出来干什么用的? +.. 广播 `ContextRefreshedEvent` 事件。 +.. 将 `ConfigurableApplicationContext` 注册到 `LiveBeansView` 上,如果它存在的话。 +.. 清理各种缓存 +... 启动过程中的反射相关缓存,比如 `init-method`,`Aware` 相关的方法,注入需要的字段等等; +... `AnnotationFilter` 相关缓存; +... 注解元素缓存和生命周期函数(`Aware`、`InitializingBean`、`BeanFactoryPostProcessor`等)缓存清空 +... 解析类型缓存清空 +... 反省结果清空 + + +在下一篇文章 https://www.diguage.com/post/spring-bean-lifecycle-overview/[Spring Bean 生命周期概述^] 中,D瓜哥将针对 Spring Bean 的整个生命周期展开详细说明。 + +== 附录:启动日志 + +下面是启动日志。有删减,为了方便阅读,增加了序号和层次。 + +. 调用 `prepareRefresh()` 方法,初始化属性源(property source)配置。 +. 调用 `obtainFreshBeanFactory()` 获得 `ConfigurableListableBeanFactory` 对象。 +. 准备 `BeanFactory`,添加必要的 Bean,在 `prepareBeanFactory` 中完成。 +. 下面通过 `invokeBeanFactoryPostProcessors` 方法,开始执行 `BeanFactoryPostProcessor` 相关的方法 + +. `LogBeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)` -- 用户自己手动添加的 `BeanDefinitionRegistryPostProcessor` 实例 + +. 创建 `ConfigurationClassPostProcessor` Bean + +.. 构造函数 + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- `ApplicationListenerDetector` 实例是在 `prepareBeanFactory` 方法中,加入到容器中的。 + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- 用户自己手动添加 + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- 用户自己手动添加,继承默认实现。 + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- `ApplicationContextAwareProcessor` 实例是在 `prepareBeanFactory` 方法中,加入到容器中的。处理六种 `Aware` 注入。 + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- 用户自己手动添加,继承默认实现,没有任何操作。 + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` -- 继承默认实现,没有任何操作。 + +.. `ApplicationListenerDetector#postProcessAfterInitialization(ConfigurationClassPostProcessor, org.springframework.context.annotation.internalConfigurationAnnotationProcessor)` + +. `ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)` -- 在这里,处理 `@Configuration`、`@Import`、 `@ImportResource`、 `@Bean` 和 。 + +. `LogBeanDefinitionRegistryPostProcessor#postProcessBeanFactory(DefaultListableBeanFactory)` + +. `ConfigurationClassPostProcessor#postProcessBeanFactory(DefaultListableBeanFactory)` -- 在这里给 `@Configuration` 标注的类,生成 cglib 增强后的代理类。注意:在这里,还增加了一个 `ImportAwareBeanPostProcessor` 后置处理器。 ++ +因为 `ConfigurationClassPostProcessor` 是一个 `InstantiationAwareBeanPostProcessor` 实例。所以,实例化 `ConfigurationClassPostProcessor` 对象并加入到容器后。__这句话啥意思?想想再补充一下。__ ++ + +. 创建 `EventListenerMethodProcessor` Bean, Name: `org.springframework.context.event.internalEventListenerProcessor` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInstantiation(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. 构造函数 + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInstantiation(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessProperties(MutablePropertyValues, EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ApplicationListenerDetector#postProcessAfterInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInitialization(EventListenerMethodProcessor, org.springframework.context.event.internalEventListenerProcessor)` + +. 创建自定义 `LogBeanFactoryPostProcessor`,通过上面 `LogBeanDefinitionRegistryPostProcessor` 的 `postProcessBeanDefinitionRegistry` 方法添加。在这一步创建用户通过 `BeanDefinitionRegistryPostProcessor#postProcessBeanDefinitionRegistry(DefaultListableBeanFactory)` 或者 `@Configuration` 添加的 `BeanFactoryPostProcessor`,以及 Spring 自己添加的 `BeanFactoryPostProcessor` 等类的相关 Bean。 + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInstantiation(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInstantiation(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessProperties(MutablePropertyValues, LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ApplicationListenerDetector#postProcessAfterInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInitialization(LogBeanFactoryPostProcessor, LogBeanFactoryPostProcessor)` + +. 这里会调用上一步创建的 `BeanFactoryPostProcessor` 对象的 `postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` 方法。这里目前包含 `EventListenerMethodProcessor` 对象。`EventListenerMethodProcessor` 是 `AnnotationConfigApplicationContext()` 初始化时,创建 `new AnnotatedBeanDefinitionReader(this)` 对象时,通过调用 `AnnotationConfigUtils.registerAnnotationConfigProcessors(this.registry)` 方法注册到容器中的。 + +. `LogBeanFactoryPostProcessor#postProcessBeanFactory(DefaultListableBeanFactory)` + +. 到此为止,`invokeBeanFactoryPostProcessors(beanFactory)` 方法调用完毕。 + +. 下面开始调用 `registerBeanPostProcessors(beanFactory)` 方法。 + +. 添加 `PostProcessorRegistrationDelegate.BeanPostProcessorChecker` 实例,以下执行 `BeanPostProcessor` 方法时,都会带上。 + +. 创建 `AutowiredAnnotationBeanPostProcessor` Bean,Name: `org.springframework.context.annotation.internalAutowiredAnnotationProcessor` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInstantiation(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessProperties(MutablePropertyValues, AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `AutowiredAnnotationBeanPostProcessor#setBeanFactory(DefaultListableBeanFactory)` + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `BeanPostProcessorChecker#postProcessBeforeInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ApplicationListenerDetector#postProcessAfterInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +.. `BeanPostProcessorChecker#postProcessAfterInitialization(AutowiredAnnotationBeanPostProcessor, org.springframework.context.annotation.internalAutowiredAnnotationProcessor)` + +. 创建 `CommonAnnotationBeanPostProcessor` Bean,Name: `org.springframework.context.annotation.internalCommonAnnotationProcessor` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInstantiation(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInstantiation(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessProperties(MutablePropertyValues, CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `BeanPostProcessorChecker#postProcessBeforeInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ApplicationListenerDetector#postProcessAfterInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +.. `BeanPostProcessorChecker#postProcessAfterInitialization(CommonAnnotationBeanPostProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor)` + +. 创建 `AnnotationAwareAspectJAutoProxyCreator`,Name: `org.springframework.aop.config.internalAutoProxyCreator`。也许是因为配置了 `@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)`。__这个再探究竟?__ + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInstantiation(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `CommonAnnotationBeanPostProcessor#postProcessBeforeInstantiation(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessBeforeInstantiation(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `CommonAnnotationBeanPostProcessor#postProcessMergedBeanDefinition(RootBeanDefinition, AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessMergedBeanDefinition(RootBeanDefinition, AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInstantiation(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `CommonAnnotationBeanPostProcessor#postProcessAfterInstantiation(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessAfterInstantiation(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ImportAwareBeanPostProcessor#postProcessProperties(MutablePropertyValues, AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `CommonAnnotationBeanPostProcessor#postProcessProperties(MutablePropertyValues, AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessProperties(MutablePropertyValues, AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `BeanPostProcessorChecker#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `CommonAnnotationBeanPostProcessor#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessBeforeInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ApplicationListenerDetector#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `BeanPostProcessorChecker#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `CommonAnnotationBeanPostProcessor#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessAfterInitialization(AnnotationAwareAspectJAutoProxyCreator, org.springframework.aop.config.internalAutoProxyCreator)` + +. 预加载 `Config`、 `UserService` 等 Bean。下面以 `UserService` 为例: + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInstantiation(UserService, UserService)` + +.. `AnnotationAwareAspectJAutoProxyCreator#postProcessBeforeInstantiation(UserService, UserService)` + +.. `CommonAnnotationBeanPostProcessor#postProcessBeforeInstantiation(UserService, UserService)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessBeforeInstantiation(UserService, UserService)` + +.. 构造函数 + +.. `CommonAnnotationBeanPostProcessor#postProcessMergedBeanDefinition(RootBeanDefinition, UserService, UserService)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessMergedBeanDefinition(RootBeanDefinition, UserService, UserService)` + +.. `ApplicationListenerDetector#postProcessMergedBeanDefinition(RootBeanDefinition, UserService, UserService)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInstantiation(UserService, UserService)` + +.. `AnnotationAwareAspectJAutoProxyCreator#postProcessAfterInstantiation(UserService, UserService)` + +.. `CommonAnnotationBeanPostProcessor#postProcessAfterInstantiation(UserService, UserService)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessAfterInstantiation(UserService, UserService)` + +.. `ImportAwareBeanPostProcessor#postProcessProperties(MutablePropertyValues, UserService, UserService)` + +.. `AnnotationAwareAspectJAutoProxyCreator#postProcessProperties(MutablePropertyValues, UserService, UserService)` + +.. `AnnotationAwareAspectJAutoProxyCreator#postProcessPropertyValues(MutablePropertyValues, PropertyDescriptor[], UserService, UserService)` + +.. `CommonAnnotationBeanPostProcessor#postProcessProperties(MutablePropertyValues, UserService, UserService)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessProperties(MutablePropertyValues, UserService, UserService)` + +.. `UserService#setBeanFactory(DefaultListableBeanFactory)` + +.. `LogBeanPostProcessor#postProcessBeforeInitialization(UserService, UserService)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeInitialization(UserService, UserService)` + +.. `ApplicationContextAwareProcessor#postProcessBeforeInitialization(UserService, UserService)` + +.. `UserService#setApplicationContext(AnnotationConfigApplicationContext)` + +.. `ImportAwareBeanPostProcessor#postProcessBeforeInitialization(UserService, UserService)` + +.. `BeanPostProcessorChecker#postProcessBeforeInitialization(UserService, UserService)` + +.. `AnnotationAwareAspectJAutoProxyCreator#postProcessBeforeInitialization(UserService, UserService)` + +.. `CommonAnnotationBeanPostProcessor#postProcessBeforeInitialization(UserService, UserService)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessBeforeInitialization(UserService, UserService)` + +.. `ApplicationListenerDetector#postProcessBeforeInitialization(UserService, UserService)` + +.. `UserService#afterPropertiesSet()` + +.. `UserService#init()` + +.. `LogBeanPostProcessor#postProcessAfterInitialization(UserService, UserService)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessAfterInitialization(UserService, UserService)` + +.. `ApplicationContextAwareProcessor#postProcessAfterInitialization(UserService, UserService)` + +.. `ImportAwareBeanPostProcessor#postProcessAfterInitialization(UserService, UserService)` + +.. `BeanPostProcessorChecker#postProcessAfterInitialization(UserService, UserService)` + +.. `AnnotationAwareAspectJAutoProxyCreator#postProcessAfterInitialization(UserService, UserService)` + +.. `CommonAnnotationBeanPostProcessor#postProcessAfterInitialization(UserService, UserService)` + +.. `AutowiredAnnotationBeanPostProcessor#postProcessAfterInitialization(UserService, UserService)` + +.. `ApplicationListenerDetector#postProcessAfterInitialization(UserService, UserService)` + +. 销毁 Bean,`beanFactory.destroyBean(bean)` + +.. `LogDestructionAwareBeanPostProcessor#postProcessBeforeDestruction(UserService, UserService)` + +.. `UserService#destroy()` + +不知道有没有人关注这个附录日志,这里再重复一遍:在下一篇文章 https://www.diguage.com/post/spring-bean-lifecycle-overview/[Spring Bean 生命周期概述^] 中,D瓜哥将针对 Spring Bean 的整个生命周期展开详细说明。 + diff --git a/truman/src/docs/asciidoc/tables_mysql_innodb.sql b/truman/src/docs/asciidoc/tables_mysql_innodb.sql new file mode 100644 index 000000000000..c0696d93549d --- /dev/null +++ b/truman/src/docs/asciidoc/tables_mysql_innodb.sql @@ -0,0 +1,179 @@ +# +# In your Quartz properties file, you'll need to set +# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate +# +# +# By: Ron Cordell - roncordell +# I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM. + +DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; +DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; +DROP TABLE IF EXISTS QRTZ_LOCKS; +DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; +DROP TABLE IF EXISTS QRTZ_CALENDARS; + +CREATE TABLE QRTZ_JOB_DETAILS( +SCHED_NAME VARCHAR(120) NOT NULL, +JOB_NAME VARCHAR(200) NOT NULL, +JOB_GROUP VARCHAR(200) NOT NULL, +DESCRIPTION VARCHAR(250) NULL, +JOB_CLASS_NAME VARCHAR(250) NOT NULL, +IS_DURABLE VARCHAR(1) NOT NULL, +IS_NONCONCURRENT VARCHAR(1) NOT NULL, +IS_UPDATE_DATA VARCHAR(1) NOT NULL, +REQUESTS_RECOVERY VARCHAR(1) NOT NULL, +JOB_DATA BLOB NULL, +PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(200) NOT NULL, +TRIGGER_GROUP VARCHAR(200) NOT NULL, +JOB_NAME VARCHAR(200) NOT NULL, +JOB_GROUP VARCHAR(200) NOT NULL, +DESCRIPTION VARCHAR(250) NULL, +NEXT_FIRE_TIME BIGINT(13) NULL, +PREV_FIRE_TIME BIGINT(13) NULL, +PRIORITY INTEGER NULL, +TRIGGER_STATE VARCHAR(16) NOT NULL, +TRIGGER_TYPE VARCHAR(8) NOT NULL, +START_TIME BIGINT(13) NOT NULL, +END_TIME BIGINT(13) NULL, +CALENDAR_NAME VARCHAR(200) NULL, +MISFIRE_INSTR SMALLINT(2) NULL, +JOB_DATA BLOB NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) +REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_SIMPLE_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(200) NOT NULL, +TRIGGER_GROUP VARCHAR(200) NOT NULL, +REPEAT_COUNT BIGINT(7) NOT NULL, +REPEAT_INTERVAL BIGINT(12) NOT NULL, +TIMES_TRIGGERED BIGINT(10) NOT NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) +REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_CRON_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(200) NOT NULL, +TRIGGER_GROUP VARCHAR(200) NOT NULL, +CRON_EXPRESSION VARCHAR(120) NOT NULL, +TIME_ZONE_ID VARCHAR(80), +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) +REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_SIMPROP_TRIGGERS + ( + SCHED_NAME VARCHAR(120) NOT NULL, + TRIGGER_NAME VARCHAR(200) NOT NULL, + TRIGGER_GROUP VARCHAR(200) NOT NULL, + STR_PROP_1 VARCHAR(512) NULL, + STR_PROP_2 VARCHAR(512) NULL, + STR_PROP_3 VARCHAR(512) NULL, + INT_PROP_1 INT NULL, + INT_PROP_2 INT NULL, + LONG_PROP_1 BIGINT NULL, + LONG_PROP_2 BIGINT NULL, + DEC_PROP_1 NUMERIC(13,4) NULL, + DEC_PROP_2 NUMERIC(13,4) NULL, + BOOL_PROP_1 VARCHAR(1) NULL, + BOOL_PROP_2 VARCHAR(1) NULL, + PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), + FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) + REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_BLOB_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_NAME VARCHAR(200) NOT NULL, +TRIGGER_GROUP VARCHAR(200) NOT NULL, +BLOB_DATA BLOB NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), +INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP), +FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) +REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_CALENDARS ( +SCHED_NAME VARCHAR(120) NOT NULL, +CALENDAR_NAME VARCHAR(200) NOT NULL, +CALENDAR BLOB NOT NULL, +PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS ( +SCHED_NAME VARCHAR(120) NOT NULL, +TRIGGER_GROUP VARCHAR(200) NOT NULL, +PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_FIRED_TRIGGERS ( +SCHED_NAME VARCHAR(120) NOT NULL, +ENTRY_ID VARCHAR(95) NOT NULL, +TRIGGER_NAME VARCHAR(200) NOT NULL, +TRIGGER_GROUP VARCHAR(200) NOT NULL, +INSTANCE_NAME VARCHAR(200) NOT NULL, +FIRED_TIME BIGINT(13) NOT NULL, +SCHED_TIME BIGINT(13) NOT NULL, +PRIORITY INTEGER NOT NULL, +STATE VARCHAR(16) NOT NULL, +JOB_NAME VARCHAR(200) NULL, +JOB_GROUP VARCHAR(200) NULL, +IS_NONCONCURRENT VARCHAR(1) NULL, +REQUESTS_RECOVERY VARCHAR(1) NULL, +PRIMARY KEY (SCHED_NAME,ENTRY_ID)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_SCHEDULER_STATE ( +SCHED_NAME VARCHAR(120) NOT NULL, +INSTANCE_NAME VARCHAR(200) NOT NULL, +LAST_CHECKIN_TIME BIGINT(13) NOT NULL, +CHECKIN_INTERVAL BIGINT(13) NOT NULL, +PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)) +ENGINE=InnoDB; + +CREATE TABLE QRTZ_LOCKS ( +SCHED_NAME VARCHAR(120) NOT NULL, +LOCK_NAME VARCHAR(40) NOT NULL, +PRIMARY KEY (SCHED_NAME,LOCK_NAME)) +ENGINE=InnoDB; + +CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY); +CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP); + +CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME); +CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); +CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); + +CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME); +CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); +CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); +CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); + +commit; diff --git a/truman/src/docs/asciidoc/tag-resolve.adoc b/truman/src/docs/asciidoc/tag-resolve.adoc new file mode 100644 index 000000000000..14ffa77b1a07 --- /dev/null +++ b/truman/src/docs/asciidoc/tag-resolve.adoc @@ -0,0 +1,23 @@ +[#tag-resolve] += 标签解析 + +`` 的子标签 `` 会根据属性不同,被解析成不同的对象,例如 `TypedStringValue`、 `RuntimeBeanReference`,然后再被封装成 `PropertyValue` 对象,最后被存放在 `GenericBeanDefinition` 对象的 `MutablePropertyValues propertyValues` 属性(在 `AbstractBeanDefinition` 中声明)中。在首次获取对象时,根据这里的信息再逐步转化成不同对象。 + +这里还有一点需求说明: + +* `GenericBeanDefinition` 对象对应 XML 等原始配置文件中对 Bean 的定义和配置。 +* `RootBeanDefinition` 则代表生成实例时, Bean 对应的定义和配置。是根据 `GenericBeanDefinition` 的配置来生成的。如果 `GenericBeanDefinition` 定义的是子 Bean 的话,则会同时合并父类的相关属性。_这个合并怎么实现的?_ +* `BeanWrapperImpl` 对象是对创建后的实例对象的包装,被存储在 + + + + +* 对象之间的依赖关系存放在 `org.springframework.beans.factory.support.DefaultSingletonBeanRegistry#dependentBeanMap` ( `Map>`,bean name --> Set of dependent bean names) 中。 而 `AbstractBeanFactory` 通过继承 `FactoryBeanRegistrySupport`, 而 `FactoryBeanRegistrySupport` 继承了 `DefaultSingletonBeanRegistry`,进而获得了对这个关系的访问。 +* `org.springframework.beans.factory.support.DefaultSingletonBeanRegistry` 中 `dependentBeanMap` 和 `dependenciesForBeanMap` 是什么关系? +** 例如 A ref B, A ref C,就是 类 A 中有属性 B 和 C。 +** 在 `dependenciesForBeanMap` 存到就是 A -> (B, C); +** 而 `dependentBeanMap` 中存的是 B -> A 和 C -> A。这个还要进一步确认。 + +疑问: + +* `org.springframework.beans.factory.support.ConstructorResolver#autowireConstructor` 中 `this.beanFactory.initBeanWrapper(bw)`,为什么把对 `BeanWrapper` 对初始化封装在 `BeanFactory` 而不是 `BeanWrapper` 内部? diff --git a/truman/src/docs/asciidoc/template-method-pattern.adoc b/truman/src/docs/asciidoc/template-method-pattern.adoc new file mode 100644 index 000000000000..986f2140bee8 --- /dev/null +++ b/truman/src/docs/asciidoc/template-method-pattern.adoc @@ -0,0 +1,8 @@ +[#template-method-pattern] += 瞎扯模板方法 + +模板方法模式中,会把公共部分提取到父类,一些细微的差别放在子类来实现。但是,如果不存在继承关系的类之间怎么重用这些共用代码?这就是 AOP 所需要解决的问题。 + +那么,这些问题怎么解决呢?如果接口是共用的,那么就可以使用代理模式。但是,静态代理模式的弊端就是需要各种子类,如果多层代理中的顺序发生改变,则对象的创建过程也需要跟着改变。为了解决这个问题,动态代理上场了。 + +从这个角度来说,D瓜哥觉得是可以从模板方法模式演进出代理模式。当然,这样搞就有点“曲线救国”,只是绕的道有点远。😆 diff --git a/truman/src/docs/asciidoc/tips.adoc b/truman/src/docs/asciidoc/tips.adoc new file mode 100644 index 000000000000..7f4e9676e6e0 --- /dev/null +++ b/truman/src/docs/asciidoc/tips.adoc @@ -0,0 +1,20 @@ +[#tips] +[appendix] += Spring 奇技淫巧 + +这里记录一些不太常见的使用技巧。 + +== 创建同步的 `Set` 实例 + +[{java_src_attr}] +---- +Set sets = Collections.newSetFromMap(new ConcurrentHashMap<>(256)); +---- + +include::{includedir}/inject-static-field.adoc[leveloffset=+1] + +include::{includedir}/performance-monitor.adoc[leveloffset=+1] + +include::{includedir}/lifecycle-callback.adoc[leveloffset=+1] + +include::{includedir}/scheduler.adoc[leveloffset=+1] diff --git a/truman/src/docs/asciidoc/todo.adoc b/truman/src/docs/asciidoc/todo.adoc new file mode 100644 index 000000000000..4cde0029d6b7 --- /dev/null +++ b/truman/src/docs/asciidoc/todo.adoc @@ -0,0 +1,6 @@ += 编程随想 + +== 2024-06-06 + +. `EventListenerMethodProcessor` 和 `DefaultEventListenerFactory` 是干嘛的?在 `AnnotationConfigUtils.registerAnnotationConfigProcessors` 方法中,注册了这两个类。 +. `@Order` 和 `Ordered` 在 Spring 内部处理时,有什么差别?各自又适用在什么场景下? \ No newline at end of file diff --git a/truman/src/docs/asciidoc/tools.adoc b/truman/src/docs/asciidoc/tools.adoc new file mode 100644 index 000000000000..6c50d3100bcf --- /dev/null +++ b/truman/src/docs/asciidoc/tools.adoc @@ -0,0 +1,14 @@ +[#tools] +[appendix] += 常用工具 + +. https://asciiflow.com/[ASCII diagrams--ASCIIFlow] -- 画 Ascii diagrams 图。画完 +后,通过 `asciidoctor-diagram` 的 `ditaaa` 转换成图片。 + +== Asciidoctor Diagram + +== Plant UML + +. https://plantuml.com/zh/commons[通用命令^] +. https://plantuml.com/zh/skinparam[Skinparam 命令^] +. https://plantuml.com/zh/creole[Creole 标记语言^] diff --git a/truman/src/docs/asciidoc/transaction.adoc b/truman/src/docs/asciidoc/transaction.adoc new file mode 100644 index 000000000000..d271fdb3ee66 --- /dev/null +++ b/truman/src/docs/asciidoc/transaction.adoc @@ -0,0 +1,187 @@ +[#transaction] += Spring 事务管理 + +事务是一组原子性的 SQL 查询,或者说是一个独立的工作单元。事务内的所有操作要么全部执行成功,要么全部执行失败。 + +== 四个基本特性 + +* **Atomicity(原子性)**:事务是一个不可分割的整体,事务内所有操作要么全部提交成功,要么全部失败回滚。 +* **Consistency(一致性)**:事务执行前后,数据从一个状态到另一个状态必须是一致的(A向B转账,不能出现A扣了钱,B却没收到)。 +* **Isolation(隔离性)**:多个并发事务之间相互隔离,不能互相干扰。或者说一个事务所做的修改在最终提交以前,对其他事务是不可见的。 +* **Durablity(持久性)**:事务完成后,对数据库的更改是永久保存的,不能回滚。 + +== 事务隔离级别 + +=== Read Uncommitted(未提交读) + +在 Read Uncommitted 级别,事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,这也被称为**脏读(Dirty Read)**。性能不会好太多,但是问题却一大堆,实际应用中一般很少使用。 + +=== Read Committed(提交读) + +大多数数据库系统的默认隔离级别都是 Read Committed。Read Committed 满足前面提到的隔离性的简单定义:一个事务开始时,只能“看见”已经提交的事务所做的修改。换句话说:一个事务从开始直到提交之前,所做的任何修改对其他事务都是不可见的。有时也叫不可重复读(Nonrepeatable Read)。 + +=== Repeatable Read(可重复读) + +Repeatable Read 解决了脏读的问题。但是还是无法解决领一个**幻读(Phantom Read)**问题。所谓幻读,指的是当某个事务在读取某个范围内的记录时,另外一个事务又在该范围内插入了新的记录,当之前的事务再次读取该范围的记录时,会产生幻行(Phantom Row)。InnoDB 和 XtraDB 存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)解决了幻读的问题。 + +=== Serializable(可串行化) + +Serializable 是最高的隔离级别。它通过强制事务串行执行,避免了前面说的幻读问题。简单来说,Serializable 会在读取的每一行数据上都加锁,所以导致大量的超时和锁争用的问题。实际中,极少使用。 + +Repeatable Read(可重复读) 是 MySQL 默认事务隔离级别。 + +== 常见错误 + +=== Phantom Read(幻读) + +B 事务读取了两次数据,在这两次的读取过程中A事务添加了数据,B 事务的这两次读取出来的集合不一样。幻读产生的流程如下: + +image::images/phantom-read-process.png[title="幻读处理流程", alt="幻读处理流程", width="95%", align="center"] + +这个流程看起来和不可重复读差不多,但幻读强调的集合的增减,而不是单独一条数据的修改。 + +=== NonRepeatable Read(不可重复读) + +B 事务读取了两次数据,在这两次的读取过程中 A 事务修改了数据,B 事务的这两次读取出来的数据不一样。B 事务这种读取的结果,即为不可重复读(Nonrepeatable Read)。相反,“可重复读”在同一个事务中多次读取数据时,能够保证所读数据一样,也就是后续读取不能读到另一个事务已提交的更新数据。不可重复读的产生的流程如下: + +image::images/non-repeatable-read-process.png[title="不可重复读处理流程", alt="不可重复读处理流程", width="95%", align="center"] + +=== Dirty Read(脏读) + +A 事务执行过程中,B 事务读取了A事务的修改。但是由于某些原因,A 事务可能没有完成提交,发生 RollBack 了操作,则B事务所读取的数据就会是不正确的。这个未提交数据就是脏读(Dirty Read)。 + +image::images/dirty-read-process.png[title="脏读处理流程", alt="脏读处理流程", width="95%", align="center"] + +=== Lost Update(第一类丢失更新) + +在完全未隔离事务的情况下,两个事务更新同一条数据资源,某一事务完成,另一事务异常终止,回滚造成第一个完成的更新也同时丢失 。这个问题现代关系型数据库已经不会发生。 + +=== Lost Update(第二类丢失更新) + +不可重复读有一种特殊情况,两个事务更新同一条数据资源,后完成的事务会造成先完成的事务更新丢失。这种情况就是大名鼎鼎的第二类丢失更新。主流的数据库已经默认屏蔽了第一类丢失更新问题(即:后做的事务撤销,发生回滚造成已完成事务的更新丢失),但我们编程的时候仍需要特别注意第二类丢失更新。它产生的流程如下: + +image::images/second-lost-update-process.png[title="Lost Update(第二类丢失更新)", alt="Lost Update(第二类丢失更新)", width="95%", align="center"] + +=== 小结 + +image::images/problem-reads.png[title="“读”之间的关系", alt="“读”之间的关系", align="center"] + +image::images/transactional-summary.png[title="数据库事务总结", alt="数据库事务总结", width="95%", align="center"] + +== Spring 中的隔离级别 + + +[cols="2,3"] +|=== +|常量名称 |解释说明 + +|ISOLATION_DEFAULT +|默认隔离级别,使用数据库默认的事务隔离级别。另外四个与 JDBC 的隔离级别相对应。 + +|ISOLATION_READ_UNCOMMITTED +|最低的事务隔离级别。它允许另外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻读。 + +|ISOLATION_READ_COMMITTED +|保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。 + +|ISOLATION_REPEATABLE_READ +|这种事务隔离级别可以防止脏读,不可重复读。但可能出现幻读。 + +|ISOLATION_SERIALIZABLE +|这是花费最高代价但是最可靠的事务隔离解绑。事务被处理为顺序执行。 +|=== + +---- +Spring 的事务隔离级别在 `TransactionDefinition` 中有定义。 +---- + +== Spring 的事务传播行为 + +[cols="2,3"] +|=== +|常量名称 |解释说明 + +|PROPAGATION_REQUIRED +|支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择,也是 Spring 默认的事务的传播。 + +|PROPAGATION_SUPPORTS +|支持当前事务,如果当前没有事务,就以非事务方式执行。 + +|PROPAGATION_MANDATORY +|支持当前事务,如果当前没有事务,就抛出异常。 + +|PROPAGATION_REQUIRES_NEW +|新建事务,如果当前存在事务,把当前事务挂起。新建的事务将和被挂起的事务没有任何关系,是两个独立的事务,外层事务失败回滚之后,不能回滚内层事务执行的结果内层事务失败抛出异常,外层事务捕获,也可以不处理回滚操作 + +|PROPAGATION_NOT_SUPPORTED +|以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 + +|PROPAGATION_NEVER +|以非事务方式执行,如果当前存在事务,则抛出异常。 + +|PROPAGATION_NESTED +|如果一个活动的事务存在,则运行在一个嵌套的事务中。如果没有活动事务,则按 `REQUIRED` 属性执行。它使用了一个单独的事务,这个事务拥有多个可以回滚的保存点。内部事务的回滚不会对外部事务造成影影响。它只对 `DataSourceTransactionManaqer` 事务管理器起效。 +|=== + +---- +Spring 的事务传播行为在 `TransactionDefinition` 中有定义。 +---- + + +分析一下 Spring 中对事务支持的管理。同时,再分析一下 Java JTA 和 Java CMT。结合二者再来分析一下 Spring 中的事务管理。 + +`PROPAGATION_NOT_SUPPORTED` 以非事务方式运行,如果当前存在事务,则把当前事务挂起。 + +TODO 如何挂起事务? + +`org.springframework.transaction.support.TransactionTemplate.execute` 中,排除 `RuntimeException | Error` 异常就回滚。那么,在 `@Transactional(rollbackFor = Throwable.class)` 中指定了回滚异常,怎么生效? + +TODO: 增加创建用户并授权的 SQL 语句。 + +== `TransactionTemplate` 示例 + +[quote, Using the TransactionTemplate] +____ +https://docs.spring.io/spring-framework/docs/5.3.22/reference/html/data-access.html#tx-prog-template[Data Access: Using the TransactionTemplate^] + +The TransactionTemplate adopts the same approach as other Spring templates, such as the `JdbcTemplate`. It uses a callback approach (to free application code from having to do the boilerplate acquisition and release transactional resources) and results in code that is intention driven, in that your code focuses solely on what you want to do. +____ + +[#TransactionTemplateTest] +.TransactionTemplateTest +[{java_src_attr}] +---- +include::{truman_src_dir}/tx/TransactionTemplateTest.java[] +---- + +在 https://stackoverflow.com/a/51839282/951836[TransactionTemplate with rollbackFor - Stack Overflow^] 中介绍了一种通过在 `try`-`catch` 中调用 `org.springframework.transaction.TransactionExecution.setRollbackOnly()` 方法来实现回滚的操作。但是,时机并不需要。可以看一下 `org.springframework.transaction.support.TransactionTemplate.execute` 的代码就明白了: + +[{java_src_attr},highlight=25..30] +---- +include::{tx_src_dir}/transaction/support/TransactionTemplate.java[tag=execute] +---- + +代码中,直接 `catch (Throwable ex)`,相信大家都了解, `Throwable` 是 Java 异常类的基类,只要 `catch` 它,任何在前面没有处理的异常,都会在这里处理,这相当于使用了 `Throwable` 做了兜底。 + +当然,如果有异常需要特殊处理,还是可以这样做的。多说一句,由于会先执行这个回调函数,所以,在这里捕获异常,会优先处理。这里处理完,接着往外抛异常,`TransactionTemplate` 中的异常处理机制就可以处理异常了。 + + + +[#TxTest] +.TxTest +[{java_src_attr}] +---- +include::{truman_src_dir}/tx/TxTest.java[] +---- + + + +[#TxOnCloseTest] +.TxOnCloseTest +[{java_src_attr}] +---- +include::{truman_src_dir}/tx/TxOnCloseTest.java[] +---- + + + diff --git a/truman/src/docs/asciidoc/uml-class-diagram.adoc b/truman/src/docs/asciidoc/uml-class-diagram.adoc new file mode 100644 index 000000000000..4900131de2bc --- /dev/null +++ b/truman/src/docs/asciidoc/uml-class-diagram.adoc @@ -0,0 +1,166 @@ +[#class-diagram] += UML 类图 + +== 简介 + +== 要素 + +== 类之间的关系 + +UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 +在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) + +image::images/relationships-between-classes.png[alt="类直接的关系",{image_attr}] + +=== 泛化(Generalization) + +泛化关系:: 是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。 + +代码体现:: `extends` 关键字 + +箭头指向:: 带三角箭头的实线,箭头指向父类 + +[plantuml,{diagram_attr}] +.... +@startuml +skinparam classFontSize 30 +skinparam titleFontSize 30 +title **泛化(Generalization)** + +class Tiger extends Animal + +class ArrayList extends AbstractList + +skinparam footerFontSize 20 +footer ''地瓜哥''博客网 · https://www.diguage.com · 出品 +@enduml +.... + +=== 实现(Realization) + +实现关系:: 在这里插入图片描述是一种类与接口的关系,表示类是接口所有特征和行为的实现. + +代码体现:: `implements` 关键字 + +箭头指向:: 带三角箭头的虚线,箭头指向接口 + +[plantuml,{diagram_attr}] +.... +@startuml +skinparam classFontSize 30 +skinparam titleFontSize 30 +title **实现(Realization)** + +class Animal implements Movable + +class Thread implements Runnable + +skinparam footerFontSize 20 +footer ''地瓜哥''博客网 · https://www.diguage.com · 出品 +@enduml +.... + +=== 关联(Association) + +关联关系:: 是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。 + +代码体现:: 成员变量 + +箭头指向:: 带普通箭头的实心线,指向被拥有者 + +[plantuml,{diagram_attr}] +.... +@startuml +skinparam classFontSize 30 +skinparam titleFontSize 30 +title **关联(Association)** + +class Teacher { + - students: Student +} + +class Student + +Teacher -right- Student + + +skinparam footerFontSize 20 +footer ''地瓜哥''博客网 · https://www.diguage.com · 出品 +@enduml +.... + +老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。 + +=== 聚合(Aggregation) + +聚合关系:: 是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。 +聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。 + +代码体现:: 成员变量 + +箭头指向:: 带空心菱形的实心线,菱形指向整体 + +[plantuml,{diagram_attr}] +.... +@startuml +skinparam classFontSize 30 +skinparam titleFontSize 30 +title **聚合(Aggregation)** + +class Car { + - engine: Engine + - tire: Tire +} + +Car o-left- Engine + +Car o-right- Tire + + +skinparam footerFontSize 20 +footer ''地瓜哥''博客网 · https://www.diguage.com · 出品 +@enduml +.... + +小技巧:空心菱形表示聚合,好聚好散,所以生命周期可以不同。 + +=== 组合(Composition) + +组合关系:: 是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。 ++ +组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。 + +代码体现:: 成员变量 + +箭头指向:: 带实心菱形的实线,菱形指向整体 + +[plantuml,{diagram_attr}] +.... +@startuml +skinparam classFontSize 30 +skinparam titleFontSize 30 +title **组合(Composition)** + +class Dog { + - head: Head + - tail: Tail + - ear: Ear +} + +Dog *-left- Head + +Dog "1" *-right- "1" Tail + +Dog "1" *-- "2" Ear + + +skinparam footerFontSize 20 +footer ''地瓜哥''博客网 · https://www.diguage.com · 出品 +@enduml +.... + +== 参考资料 + +. https://zhuanlan.zhihu.com/p/93289356[UML:类图关系总结 - 知乎^] +. http://jiagoushi.pro/book/export/html/1213[【软件设计】UML中关联,聚合和组合区别^] +. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/[UML Class Diagram Tutorial^] \ No newline at end of file diff --git a/truman/src/docs/asciidoc/uml-sequence-diagram.adoc b/truman/src/docs/asciidoc/uml-sequence-diagram.adoc new file mode 100644 index 000000000000..a867411c89ad --- /dev/null +++ b/truman/src/docs/asciidoc/uml-sequence-diagram.adoc @@ -0,0 +1,10 @@ +[#sequence-diagram] += UML 序列图 + +== 简介 + +== 要素 + +== 类之间的关系 + +== 示例 diff --git a/truman/src/docs/asciidoc/uml.adoc b/truman/src/docs/asciidoc/uml.adoc new file mode 100644 index 000000000000..b167c7dd4128 --- /dev/null +++ b/truman/src/docs/asciidoc/uml.adoc @@ -0,0 +1,8 @@ +[#uml] +[appendix] += 常用 UML 图 + +include::{includedir}/uml-class-diagram.adoc[leveloffset=+1] + +include::{includedir}/uml-sequence-diagram.adoc[leveloffset=+1] + diff --git a/truman/src/docs/asciidoc/xml-dtd.adoc b/truman/src/docs/asciidoc/xml-dtd.adoc new file mode 100644 index 000000000000..caf33d416ef4 --- /dev/null +++ b/truman/src/docs/asciidoc/xml-dtd.adoc @@ -0,0 +1,5 @@ +[#xml-dtd] += DTD 文档类型定义 + +文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。 +DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。 diff --git a/truman/src/docs/asciidoc/xml-schema.adoc b/truman/src/docs/asciidoc/xml-schema.adoc new file mode 100644 index 000000000000..83231173ca62 --- /dev/null +++ b/truman/src/docs/asciidoc/xml-schema.adoc @@ -0,0 +1,8 @@ +[#xml-Schema] += XML Schema 语言 + +XML Schema 是基于 XML 的 DTD 替代者。 + +XML Schema 描述 XML 文档的结构。 + +XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 diff --git a/truman/src/docs/asciidoc/xml.adoc b/truman/src/docs/asciidoc/xml.adoc new file mode 100644 index 000000000000..1e058dd7316f --- /dev/null +++ b/truman/src/docs/asciidoc/xml.adoc @@ -0,0 +1,6 @@ +[#xml-language] += XML 扩展标记语言概述 + +XML 指扩展标记语言。 + +XML 被设计用来传输和存储数据。 diff --git a/truman/src/docs/asciidoc/xmls.adoc b/truman/src/docs/asciidoc/xmls.adoc new file mode 100644 index 000000000000..91a13eeeae27 --- /dev/null +++ b/truman/src/docs/asciidoc/xmls.adoc @@ -0,0 +1,9 @@ +[#xml] +[appendix] += XML 扩展标记语言 + +include::{includedir}/xml.adoc[leveloffset=+1] + +include::{includedir}/xml-dtd.adoc[leveloffset=+1] + +include::{includedir}/xml-schema.adoc[leveloffset=+1] diff --git a/truman/src/docs/color.html b/truman/src/docs/color.html new file mode 100755 index 000000000000..315b4690d175 --- /dev/null +++ b/truman/src/docs/color.html @@ -0,0 +1,70 @@ + + + + + 可续颜色 + + + + +
测试颜色-方便拾取颜色。
+ +

一、敌友识别色

+
    +
  1. #DEDEEE -- 我方,同一组内
  2. +
  3. #FBE12A -- 友军,同一个C3部门
  4. +
  5. #FF6666 -- 敌人,其他部门
  6. +
+

二、背景色

+

2.0 Draw 配色

+
    +
  1. #D5E8D4 -- 淡绿色
  2. +
  3. #DAE8FC -- 淡蓝色
  4. +
  5. #E1D5E7 -- 淡紫色
  6. +
  7. #F5F5F5 -- 淡灰色
  8. +
  9. #F8CECC -- 淡红色
  10. +
  11. #FFE6CC -- 淡黄色(泛红)
  12. +
  13. #FFF2CC -- 淡黄色
  14. +
  15. #FFFFFF -- 白色
  16. +
+

2.1、优选

+
    +
  1. #CFE5CE -- 淡绿色
  2. +
  3. #CEE7CA -- 淡绿色(差距很小)
  4. +
  5. #DAE3EE -- 淡蓝色
  6. +
  7. #DDFFFF -- 淡亮绿色
  8. +
  9. #F7C7C5 -- 淡红色
  10. +
  11. #F7CECD -- 淡红色(更淡)
  12. +
  13. #FDDEC8 -- 淡红色偏黄色
  14. +
  15. #FFFF7D -- 亮黄色
  16. +
+

2.2、备选项

+
    +
  1. #005500 -- 深绿色,更适合做前景色
  2. +
  3. #00B7FF , #DeepSkyBlue -- 深空蓝色
  4. +
  5. #00FFFF -- 亮蓝绿色
  6. +
  7. #118888 -- 深蓝绿色,感觉更适合做前景色,比如字体
  8. +
  9. #A3D2E2 , #LightBlue -- 淡蓝色
  10. +
  11. #A9DCDF -- 淡蓝色
  12. +
  13. #CFE5CE -- 淡绿色
  14. +
  15. #CEE7CA -- 淡绿色(差距很小)
  16. +
  17. #DAE3EE -- 淡蓝色
  18. +
  19. #DDFFFF -- 淡亮绿色
  20. +
  21. #EEEBDC -- 淡灰色
  22. +
  23. #E68B6F , #DarkSalmon -- 暗红色
  24. +
  25. #F7C7C5 -- 淡红色
  26. +
  27. #F7CECD -- 淡红色(更淡)
  28. +
  29. #FDDEC8 -- 淡红色偏黄色
  30. +
  31. #FF33FF -- 粉红色
  32. +
  33. #FFA0A0 -- 淡红色(更深)
  34. +
  35. #FFD100 , #Gold -- 金黄色
  36. +
  37. #FFB8C4 , #Pink -- 粉色
  38. +
  39. #FFBBBB -- 亮黄色
  40. +
  41. #FFFF7D -- 亮黄色
  42. +
+ + \ No newline at end of file diff --git a/truman/src/docs/dist/license.txt b/truman/src/docs/dist/license.txt new file mode 100644 index 000000000000..c68e1154b170 --- /dev/null +++ b/truman/src/docs/dist/license.txt @@ -0,0 +1,289 @@ + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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 + + https://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. + +======================================================================= + +SPRING FRAMEWORK ${version} SUBCOMPONENTS: + +Spring Framework ${version} includes a number of subcomponents +with separate copyright notices and license terms. The product that +includes this file does not necessarily use all the open source +subcomponents referred to below. Your use of the source +code for these subcomponents is subject to the terms and +conditions of the following licenses. + + +>>> ASM 9.1 (org.ow2.asm:asm:9.1, org.ow2.asm:asm-commons:9.1): + +Copyright (c) 2000-2011 INRIA, France Telecom +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999-2009, OW2 Consortium + + +>>> CGLIB 3.3 (cglib:cglib:3.3): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/cglib/cglib/releases/download/RELEASE_3_3_0/cglib-3.3.0.jar, +CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which +is included above. + + +>>> Objenesis 3.1 (org.objenesis:objenesis:3.1): + +Per the LICENSE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html, Objenesis 3.1 is licensed under the +Apache License, version 2.0, the text of which is included above. + +Per the NOTICE file in the Objenesis ZIP distribution downloaded from +http://objenesis.org/download.html and corresponding to section 4d of the +Apache License, Version 2.0, in this case for Objenesis: + +Objenesis +Copyright 2006-2019 Joe Walnes, Henri Tremblay, Leonardo Mesquita + + +=============================================================================== + +To the extent any open source components are licensed under the EPL and/or +other similar licenses that require the source code and/or modifications to +source code to be made available (as would be noted above), you may obtain a +copy of the source code corresponding to the binaries for such open source +components and modifications thereto, if any, (the "Source Files"), by +downloading the Source Files from https://spring.io/projects, Pivotal's website +at https://network.pivotal.io/open-source, or by sending a request, with your +name and address to: Pivotal Software, Inc., 875 Howard Street, 5th floor, San +Francisco, CA 94103, Attention: General Counsel. All such requests should +clearly specify: OPEN SOURCE FILES REQUEST, Attention General Counsel. Pivotal +can mail a copy of the Source Files to you on a CD or equivalent physical +medium. + +This offer to obtain a copy of the Source Files is valid for three years from +the date you acquired this Software product. Alternatively, the Source Files +may accompany the Software. diff --git a/truman/src/docs/spring-framework.png b/truman/src/docs/spring-framework.png new file mode 100644 index 0000000000000000000000000000000000000000..8945d6c6cbd7a1fb2763f617a3ccd8fbf0c0ea96 GIT binary patch literal 24327 zcmXtAb8uYm*T1o?O=H_eW3#dC#&&}yX>7Ye)3C9zjT@se8{6h@zwgZZ$K9RT*`2v~ zo^w7r8}&&=77h6WG5`Q*@^Vt@koV#L4n%0kE2W^oAIKY$i=3W20HEOfcR&Hzxgf}g z2p;mv(g^>MiJ+h{ujuOSARiHWNb7n?Iy*XAIe7q*ZdPU_iXCQu$#Oe(v?Wpn!i(EJ$Ql9pB$T*c*(!c zy%s_ig>nn(k zc2+|oLT?&EO^?L~LIJTuQ)kfcq$d9;;TBhvV^CJmn46dXFo9psA>8MpCKEZ(YMUA( z)fU;x60M*D7N&FgP;RX?_=BeWI98!SKf4jAQdI6=Fcj)+`Lgq=pk)@%E0!u)iaI2c zI*ZjnC$ZvB{m)sgMtv&fWW`iY1y+huE<@gt@M1&$e%P~!+x>Lc$PZ7c*D7aH~EWW{S^d2^#%*%vrG{J3fp(~L8=0??k|Es|RNp?F z-ZGQn)CNQ0MArUPC(zTW8fi78WmVGcka=R~nAp!Li ztzH}!5h_{ZsQA$SXt^@iR- zw;0!`rPSgqz%g|FlgLp3`~ck=~$C9MUN?mmeI=D%LD#-2OZeIXD#U<%gOI)aHIRU6@+&7&5_2FNkR zv2jD>k_+WRm2h=f{epz|;KVm!Ww^_HHp}+JVORP6HoKaG!ZQmWqN26ejBfKdx3Q7r z*?{9t-GfzIm)g;_`i}czag$$>jA}cn#4wSuyQ#m7S=6Y)s8cl+Ms~2nQ&X92o79rb zKV`--DrWP_QmExkkGE3APj7+~dnO5+pNqQ5w`1I}B4Waq$Ok2269yg@Q~4yxOA1pt zL>SMaiV`E4`PlSweB0#H(u*3I0sD#jczOcl{uh?`cAUF*V-t)%=^@`?SYbplL<)}d zs-(|~sJp%q^;IPSG}Y@J@=Xhm>9OIhjK((3MK5+wB2-uS2y`BgtyW>aR{QhDU4 z-kRCy4Q|Sz^IRlwnh0!DFy-5yQ$uzY4QVtc$CvbAIDWft zP;4%g+u`Do^=1YxF5LWo&yPRc+_zD&#@pzH><%{5aYWElP(zzu_H)q4%E>86Okt~k z{sgK|xnj;%sub)iQK8!`xsnV<49)##4I2wLW&t@+K+hKWP|gefrv@j#|H&)Lb>bka zanmSk*%%sK>@piAg{m88#_zx(RDBxjX$kV5wKYm;`8YDrk60J%ONxT8#mL0o{Zl8P zUtPk@|8YUb+BjYJDtk9e#Ca$`9|Ilr3$J^0ns&unW^g2S6cCYqC@|83ty z%RoT{Q19s*KlPLDhyp7Flj5vXuua6oMBl1LFT4Ft!u<;yuBof=alGK&ePDp8X@cn9 zE;}8olR)VwIZef?(NSd{qx|{%6=MrHd>EAl%fQkrgQfOfsnP{A=CGwiE{FFtN}J1?6Kk2`MWme;yq?8OQr!#i%cdxdUCRqR`Xg?z}OC z0PiK+iWws3Y9cplt(BRcPFQ)BtcVo)@^gFqex;dR0@cFMyy`_^fG@7%uhbgY*7V}w zqWi~m@#z^p2NkZxn1u?18h)AP-tlO?hp#~U7Cph)Wn(k{hmMccMrXXF*XBRfz?~9B z%zra<3^FnZ3G6M~rPg$}50Y$--$0R%P$6n&Z_CMKmdDYO4uu2jQzy2zAd!PO-+|%w zV7N*_$8yi{_LEBP`W-gzTAvW_Fjd4lU`Mg{50hUBYxE0erxCQZdAM9iTE zGOzAS@fCd1Ygo$klA7+~mt&-;UvPv$1!aM%8?s$z=q6)K!NGu>6oZ{-1h2i`(bLI} zM70v#M=cDq*ggj^jwcT)nQbkJtMmy4Eq(SWwt7*@Vda>jj-_FG5w{{vA=u?t%XQOW zS^KIZP*}v{of_n5w=4*3!p`HklD3eni`I^k631Vvp^5=!>Uw;;h8k9S-#`Ak5OfA3 zH~c2aJ3l$yIE!wTle)^(nXX7X%)vL%**jFEb4ogI>gue1RTdKiT(#cfa!{O#%iYl) zAB)b~lU@;?y*+)GrENZeg+qoZCGFbUe)Kl>mng(ss~er|Su|4($)KY>JWIjIfrX{z zD#mz5XZbYs(hHs&++e?%*!px1EXk3pGpMa;+@3NXS415*m|4ERz2zz22|`(fVY0dC zwRcutI~zL~d3HPex(1lzZE{Xz*PT~556*G8c$UM9wh$$R0e zClus1vrcxsMHF>R(C~?4`Z$jT{tViG`)xFlXcP;p5vi`&WHng9lchsAr(L=e>q#*f zD!O-i?{#|gSh%o4XdYVR%924}ebk7yw2+#UF~Ts{R&xJnu^vR~U;kwX6OfZ%T1(rg zlHXvz3`QjQaCO_g@T5@I5r<_Ch^2V6xlXg}VjNjMJ+j?oI-5Qg)sPsSJDmp@0H^?L z;pfpSrYommc~*fugN^maJxDL4l$xUMqOiG+8@SIMg{epQhK_c!G<*M@Zi^NP+kzP= zC@@sFGj12$cJmBHE&k%XZ}UpVw{rXq28J?=0WrYX?VnW}pJt~0gq8b^?8nK!Z)aiK zpb*4TDc|>^^NgH~JoHORm<}(Go`vI6YD|XE=lS|)9UEiUKmXPJm|`=;T!EqO*VZ15-OLU%U~AK6=1h+Lzz z43QPGG7M{3pRAKwc#_+j`Pv>o_L*0Xp43r~*K#&DmVqi`lFr1@B! zFDdEo<<(__5tj_hU@A_brkRydJ<(YO{saYZh+tb3Lk*5zDFt7mKogjTc7n~o6Nzy- zn7u+qxDb>$7nKtqt&J7=cfDq~rhefbs zGgkD-xBae#WkLp)UfS$wJ^Gznd7DH?vYAC$bs>%zS1Uu_s;leexBB+hXmK)&kgdWYGJ+z^)DO$dF8ozB;^mWJ4@R&Uwek!i zmb$tOW=U#^oqA2;FdA~Pnw6S7_g$^yJ6I*?FP#V`T*}|&|i`H z<5L;Lq)0<^BVXA8KHS-JIGFA;QPKz1pfLAt{DQn zVY2#TT&bwGTBNp=jLF39EDb`51H|3bc25*+YDBPbs$hW8j{}Pgi>A`Pp~OT^Psm<-Da!ThxucAD%7R z&9Yj_Tl(yliIcTV{wbET?DY5dp}Y5QLR-+mJXtwsKOg2%N7#lRHtc*|oj2&rhnspk zAJ&h)?Q<`DK@XWbb9i~4-gvSw2Bt>Q?lps2=u1CaqrE%4lEp8@n}Y4K$Ie-w6D-3y zNMCnQSBNPL$~xM{U90-mXifiZeJ%#0bV^XNsgzeWGIKF#C^OpU&Q*K%Jr|Tee;nlk zTp$2}*V06&;q}JsIlY?1S*8tfaIu72wDX7nKKzjqWlQ3RdwMl9#0oZenacA zdiRj%hm?G53@XBtf9ENruXyt=9{6u|nb5Yg|?N=x+?5ODA)jU-N1di3TkODU*B| zZ*T*AE@%z0?+xDk5;kDd@k7{$;Cd{CF|w2 z3p<|9G@@Zka31~(%LJd_y*o@Tpg@+im5IUC@L2PQL5YNx)61_ts2os$+^pq`>F)ba z9DNjYV5c}iBpaN@yLtSj{qFuPlK{$+ZuevB&W49uA2V(SxI5tG7v-$R=c>-8m)}vI zuB`Ks&d2SadNZ*E1Vd7%6zH7xY!gs=InPn5HMVl2W!0{=r^&8B zG7JQGl_MRcsK>{--J16%$LgJSB9 z$QOLd5f37Rw$#?^A^lbZ9SlLgm2p8fJ`rLE@zDq#uT*hnprx&-oBfCS_*T!Pyk9d0~a3)YA74 zP1M#d4h*yLrpSrU_U0xjkf@l7!SY-#org8aBBJrUC})aEp_^5A7`@6y@?rJy^EOw9 zpUAhq# z<2^Y?sS^+Tlp53Aq4F2~{P?=LjDDP_+&*Cm9S+n(x0Rfz`Te{3d`ym(9d@#Vdma!> zs`^dMs{S)Jj;d1ZrLoYPdl?*YL>oqASX-J9{0 z7Ny$R%x>uUk=I$vLlALf6NMS_pz`W2o3DPwwE2T-KeBt+y4=g=IS)V<2Q0i2rGmpW z3J@MK^DX_|P+`Qn%Z+{S`8dg>MIeWLQ{CbgL;G#(#W|cqq`ma=P{lhY*fp!}>FnrS z?UFF~7tdSu${MRv28bO#gmTzJdE!>O1#;PON=DsEMF1>l`-{mwmuG^f|MI^W7U8|; zfVG-oTNStOsmWAgjODbGpV~PCQ&Nip)ttl7%rFNv0)??M^wP3_jOUZor!s4$OmpiK zZ5Ma{G*Fn(QTWyU(+ci|T&f076>$Bx2onb%&anuF z(Dv?w_!0iA4kNSY_?ngthc66+LsEBakW#KV;Jt46B=&>VnX+NXrB3o|hq3To20M|l z*c@y(ZUBdBOfdx$g9+0@oG4+qR8}>UZhCV(CB14t;Xet)PmxITaVHR}FH>rz&G@^p z@u6r!Jjf(9roFE@yRm7%sBwZ+mv|C#8x&HyNG%|(-PLBd#ros!CYX*50=AuedNLhY z%Pd<`*S+1BUfcc*a5LnEE^Q5q4#03Tg@cDuct zgK8nVkJfEomPJ-G7;G>;8MJtr&bEiQ0Hv&OUj4Qn9UE7M)2+t)V&1pi;nzY_J2Y7O zjYY3ZS+ESmbB(;69Nb$qg)zE@?Bwf}qF_FUl*Sw7(xIXIq}vaGb4 ztza#lS>AQ>k~Liax$=|S<`{VoOBX~&^5kGMsSS1g$L;l_)<&9YO7}q&zp>-XiY$pU zTowSIsK!Zp4Tu4ka~0oIoZoh0+6zRUa*F#9@WpU?1UB{@k`;FdmsjPZNRgvB$Kdtz z;`(*lnc+`R6G%zcWs@{31T9AT#TaO2<(kY3#0^|*ldReTo>u=7?l`!q=!UGV^iT~- z>xFa)-$xwws-I2_4q?3AcfaLTfsu88HZzaT5=704&)XPf|2;mkdZ28|!8w3)W8`dWN;|Mt^n1SLHy z-I{LK99$Fm+857vp+`t<15@?I*(PS2UxMB!MbAo)V^?);{c;deoNT5xWXaW~?Q7UN zPY1U;+E-5z6SL>5Cfd!DQ?M;xf`qP)y>v#QKTXIuoBbQdVLLl|G&Rql0X|JH=Zv1= z3Dg4Hub0aktjb2p#iq@v1nExpD@_I{kh!Zy%K4=)FiUu>3CYuLK&-@y|gvVmX}G^@kx)mbm_yQ4P` zo7hfOI9{esf@oKV_pwwVW~8pAQQnU~V!_!bXb|nzK8CEV?Z&uT69p*#o&-UxL;35~ zMS+}Z>P>oc=^tV*U0g064*op?+GUmHqigWN-0G)?w@qKW&*(7T-JCbjUEijUZqVMF z_ZHgP&24-d&34!aK~RPUE-O;z6eHmUf=?^fLzi$axgA}%ezWfWDg)^fMf&N@Dqv_f z7lZ74aYV9(LGn7`x4K?X%ZrDi$w@wfqbP4Tk zY3rPccA06C-ToPyZHC+L=1*VGk(W0RoUOf~?sl$I(M?rq8T_fT_&4bXDDddaJVcYn z`Gn_t`(Prph9YEY9yaun{=?=zx1Dajq?*8A>&~~s|04-vB)8*)>io<3)r}`21r$ob zUEqt->3Qz=q^OJ$zSNw#a=;X01wyrR4NRq5U2+<*VA3_N=Ja%wcM#)I1D`xjEhcJV zC@epLdg^Y5h}>%MUeQUfSC&l>0D)4&9M3r^n;jEn)pN4N2CxndwgL3L%r(j_Re}FJ zL?d;7QwFg!)ebqz_G8#7`031fJ2ABB$ozr&G;6zt^X>K!wE&l+uL8h`{Xffa9 z5&bmQ(eBy&`1P!Tu!xtgo{e|gZve$g^CyBEE_DKj3f-LX;uC>I1`iuvWaw^{tDyYzdl&W#Tz%xi7gri)YxT$X2^+YO4(w>(AQVM~s;Fmvp13N=PPGPhqT1j5cKFaNmQ~~{(|^2XT*&wQYu+xYzWPh0H4nF|tNg)|K$w^s6NEA4i6^ys01fhsw#m`)xk0ydT~~YS z8)Nw<@nmJJ8M?h68sQyB+((`2Em#@R+na3ml=O?A?4Jy|;C5yGf7v(rt%X1q6(+d-8iPq@Ggj{tl)64VFO8~@^oewY}7 z2V-Z11Ygo?CN5sr%(dmW<(2XG9S$}MYMq@m7f6FtJx9W^>U)0jj#MdH6dS@P4yZX( z{jHI=0+%I3cys?+d1(h_fh4_Q=vOf8Lqha1K(L@Djb_8()uqWdD>$5;$nSE|1Rdi{ zd#Yk}hY|{fc`{)BS#2w1;9}ZXRS3EygU;sYYQr(m*Z%o9I9O^YL-FiM{Zgk)DXW6y z?JvPKRIpy2)3hb5Mfd*E8$T{cclcMfs(^6g`R!m2g;;omTb>~X&_wlIcGIt=KCV;Q zZD6M#%7NbSPlu@B%!`kJsIq^W^K=3yCG!;)V8Xm!?(+hMXES)?Ntf0in}gw?zuzwD zI1RUb84>hW+5F%jD~(z$XQGOgjIrF};V+24ej^+c{HXfuP5NQAx^PaQ9U4F!g!X?H z$-Od7)4ZNLI@dBtN6N(D3@M8jk)c$#JjyfcD7d5r=?*y{_=ZpgUr3$&;`>PF<Y|m5LutDZd%>tV6t7u zxHo7MR*48SzYcjvP#a`Az}a;kLbuQMe|DH@!>g-mYWTlXQlww$I3 z!@ISL8`R)tjGunqH~{`Sb!w+fU2AS=X?j8{HQ^|KbYw8n%_~_(V7v*jQ+tE$LTl=o z35W!lgSV@snP%}16elhzVcxnwcCBbzJHQ5m$d0eQCR|*iNBnelTS{?1zRh5Xb!_WW zhRmIx;tpmi#k#iB9`DUOTjvvPNAcCLK=bKSF7$wFJYz>r>ye#PTkv~0r!Z}3_YqZ1>@jftiYX;Db76^}# zT`z4PJF`E>A?t#WQDf2i)7R9!dbB={ay!JjR#wWd(ia3e{9jEgSvz65Tk$hOh ziJ|(;iBhYZ?~CMS{^KL|tKz;`Izv? zJ9HT?G3$<7D)k87BC|e@rrj!>F-%!>j&eBY{@ohghPO!>))Bq z{`)K2c3S#+>cU6SIE&lG-^?g%-O+^#v*%Yk4xZtjuH@e}ohp*3J)%GMalv%2`^5j1 zODVBnP=y+N*WaF9js2HL7)k$jx=#9}ZmQFNaP;!+^v9kF4+)`^Ip1XB4 za&2mIVEMtFe?<@9F&L7H$Xy&##NK&!e7_pQ|3HChrl|)drl7#LXUJmhO-j7Djhrxu zQbkYXTl0niJqU}bv%A4feDLkT4OmLllYpk>Eg3u~+o3@;S929x4bhHLOTU`|Z*!bMcu49xb&16IWSH9o_UxC8(&k)kZi{AJG|~=7 zv4e_G1F3fp`yrw&j~2aPyzOF$*Omk;O}^D$WH5kKw56R%Jv(_(Jux->*1e{=B{*d= zqK_;_q2@5Q{^DF2)Wmw6%_XQqt5#Ami~U8h6Z~FzNXFG@Ar815T^sAkq-l*2_Jhuk zH$+fs**DFCOk#?$0QI>;`vzWBxFrVX7$NrBS<+^fU~8`&_$1#y;iCH2?`vw00^d!!G!%bPulUU%v=H2L9JbA`tgxF}L|w}H=D$3Bi%!Lk0?w9^R#VXT z)jMk0scX$5Z!fhXE`o zTq`Rvh4_7-d=$;~nxrZahFahc?DTx4)a!qM_|c0_`PEX2P9r@Bjf4Y}&$nB74d^Rn<1rlz$ykaZuBSj1iSxn70i0F%a;Z!Ch&RYx}B&aa4-^m=qg z`*??enXIFBl_PXyesA62b}h){d2zh-9wMP1;mL$e(U`)G*lC#u!9fj^e$dbFHgXfht08P!%H3}CpDj&K9kRZ?}*3|62J&~V$}GoU1G8q(`rtj1Vb1bE*v-w(G=eP9hp>5w5!Wk?gzDGYpBg0_3M)$VolVh zkpJY-%W#Dz+Ab=%JvF7ZMTSB#KainNQ~scnR3#^`mJLOYiGu#nE`p%_pBn&=N&a6= zHwqL?moCLK4Ztx-<&HhMms$lrndyI?vxEh`!(o5Xp3XKHJrA;73Sw5>pjNcK{Tp?RBLLelAL_!4Y(q>8;hd(J$CQ}bv%f9Y| zucUG(5|wke1D|rpvC5Mxpul9ek%u>1BCQ?!lF8(Dp~m^$>6FwQtX}KatG;78*%>cB zqy^==c3Mcut={>WPX#*tpVFyWEA-xjfc>`i$XbY;57pCAoaUx)tzU`*b zZgzK%23uW%vVL@pb)td-0OPr~Q>nzdI=M}!mSjcG1HpVp9}Hw3GEWnkw!p!VKvB4_ z01(!8;iI?hi-ja_V&d@}IEO)`H6P=bgTw9w68M?pdXSc@Ni94SG88I$M2qw}$um4+ zJ`uJp$aKLcYzVL3Yz!vYuqatAg^tgP7B89!;xPD8dI97sd9U}QVTHSAa^2jhh6DVm*$Cq8pq!amATf%6L zo@^s^Eo`8Znx7g2^<0$S_qAgn$TQ55l7TDFH{<(wF9^Y0q)s;xtP4WFfg%^6QO#nE zmBdQbu7Cl8#@N!IWEVd*6o-g~shKfyXvcuBhJ^RWrHgRAHHBMguSXQYj0u<1U4bhD z*45X{xnSR3x)j`bYvbQ25Riw~+*ef0hYfJ2eLB4tfuUW75}k8>=u!p{JeIo~xZYG;RD& zFe0YHcD!o-)zIZjl}o*>oVY@pnjJLwV?KJFUSDAk0fiKh^kY2x>W14fUXCap_K81) zrpT}#$CU~oq$zMhtyMF_wJfOSQRPczLZ}|Q&0Dm7kEFuNBQE!5J zk@~a(>@Ys@4s3ia!ngi|{OtLBr_?BO?J^1}@-Y3pq32E#a})SDO#{bA;RmWQ|4I?m z)=ws0dh2mJG)c|T9A6q9m)LPwRmyXD))lZdd+!lYeR5&wkSfMBt4mT5vCx{ohGeph z!An_FSY=aEGSFzud=`U9nm!>^!dM84)8%T6yx6*iavkP$9Y^b8q;7p5S&z zLa?vwFz=+$cl9EOw-pj*$!~<2Q&?=~eSW8Kot*Xh+c$;T=)19SUreZ%FuGf-e*W#7yUKgihE0F{_XQkoUu)V|5c`JKg)cE;!<7a2`eo%2-Rs1qS}*t!RIrlWwkb)kQ3+ONJ6L+d zIX0Dy-WokH#AAf=+4i9oDw zjELV8F4H>k@1Ed|9)b5C)NLa98le!g6Jgf8*CDvCV8KmGPa9EplS332gj)+hXv*$v z9#iR#c{e13>usBgNdg7^J+`Eiu)ChW^z+saW6PhK`J#i7IExUft7?N~?BV8fFdO(< z0K#Q}RE&N*wkvkot`n6yYo&_65`mXK6RDxv5GjSr;LDb@c|fX*tRbbj^_{7^#{jo{ z0#lc;oHH1pk`oT>Tl{@o%WpV<=I*9$91j zf$y*+BFi@sw=G198X625>PVYP_2`_8N=@FS##33o>Pqtc939Ki{r#XuvCsPavhnqL zapQ%fKr6*d?<`|Wl%pSZ?>iJ-$Z+nCgn%z6=g%~{(ef+_XzXNoAPiB~huYXw9&x#1 z0vyaS*!Bl*pTn&vi3YD!(-?YQi+#_(?jMr#7)$YvcY2V!x&B@i_I9z4v0z8GX1RWw zabxaP3d**_eeWeR9-ogYFVXMd+xX9z&>g_zk7{7Y-2K6EtFpLcpi1E&h%*EsVkb_7AD=tF(#v zmv&x6-AvAweM)Qt(~JA(_lBVrC;(ai7Mv`bY#G7T70Gs#Ll(!gbAB!RvB+*^|I}>D zl!?Q%nmH>`t-dY2oqOIF~uQ7D|rDNEuh7$x0+mNeD*;FedWkh!9kzB z=CSJd?QPN;K%%2EN`MB7Fex$<0Yg_|ra|V7O$iIO`;XU6R9}xBz=fs{!n`zXLCeK(SmgcHQax>7m)Yv`o%C!9~ zxP&n+o>9QU4FU8t%Rw$-XwN^6V!v|S4Ro5b4;85(1g8;Zs6}GePC+ctNMER6YWm`l z=zU`=IP(ycfC`UDq?6O<0}O<>gISD2WfPuBW=@e9sg#C`6i4M|}ogT!Lq zU8n5OwLdkulHH)lwNhx)r|*=wP~54fCQ*dpYd_c1OGseCCOOj&fW9pj+Eh@=Ynygr z5dd-wS!!wUfVGw%L`H*OJ+(W(_KK>Z45a;D(}3^4_{F$$n!j{3aO<$R=UH}*jD%uE zs`nGi+!u?(_v+><;UR?})YjQKPFa*p>fy^XIfN%~7h#0ptDAv8SGWK>V>QGuHuLx} zCGucw1oFV@O!SyUsaDPcGDQf)3>8@E4t7Ht5(~FVzc-! za8O}NlnBA}M1s72snl}eQf;)`$aSBolvCpBf;qgD`n)U_I1cD_Hvv>~O zqBuun+E-aLT+uq^Vrc%TqT5LXS1|LCd3Nt6_!7w;8~s!3>ZLB;fu-E{E1<+&+O=ch zVCi=Gw2QogfqL@NXpl970SlWolN&CQZFqNei`9OG~c$7M&CkBFbfKZk0T{S zL$?5Hd-|O%hPmghl7CiE{mX**Qu4@$O5hnLi$zXTjWr~w0VGn-5$-TZu8L)J1S-Vg z?NR}W%&LUo8JDEeuaRO7V|I0Z{2Z)Gb1J)l4@3C4X`yO=;H!~K~j3e z?+esz`BJz*f2&+GDnu~+jWHN-2auag5HF-qjRkZVK+C={0Xry!n>*Cs+eE!EejVq@Oz z(^M3P_9)J;M@8SX8fn#{nwt9j_y2a6$d`v|V>~{8kUhqf!1wgCR)3RP)SJ^zLd?UB z9t@rOFK3cI6wv+srX+#E$q|A&nj{f?#?H@{v`v2sT78cdXo1waerY@PQr7yapF{!> z+1<8zA&rngk>PNa;m8$f@a5UB#YE3#RJf(o5{`Ea_Ja&MF=&y87=(*5`KLVAwRpxu zXIJv^NuASGxedhXR~WRv`nU$NXqZ6-I{ep%0BXvL@zLZR9In-*)MOZ7lq1&#x%MU2 zo7%-~^K*CiiMuJ3nEVJO>N^v`SaVLNO ztT;QbfV3psX&N>qlJ{|aqRl`NRI6eJLb~BwO2CTzG@X6BltVYzh9m_kbY1IC+NN~MR*(P# z$v-vJ*5OaQZ++#iISit0g|ll|rY~#x5S&?$WWo@cpcJUDFWzQnC!_9F)-gx=!44$C zUOv4-yvzp*ntD6>IJZ#{BN7OW?-ODH_hWL_Sk$d{$ya#zq1ZtRwSOWp$6hnrnYF9s zZ>!G?vaoj@971!hkCO@y_h6`A+84`<2Gg+wab0txq$+k5;~DcD5s?wZvKv^(=7phF zdU8#(3c_El-v~erwyn3{=er_oYI6Zrnqfs+w z9+SL-g4Psj>>2)4#~f%OLCQy0oBwkbuin3i)xflNWp;W07@b2LI?_kityHRw-*dMK zu7z$~9Gr@?=y>{z%YAi2D>tjP>)KJQFx_?`cYP5n$u9e(Ptt#&n665)`?nV&g#?4z z9-+eEh6qp1fkJGWpkBS`UM0y=kj7yk&KD5O?EYJ7PWlgfh?OM?nF(N(+#JZoKqo2AYODT9h*XW(&5BAvGax~`o1zCmsp(Zn zgKztj5_GD66h?$Z^pDXy;!)4^vYXHT(#a`j^%SO7u#I;8OWO|G=h)c$oHa>W585uX zC+ldtSuZWOFIx%JjYq0~6C2x)YwvX!#&H$wrHW5< zX10r+e43Ts+Au|QFhpjr;$|x=_c?&kOljXsIlCWv4Sh@{$MGru$2R03+pT|_C`ZsH z!7J-y30~pBCMHHl_oE_J+2jwg@`)g5jdDIX(F4Lp)ES+b+lES%;?A-1y6kQx`fwW1 zM3kq{!CU~?;!C-w*7C_80y?rhD(;!%LjcH<(obprhg+iZQrxRq{GG>)^(4;MU${E_ z5)DX^Pu1BAI?O5#%A6(K2GvH)SCoEM?Z^4oi(|`M^JT}hpiELiVHJxnK>+okWM1V! zf(}zbEgL0SQOC+SKhKbV!D<7di_@XM&v049tc1lxYyTQ=XMEcxl0o;iAO&<&Tpy`P zA8<{}OO_!)V4ueajVdtlhgA*Gy=B|y>uB}u34EJbLt&@7ylWlCZYxba8rbm*rGl32 zroo<-zPrm`?vqO>km*Gzw&uTv8ZKqxR@$FNe22M-k#0o4To9PA^!wt#eoASc!1c}& zWvdnH*dW+vhnRBw<+KTco@&@J)%IQPvy- zraWlHhr3Z-qE!T+u9&*JS9-X7vhbmxqJ<>?D=~H~hn!rLyq&z_$e&p}NC7>@jd|4%Ij|8g04u8L4%c+$gg{l*`Mk%6|O8)W?*W>qjd0St&1#t zaVlnr^!@Bgc4(<;*5**DQAa^JrXksF#c({zXab@+IkEV=s8>K7)s!+}Nbd8^?Lh~v znF`5_n0*i;VTK{!4nV$yg1W1(SD!pT#?|w_eA#n$x*;IyHAk(!UGc(JFkz%@Wkv}t z7c}PYVww;PS9d*mI5CS$dX+uKb-Y`X{h|LVVh__m1-ooSzaU zB@XUyD~=hf zpb=G9wA>Eihmcn77PTdezGBzB&^`UqD`%RBw|G6{n@w8^nKsF)X}Ww6M2*7H#*)gM zO2?Tr$1H&jRDP>gSH~x)#iZo5-f(f*)R47p^x6r&*}=pWw)f?cPpsr*`$Z(cP7G2S z<%qGzV3QOjgW_df; zo}z)?^*53&{RBF9@n7s(dg*9S&p1VmTT9#42YY?URcdC2X|8&uR&C;D?P7j^TlU|P^l?B>v5w?Zjp<_3QJQ{Y3-ns%uA7_6?Rgg6ZAq-)X_OM z5pg6Cb@QWK%<5ui$*u+Znju--#GVZzPj_g#?0te>sR>laW|?%{A?Ur+-xMH}69Bvy zn$y3P%>|P#^TXft5`%2zo~(`oo?`fc1Aoe)IZ`XH`p4X~)CGF{g>6iiS;V^9+8M8` zt%o4r{_xZrB9Y8i>-o~USw`75H7k%HDl(1rT|S%E4jaoY3K^n_2fE38fQJm>GN$aq z^7ckxN-$4KwITM&QaSMVN)JHg5^RDd9E`+;)83#5?~oFf3)!8zl`X4PgzR@9C(35$-kFZ&C;mG(X_U))aUfksT`!tEG(o?|H%I(8%S%lZu3^4Kf zH9e=o=ed$0_Z>(&-4e$Vtf;P2HP&gqM<+U}z{yzkU)Fph;l()?l5wA)2vT)&`%|U3 zQKX}FZMf~Aa9H1_~M;>Eh&E@oC|Vb~LY^fNWZkcbrPf6A@g&LZJ>KBhq8l+0n7 zU?oFB?OM9ps*)VA!j^7k#h~MF3ob#7rliIdXDK`)wu;>ZD^}ZEZ@|L5LZ&!a@e?p3 z>6P_x6CSY^h#(DV&>{sAC0|><`ygt-ZtwdfGfl3c$dgUTum+cV^c zYzJAJ8~VevLn0`05X#Teb_mSRn&k$=MakN#`zbEL6x@EH<|G$r?1A9e;qn$k4c z7;vArE64=CS@Yvmbvg#@i+cXB|Ixu|dY&#%-$Vcb0IiNDPt=u{TyksK{nUaXKhLOA znjTvIGc~RCL>xo@egMc%E>2cXoh-Vm`@J_$JkJX}2D~Qoimz5b)Z%C$2?`-1J1IZ@ z{^4;0i;`yR3K1X<^UaRB6s7fBHUF-p6aX;j?|t&{ucn-0Z`EYv>x%%u86F+-^&x~- zXI{BE|Hku@B>9Ckt!^&4&!Wx{F#l1<>x{r4Kugoso?ecNG2Yj|{q^SO#RP&S)|I!F ze~lvOR!1X&2#TP}O-s(;d*eT}IHiInX%dn9`aarVSssty z}?L#=_dnEAFd)m?ovYo(?f}%AiOoHdf6EunG+2DybF#JW+SIrwt*L zk(B$LWk1!+^cZ7L)b(`jV=a!lNql>DQoh(buyM3*G&leNa*6V;s_&(1vhYRHSocfE&Cau)Q1Oa5=VHfsS{b0i4RhU}}?W}ocs5n)5eZATG8BqG0Ddhf)T zOo;Kn+W7aKJzGWlWKHJfcUF8;%tw!K;e7)iiyTwwne2mS46HR-S1Bkt2Hapf7#Qo_ zouagSW9g5o%u4|v%!Xb+@%&2-k4MJFdk~1cI`1ZuAQ7Ne$8pD4&t0R+`mLIun3a|V zY$aSU;Nq0>uT*|pAyJ8ccDY(b`l{Si{dqbA#@>kQ@q@qktnXut1qmU!w(!>5E51Hf zoH(=#M$CFHlC%PqO^Q%$s?MJbDGzMEEUGZ_bz&P{7;69z18x9 z*d?_l_48gYO^({%?fa<+I5{Q1t^EFL3vZw3v+wQwm_#H=P*s+iGab5iX27B;X_aM} zgp`m3wR6HO9RN^BRJWEr@a5vWXi|y+9~s{F#GzkxyIVv+J*pC9N(@slXTu0>8g+``?fJb~H2s z02*o1w`zX8HtXt%sm3GzzD`doLWG=BuFTkUrguU<`skx)NQ#&b5AKPu;UE*Vs#47p z(&;Hel9ya!P#AhVZBZ^7Vghv|`zeA<*XF8db-TOC8McSnkd%}b7|O?u0i(*Arp{<_ z9*fO!Z?P`|s?s%C4=jFUVq*kWVBc(h!4bA0gs#c|a;a&FFY0=w@o!r@-ed(9W1O!q zesJmk$w@ArXq$5ayQAyf6ZU!m3v073Uu0c9=fIMXG{$_Bqh7##gbP)eYbKUgBZShl z*@cFRes8Bg=4A!8)p>l-*Ojj?GboJpBmaMU*BM<`b*0a_<@Mh6p1Sm`-fbDV+qlqd zs)rJT4FjP=U^2-Jtd*?E$|RY0MPzaq@1DXiP7A35PZ`h3HaoxU~MHO)L%7VKmd*Mv^0gS)!oFRi`Y67UzMrOxwrN) zv)neZCcyHk7aN~)$D9NpmS?RS4EDZ$VtbegV~ph@`R0;sR~OwjEpzOLU2hzBH4qRM z87o%jUUden`eyqSN_Ktmt=8F^0p|@^5JHP0z0q+X!No&Nz$iD{ zrm)xm00>BAY4R7RFCU5YdE;&#qxe`2BASX&Bw1vvoK$)-E7LR8Ij!!-i`bfb6|~G; z_24Bx)ya&LzQppWzaD=+knjmEEy2YB1QJTJG;{5p3x8;mTc>T=;}H9P=igf0%^2W? z)+LuM*nDOSI}>050K}A(<(XE`F${1Z;Vri;6of9Onv_R-(((7oWOFA<5Mh zl$#e0hx-FbuP|v7O+{jCBu8VH((*}uODi>$nktXG>Mvqz2ICQ5m$CAm+Q%lnK*2u^ zhx`6`^jE?`8v`sN#VfMbK3w--CWRH8y0;i%{-vg;-EkKIh`P*GOEcGmjg1B)am zwOHHgZbSeLhX)D`Wiz8&Ay(H|mzd-hM`SR;B_IGpp}saxQ<9BY6zL*TG|@9F#Oh*G z)o`#U$OJIBSe&1-S4q*DyeqFS**2+<1z~rK$0K}^<`VDA6%BX zVdjf}gwWpp5B3dwiUBsrOm|d2Iu){~;Z4u-CiuDfUmqFXM?k`^FMjBfpNJ zfh3po#ocmRK0`p9=<141RgI4Q0!1JJi6ob78a>qEX<@j8S&>c?wD4X?f+{eU6A<nv8=? zpvB#AczCx?s#l6NVoD->vdCDemFP}-nt9BB$5Evg>+V_f<04a~fGQqy!KC-Y&VM{t z|3tUHJ=Z=^qn#bE9~jyVAk<0qw^cr%opQ!J-@pO@q$x8( zjK43?g)r*!wN881n`(NQ*%=*nMu!0aYKb;mlN(I>0RRk_taltZHhO3zGN_a26=F33 ziF9?2U0*mD>IqNRr}|wm0ul>tb$8YL(5lYD0H-*n&E4>3+n?WQf3?-qEYJ>61Z~$9 zMA;~hI1-ZA7H=uH)XwGM4I}&BYJZu-8~}K0)q@M>JmYn4fhE+dTHOtiR5+H3dSjzC z)}_R3Q-l;jWvH@`jUGyJ355BLg}2nC)j4A$43|WhkFn8#VE5ks4@V>YM!8i)h%CyC zQgd~;uPr>*uJavA)d|tEtTkJ!9+uGZAmeXyH@?vD)F(YV+_BLVpMn6$X=RzE=FaLz z0*t@IdjbMbWGK72{GM5#j4>XK4nE)bRGf`L2v=mUUz>OJyfpXD1F!%9VoH*&v9~zu zQ#|91yF-k>*i<>I$dN*@S#DdIa|KDj-oSS#T8R?w0-}CiPx}&2Q;|2QSEtU66=5YKvAE&~J zwy*z#SDOET0RRBrRCdSeoU3N7g2dVAGlzfC>1!33PwuUKTu3~*w$=Mz{w;y&(v z^WBrL@tCJb`ud_PqMYpWazgFl9LYNQ4yq2vV~6G=!K<(5#=pBURh7+@u>sJ1Stu`SEd*d=3iCLZy>J^0f$ zPYVXP#=7{fnjg=4rc3du=jwlT+}Vf$R*01MEq*LdTQrX}yYmwY$CIsGU12m8>I-yX zjJkboM!CtV%$j+*a*51 z^&={YcIGE1xcHwM{`Z)(9sod-^!Li|F1OUqFM0EP0!zSFp0+T=c!$CRJm%Xy%?gn+ zL!C2oOtdJ{qp9#fu!qNdf1sn-SUHh&lz@avtSz@JUX;E(Utg@3>H`UHjE#VA9#QQ4 z8o~%dn5(g`%(?su`wf>DY%Vd?h$!(S1T;9lc)R^C9OeK3H<#Tx>1uyEU&Z{n>FLJN zBSHoB*7AF6Ggi*K>3Z2wYVydi7UuBS4D3U(a z7IH^Neska_zJwP7ur6=obtSjYz+{Xu4l{vQj{UC1)r0|-P|{l~?pJb`o!EYGXpcYzxH5agbtPL*)d3+`U!ddnhyPosR9%{T<&9~P^d1uWJYHZ8Tk=KXkZfZ2a#@=juY2Uynf=e$mS8u7fUoFHF3Hq9%TQ1GJdX5q|DV|}t#9*kW-E-{l@V?M_*JL}J8bn=*YMn>A*O_|zUt@M=jl?-(*g!qKJ2?N|4=&-3WEQ&di zMUw<2rX(i0wb)c$VOfMQI}+;Wr%=H2m={?5&wsWAz+`C?gppRNyQXN%4JEf1nkrQi z4NZ#XxRF>s_4n582Z#0m0F)xtT{VwpP7wN@a$4v2^zC@L`I%@cf&rG%^1B!Pd$n!p zIeic35Lm)?%-0p^WcuDfXNqScsc`+seh6`fI`34R`WfoH6rb!5baRMn_cUi}at(6x zX}N2KNL6gADln9J;-e8JG?9R$+ES~R8E8r(CM7f>q6iW~hyca_0WhW@a263waQ+me zXp)xFGC8eMh*d_pIa{5>11>S9KY#&N(8^ldvTfB57n`far%COEG5)0I?GL-&!Wff~ zyt(|YinO{J!sXviZ2z?PJ)t)%Tb=)dx}Rlf?B{xS!Sh3)(Bo@+rTN*Ra6bVF2tZ}p z;;Ra7Iu*lsJQaPe{?{kmO#~#2a`Pi~Kbw^R{8YAo;NxArJNkpY0**<7Tx46e*tQ}^ zTM%JFA;uR<1|q3Qf=&1nZjNXDNe_>B4yA%gzwl--#z7`9QJGRfE2Lus2qZyjC3*-+ zDJ@foR8mT=5^EGaKoVhok#*^fW#6BpYVNlKSQub`-1A23 z3r)_WJmN6MM!9KS-qnlJS5A9l?N4~N*FVwi?*IT;l(xGU{>ZAzItbCWH}o96$>_JYVyW=**L@^j95Me07e*dC^hzCFpIc}H%JsgjR!0UAx+Xk zE=&dvrzLmw#GD^?{r$+u7fCJw0hH15%kr;Xm3!5E-Pn9nfHjs?@P~)@zS;VxKr%o; zBE_eQjpZBiuN8Q9CRrfi{q4b@4o8L{fEI=AfyIxT=B$G~)i^%2xBr9B`#%~A4^RY! zG3GG0Kvz_ozOpub#awzz=58b5zWoEcnnn-0Vor*n1kJ<}W5x394K>zfXB>kt#tn{r zFCTj*!6gtz%d^(rRDSnV5lWV0cK7f6taqm;?jj+{Bi^nr-dwtER!Na>F|Y)4Le9698b8S?;aOh}O6lTgw$ zg>8NQwS~rtvk^>0813$T@12vc3UW~^vex}e*`1<)MpY~oIq7NspzDp1@BoK72%u7= zTAsCbb?zqhY_<3c0a${4G4RocU2i(04gwMgBN0ij$l9>TwtP|#YM;O3nWMi5CIb*a zi_&&S)eo|@3(mTJ8{aqZas9}?zF@b|L&0O7f@HaQVQt3B1^N=TM1Q(2s@2`pFtWeX z*G>{70SSb8F)1lARW8ZAwDQ!M_1sarxBvaukH5fU4g-8i`pPX8_f6~q=Xkbh^uV6J z58AvfLN*C8C^l7WEW9O8SM;^~e7`neVSqyk|Ng;G_x67fN(P0}xk9AO)h<|_b5*7$ zPa#r42rV0=0*c(el1&vIKp!HH? zuFhVUzQ(4`k<*G(RVf)R5n;k@?#8CkgCmi_P%io8*&8;O-XY9TaEOgE;b!Nd{ez!5B7?%YPeh1J3hNaMZYVKT%f3Fg z75KH&>Nz7rpY`o*7}+0Uf&?Tm#t5Jsb>8BPRfWcKn=*$Wh(N;g$0NV$33fpMC6wg0 z%KNL+X744OqYa084iA5R!qqq&?gs!u2n9`YliaezYUCdDZ( zIT-40a2z~1v@6U+D1rh2^9bc??aQ;)Ez4R@eBBC(@SDKb$RW-fcODq{^w9902oo0a z0|=l}tg( z&c=Ae3CSEq&>D%>Ah(p7Dx*xO!`J4Ed!niESa}T7q*x(RF0wAIO<$##n`E?NzAj08 zan~!ye&6b8798QFc^lW{Toq#c4I`hQaJK}K-dHL+z6O)ba=HEbB4dT}yr)y&Twr|_ zo|69kgP$}w4h@I;dCUu;kViaCQiX=nd|m18zMX>RIl^d3#_DT|w&-N0`CWrI=4>22 z&@_5zAlNfrzQO<_gdhYHE8`MMT5PPWNxP)lwv3!_578Isc(L*S9FbuH5&*ygeL@4SME@WVRSs-O&fw*Viz(@6t0|_?9B6jSj z3kdktf-%N6RmQEA52UNI34$UaF~|FmNfi);kr4ahY-}*tJreHk4Rj8M`X*KFrwXl8 z1Z9+4GSxX*>b!h?u|bwbkrW9@2+1>0RKysMFJ^b&dmnYbHRh1M{I|wY4gsJ^ky@hN zkbg~)u~IG8Poh`32&`F)Pi%|pQ2oduS8T)`8x?AOlTH9)Qe>8=nUyx9%&L??wHe`@PU7p1Q(7JB2uK68V$0v zBp3I^UH+sGfUl&ZF~%5Rj1h!{L8?zvWoo4cjYMyhTWNw;ij^2+iWE&PWIzA~9#@8A z7@i3xe7?BT7k7zBXol1p3M2a9FNP?sZ8cYEq%cl@V2=FY=PX9(ABme;+p%f_!4P`~9YMUxk zDN@VDDwb#CsYr+kbb4EQ{3rVY-El6CF%qyf&7%Mmj&CGE(1du(SAo!T%ps1)+_c{= zh?=U!+A>RZsj0@I$WV&aXEXVJ5m+iYbYdl1gcr zj8-Vcnsil0hB_xxW7kP%&)$YZz5T(?(a6wHXfVme6KpKO#ThPnmb8}&T47V?*pwMr zn!If7g0yd;xE1_Xv-qd@RI9t;)#hi%2U!V7*mVUKr40ax5OPEYc=Y8IhLo0>NM z=@*-nmg%HMl|)MuG);#UVDurveF2DCrL-y}}?Q#&|H; zGyZuQEi)>t00Rh#6&SEFrwP5a`+< zB$j2aS(>>nM^`X4`b_i3^RUE;zm3O1Hqqg2e&^(09N{4$lB&e&3DAXtL`SO^rGB3KW zWNVr-6J8K1L-0Zpw23gmy?yT=7~1WLxrCFQOe9}uU0R#IB1>)mCY;H`Nq?uWZEyek z-Tsbo!S)=DeQo~6%Cx$f=S?mG>+21S*cWr{?tAako*f8a2p|SnM#&5^%f`aZm1#@A zw&GkWvZsINk>M{~QHRhLhA?lCnXfCpt=L$l5MOBW9Poma;6j)m3if=|^H#UFJ&^PZ z!I2_ptyEi=zPiX%Wmeb}=S6D8A9uTB&ZEP78b=Q&xx_dVlTDdfo4#yW)&_-GeL+q~ z!V6p5%^h4~2`G!qwrHQ53QPaxrQMu+%jQO0g44BngrtDDWL~PSe`|1K~HZVGCc>Hvj+t M07*qoM6N<$f*?D|TmS$7 literal 0 HcmV?d00001 diff --git a/truman/src/jmh/java/com/diguage/truman/beans/BeanUtilsBenchTest.java b/truman/src/jmh/java/com/diguage/truman/beans/BeanUtilsBenchTest.java new file mode 100644 index 000000000000..31cfb1eb5e60 --- /dev/null +++ b/truman/src/jmh/java/com/diguage/truman/beans/BeanUtilsBenchTest.java @@ -0,0 +1,14 @@ +package com.diguage.truman.beans; + +import org.openjdk.jmh.annotations.*; +import org.openjdk.jmh.infra.Blackhole; + +@BenchmarkMode(Mode.Throughput) +@State(Scope.Benchmark) +public class BeanUtilsBenchTest { + // 跨版本的的测试,没办法在这里搞 + @Benchmark + public void test(Blackhole bh) { + bh.consume("https://www.diguage.com/"); + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AopTest.java b/truman/src/main/java/com/diguage/truman/aop/AopTest.java new file mode 100644 index 000000000000..9071277c70d5 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AopTest.java @@ -0,0 +1,132 @@ +package com.diguage.truman.aop; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; + +import jakarta.annotation.Resource; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-02 11:12 + */ +public class AopTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService bean = context.getBean(UserService.class); + bean.test(); + bean.getDesc(); + bean.setDesc("This is a test."); + + String user = bean.getById(119); + System.out.println(user); + + BeanDefinition definition = context.getBeanDefinition(UserService.class.getName()); + System.out.println(definition); + } + + @Configuration + @Import(AopImportSelector.class) + @EnableAspectJAutoProxy(exposeProxy = true) + public static class Config { + } + + // 使用 @Import 和 ImportSelector 搭配,就可以省去 XML 配置 + public static class AopImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName(), + TestAspect.class.getName() + }; + } + } + + @Aspect + public static class TestAspect { + @Pointcut("execution(* com.diguage.truman.aop.AopTest$UserService.test(..))") + public void test() { + } + + @Before("test()") + public void beforeTest() { + System.out.println("beforeTest"); + } + + @After("test()") + public void afterTest() { + System.out.println("afterTest"); + } + + @Around("test()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + public static class UserDao { + public String getById(int id) { + return "diguage-" + id; + } + } + + public static class UserService { + private String desc = "testBean"; + + @Resource + private UserDao userDao; + + public String getDesc() { + System.out.println("getDesc"); + this.test(); + System.out.println("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((UserService) AopContext.currentProxy()).test(); + System.out.println("--AopContext----setDesc"); + } + + public void test() { + System.out.println("----------------test"); + } + + public String getById(int id) { + return userDao.getById(id); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectAfterThrowingTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectAfterThrowingTest.java new file mode 100644 index 000000000000..9a0dc3ce2d8e --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectAfterThrowingTest.java @@ -0,0 +1,70 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Aspect; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +import java.util.Arrays; + +/** + * 验证 @AfterThrowing 的属性 throwing + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-19 23:28:27 + */ +@Slf4j +public class AspectAfterThrowingTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + Movable bean = context.getBean(Movable.class); + bean.move("Henan"); + } + + @Configuration + @Import(AspectImportSelector.class) + @EnableAspectJAutoProxy + public static class Config { + } + + public static class AspectImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + Rabbit.class.getName(), + AfterThrowingAspect.class.getName() + }; + } + } + + public interface Movable { + void move(String target); + } + + public static class Rabbit implements Movable { + @Override + public void move(String target) { + log.info("Rabbit.move executing..."); + throw new RuntimeException("Rabbit throws an error."); + } + } + + @Aspect + public static class AfterThrowingAspect { + @AfterThrowing(pointcut = "execution(void *.move(String, ..))", + throwing = "e") + public void afterThrowing(JoinPoint joinPoint, RuntimeException e) { + Object[] args = joinPoint.getArgs(); + log.error("Target threw an error. args={}", + Arrays.toString(args), e); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectAnnoArgsTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectAnnoArgsTest.java new file mode 100644 index 000000000000..3b9a3311c56a --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectAnnoArgsTest.java @@ -0,0 +1,113 @@ +package com.diguage.truman.aop; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.Arrays; + +/** + * 验证 @args 的匹配规则。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-18 21:18:43 + */ +@Slf4j +public class AspectAnnoArgsTest { + + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + DiguageTask task = context.getBean(DiguageTask.class); + AnnoParam annoParam = new AnnoParam("AnnoParam"); + task.run(annoParam); + + NonAnnoParam nonAnnoParam = new NonAnnoParam("NonAnnoParam"); + task.run(nonAnnoParam); + } + + @Configuration + @Import(ArgsImportSelector.class) + @EnableAspectJAutoProxy // 注意:这行必须加 + public static class Config { + } + + public static class ArgsImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + DiguageTask.class.getName(), + TypeAspect.class.getName() + }; + } + } + + public static class DiguageTask { + public void run(Object param) { + log.info("Diguage.run executing.params[{}]", param); + } + } + + @Data + @NoArgsConstructor + @TypeAnnotation + public static class AnnoParam { + private String name; + + public AnnoParam(String name) { + this.name = name; + } + } + + /** + * 这个参数调用时,没有执行增强,所以只会对有注解的参数进行拦截。 + */ + @Data + @NoArgsConstructor + public static class NonAnnoParam { + private String name; + + public NonAnnoParam(String name) { + this.name = name; + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface TypeAnnotation { + } + + @Aspect + public static class TypeAspect { + @Pointcut("@args(com.diguage.truman.aop." + + "AspectAnnoArgsTest.TypeAnnotation)") + public void doType() { + } + + @Around("doType()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + Object[] args = null; + try { + args = joinPoint.getArgs(); + return joinPoint.proceed(); + } finally { + log.info("TypeAspect executing. params[{}]", Arrays.toString(args)); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectAnnoTargetTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectAnnoTargetTest.java new file mode 100644 index 000000000000..748842777dba --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectAnnoTargetTest.java @@ -0,0 +1,111 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 验证 @target 的匹配规则。 + * + * TODO 如何验证其动态匹配的特性? + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-18 21:18:43 + */ +@Slf4j +public class AspectAnnoTargetTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + DiguageTask task = context.getBean(DiguageTask.class); + task.run(); + } + + @Configuration + @Import(TargetImportSelector.class) + @EnableAspectJAutoProxy // 注意:这行必须加 + public static class Config { + } + + public static class TargetImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + DiguageTask.class.getName(), + TypeAspect.class.getName(), + MethodAspect.class.getName() + }; + } + } + + @TypeAnnotation + public static class DiguageTask { + @MethodAnnotation + public void run() { + log.info("Diguage.run executing..."); + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface TypeAnnotation { + } + + @Aspect + public static class TypeAspect { + @Pointcut("@target(com.diguage.truman.aop." + + "AspectAnnoTargetTest.TypeAnnotation)") + public void doType() { + } + + @Around("doType()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + try { + return joinPoint.proceed(); + } finally { + log.info("TypeAspect executing..."); + } + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface MethodAnnotation { + } + + @Aspect + public static class MethodAspect { + @Pointcut("@target(com.diguage.truman.aop." + + "AspectAnnoTargetTest.MethodAnnotation)") + public void doMethod() { + } + + /** + * 这里的代码没有执行到,说明对于 @target 注解来说,只支持类注解。 + */ + @Around("doMethod()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + try { + return joinPoint.proceed(); + } finally { + log.info("MethodAspect executing..."); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectAnnotationTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectAnnotationTest.java new file mode 100644 index 000000000000..9236602cc067 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectAnnotationTest.java @@ -0,0 +1,107 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-18 23:40:42 + */ +@Slf4j +public class AspectAnnotationTest { + + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + DiguageTask task = context.getBean(DiguageTask.class); + task.run(); + } + + @Configuration + @Import(AnnoImportSelector.class) + @EnableAspectJAutoProxy // 注意:这行必须加 + public static class Config { + } + + public static class AnnoImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + DiguageTask.class.getName(), + AnnoTypeAspect.class.getName(), + AnnoMethodAspect.class.getName() + }; + } + } + + @AnnoTypeAnnotation + public static class DiguageTask { + @AnnoMethodAnnotation + public void run() { + log.info("Diguage.run executing..."); + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface AnnoMethodAnnotation { + } + + @Aspect + public static class AnnoMethodAspect { + @Pointcut("@annotation(com.diguage.truman.aop." + + "AspectAnnotationTest.AnnoMethodAnnotation)") + public void annoMethod() { + } + + @Around("annoMethod()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + try { + return joinPoint.proceed(); + } finally { + log.info("AnnoMethodAspect.annoMethod executing..."); + } + } + } + + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface AnnoTypeAnnotation { + } + + @Aspect + public static class AnnoTypeAspect { + @Pointcut("@annotation(com.diguage.truman.aop." + + "AspectAnnotationTest.AnnoTypeAnnotation)") + public void annoType() { + } + + /** + * 这里的代码没有执行到,说明对于 @annotation 注解来说,只支持方法注解。 + */ + @Around("annoType()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + try { + return joinPoint.proceed(); + } finally { + log.info("AnnoTypeAspect.annoType executing..."); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectAopManualTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectAopManualTest.java new file mode 100644 index 000000000000..1676d09e7b29 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectAopManualTest.java @@ -0,0 +1,61 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.aop.aspectj.annotation.AspectJProxyFactory; +import org.springframework.util.StopWatch; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-18 14:43:36 + */ +@Slf4j +public class AspectAopManualTest { + @Test + public void test() { + AspectJProxyFactory weaver = new AspectJProxyFactory(); + weaver.setProxyTargetClass(true); + weaver.setTarget(new Foo()); + weaver.addAspect(PerformanceTraceAspect.class); + Foo proxy = weaver.getProxy(); + proxy.method1(); + proxy.method2(); + } + + @Aspect + public static class PerformanceTraceAspect { + @Pointcut("execution(public void *.method1()) " + + "|| execution(public void *.method2())") + public void pointcutName() { + } + + @Around("pointcutName()") + public Object trace(ProceedingJoinPoint jp) throws Throwable { + StopWatch watch = new StopWatch(); + try { + watch.start(); + return jp.proceed(); + } finally { + watch.stop(); + if (log.isInfoEnabled()) { + log.info("PT in method[{}] {}", + jp.getSignature().getName(), watch); + } + } + } + } + + public class Foo { + public void method1() { + log.info("method1 execution."); + } + + public void method2() { + log.info("method2 execution."); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectTargetClassTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectTargetClassTest.java new file mode 100644 index 000000000000..22db4cf6fc92 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectTargetClassTest.java @@ -0,0 +1,79 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +/** + * 验证 target 的匹配规则。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-19 23:28:27 + */ +@Slf4j +public class AspectTargetClassTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + Movable bean = context.getBean(Movable.class); + bean.move(); + } + + /** + * 无论 (proxyTargetClass = true/false),切面都会执行 + */ + @Configuration + @Import(TargetImportSelector.class) + @EnableAspectJAutoProxy + public static class Config { + } + + public static class TargetImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + Rabbit.class.getName(), + TargetAspect.class.getName() + }; + } + } + + public interface Movable { + void move(); + } + + public static class Rabbit implements Movable { + @Override + public void move() { + log.info("Rabbit.move executing..."); + } + } + + @Aspect + public static class TargetAspect { + @Pointcut("target(com.diguage.truman.aop.AspectTargetClassTest.Rabbit)") + public void doTargetInterface() { + } + + @Around("doTargetInterface()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + String typeName = joinPoint.getSignature().getDeclaringTypeName(); + String methodName = joinPoint.getSignature().getName(); + try { + return joinPoint.proceed(); + } finally { + log.info("aspect executing. pointcut={}.{}", + typeName, methodName); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectTargetInterfaceTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectTargetInterfaceTest.java new file mode 100644 index 000000000000..e4741a9ec0e9 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectTargetInterfaceTest.java @@ -0,0 +1,76 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +/** + * 验证 target 的匹配规则。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-19 23:28:27 + */ +@Slf4j +public class AspectTargetInterfaceTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + Movable bean = context.getBean(Movable.class); + bean.move(); + } + + @Configuration + @Import(TargetImportSelector.class) + @EnableAspectJAutoProxy // 注意:这行必须加 + public static class Config { + } + + public static class TargetImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + Rabbit.class.getName(), + TargetAspect.class.getName() + }; + } + } + + public interface Movable { + void move(); + } + + public static class Rabbit implements Movable { + @Override + public void move() { + log.info("Rabbit.move executing..."); + } + } + + @Aspect + public static class TargetAspect { + @Pointcut("target(com.diguage.truman.aop.AspectTargetInterfaceTest.Movable)") + public void doTargetInterface() { + } + + @Around("doTargetInterface()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + String typeName = joinPoint.getSignature().getDeclaringTypeName(); + String methodName = joinPoint.getSignature().getName(); + try { + return joinPoint.proceed(); + } finally { + log.info("aspect executing. pointcut={}.{}", + typeName, methodName); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectThisClassTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectThisClassTest.java new file mode 100644 index 000000000000..feb913bf7411 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectThisClassTest.java @@ -0,0 +1,81 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +/** + * 验证 this 的匹配规则。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-19 21:27:47 + */ +@Slf4j +public class AspectThisClassTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + // TODO 竟然不能写成 Rabbit.class。 为什么? + Movable bean = context.getBean(Movable.class); + bean.move(); + } + + /** + * 如果 (proxyTargetClass = true),则切面会执行; + * 如果 (proxyTargetClass = false)(默认如此),则切面会执行。 + */ + @Configuration + @Import(ThisImportSelector.class) + @EnableAspectJAutoProxy //(proxyTargetClass = true) + public static class Config { + } + + public static class ThisImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + Rabbit.class.getName(), + ThisAspect.class.getName() + }; + } + } + + public interface Movable { + void move(); + } + + public static class Rabbit implements Movable { + @Override + public void move() { + log.info("Rabbit.move executing..."); + } + } + + @Aspect + public static class ThisAspect { + @Pointcut("this(com.diguage.truman.aop.AspectThisClassTest.Rabbit)") + public void doThisInterface() { + } + + @Around("doThisInterface()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + String typeName = joinPoint.getSignature().getDeclaringTypeName(); + String methodName = joinPoint.getSignature().getName(); + try { + return joinPoint.proceed(); + } finally { + log.info("aspect executing. pointcut={}.{}", + typeName, methodName); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectThisInterfaceTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectThisInterfaceTest.java new file mode 100644 index 000000000000..235ebb72b02c --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectThisInterfaceTest.java @@ -0,0 +1,77 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +/** + * 验证 this 的匹配规则。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-19 21:27:47 + */ +@Slf4j +public class AspectThisInterfaceTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + // TODO 竟然不能写成 Rabbit.class。 为什么? + Movable bean = context.getBean(Movable.class); + bean.move(); + } + + @Configuration + @Import(ThisImportSelector.class) + @EnableAspectJAutoProxy // 注意:这行必须加 + public static class Config { + } + + public static class ThisImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + Rabbit.class.getName(), + ThisAspect.class.getName() + }; + } + } + + public interface Movable { + void move(); + } + + public static class Rabbit implements Movable { + @Override + public void move() { + log.info("Rabbit.move executing..."); + } + } + + @Aspect + public static class ThisAspect { + @Pointcut("this(com.diguage.truman.aop.AspectThisInterfaceTest.Movable)") + public void doThisInterface() { + } + + @Around("doThisInterface()") + public Object around(ProceedingJoinPoint joinPoint) throws Throwable { + String typeName = joinPoint.getSignature().getDeclaringTypeName(); + String methodName = joinPoint.getSignature().getName(); + try { + return joinPoint.proceed(); + } finally { + log.info("aspect executing. pointcut={}.{}", + typeName, methodName); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/AspectWithinTest.java b/truman/src/main/java/com/diguage/truman/aop/AspectWithinTest.java new file mode 100644 index 000000000000..33de88bb8c45 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/AspectWithinTest.java @@ -0,0 +1,106 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-07-18 21:18:43 + */ +@Slf4j +public class AspectWithinTest { + + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + DiguageTask task = context.getBean(DiguageTask.class); + task.run(); + } + + @Configuration + @Import(WithinImportSelector.class) + @EnableAspectJAutoProxy // 注意:这行必须加 + public static class Config { + } + + public static class WithinImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + DiguageTask.class.getName(), + WithinTypeAspect.class.getName(), + WithinMethodAspect.class.getName() + }; + } + } + + @WithinTypeAnnotation + public static class DiguageTask { + @WithinMethodAnnotation + public void run() { + log.info("Diguage.run executing..."); + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface WithinTypeAnnotation { + } + + @Aspect + public static class WithinTypeAspect { + @Pointcut("@within(com.diguage.truman.aop." + + "AspectWithinTest.WithinTypeAnnotation)") + public void withinType() { + } + + @Around("withinType()") + public Object around(ProceedingJoinPoint jp) throws Throwable { + try { + return jp.proceed(); + } finally { + log.info("WithinTypeAspect executing..."); + } + } + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface WithinMethodAnnotation { + } + + @Aspect + public static class WithinMethodAspect { + @Pointcut("@within(com.diguage.truman.aop." + + "AspectWithinTest.WithinMethodAnnotation)") + public void withinMethod() { + } + + /** + * 这里的代码没有执行到,说明对于 @Within 注解来说,只支持类注解。 + */ + @Around("withinMethod()") + public Object around(ProceedingJoinPoint jp) throws Throwable { + try { + return jp.proceed(); + } finally { + log.info("WithinTypeAspect executing..."); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/DeclareParentsAopTest.java b/truman/src/main/java/com/diguage/truman/aop/DeclareParentsAopTest.java new file mode 100644 index 000000000000..52cd2083a5b2 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/DeclareParentsAopTest.java @@ -0,0 +1,167 @@ +package com.diguage.truman.aop; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.*; +import org.junit.jupiter.api.Test; +import org.springframework.aop.framework.AopContext; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +import jakarta.annotation.Resource; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-07-09 12:23 + */ +@Slf4j +public class DeclareParentsAopTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService bean = context.getBean(UserService.class); + bean.test(); + + String user = bean.getById(119); + System.out.println(user); + if (bean instanceof UsageTracked) { + System.out.println("OKKK"); + } + + UsageTracked tracked = (UsageTracked) context.getBean(UserService.class); + System.out.println(tracked.incrementUseCount()); + } + + @Configuration + @Import(AopImportSelector.class) + @EnableAspectJAutoProxy(exposeProxy = true) + public static class Config { + @Bean + public UsageTracked usageTracked() { + return new DefaultUsageTracked(); + } + } + + public static class AopImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName(), + UserServiceAspect.class.getName(), + DeclareParentsAspect.class.getName(), + DefaultUsageTracked.class.getName() + }; + } + } + + @Aspect + public static class UserServiceAspect { + @Pointcut("execution(* com.diguage.truman.aop." + + "MoreAopTest$UserService.test(..))") + public void test() { + } + + @Before("test()") + public void beforeTest() { + System.out.println("beforeTest"); + } + + @After("test()") + public void afterTest() { + System.out.println("afterTest"); + } + + @Around("test()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + log.info(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + @Aspect + public static class DeclareParentsAspect { + + // 目前这部分是 OK了。 + + + @DeclareParents(value = "com.diguage.truman.aop." + + "DeclareParentsAopTest.UserService+", + defaultImpl = DefaultUsageTracked.class) + public static UsageTracked mixin; + + // TODO 还不成功,纳闷,不知道该怎么弄? +// @Before("com.diguage.truman.aop.MoreAopTest$UserService.test() && this(usageTracked)") +// public void recordUsage(UsageTracked usageTracked) { +// usageTracked.incrementUseCount(); +// } + } + + public static interface UsageTracked { + int incrementUseCount(); + } + + + public static class DefaultUsageTracked implements UsageTracked { + private AtomicInteger count = new AtomicInteger(0); + + @Override + public int incrementUseCount() { + return count.incrementAndGet(); + } + } + + + public static class UserDao { + public String getById(int id) { + return "diguage-" + id; + } + } + + public static class UserService { + private String desc = "testBean"; + + @Resource + private UserDao userDao; + + public String getDesc() { + log.info("getDesc"); + this.test(); + log.info("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((UserService) AopContext.currentProxy()).test(); + log.info("--AopContext----setDesc"); + } + + public void test() { + log.info("----------------test"); + } + + public String getById(int id) { + return userDao.getById(id); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/FinalTest.java b/truman/src/main/java/com/diguage/truman/aop/FinalTest.java new file mode 100644 index 000000000000..e1fe8cd6ce5d --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/FinalTest.java @@ -0,0 +1,131 @@ +package com.diguage.truman.aop; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; + +import jakarta.annotation.Resource; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-02 11:12 + */ +public class FinalTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService bean = context.getBean(UserService.class); + bean.test(); + bean.getDesc(); + bean.setDesc("This is a test."); + + String user = bean.getById(119); + System.out.println(user); + + BeanDefinition definition = context.getBeanDefinition(UserService.class.getName()); + System.out.println(definition); + } + + @Configuration + @Import(AopImportSelector.class) + @EnableAspectJAutoProxy(exposeProxy = true) + public static class Config { + } + + public static class AopImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName(), + TestAspect.class.getName() + }; + } + } + + @Aspect + public static class TestAspect { + @Pointcut("execution(* com.diguage.truman.aop.FinalTest$UserService.test(..))") + public void test() { + } + + @Before("test()") + public void beforeTest() { + System.out.println("beforeTest"); + } + + @After("test()") + public void afterTest() { + System.out.println("afterTest"); + } + + @Around("test()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + public static class UserDao { + public String getById(int id) { + return "diguage-" + id; + } + } + + public static final class UserService { + private String desc = "testBean"; + + @Resource + private UserDao userDao; + + public String getDesc() { + System.out.println("getDesc"); + this.test(); + System.out.println("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((UserService) AopContext.currentProxy()).test(); + System.out.println("--AopContext----setDesc"); + } + + public void test() { + System.out.println("----------------test"); + } + + public String getById(int id) { + return userDao.getById(id); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceTest.java b/truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceTest.java new file mode 100644 index 000000000000..5c7652d88757 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceTest.java @@ -0,0 +1,137 @@ +package com.diguage.truman.aop; + +import lombok.Data; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import org.springframework.aop.MethodBeforeAdvice; +import org.springframework.aop.TargetSource; +import org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor; +import org.springframework.aop.framework.ProxyFactoryBean; +import org.springframework.aop.target.HotSwappableTargetSource; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; + +import jakarta.annotation.Resource; +import javax.sql.DataSource; +import java.lang.reflect.Method; +import java.sql.Connection; +import java.sql.SQLException; + +import static org.mockito.Mockito.when; + +/** + * 根据配置透明切换数据源的插件 + *

+ * https://afoo.me/posts/2005-08-10-improve-datasources-swap-solution.html + * + * @author D瓜哥, https://www.diguage.com + * @since 2021-07-16 23:59:56 + */ +public class HotSwappableTargetSourceTest { + private static final String PRIMARY_DATASOURCE = "primaryDatasource"; + private static final String SLAVE_DATASOURCE = "slaveDatasource"; + private static final String ADVISOR_NAME = "swapDataSourceAdvisor"; + private static boolean usePrimary = true; + + @Test + public void test() throws SQLException { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext();context.register(Config.class); + context.refresh(); + + DataSource primaryDatasource = (DataSource) context.getBean(PRIMARY_DATASOURCE); + DataSource slaveDatasource = (DataSource) context.getBean(SLAVE_DATASOURCE); + + when(primaryDatasource.getConnection()) + .thenReturn(Mockito.mock(Connection.class, "primaryConnection")); + when(slaveDatasource.getConnection()) + .thenReturn(Mockito.mock(Connection.class, "slaveConnection")); + + DataSource dataSource = (DataSource) context.getBean("dataSource"); + + System.out.println(dataSource.getConnection()); + usePrimary = !usePrimary; + System.out.println(dataSource.getConnection()); + System.out.println(dataSource.getConnection()); + usePrimary = !usePrimary; + System.out.println(dataSource.getConnection()); + } + + @Configuration + @EnableAspectJAutoProxy + public static class Config { + @Bean(PRIMARY_DATASOURCE) + public DataSource primaryDatasource() { + return Mockito.mock(DataSource.class, PRIMARY_DATASOURCE); + } + + @Bean(SLAVE_DATASOURCE) + public DataSource slaveDatasource() { + return Mockito.mock(DataSource.class, SLAVE_DATASOURCE); + } + + @Bean + public HotSwappableTargetSource hotSwappableTargetSource( + @Qualifier(PRIMARY_DATASOURCE) DataSource dataSource) { + return new HotSwappableTargetSource(dataSource); + } + + @Bean + public SwapDataSourceAdvice swapDataSourceAdvice() { + return new SwapDataSourceAdvice(); + } + +// /** +// * 使用 Spring 自制的 Advisor +// */ +// @Bean(ADVISOR_NAME) +// public RegexpMethodPointcutAdvisor methodAdvisor(SwapDataSourceAdvice advice) { +// RegexpMethodPointcutAdvisor advisor = new RegexpMethodPointcutAdvisor(); +// advisor.setAdvice(advice); +// advisor.setPattern(".*getConnection.*"); +// return advisor; +// } + + /** + * 使用 AspectJ 表达式的 Advisor + */ + @Bean(ADVISOR_NAME) + public AspectJExpressionPointcutAdvisor methodAdvisor(SwapDataSourceAdvice advice) { + AspectJExpressionPointcutAdvisor advisor + = new AspectJExpressionPointcutAdvisor(); + advisor.setAdvice(advice); + advisor.setExpression("target(javax.sql.DataSource) " + + "&& execution(java.sql.Connection getConnection(..))"); + return advisor; + } + + @Bean("dataSource") + public ProxyFactoryBean getProxyFactoryBean(TargetSource targetSource) { + ProxyFactoryBean result = new ProxyFactoryBean(); + result.setTargetSource(targetSource); + result.setInterceptorNames(ADVISOR_NAME); + return result; + } + } + + @Data + public static class SwapDataSourceAdvice implements MethodBeforeAdvice { + @Resource(name = PRIMARY_DATASOURCE) + private DataSource primaryDatasource; + + @Resource(name = SLAVE_DATASOURCE) + private DataSource slaveDatasource; + + @Resource + private HotSwappableTargetSource targetSource; + + @Override + public void before(Method method, Object[] args, Object target) throws Throwable { + DataSource used = usePrimary ? primaryDatasource : slaveDatasource; + targetSource.swap(used); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceXmlTest.java b/truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceXmlTest.java new file mode 100644 index 000000000000..c01edf935422 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/HotSwappableTargetSourceXmlTest.java @@ -0,0 +1,92 @@ +package com.diguage.truman.aop; + +import lombok.Data; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import org.springframework.aop.MethodBeforeAdvice; +import org.springframework.aop.target.HotSwappableTargetSource; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import jakarta.annotation.Resource; +import javax.sql.DataSource; +import java.lang.reflect.Method; +import java.sql.Connection; +import java.sql.SQLException; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; +import static org.mockito.Mockito.when; + +/** + * 根据配置透明切换数据源的插件 + *

+ * https://afoo.me/posts/2005-08-10-improve-datasources-swap-solution.html + * + * @author D瓜哥, https://www.diguage.com + * @since 2021-07-16 23:59:56 + */ +public class HotSwappableTargetSourceXmlTest { + private static final String PRIMARY_DATASOURCE = "primaryDatasource"; + private static final String SLAVE_DATASOURCE = "slaveDatasource"; + private static boolean usePrimary = true; + + @Test + public void test() throws SQLException { + ApplicationContext context + = new ClassPathXmlApplicationContext( + BASE_CLASS_PATH + "/aop/HotSwappableTargetSource.xml"); + + DataSource primaryDatasource = (DataSource) context.getBean(PRIMARY_DATASOURCE); + DataSource slaveDatasource = (DataSource) context.getBean(SLAVE_DATASOURCE); + + when(primaryDatasource.getConnection()) + .thenReturn(Mockito.mock(Connection.class, "primaryConnection")); + when(slaveDatasource.getConnection()) + .thenReturn(Mockito.mock(Connection.class, "slaveConnection")); + + DataSource dataSource = (DataSource) context.getBean("dataSource"); + + System.out.println(dataSource.getConnection()); + usePrimary = !usePrimary; + System.out.println(dataSource.getConnection()); + System.out.println(dataSource.getConnection()); + usePrimary = !usePrimary; + System.out.println(dataSource.getConnection()); + } + + @Configuration + @EnableAspectJAutoProxy + public static class Config { + @Bean(PRIMARY_DATASOURCE) + public DataSource primaryDatasource() { + return Mockito.mock(DataSource.class, PRIMARY_DATASOURCE); + } + + @Bean(SLAVE_DATASOURCE) + public DataSource slaveDatasource() { + return Mockito.mock(DataSource.class, SLAVE_DATASOURCE); + } + } + + @Data + public static class SwapDataSourceAdvice implements MethodBeforeAdvice { + @Resource(name = PRIMARY_DATASOURCE) + private DataSource primaryDatasource; + + @Resource(name = SLAVE_DATASOURCE) + private DataSource slaveDatasource; + + @Resource + private HotSwappableTargetSource targetSource; + + + @Override + public void before(Method method, Object[] args, Object target) throws Throwable { + DataSource used = usePrimary ? primaryDatasource : slaveDatasource; + targetSource.swap(used); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/IntroductionTest.java b/truman/src/main/java/com/diguage/truman/aop/IntroductionTest.java new file mode 100644 index 000000000000..8f9461592e2d --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/IntroductionTest.java @@ -0,0 +1,14 @@ +package com.diguage.truman.aop; + +import org.junit.jupiter.api.Test; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-08-09 12:13 + */ +public class IntroductionTest { + @Test + public void test() { + // 测试引介增强 + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/MoreAopTest.java b/truman/src/main/java/com/diguage/truman/aop/MoreAopTest.java new file mode 100644 index 000000000000..de8cc7634dfa --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/MoreAopTest.java @@ -0,0 +1,246 @@ +package com.diguage.truman.aop; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.DeclareParents; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; + +import jakarta.annotation.Resource; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-02 11:12 + */ +public class MoreAopTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService bean = context.getBean(UserService.class); + bean.test(); + bean.test(); + + String user = bean.getById(119); + System.out.println(user); + + BeanDefinition definition = context.getBeanDefinition(UserService.class.getName()); + System.out.println(definition); + + OrderServiceImpl orderService = context.getBean(OrderServiceImpl.class); + System.out.println(orderService.getById(120)); + + System.out.println(context.getBean(OrderServiceImpl.class).getById(122)); + } + + @Configuration + @Import(AopImportSelector.class) + @EnableAspectJAutoProxy(exposeProxy = true) + public static class Config { + @Bean + public UsageTracked usageTracked() { + return new DefaultUsageTracked(); + } + } + + public static class AopImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName(), + OrderServiceImpl.class.getName(), + UserServiceAspect.class.getName(), + UserServiceAspect2.class.getName(), + OrderServiceAspect.class.getName(), + UsageTrackingAspect.class.getName() + }; + } + } + + @Aspect + public static class UserServiceAspect { + @Pointcut("execution(* com.diguage.truman.aop.MoreAopTest$UserService.test(..))") + public void test() { + } + + @Before("test()") + public void beforeTest() { + System.out.println("beforeTest"); + } + + @After("test()") + public void afterTest() { + System.out.println("afterTest"); + } + + @Around("test()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + @Aspect + public static class UserServiceAspect2 { + @Pointcut("execution(* com.diguage.truman.aop.MoreAopTest$UserService.test(..))") + public void test() { + } + + @Before("test()") + public void beforeTest() { + System.out.println("222-beforeTest"); + } + + @After("test()") + public void afterTest() { + System.out.println("222-afterTest"); + } + + @Around("test()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("222-aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("222-aroundAfter1"); + return restul; + } + } + + @Aspect + public static class UsageTrackingAspect { + + @DeclareParents(value = "com.diguage.truman.aop.*+", defaultImpl = DefaultUsageTracked.class) + public static UsageTracked mixin; + + @Before("execution(* com.diguage.truman.aop.MoreAopTest$OrderServiceImpl.getById(..)) && this(usageTracked)") + public void recordUsage(UsageTracked usageTracked) { + usageTracked.incrementUseCount(); + } + } + + public interface UsageTracked { + int incrementUseCount(); + } + + + public static class DefaultUsageTracked implements UsageTracked { + private AtomicInteger count = new AtomicInteger(0); + + @Override + public int incrementUseCount() { + return count.incrementAndGet(); + } + } + + @Aspect + public static class OrderServiceAspect { + @Pointcut("execution(* com.diguage.truman.aop.MoreAopTest$OrderService.getById(..))") + public void getById() { + } + + @Before("getById()") + public void beforeGetById() { + System.out.println("beforeTest"); + } + + @Around("getById()") + public Object aroundGetById(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + + public static class UserDao { + public String getById(int id) { + return "diguage-" + id; + } + } + + public static class UserService { + private String desc = "testBean"; + + @Resource + private UserDao userDao; + + public String getDesc() { + System.out.println("getDesc"); + this.test(); + System.out.println("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((UserService) AopContext.currentProxy()).test(); + System.out.println("--AopContext----setDesc"); + } + + public void test() { + System.out.println("----------------test"); + } + + public String getById(int id) { + return userDao.getById(id); + } + } + + public interface OrderService { + String getById(int id); + } + + public static class OrderServiceImpl implements OrderService { + public String getById(int id) { + return "Order-" + id; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/ProxyFactoryTest.java b/truman/src/main/java/com/diguage/truman/aop/ProxyFactoryTest.java new file mode 100644 index 000000000000..176142aa6a30 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/ProxyFactoryTest.java @@ -0,0 +1,54 @@ +package com.diguage.truman.aop; + +import org.junit.jupiter.api.Test; +import org.springframework.aop.framework.ProxyFactory; +import org.springframework.aop.interceptor.PerformanceMonitorInterceptor; +import org.springframework.aop.support.NameMatchMethodPointcutAdvisor; + +/** + * @author D瓜哥, https://www.diguage.com + */ +public class ProxyFactoryTest { + @Test + public void testJdkProxy() { + MockExecutable mockTask = new MockExecutable(); + ProxyFactory factory = new ProxyFactory(mockTask); + factory.setInterfaces(Executable.class); + NameMatchMethodPointcutAdvisor advisor = new NameMatchMethodPointcutAdvisor(); + advisor.setMappedName("execute"); + advisor.setAdvice(new PerformanceMonitorInterceptor()); + factory.addAdvisor(advisor); + Executable proxyExecutable = (Executable) factory.getProxy(); + System.out.println(proxyExecutable.getClass()); + proxyExecutable.execute(); + } + + public interface Executable { + void execute(); + } + + public static class MockExecutable implements Executable { + @Override + public void execute() { + System.out.println("MockTask.execute"); + } + } + + @Test + public void testCglibProxy() { + ProxyFactory factory = new ProxyFactory(new Task()); + NameMatchMethodPointcutAdvisor advisor = new NameMatchMethodPointcutAdvisor(); + advisor.setMappedName("execute"); + advisor.setAdvice(new PerformanceMonitorInterceptor()); + factory.addAdvisor(advisor); + Task proxyTask = (Task) factory.getProxy(); + System.out.println(proxyTask.getClass()); + proxyTask.execute(); + } + + public static class Task { + public void execute() { + System.out.println("Task.execute"); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/ProxyTargetClassTest.java b/truman/src/main/java/com/diguage/truman/aop/ProxyTargetClassTest.java new file mode 100644 index 000000000000..f2626a3e6058 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/ProxyTargetClassTest.java @@ -0,0 +1,123 @@ +package com.diguage.truman.aop; + +import jakarta.annotation.Resource; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.*; +import org.junit.jupiter.api.Test; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.*; +import org.springframework.core.type.AnnotationMetadata; + +/** + * @author D瓜哥, https://www.diguage.com + */ +public class ProxyTargetClassTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService bean = context.getBean(UserService.class); + bean.test(); + bean.getDesc(); + bean.setDesc("This is a test."); + + String user = bean.getById(119); + System.out.println(user); + + BeanDefinition definition = context.getBeanDefinition(UserService.class.getName()); + System.out.println(definition); + } + + @Configuration + @Import(AopImportSelector.class) + @EnableAspectJAutoProxy(exposeProxy = true, proxyTargetClass = true) + public static class Config { + } + + // 使用 @Import 和 ImportSelector 搭配,就可以省去 XML 配置 + public static class AopImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName(), + TestAspect.class.getName() + }; + } + } + + @Aspect + public static class TestAspect { + @Pointcut("execution(* com.diguage.truman.aop.ProxyTargetClassTest.UserService.test(..))") + public void pointcut() { + } + + @Before("pointcut()") + public void beforeTest() { + System.out.println("beforeTest"); + } + + @After("pointcut()") + public void afterTest() { + System.out.println("afterTest"); + } + + @Around("pointcut()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + public static class UserDao { + public String getById(int id) { + return "diguage-" + id; + } + } + + public static class UserService { + private String desc = "testBean"; + + @Resource + private UserDao userDao; + + public String getDesc() { + System.out.println("getDesc"); + this.test(); + System.out.println("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((UserService) AopContext.currentProxy()).test(); + System.out.println("--AopContext----setDesc"); + } + + public void test() { + System.out.println("----------------test"); + } + + public String getById(int id) { + return userDao.getById(id); + } + } + +} diff --git a/truman/src/main/java/com/diguage/truman/aop/TargetSourceTest.java b/truman/src/main/java/com/diguage/truman/aop/TargetSourceTest.java new file mode 100644 index 000000000000..b44c934800b6 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/TargetSourceTest.java @@ -0,0 +1,189 @@ +package com.diguage.truman.aop; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.springframework.aop.TargetSource; +import org.springframework.aop.framework.AopContext; +import org.springframework.aop.framework.ProxyFactoryBean; +import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator; +import org.springframework.aop.framework.autoproxy.TargetSourceCreator; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; + +import java.util.Arrays; + + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-21 11:03 + */ +public class TargetSourceTest { + @Test + public void test() throws Exception { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + String[] names = context.getBeanDefinitionNames(); + System.out.println(Arrays.toString(names).replaceAll(",", ",\n")); +// UserServiceTargetSource targetSource = context.getBean(UserServiceTargetSource.class); +// UserService bean = (UserService) targetSource.getTarget(); +// +// bean.test(); +// +// bean.getDesc(); +// bean.setDesc("This is a test."); + } + + @Configuration + @Import(AopImportSelector.class) + @EnableAspectJAutoProxy(exposeProxy = true) + public static class Config { + + public UserServiceTargetSource userServiceTargetSource(UserService userService) { + return new UserServiceTargetSource(userService); + } + + public TargetSourceCreator targetSourceCreator() { + return new TargetSourceCreator() { + @Override + public TargetSource getTargetSource(Class beanClass, String beanName) { + if (beanClass.equals(UserService.class)) { + return userServiceTargetSource((UserService) BeanUtils.instantiateClass(beanClass)); + } + return null; + } + }; + } + + @Bean + BeanNameAutoProxyCreator beanNameAutoProxyCreator() { + BeanNameAutoProxyCreator autoProxyCreator = new BeanNameAutoProxyCreator(); + autoProxyCreator.setBeanNames("*"); + autoProxyCreator.setCustomTargetSourceCreators(targetSourceCreator()); + return autoProxyCreator; + } + +// @Bean +// public ProxyFactoryBean getProxyFactoryBean(@Autowired UserServiceTargetSource userServiceTargetSource) { +// ProxyFactoryBean result = new ProxyFactoryBean(); +// result.setTargetSource(userServiceTargetSource); +// return result; +// } + } + + public static class AopImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + TestAspect.class.getName() + }; + } + } + + @Aspect + public static class TestAspect { + @Pointcut("execution(* com.diguage.truman.aop.TargetSourceTest$UserService.test(..))") + public void test() { + } + + @Before("test()") + public void beforeTest() { + System.out.println("beforeTest"); + } + + @After("test()") + public void afterTest() { + System.out.println("afterTest"); + } + + @Around("test()") + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } + } + + public static class UserDao { + public String getById(int id) { + return "diguage-" + id; + } + } + + public static class UserService { + private String desc = "testBean"; + + + public String getDesc() { + System.out.println("getDesc"); + this.test(); + System.out.println("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((UserService) AopContext.currentProxy()).test(); + System.out.println("--AopContext----setDesc"); + } + + public void test() { + System.out.println("----------------test"); + } + } + + public static class UserServiceTargetSource implements TargetSource { + + private UserService userService; + + public UserServiceTargetSource(@Autowired UserService userService) { + this.userService = userService; + } + + @Override + public Class getTargetClass() { + return UserService.class; + } + + @Override + public boolean isStatic() { + return false; + } + + @Override + public Object getTarget() throws Exception { + return userService; + } + + @Override + public void releaseTarget(Object target) throws Exception { + } + } + +} diff --git a/truman/src/main/java/com/diguage/truman/aop/xml/AopXmlTest.java b/truman/src/main/java/com/diguage/truman/aop/xml/AopXmlTest.java new file mode 100644 index 000000000000..de5a8a3de59e --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/xml/AopXmlTest.java @@ -0,0 +1,27 @@ +package com.diguage.truman.aop.xml; + +import org.junit.jupiter.api.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-08-09 10:27 + */ +public class AopXmlTest { + @Test + public void test() { + ClassPathXmlApplicationContext context + = new ClassPathXmlApplicationContext(BASE_CLASS_PATH + "/aop/xml/aop-xml.xml"); + + UserService bean = context.getBean(UserService.class); + + bean.test(); + bean.getDesc(); + bean.setDesc("This is a test."); + + String user = bean.getById(119); + System.out.println(user); + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/xml/TestAdvice.java b/truman/src/main/java/com/diguage/truman/aop/xml/TestAdvice.java new file mode 100644 index 000000000000..115cfaa1061f --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/xml/TestAdvice.java @@ -0,0 +1,35 @@ +package com.diguage.truman.aop.xml; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-08-09 10:40:17 + */ +public class TestAdvice { + + public void beforeTest() { + System.out.println("beforeTest"); + } + + public void afterTest() { + System.out.println("afterTest"); + } + + public Object aroundTest(ProceedingJoinPoint pjp) { + System.out.println("aroundBefore1"); + Object restul = null; + Signature signature = pjp.getSignature(); + System.out.println(pjp.getKind()); + Object target = pjp.getTarget(); + System.out.println(target.getClass().getName() + "#" + signature.getName()); + try { + restul = pjp.proceed(); + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + System.out.println("aroundAfter1"); + return restul; + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/xml/UserDao.java b/truman/src/main/java/com/diguage/truman/aop/xml/UserDao.java new file mode 100644 index 000000000000..6fe3a8c3a71e --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/xml/UserDao.java @@ -0,0 +1,11 @@ +package com.diguage.truman.aop.xml; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-08-09 10:30 + */ +public class UserDao { + public String getById(int id) { + return "diguage-" + id; + } +} diff --git a/truman/src/main/java/com/diguage/truman/aop/xml/UserService.java b/truman/src/main/java/com/diguage/truman/aop/xml/UserService.java new file mode 100644 index 000000000000..507a7ec14f76 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/aop/xml/UserService.java @@ -0,0 +1,41 @@ +package com.diguage.truman.aop.xml; + +import com.diguage.truman.aop.AopTest; +import org.springframework.aop.framework.AopContext; + +import jakarta.annotation.Resource; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-08-09 10:31 + */ +public class UserService { + private String desc = "testBean"; + + @Resource + private UserDao userDao; + + public String getDesc() { + System.out.println("getDesc"); + this.test(); + System.out.println("--this----------getDesc"); + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + // 使用 @EnableAspectJAutoProxy(exposeProxy = true) 打开 exposeProxy = true + // 则必须这样写,才能获取到当前的代理对象,然后调用的方法才是被 AOP 处理后的方法。 + // 使用 this.methodName() 调用,依然调用的是原始的、未经 AOP 处理的方法 + ((AopTest.UserService) AopContext.currentProxy()).test(); + System.out.println("--AopContext----setDesc"); + } + + public void test() { + System.out.println("----------------test"); + } + + public String getById(int id) { + return userDao.getById(id); + } +} diff --git a/truman/src/main/java/com/diguage/truman/beans/BeanUtilsTest.java b/truman/src/main/java/com/diguage/truman/beans/BeanUtilsTest.java new file mode 100644 index 000000000000..b903f3864025 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/beans/BeanUtilsTest.java @@ -0,0 +1,45 @@ +package com.diguage.truman.beans; + +import lombok.Data; +import lombok.NoArgsConstructor; +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeanUtils; + +import java.math.BigDecimal; +import java.util.Date; + +public class BeanUtilsTest { + @Test + public void test() { + Person source = new Person(); + source.setFirstName("D瓜哥"); + source.setSecondName("diguage"); + source.setLastName("www.diguage.com"); + source.setBirthday(new Date()); + source.setSex(1); + source.setWeight(145.0F); + source.setHeight(175.0F); + source.setAddress("https://www.diguage.com"); + source.setSalary(BigDecimal.ZERO); + source.setCapital(BigDecimal.ONE); + + Person target = new Person(); + BeanUtils.copyProperties(source, target); + System.out.println(target); + } + + @Data + @NoArgsConstructor + public static class Person { + private String firstName; + private String secondName; + private String lastName; + private Date birthday; + private int sex; + private float weight; + private float height; + private String address; + private BigDecimal salary; + private BigDecimal capital; + } +} diff --git a/truman/src/main/java/com/diguage/truman/beans/FactoryBeanTest.java b/truman/src/main/java/com/diguage/truman/beans/FactoryBeanTest.java new file mode 100644 index 000000000000..80b32e665e7a --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/beans/FactoryBeanTest.java @@ -0,0 +1,83 @@ +package com.diguage.truman.beans; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.FactoryBean; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Arrays; + +/** + * FactoryBean 测试 + * + * @author D瓜哥 · https://www.diguage.com/ + * @since 2020-05-26 16:34 + */ +public class FactoryBeanTest { + private static final String FACTORY_BEAN_NAME = "userServiceFactoryBean"; + + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + Object bean = context.getBean(FACTORY_BEAN_NAME); + System.out.println(bean.getClass().getName()); + + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + + // 实例不会缓存,每次调用 getBean 都会创建一个实例 + UserService userService2 = context.getBean(UserService.class); + System.out.println(userService == userService2); + + System.out.println("-↓----"); + // &userServiceFactoryBean = FactoryBeanTest$UserServiceFactoryBean@c260bdc + System.out.println("&userServiceFactoryBean = " + + context.getBean("&userServiceFactoryBean")); // <1> + + // userServiceFactoryBean = FactoryBeanTest$UserService@75e01201 + System.out.println(" userServiceFactoryBean = " + + context.getBean("userServiceFactoryBean")); // <2> + System.out.println("-↑----"); + + UserServiceFactoryBean factoryBean = context.getBean(UserServiceFactoryBean.class); + System.out.println(factoryBean); + System.out.println(Arrays.toString(context.getBeanDefinitionNames()) + .replaceAll(",", ",\n")); + } + + @Configuration + public static class Config { + @Bean(FACTORY_BEAN_NAME) + public UserServiceFactoryBean userServiceFactoryBean() { + return new UserServiceFactoryBean(); + } + } + + + public static class UserService { + public String getById(Long id) { + return "Name-" + id; + } + } + + public static class UserServiceFactoryBean implements FactoryBean { + @Override + public UserService getObject() throws Exception { + return new UserService(); + } + + @Override + public Class getObjectType() { + return UserService.class; + } + + @Override + public boolean isSingleton() { + return true; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.java b/truman/src/main/java/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.java new file mode 100644 index 000000000000..f94eb88f7677 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.java @@ -0,0 +1,77 @@ +package com.diguage.truman.beans.env; + +import lombok.Data; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.io.ClassPathResource; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + +/** + * 研究变量替换 + *

+ * {@link PropertyPlaceholderConfigurerTest} 被启用。启用 {@link PropertySourcesPlaceholderConfigurer}. + */ +public class PropertyPlaceholderConfigurerTest { + + + @Test + public void test() { + String config = BASE_CLASS_PATH + "/beans/env/" + + "PropertyPlaceholderConfigurerTest.xml"; + ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(config); +// PropertyPlaceholderConfigurer placeholderConfigurer = ctx.getBean(PropertyPlaceholderConfigurer.class); +// assertThat(placeholderConfigurer).isNotNull(); + + CfgOption dataSource = ctx.getBean(CfgOption.class); + System.out.println("cmdCfg=" + dataSource.getCmdCfg()); + System.out.println("fileCfg=" + dataSource.getFileCfg()); + System.out.println("envCfg=" + dataSource.getEnvCfg()); + } + + @Configuration + @EnableAspectJAutoProxy + public static class Config { +// @Bean +// public PropertyPlaceholderConfigurer getPropertyPlaceholderConfigurer() { +// String path = "com/diguage/truman/beans/env/" + +// "PropertyPlaceholderConfigurerTest.properties"; +// PropertyPlaceholderConfigurer result = new PropertyPlaceholderConfigurer(); +// result.setLocations(new ClassPathResource(path)); +// return result; +// } + + /** + * 如果不创建这个 Bean,则在 XML 中配置的 ${url} 和 ${javaHome} 就不会解析! + */ + @Bean + public PropertySourcesPlaceholderConfigurer getPSPC() { + PropertySourcesPlaceholderConfigurer result + = new PropertySourcesPlaceholderConfigurer(); + String path = "com/diguage/truman/beans/env/" + + "PropertyPlaceholderConfigurerTest.properties"; + result.setLocations(new ClassPathResource(path)); + return result; + } + } + + @Data + public static class CfgOption { + /** + * 命令行 -D 配置项 + */ + private String cmdCfg; + /** + * 配置文件配置项 + */ + private String fileCfg; + /** + * 环境变量配置项 + */ + private String envCfg; + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/AnnoLookupTest.java b/truman/src/main/java/com/diguage/truman/context/AnnoLookupTest.java new file mode 100644 index 000000000000..fed995b31350 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/AnnoLookupTest.java @@ -0,0 +1,68 @@ +package com.diguage.truman.context; + +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Lookup; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Repository; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2021-08-08 22:26:20 + */ +@Slf4j +public class AnnoLookupTest { + + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService service = context.getBean(UserService.class); + service.get(); + } + + @Configuration + @Import(LookupImportSelector.class) + public static class Config { + } + + public static class LookupImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata metadata) { + return new String[]{ + UserDao.class.getName(), + UserService.class.getName() + }; + } + } + + @Repository + public static class UserDao { + public String getUser() { + log.info("execute UserDao.getUser"); + return "D瓜哥"; + } + } + + @Component + public static abstract class UserService { + public void get() { + UserDao userDao = getUserDao(); + log.info("invoke userDao..."); + log.info("result: {}", userDao.getUser()); + } + + /** + * TODO 这里使用抽象方法,让人费解。 + */ + @Lookup + public abstract UserDao getUserDao(); + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/ApplicationContextAwareTest.java b/truman/src/main/java/com/diguage/truman/context/ApplicationContextAwareTest.java new file mode 100644 index 000000000000..bd1964aa1165 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/ApplicationContextAwareTest.java @@ -0,0 +1,45 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Objects; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 21:35 + */ +public class ApplicationContextAwareTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService service = context.getBean(UserService.class); + System.out.println(Arrays.toString(service.getBeanNames())); + } + + @Configuration + @Import(UserService.class) + public static class Config { + } + + @Component + public static class UserService { + @Autowired + ApplicationContext applicationContext; + + public String[] getBeanNames() { + if (Objects.nonNull(applicationContext)) { + return applicationContext.getBeanDefinitionNames(); + } + return new String[0]; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/ApplicationEventTest.java b/truman/src/main/java/com/diguage/truman/context/ApplicationEventTest.java new file mode 100644 index 000000000000..f71637e03a18 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/ApplicationEventTest.java @@ -0,0 +1,57 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.ApplicationEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.stereotype.Component; + +public class ApplicationEventTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); +// context.addApplicationListener(new LogApplicationListener()); + context.register(Config.class); + context.refresh(); + UserService service = context.getBean(UserService.class); + System.out.println(service); + } + + @Configuration + @Import({UserService.class, LogApplicationListener.class}) + public static class Config { + } + + @Component + public static class UserService { + public String getById(long id) { + return "id-" + id; + } + } + + public static class LogApplicationListener implements ApplicationListener { + @Override + public void onApplicationEvent(ApplicationEvent event) { + System.out.println(event); + Object source = event.getSource(); + if (source instanceof ConfigurableApplicationContext ctx) { + ConfigurableListableBeanFactory factory = ctx.getBeanFactory(); + String[] names = ctx.getBeanDefinitionNames(); + for (String name : names) { + BeanDefinition definition = factory.getBeanDefinition(name); + if (UserService.class.getName().equals(definition.getBeanClassName())) { + UserService bean = (UserService) ctx.getBean(name); + String username = bean.getById(System.currentTimeMillis()); + System.out.println(username); + } + } + } + } + } + +} diff --git a/truman/src/main/java/com/diguage/truman/context/ApplicationListenerParentTest.java b/truman/src/main/java/com/diguage/truman/context/ApplicationListenerParentTest.java new file mode 100644 index 000000000000..2d105d783600 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/ApplicationListenerParentTest.java @@ -0,0 +1,82 @@ +package com.diguage.truman.context; + +import lombok.Setter; +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.ApplicationEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 19:33 + */ +public class ApplicationListenerParentTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService userService = LoaderListener.subcontext.getBean(UserService.class); + String user = userService.getUserById(119L); + System.out.println(user); + } + + @Configuration + @Import({UserDao.class, LoaderListener.class}) + public static class Config { + } + + @Component("userDao") + public static class UserDao { + public String getUserById(Long id) { + return "user-" + id + "@UserDao"; + } + } + + public static class LoaderListener implements ApplicationContextAware, ApplicationListener { + private static ApplicationContext context; + private static ApplicationContext subcontext; + private static boolean loaded = false; + + @Override + public void setApplicationContext(ApplicationContext ctx) throws BeansException { + if (Objects.isNull(LoaderListener.context)) { + LoaderListener.context = ctx; + } else { + boolean equals = Objects.equals(LoaderListener.context, ctx); + System.out.println("equals=" + equals); + } + } + + @Override + public void onApplicationEvent(ApplicationEvent event) { + System.out.println(event); + if (!LoaderListener.loaded) { + LoaderListener.loaded = true; + ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( + new String[]{BASE_CLASS_PATH + "/context/ApplicationListenerParentTest.xml"}, LoaderListener.context); + LoaderListener.subcontext = ctx; + } + } + } + + public static class UserService { + @Setter + private UserDao userDao; + + public String getUserById(Long id) { + return userDao.getUserById(id); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/ApplicationListenerTest.java b/truman/src/main/java/com/diguage/truman/context/ApplicationListenerTest.java new file mode 100644 index 000000000000..95c91451c6d5 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/ApplicationListenerTest.java @@ -0,0 +1,41 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.context.ApplicationEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.stereotype.Component; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 19:33 + */ +public class ApplicationListenerTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.addApplicationListener(new LogApplicationListener()); + context.register(Config.class); + context.refresh(); + UserService service = context.getBean(UserService.class); + System.out.println(service); + } + + @Configuration + @Import(UserService.class) + public static class Config { + } + + @Component + public static class UserService { + } + + public static class LogApplicationListener implements ApplicationListener { + @Override + public void onApplicationEvent(ApplicationEvent event) { + System.out.println(event); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/AsyncTest.java b/truman/src/main/java/com/diguage/truman/context/AsyncTest.java new file mode 100644 index 000000000000..bea6c9e863da --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/AsyncTest.java @@ -0,0 +1,78 @@ +package com.diguage.truman.context; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.concurrent.Executor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.locks.LockSupport; + +/** + * TODO dgg 分析这篇文章 https://www.cnblogs.com/thisiswhy/p/16003571.html 的示例程序 + */ +@Slf4j +public class AsyncTest { + + @Test + public void test() { + AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); + ctx.register(Config.class); + ctx.refresh(); + UserService service = ctx.getBean(UserService.class); + log.info("start to invoke UserService.insert"); + User user = new User(); + user.setId(1L); + user.setName("D瓜哥"); + user.setBlog("https://www.diguage.com/"); + user.setBirthday(new Date()); + service.insert(user); + log.info("finish invoking UserService.insert"); + + // 防止退出 + LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(6)); + } + + @EnableAsync + @Configuration + @Import(UserService.class) + public static class Config { + @Bean(value = "diguage-executor") + public Executor getExecutor() { + return new ThreadPoolTaskExecutor(); + } + } + + // TODO dgg 这个 ${thread-pool.name} 变量无法解析,调试一下怎么回事 + @Service + public static class UserService { + @Async("${thread-pool.name}") + public void insert(User user) { + log.info("begin to insert user({})", user); + log.info("current thread: {}", Thread.currentThread().getName()); + try { + TimeUnit.SECONDS.sleep(5); + } catch (InterruptedException e) { + log.warn("lock was interrupted.", e); + } + log.info("finish inserting user."); + } + } + + @Data + public static class User { + private Long id; + private String name; + private String blog; + private Date birthday; + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanDefinitionRegistryPostProcessorTest.java b/truman/src/main/java/com/diguage/truman/context/BeanDefinitionRegistryPostProcessorTest.java new file mode 100644 index 000000000000..644d2b44181c --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanDefinitionRegistryPostProcessorTest.java @@ -0,0 +1,52 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; +import org.springframework.beans.factory.support.RootBeanDefinition; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; + +import java.util.Arrays; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 17:29 + */ +public class BeanDefinitionRegistryPostProcessorTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.addBeanFactoryPostProcessor(new LogBeanDefinitionRegistryPostProcessor()); + context.refresh(); + LogBeanFactoryPostProcessor processor = context.getBean(LogBeanFactoryPostProcessor.class); + System.out.println(processor); + } + + public static class LogBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor { + @Override + public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { + System.out.println("\nLogBeanDefinitionRegistryPostProcessor.postProcessBeanDefinitionRegistry\n"); + RootBeanDefinition beanDefinition = new RootBeanDefinition(LogBeanFactoryPostProcessor.class); + registry.registerBeanDefinition(beanDefinition.getBeanClassName(), beanDefinition); + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + System.out.println("\nLogBeanDefinitionRegistryPostProcessor.postProcessBeanFactory\n"); + } + } + + public static class LogBeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + System.out.println("\nLogBeanFactoryPostProcessor.postProcessBeanFactory"); + System.out.println(Arrays.toString(beanFactory.getBeanDefinitionNames()).replaceAll(",", ",\n")); + System.out.println(); + } + } + + +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorAutowireTest.java b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorAutowireTest.java new file mode 100644 index 000000000000..2ac5a4ae19f1 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorAutowireTest.java @@ -0,0 +1,91 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Objects; + +/** + * 实现 BeanFactoryPostProcessor 接口,可以在spring的bean创建之前修改bean的定义属性。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 15:07 + */ +public class BeanFactoryPostProcessorAutowireTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.addBeanFactoryPostProcessor(new LogBeanFactoryPostProcessor()); + context.refresh(); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + } + + @Configuration + @Import(LogSelector.class) + public static class Config { + } + + public static class LogSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserService.class.getName(), + // 注意这里!应该整两个 BeanFactoryPostProcessor 实现类来对比 + LogBeanFactoryPostProcessor.class.getName() + }; + } + } + + @Component + public static class UserService { + public String getById(Long id) { + return "Name-" + id; + } + + public void init() { + System.out.println("start to invoke init method..."); + System.out.println("init"); + System.out.println(); + } + } + + @Test + void name() { + } + + @Component + public static class LogBeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + String[] names = beanFactory.getBeanDefinitionNames(); + System.out.println(); + System.out.println(Arrays.toString(names).replaceAll(",", ",\n")); + System.out.println(); + BeanDefinition definition = beanFactory.getBeanDefinition(UserService.class.getName()); + definition.getAttribute(""); + if (Objects.nonNull(definition)) { + definition.setScope(BeanDefinition.SCOPE_PROTOTYPE); + definition.setDescription("This is a dealed bean."); + definition.setInitMethodName("init"); + } + } + } + + /** + * BeanFactoryPostProcessor + * BeanDefinitionRegistryPostProcessor + * BeanPostProcessor + */ +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorFailTest.java b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorFailTest.java new file mode 100644 index 000000000000..af9115698b96 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorFailTest.java @@ -0,0 +1,148 @@ +package com.diguage.truman.context; + +import com.diguage.truman.mybatis.Employees; +import com.diguage.truman.mybatis.EmployeesMapper; +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import jakarta.annotation.Resource; +import org.apache.ibatis.session.Configuration; +import org.junit.jupiter.api.Test; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.PropertySource; +import org.springframework.core.Ordered; +import org.springframework.core.PriorityOrdered; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.annotation.Transactional; + +import javax.sql.DataSource; +import java.util.Date; +import java.util.concurrent.TimeUnit; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:11 + */ +public class BeanFactoryPostProcessorFailTest { + private static final Logger logger = LoggerFactory.getLogger(BeanFactoryPostProcessorFailTest.class); + + @Test + public void testCacheQuery() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.register(PropertySourcesFactoryPostProcessor.class); + context.refresh(); + EmployeesMapper employeesMapper = context.getBean(EmployeesMapper.class); + Employees employees = employeesMapper.getById(10001); + System.out.println(employees); + System.out.println(employeesMapper.getById(10001)); + } + + @Test + public void testInsert() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.register(Config.class); + context.refresh(); + EmployeesService service = context.getBean(EmployeesService.class); + Employees employees = new Employees(); + employees.empNo = 123456789; + employees.birthDate = new Date(); + employees.firstName = "Dummy"; + employees.lastName = "Fake"; + employees.gender = "F"; + employees.hireDate = new Date(); + int insert = service.save(employees); + } + + @org.springframework.context.annotation.Configuration + @EnableTransactionManagement + @MapperScan(basePackages = "com.diguage.truman.mybatis") + @Import({EmployeesService.class, LoggerBeanFactoryPostProcessor.class}) + @PropertySource(BASE_CLASS_PATH + "/context/token.properties") + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setConnectionTimeout(TimeUnit.SECONDS.toMillis(5)); + + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + + @Bean + public SqlSessionFactoryBean sqlSessionFactory(@Autowired DataSource dataSource) { + SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); + factoryBean.setDataSource(dataSource); + Configuration configuration = new Configuration(); + configuration.setMapUnderscoreToCamelCase(true); + factoryBean.setConfiguration(configuration); + return factoryBean; + } + } + + @Service + public static class EmployeesService { + @Resource + private EmployeesMapper employeesMapper; + + @Transactional + public int save(Employees employees) { + return employeesMapper.insert(employees); + } + } + + private static boolean created = false; + + public static class PropertySourcesFactoryPostProcessor implements BeanFactoryPostProcessor, PriorityOrdered { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("PropertySourcesFactoryPostProcessor.postProcessBeanFactory run"); + logger.info("trigger some bean was created."); + created = true; + } + + @Override + public int getOrder() { + return Ordered.LOWEST_PRECEDENCE; + } + } + + public static class LoggerBeanFactoryPostProcessor implements BeanFactoryPostProcessor { + + @Value("${user.token}") + private String userToken; + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("LoggerBeanFactoryPostProcessor.postProcessBeanFactory run, userToken={}", userToken); + if (created) { + logger.error("some bean was created, throw an error."); + } + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOkTest.java b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOkTest.java new file mode 100644 index 000000000000..139d021c9e5e --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOkTest.java @@ -0,0 +1,153 @@ +package com.diguage.truman.context; + +import com.diguage.truman.mybatis.Employees; +import com.diguage.truman.mybatis.EmployeesMapper; +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import jakarta.annotation.Resource; +import org.apache.ibatis.session.Configuration; +import org.junit.jupiter.api.Test; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.EnvironmentAware; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Import; +import org.springframework.core.Ordered; +import org.springframework.core.PriorityOrdered; +import org.springframework.core.env.Environment; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.annotation.Transactional; + +import javax.sql.DataSource; +import java.util.Date; +import java.util.concurrent.TimeUnit; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:11 + */ +public class BeanFactoryPostProcessorOkTest { + private static final Logger logger = LoggerFactory.getLogger(BeanFactoryPostProcessorOkTest.class); + + @Test + public void testCacheQuery() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + EmployeesMapper employeesMapper = context.getBean(EmployeesMapper.class); + Employees employees = employeesMapper.getById(10001); + System.out.println(employees); + System.out.println(employeesMapper.getById(10001)); + } + + @Test + public void testInsert() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + EmployeesService service = context.getBean(EmployeesService.class); + Employees employees = new Employees(); + employees.empNo = 123456789; + employees.birthDate = new Date(); + employees.firstName = "Dummy"; + employees.lastName = "Fake"; + employees.gender = "F"; + employees.hireDate = new Date(); + int insert = service.save(employees); + } + + @org.springframework.context.annotation.Configuration + @EnableTransactionManagement + @MapperScan(basePackages = "com.diguage.truman.mybatis") + @Import({EmployeesService.class, PropertySourcesFactoryPostProcessor.class}) + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setConnectionTimeout(TimeUnit.SECONDS.toMillis(5)); + + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + + @Bean + public SqlSessionFactoryBean sqlSessionFactory(@Autowired DataSource dataSource) { + SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); + factoryBean.setDataSource(dataSource); + Configuration configuration = new Configuration(); + configuration.setMapUnderscoreToCamelCase(true); + factoryBean.setConfiguration(configuration); + return factoryBean; + } + } + + @Service + public static class EmployeesService { + @Resource + private EmployeesMapper employeesMapper; + + @Transactional + public int save(Employees employees) { + return employeesMapper.insert(employees); + } + } + + private static boolean created = false; + + public static class PropertySourcesFactoryPostProcessor implements BeanFactoryPostProcessor, PriorityOrdered { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("PropertySourcesFactoryPostProcessor.postProcessBeanFactory run"); + logger.info("trigger some bean was created."); + created = true; + } + + @Override + public int getOrder() { + return Ordered.LOWEST_PRECEDENCE; + } + } + + public static class LoggerBeanFactoryPostProcessor implements BeanFactoryPostProcessor, EnvironmentAware, PriorityOrdered { + + private Environment environment; + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + String userToken = this.environment.getProperty("user.token", String.class, "defaultToken"); + logger.info("LoggerBeanFactoryPostProcessor.postProcessBeanFactory run, userToken={}", userToken); + if (created) { + logger.error("some bean was created, throw an error."); + } + } + + @Override + public int getOrder() { + return Ordered.HIGHEST_PRECEDENCE; + } + + @Override + public void setEnvironment(Environment environment) { + this.environment = environment; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOrderTest.java b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOrderTest.java new file mode 100644 index 000000000000..a46a8942a293 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorOrderTest.java @@ -0,0 +1,103 @@ +package com.diguage.truman.context; + +import com.diguage.truman.mybatis.Employees; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Import; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Service; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:11 + */ +public class BeanFactoryPostProcessorOrderTest { + private static final Logger logger = LoggerFactory.getLogger(BeanFactoryPostProcessorOrderTest.class); + + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + EmployeesService service = context.getBean(EmployeesService.class); + service.save(new Employees()); + } + + + @org.springframework.context.annotation.Configuration + @Import({EmployeesService.class, + InterOrder1BeanFactoryPostProcessor.class, + InterOrder2BeanFactoryPostProcessor.class, + InterOrder3BeanFactoryPostProcessor.class, + AnnoOrder1BeanFactoryPostProcessor.class, + AnnoOrder2BeanFactoryPostProcessor.class}) + public static class Config { + } + + @Service + public static class EmployeesService { + public int save(Employees employees) { + logger.info("save employees: {}", employees); + return 1; + } + } + + + public static class InterOrder1BeanFactoryPostProcessor implements BeanFactoryPostProcessor, Ordered { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("InterOrdered1FactoryPostProcessor.postProcessBeanFactory run"); + } + + @Override + public int getOrder() { + return 1; + } + } + + public static class InterOrder2BeanFactoryPostProcessor implements BeanFactoryPostProcessor, Ordered { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("InterOrdered2FactoryPostProcessor.postProcessBeanFactory run"); + } + + @Override + public int getOrder() { + return 2; + } + } + + public static class InterOrder3BeanFactoryPostProcessor implements BeanFactoryPostProcessor, Ordered { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("InterOrdered3FactoryPostProcessor.postProcessBeanFactory run"); + } + + @Override + public int getOrder() { + return 3; + } + } + + @Order(1) + public static class AnnoOrder1BeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("AnnoOrder1BeanFactoryPostProcessor.postProcessBeanFactory run"); + } + } + + @Order(2) + public static class AnnoOrder2BeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + logger.info("AnnoOrder2BeanFactoryPostProcessor.postProcessBeanFactory run"); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorTest.java b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorTest.java new file mode 100644 index 000000000000..b699f711d590 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanFactoryPostProcessorTest.java @@ -0,0 +1,92 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Objects; + +/** + * 实现 BeanFactoryPostProcessor 接口,可以在spring的bean创建之前修改bean的定义属性。 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 15:07 + */ +public class BeanFactoryPostProcessorTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.addBeanFactoryPostProcessor(new LogBeanFactoryPostProcessor()); + context.refresh(); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + } + + @Configuration + @Import(UserService.class) + public static class Config { + } + + + @Component + public static class UserService { + + private String[] filters; + + public String[] getFilters() { + return filters; + } + + public void setFilters(String[] filters) { + this.filters = filters; + } + + public String getById(Long id) { + System.out.println(Arrays.toString(filters)); + return "Name-" + id; + } + + public void init() { + System.out.println("init"); + } + } + + public static class LogBeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + String[] names = beanFactory.getBeanDefinitionNames(); + System.out.println(); + System.out.println(Arrays.toString(names).replaceAll(",", ",\n")); + System.out.println(); + BeanDefinition definition = beanFactory.getBeanDefinition(UserService.class.getName()); + if (Objects.nonNull(definition)) { + // TODO 确认一下 getAttribute 中可以访问什么? + // 刚刚调试,就放了一个 ConfigurationClassUtils.CONFIGURATION_CLASS_ATTRIBUTE。 + // 跟代码发现,是在 ConfigurationClassPostProcessor.processConfigBeanDefinitions 中处理的。 + // 后续再跟一下代码。 + // definition.getAttribute(""); + + definition.setScope(BeanDefinition.SCOPE_PROTOTYPE); + definition.setDescription("This is a dealed bean."); + definition.setInitMethodName("init"); + + definition.getPropertyValues() + .addPropertyValue("filters", "com.diguage.filter.LogFilter"); + } + } + } + + /** + * BeanFactoryPostProcessor + * BeanDefinitionRegistryPostProcessor + * BeanPostProcessor + */ +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAnnoBeanTest.java b/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAnnoBeanTest.java new file mode 100644 index 000000000000..7a2c6bc1db4a --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAnnoBeanTest.java @@ -0,0 +1,78 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 15:53 + */ +public class BeanPostProcessorAnnoBeanTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + + context.refresh(); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + } + + @Configuration + @Import(LogSelector.class) + public static class Config { + @Bean + public LogBeanPostProcessor logBeanPostProcessor() { + return new LogBeanPostProcessor(); + } + } + + public static class LogSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserService.class.getName() + }; + } + } + + @Component + public static class UserService implements InitializingBean { + public String getById(Long id) { + return "Name-" + id; + } + + @Override + public void afterPropertiesSet() throws Exception { + System.out.println("\nstart to invoke init method..."); + System.out.println("init"); + System.out.println(); + } + } + + @Component + public static class LogBeanPostProcessor implements BeanPostProcessor { + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + System.out.println("start to create [" + beanName + "]: isNull=" + Objects.isNull(bean)); + return bean; + } + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + System.out.println("finish creating [" + beanName + "]: isNull=" + Objects.isNull(bean)); + return bean; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAutowireTest.java b/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAutowireTest.java new file mode 100644 index 000000000000..6a1202305c4a --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorAutowireTest.java @@ -0,0 +1,73 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 15:53 + */ +public class BeanPostProcessorAutowireTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + } + + @Configuration + @Import(LogSelector.class) + public static class Config { + } + + public static class LogSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserService.class.getName(), + LogBeanPostProcessor.class.getName() + }; + } + } + + @Component + public static class UserService implements InitializingBean { + public String getById(Long id) { + return "Name-" + id; + } + + @Override + public void afterPropertiesSet() throws Exception { + System.out.println("\nstart to invoke init method..."); + System.out.println("init"); + System.out.println(); + } + } + + @Component + public static class LogBeanPostProcessor implements BeanPostProcessor { + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + System.out.println("start to create [" + beanName + "]: isNull=" + Objects.isNull(bean)); + return bean; + } + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + System.out.println("finish creating [" + beanName + "]: isNull=" + Objects.isNull(bean)); + return bean; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorTest.java b/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorTest.java new file mode 100644 index 000000000000..9cd5de353800 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/BeanPostProcessorTest.java @@ -0,0 +1,77 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +import java.util.Objects; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 15:53 + */ +public class BeanPostProcessorTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + + ConfigurableListableBeanFactory beanFactory = context.getBeanFactory(); + beanFactory.addBeanPostProcessor(new LogBeanPostProcessor()); + + context.refresh(); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + } + + @Configuration + @Import(LogSelector.class) + public static class Config { + } + + public static class LogSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserService.class.getName() + }; + } + } + + @Component + public static class UserService implements InitializingBean { + public String getById(Long id) { + return "Name-" + id; + } + + @Override + public void afterPropertiesSet() throws Exception { + System.out.println("\nstart to invoke init method..."); + System.out.println("init"); + System.out.println(); + } + } + + @Component + public static class LogBeanPostProcessor implements BeanPostProcessor { + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + System.out.println("start to create [" + beanName + "]: isNull=" + Objects.isNull(bean)); + return bean; + } + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + System.out.println("finish creating [" + beanName + "]: isNull=" + Objects.isNull(bean)); + return bean; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/CircularDependenceConstructorTest.java b/truman/src/main/java/com/diguage/truman/context/CircularDependenceConstructorTest.java new file mode 100644 index 000000000000..67e77cc612e0 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/CircularDependenceConstructorTest.java @@ -0,0 +1,89 @@ +package com.diguage.truman.context; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-24 13:02 + */ +public class CircularDependenceConstructorTest { + public static final Log log = LogFactory.getLog(CircularDependenceConstructorTest.class); + + @Test + public void test() { + log.debug("OK"); + /** + * 1. scan --- bd --- map + * 2. 遍历map + * 3. validate + * 4. 得到class + * 5. 推断构造方法 + * 6. 反射,实例化这个对象 + * 7. 合并 beanDefinition + * 8. 提前暴露一个bean工厂对象 + * 9. 填充属性---自动注入 + * 10. 部分aware接口 + * 11. 执行---部分aware接口,执行 Spring 生命周期回调方法 + */ + AnnotationConfigApplicationContext applicationContext + = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + + log.debug(applicationContext.getBean(A.class)); + log.debug(applicationContext.getBean(B.class)); + log.debug(applicationContext.getBean(C.class)); + } + + @Configuration + @Import(AbcImportSelector.class) + public static class Config { + } + + public static class AbcImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + A.class.getName(), + B.class.getName(), + C.class.getName()}; + } + } + + + @Component + public static class A { + B b; + + public A(@Autowired B b) { + this.b = b; + } + } + + @Component + public static class B { + C c; + + public B(@Autowired C c) { + this.c = c; + } + } + + @Component + public static class C { + A a; + + public C(@Autowired A a) { + this.a = a; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/CircularDependencePrototypeTest.java b/truman/src/main/java/com/diguage/truman/context/CircularDependencePrototypeTest.java new file mode 100644 index 000000000000..61248fe5d9a0 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/CircularDependencePrototypeTest.java @@ -0,0 +1,99 @@ +package com.diguage.truman.context; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.context.annotation.Scope; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-24 13:02 + */ +public class CircularDependencePrototypeTest { + public static final Log log = LogFactory.getLog(CircularDependencePrototypeTest.class); + + @Test + public void test() { + log.debug("OK"); + /** + * 1. scan --- bd --- map + * 2. 遍历map + * 3. validate + * 4. 得到class + * 5. 推断构造方法 + * 6. 反射,实例化这个对象 + * 7. 合并 beanDefinition + * 8. 提前暴露一个bean工厂对象 + * 9. 填充属性---自动注入 + * 10. 部分aware接口 + * 11. 执行---部分aware接口,执行 Spring 生命周期回调方法 + */ + AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + + log.debug(applicationContext.getBean(A.class)); + log.debug(applicationContext.getBean(B.class)); + log.debug(applicationContext.getBean(C.class)); + + System.out.println("-A--------"); + A a = applicationContext.getBean(A.class); + log.debug(a); + log.debug(a.b); + System.out.println("-B--------"); + B b = applicationContext.getBean(B.class); + log.debug(b); + log.debug(b.c); + System.out.println("-C--------"); + C c = applicationContext.getBean(C.class); + log.debug(c); + log.debug(c.a); + log.debug(applicationContext.getBean(C.class)); + log.debug(applicationContext.getBean(C.class).a); + } + + @Configuration + @Import(AbcImportSelector.class) + public static class Config { + } + + public static class AbcImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + A.class.getName(), + B.class.getName(), + C.class.getName()}; + } + } + + + @Component + @Scope(BeanDefinition.SCOPE_PROTOTYPE) + public static class A { + @Autowired + B b; + } + + @Component + @Scope(BeanDefinition.SCOPE_PROTOTYPE) + public static class B { + @Autowired + C c; + } + + @Component +// @Scope(BeanDefinition.SCOPE_PROTOTYPE) + public static class C { + @Autowired + A a; + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/CircularDependenceSingletonTest.java b/truman/src/main/java/com/diguage/truman/context/CircularDependenceSingletonTest.java new file mode 100644 index 000000000000..75cf3f5ac192 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/CircularDependenceSingletonTest.java @@ -0,0 +1,84 @@ +package com.diguage.truman.context; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +import jakarta.annotation.Resource; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-24 13:02 + */ +public class CircularDependenceSingletonTest { + public static final Log log = LogFactory.getLog(CircularDependenceSingletonTest.class); + + @Test + public void test() { + log.info("OK"); + /** + * 1. scan --- bd --- map + * 2. 遍历map + * 3. validate + * 4. 得到class + * 5. 推断构造方法 + * 6. 反射,实例化这个对象 + * 7. 合并 beanDefinition + * 8. 提前暴露一个bean工厂对象 + * 9. 填充属性---自动注入 + * 10. 部分aware接口 + * 11. 执行---部分aware接口,执行 Spring 生命周期回调方法 + */ + AnnotationConfigApplicationContext applicationContext + = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + + log.info(applicationContext.getBean(A.class)); + log.info(applicationContext.getBean(B.class)); + + log.info("-A--------"); + A a = applicationContext.getBean(A.class); + log.info(a); + log.info(a.b); + + log.info("-B--------"); + B b = applicationContext.getBean(B.class); + log.info(b); + log.info(b.a); + } + + @Configuration + @Import(AbcImportSelector.class) + public static class Config { + } + + public static class AbcImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + A.class.getName(), + B.class.getName()}; + } + } + + + @Component + public static class A { + @Autowired + B b; + } + + @Component + public static class B { + @Resource + A a; + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/InitializingBeanTest.java b/truman/src/main/java/com/diguage/truman/context/InitializingBeanTest.java new file mode 100644 index 000000000000..e3b19e055314 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/InitializingBeanTest.java @@ -0,0 +1,89 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Repository; +import org.springframework.stereotype.Service; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 17:37 + */ +public class InitializingBeanTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + UserService service = context.getBean(UserService.class); + System.out.println(service.getCount()); + } + + @Configuration + @Import(DefaultImportSelector.class) + public static class Config { + } + + public static class DefaultImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + UserDao.class.getName(), + OrderDao.class.getName(), + UserService.class.getName() + }; + } + + } + + @Repository + public static class UserDao { + public String getById(Long id) { + return "Name-" + id; + } + } + + @Repository + public static class OrderDao { + public String getById(Long id) { + return "Order-" + id; + } + } + + @Service + public static class UserService implements InitializingBean { + @Autowired + UserDao userDao; + + @Autowired + OrderDao orderDao; + + static int count = 0; + + @Override + public void afterPropertiesSet() throws Exception { + // 根据最新代码测试来看,这里只会被执行一次 + System.out.println("\nuserDao =" + userDao + "\norderDao=" + orderDao); + count++; + } + + String getUserById(Long id) { + return userDao.getById(id); + } + + String getOrderById(Long id) { + return orderDao.getById(id); + } + + int getCount() { + return count; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/InstantiationAwareBeanPostProcessorTest.java b/truman/src/main/java/com/diguage/truman/context/InstantiationAwareBeanPostProcessorTest.java new file mode 100644 index 000000000000..759d70e1cd6d --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/InstantiationAwareBeanPostProcessorTest.java @@ -0,0 +1,48 @@ +package com.diguage.truman.context; + +import org.springframework.beans.BeansException; +import org.springframework.beans.PropertyValues; +import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor; + +import java.beans.PropertyDescriptor; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 20:30 + */ +public class InstantiationAwareBeanPostProcessorTest { + // TODO + +// public static class LogInstantiationAwareBeanPostProcessor implements InstantiationAwareBeanPostProcessor { +// @Override +// public Object postProcessBeforeInstantiation(Class beanClass, String beanName) throws BeansException { +// return null; +// } +// +// @Override +// public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { +// return false; +// } +// +// @Override +// public PropertyValues postProcessProperties(PropertyValues pvs, Object bean, String beanName) throws BeansException { +// return null; +// } +// +// @Override +// public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException { +// return null; +// } +// +// @Override +// public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { +// return null; +// } +// +// @Override +// public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { +// return null; +// } +// } + +} diff --git a/truman/src/main/java/com/diguage/truman/context/LifecycleTest.java b/truman/src/main/java/com/diguage/truman/context/LifecycleTest.java new file mode 100644 index 000000000000..b6a60b317d66 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/LifecycleTest.java @@ -0,0 +1,295 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.PropertyValues; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.BeanFactoryAware; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor; +import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; +import org.springframework.beans.factory.support.RootBeanDefinition; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.context.annotation.Scope; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Repository; +import org.springframework.stereotype.Service; + +import jakarta.annotation.Resource; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 19:49 + */ +public class LifecycleTest { + + static int sequence = 0; + + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.addBeanFactoryPostProcessor(new LogBeanDefinitionRegistryPostProcessor()); + ConfigurableListableBeanFactory beanFactory = context.getBeanFactory(); + beanFactory.addBeanPostProcessor(new LogBeanPostProcessor()); +// beanFactory.addBeanPostProcessor(new LogInstantiationAwareBeanPostProcessor()); + beanFactory.addBeanPostProcessor(new LogDestructionAwareBeanPostProcessor()); + + context.register(Config.class); + context.refresh(); + + ProtoService protoService = context.getBean(ProtoService.class); + System.out.println(protoService); + beanFactory.destroyBean(protoService); + + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getById(119L)); + + BeanDefinition definition = context.getBeanDefinition(UserService.class.getName()); + System.out.println(definition.getClass().getName()); + System.out.println(definition); + +// context.close(); +// context.start(); + } + + @Configuration + @Import(LogImportSelector.class) + @EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true) + public static class Config { + } + + public static class LogImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ +// BeanPostProcessorAspect.class.getName(), + UserService.class.getName(), + UserDao.class.getName(), + ProtoService.class.getName() + }; + } + } + + public static class LogImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar { + @Override + public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, + BeanDefinitionRegistry registry) { + RootBeanDefinition definition = new RootBeanDefinition(UserService.class); + registry.registerBeanDefinition(UserService.class.getName(), definition); + } + } + + @Repository + public static class UserDao { + String getById(Long id) { + return "User-" + id; + } + } + + @Service + public static class UserService implements InitializingBean, BeanFactoryAware, ApplicationContextAware { + @Resource + UserDao userDao; + + public UserService() { + System.out.println(".. 构造函数\n"); + } + + @Override + public void afterPropertiesSet() throws Exception { + System.out.printf(".. %s#%s()%n%n", + getClass().getSimpleName(), + "afterPropertiesSet"); + } + + public void init() { + System.out.printf(".. %s#%s()%n%n", + getClass().getSimpleName(), + "init"); + } + + String getById(Long id) { + return userDao.getById(id); + } + + @Override + public void setBeanFactory(BeanFactory beanFactory) throws BeansException { + System.out.printf(".. %s#%s(%s)%n%n", + getClass().getSimpleName(), + "setBeanFactory", + beanFactory.getClass().getSimpleName()); + } + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + System.out.printf(".. %s#%s(%s)%n%n", + getClass().getSimpleName(), + "setApplicationContext", + applicationContext.getClass().getSimpleName()); + } + } + + @Component + @Scope(BeanDefinition.SCOPE_PROTOTYPE) + public static class ProtoService implements DisposableBean { + + @Override + public void destroy() throws Exception { + System.out.printf(".. %s#%s()%n%n", + getClass().getSimpleName(), + "destroy"); + } + } + + + public static class LogBeanPostProcessor implements BeanPostProcessor { + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessBeforeInitialization", + bean.getClass().getSimpleName(), + beanName); + return bean; + } + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessAfterInitialization", + bean.getClass().getSimpleName(), + beanName); + return bean; + } + } + + public static class LogBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor { + @Override + public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { + System.out.printf(". %s#%s(%s)%n%n", + getClass().getSimpleName(), + "postProcessBeanDefinitionRegistry", + registry.getClass().getSimpleName()); + + RootBeanDefinition beanDefinition = new RootBeanDefinition(LogBeanFactoryPostProcessor.class); + registry.registerBeanDefinition(beanDefinition.getBeanClassName(), beanDefinition); + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + System.out.printf(". %s#%s(%s)%n%n", + getClass().getSimpleName(), + "postProcessBeanFactory", + beanFactory.getClass().getSimpleName()); + } + } + + public static class LogBeanFactoryPostProcessor implements BeanFactoryPostProcessor { + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + System.out.printf(". %s#%s(%s)%n%n", + getClass().getSimpleName(), + "postProcessBeanFactory", + beanFactory.getClass().getSimpleName()); + + BeanDefinition definition = beanFactory.getBeanDefinition(UserService.class.getName()); + // 设置 init 方法 + definition.setInitMethodName("init"); + } + } + + public static class LogInstantiationAwareBeanPostProcessor implements InstantiationAwareBeanPostProcessor { + @Override + public Object postProcessBeforeInstantiation(Class beanClass, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessBeforeInstantiation", + beanClass.getSimpleName(), + beanName); + + return null; + } + + @Override + public boolean postProcessAfterInstantiation(Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessAfterInstantiation", + bean.getClass().getSimpleName(), + beanName); + return true; + } + + @Override + public PropertyValues postProcessProperties(PropertyValues pvs, Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s, %s)%n%n", + getClass().getSimpleName(), + "postProcessProperties", + pvs.getClass().getSimpleName(), + bean.getClass().getSimpleName(), + beanName); + + return pvs; + } + +// @Override +// public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException { +// System.out.println(bean.getClass().getName()); +// return pvs; +// } + + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessBeforeInitialization", + bean.getClass().getSimpleName(), + beanName); + + return bean; + } + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessAfterInitialization", + bean.getClass().getSimpleName(), + beanName); + + return bean; + } + } + + public static class LogDestructionAwareBeanPostProcessor implements DestructionAwareBeanPostProcessor { + @Override + public void postProcessBeforeDestruction(Object bean, String beanName) throws BeansException { + System.out.printf(".. %s#%s(%s, %s)%n%n", + getClass().getSimpleName(), + "postProcessBeforeDestruction", + bean.getClass().getSimpleName(), + beanName); + } + } + + + public static String getAndIncrement() { + return String.format("%n - %2d - ", ++sequence); + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/ObjectFactoryTest.java b/truman/src/main/java/com/diguage/truman/context/ObjectFactoryTest.java new file mode 100644 index 000000000000..9a2d3e95bc13 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/ObjectFactoryTest.java @@ -0,0 +1,57 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.ObjectFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Arrays; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-27 20:05 + */ +public class ObjectFactoryTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + + // TODO + +// UserService userService = context.getBean(UserService.class); +// System.out.println(userService.getById(119L)); +// +// System.out.println("-↓----"); +// System.out.println("&userServiceFactoryBean = " +// + context.getBean("&userServiceObjectFactory")); // <1> +// System.out.println(" userServiceFactoryBean = " +// + context.getBean("userServiceObjectFactory")); // <2> +// System.out.println("-↑----"); + } + + @Configuration + public static class Config { + @Bean + public UserServiceObjectFactory userServiceObjectFactory() { + return new UserServiceObjectFactory(); + } + } + + + public static class UserService { + public String getById(Long id) { + return "Name-" + id; + } + } + + public static class UserServiceObjectFactory implements ObjectFactory { + @Override + public UserService getObject() throws BeansException { + return new UserService(); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/PlaceholderAnnoTest.java b/truman/src/main/java/com/diguage/truman/context/PlaceholderAnnoTest.java new file mode 100644 index 000000000000..05790579d584 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/PlaceholderAnnoTest.java @@ -0,0 +1,45 @@ +package com.diguage.truman.context; + +import lombok.Data; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.PropertySource; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2023-05-02 10:23:49 + */ +public class PlaceholderAnnoTest { + @Test + public void test() { + AnnotationConfigApplicationContext context + = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserRpc userRpc = context.getBean(UserRpc.class); + System.out.println(userRpc.appId); + System.out.println(userRpc.token); + } + + @Configuration + @Import(UserRpc.class) + @PropertySource(BASE_CLASS_PATH + "/context/token.properties") + public static class Config { + } + + @Data + public static class UserRpc { + + @Value("${user.appId:defaultAppId}") + private String appId; + + @Value("${user.token:defaultAppToken}") + private String token; + + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/PlaceholderTest.java b/truman/src/main/java/com/diguage/truman/context/PlaceholderTest.java new file mode 100644 index 000000000000..04afe67f8aa2 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/PlaceholderTest.java @@ -0,0 +1,34 @@ +package com.diguage.truman.context; + +import lombok.Data; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2023-05-02 10:23:49 + */ +public class PlaceholderTest { + @Test + public void test() { + ClassPathXmlApplicationContext context + = new ClassPathXmlApplicationContext("classpath:com/" + + "diguage/truman/context/PlaceholderTest.xml"); + UserRpc userRpc = context.getBean(UserRpc.class); + System.out.println(userRpc.appId); + System.out.println(userRpc.token); + } + + @Data + public static class UserRpc { + + @Value("${user.appId}") + private String appId; + + // 这里不使用注解,而是使用 XML 配置 + // @Value("${user.token}") + private String token; + + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/PropertyValuesTest.java b/truman/src/main/java/com/diguage/truman/context/PropertyValuesTest.java new file mode 100644 index 000000000000..7d7daacb21c1 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/PropertyValuesTest.java @@ -0,0 +1,84 @@ +package com.diguage.truman.context; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.jupiter.api.Test; +import org.springframework.beans.MutablePropertyValues; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportSelector; +import org.springframework.context.annotation.Lazy; +import org.springframework.core.type.AnnotationMetadata; +import org.springframework.stereotype.Component; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-08-05 10:15 + */ +public class PropertyValuesTest { + public static final Log log = LogFactory.getLog(PropertyValuesTest.class); + + @Test + public void test() { + AnnotationConfigApplicationContext applicationContext + = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + + // TODO 还没有成功 + // 查看如果处理这种依赖,如何进行实例化?会不会封装成 BeanDefinition ? + + BeanDefinition definition = applicationContext.getBeanDefinition(A.class.getName()); + MutablePropertyValues propertyValues = definition.getPropertyValues(); + propertyValues.add("name", "https://www.diguage.com"); +// propertyValues.add("b", "com.diguage.truman.context.PropertyValuesTest.B"); +// propertyValues.add("b", B.class); + propertyValues.add("b", new B()); + + A bean = applicationContext.getBean(A.class); + System.out.println(bean); + System.out.println(bean.b); + } + + @Configuration + @Import(AbcImportSelector.class) + public static class Config { + } + + public static class AbcImportSelector implements ImportSelector { + @Override + public String[] selectImports(AnnotationMetadata importingClassMetadata) { + return new String[]{ + A.class.getName()}; + } + } + + + @Component + @Lazy + public static class A { + String name; + B b; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public B getB() { + return b; + } + + public void setB(B b) { + this.b = b; + } + } + + public static class B { + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/ResourceLoaderTest.java b/truman/src/main/java/com/diguage/truman/context/ResourceLoaderTest.java new file mode 100644 index 000000000000..c49560e08b33 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/ResourceLoaderTest.java @@ -0,0 +1,56 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.core.io.ResourceLoader; +import org.springframework.stereotype.Component; + +import jakarta.annotation.PostConstruct; +import jakarta.annotation.Resource; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-26 21:35 + */ +public class ResourceLoaderTest { + @Test + public void test() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + UserService service = context.getBean(UserService.class); + service.get(); + } + + @Configuration + @Import(UserService.class) + public static class Config { + } + + @Component + public static class UserService { + @Autowired + ResourceLoader resourceLoader; + + @Resource + private ApplicationContext applicationContext; + + @PostConstruct + public void init() { + System.out.println(resourceLoader); + System.out.println(applicationContext); + } + + public void get() { + // 由此证明,这两个对象可以直接注入进来的。 + // 而且,注入后的对象是同一个对象,就是上面实例化 + // 的 AnnotationConfigApplicationContext 对象 + System.out.println(resourceLoader); + System.out.println(applicationContext); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/context/XmlApplicationContextTest.java b/truman/src/main/java/com/diguage/truman/context/XmlApplicationContextTest.java new file mode 100644 index 000000000000..91b4d1a3fbe4 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/context/XmlApplicationContextTest.java @@ -0,0 +1,26 @@ +package com.diguage.truman.context; + +import org.junit.jupiter.api.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2022-10-27 22:46:56 + */ +public class XmlApplicationContextTest { + + @Test + public void test() { + ClassPathXmlApplicationContext context + = new ClassPathXmlApplicationContext("classpath:com/diguage/" + + "truman/context/XmlApplicationContextTest.xml"); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getUserById(119L)); + } + + public static class UserService { + public String getUserById(Long id) { + return "user-" + id; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/core/PropertiesLoaderSupportTest.java b/truman/src/main/java/com/diguage/truman/core/PropertiesLoaderSupportTest.java new file mode 100644 index 000000000000..98ec419ed24c --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/core/PropertiesLoaderSupportTest.java @@ -0,0 +1,25 @@ +package com.diguage.truman.core; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class PropertiesLoaderSupportTest { + @Test + public void test() { + ClassPathXmlApplicationContext context + = new ClassPathXmlApplicationContext("classpath:com/diguage/" + + "truman/core/PropertiesApplicationContextTest.xml"); + UserService userService = context.getBean(UserService.class); + System.out.println(userService.getUserById(119L)); + } + + public static class UserService { + @Value("${user.appId}") + private String appId; + + public String getUserById(Long id) { + return "user-/" + appId + "/-" + id; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/core/ReflectionTest.java b/truman/src/main/java/com/diguage/truman/core/ReflectionTest.java new file mode 100644 index 000000000000..bdb372c4e255 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/core/ReflectionTest.java @@ -0,0 +1,30 @@ +package com.diguage.truman.core; + +import org.junit.jupiter.api.Test; +import org.springframework.core.ResolvableType; +import org.springframework.util.ReflectionUtils; + +import java.lang.reflect.Method; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ReflectionTest { + interface SomeRepository { + T someMethod1(Class arg0, Class arg1, Class arg2); + } + + @Test + public void test() { + Method method = ReflectionUtils.findMethod(SomeRepository.class, "someMethod1", Class.class, Class.class, Class.class); + + ResolvableType returnType = ResolvableType.forMethodReturnType(method, SomeRepository.class); + + ResolvableType arg0 = ResolvableType.forMethodParameter(method, 0, SomeRepository.class); // generic[0]=T + ResolvableType arg1 = ResolvableType.forMethodParameter(method, 1, SomeRepository.class); // generic[0]=? + ResolvableType arg2 = ResolvableType.forMethodParameter(method, 2, SomeRepository.class); // generic[0]=java.lang.Object + + assertThat(returnType.isAssignableFrom(arg0.as(Class.class).getGeneric(0))).isTrue(); + assertThat(returnType.isAssignableFrom(arg1.as(Class.class).getGeneric(0))).isFalse(); + assertThat(returnType.isAssignableFrom(arg2.as(Class.class).getGeneric(0))).isFalse(); + } +} diff --git a/truman/src/main/java/com/diguage/truman/dubbo/Book.java b/truman/src/main/java/com/diguage/truman/dubbo/Book.java new file mode 100644 index 000000000000..4ccaa2934db4 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/dubbo/Book.java @@ -0,0 +1,12 @@ +package com.diguage.truman.dubbo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class Book { + private Long id; + private String name; + private Date publishDate; +} diff --git a/truman/src/main/java/com/diguage/truman/dubbo/BookService.java b/truman/src/main/java/com/diguage/truman/dubbo/BookService.java new file mode 100644 index 000000000000..645fdcbf2402 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/dubbo/BookService.java @@ -0,0 +1,7 @@ +package com.diguage.truman.dubbo; + +public interface BookService { + Book getById(long id); + + Long save(Book book); +} diff --git a/truman/src/main/java/com/diguage/truman/dubbo/BookServiceImpl.java b/truman/src/main/java/com/diguage/truman/dubbo/BookServiceImpl.java new file mode 100644 index 000000000000..96f796e32d4c --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/dubbo/BookServiceImpl.java @@ -0,0 +1,22 @@ +package com.diguage.truman.dubbo; + +import org.apache.dubbo.config.annotation.DubboService; + +import java.util.Date; + +@DubboService +public class BookServiceImpl implements BookService { + @Override + public Book getById(long id) { + Book result = new Book(); + result.setId(id); + result.setName("diguage"); + result.setPublishDate(new Date()); + return result; + } + + @Override + public Long save(Book book) { + return System.currentTimeMillis(); + } +} diff --git a/truman/src/main/java/com/diguage/truman/dubbo/ProviderApplication.java b/truman/src/main/java/com/diguage/truman/dubbo/ProviderApplication.java new file mode 100644 index 000000000000..ea422ccb419f --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/dubbo/ProviderApplication.java @@ -0,0 +1,32 @@ +package com.diguage.truman.dubbo; + +import org.apache.dubbo.config.RegistryConfig; +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +import java.util.concurrent.locks.LockSupport; + +public class ProviderApplication { + public static void main(String[] args) { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(ProviderConfiguration.class); + context.refresh(); + context.start(); + LockSupport.park(); + } + + @Configuration + @EnableDubbo(scanBasePackages = "com.diguage.truman.dubbo") + @PropertySource("classpath:/dubbo/provider.properties") + static class ProviderConfiguration { + @Bean + public RegistryConfig registryConfig() { + RegistryConfig result = new RegistryConfig(); + result.setAddress("zookeeper://127.0.0.1:2181"); + return result; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/ext/DggNamespaceHandler.java b/truman/src/main/java/com/diguage/truman/ext/DggNamespaceHandler.java new file mode 100644 index 000000000000..8b0d864f6aec --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/ext/DggNamespaceHandler.java @@ -0,0 +1,14 @@ +package com.diguage.truman.ext; + +import org.springframework.beans.factory.xml.NamespaceHandlerSupport; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-10 00:11 + */ +public class DggNamespaceHandler extends NamespaceHandlerSupport { + @Override + public void init() { + registerBeanDefinitionParser("user", new UserBeanDefinitionParser()); + } +} diff --git a/truman/src/main/java/com/diguage/truman/ext/ExtensionTest.java b/truman/src/main/java/com/diguage/truman/ext/ExtensionTest.java new file mode 100644 index 000000000000..22d96f5ce787 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/ext/ExtensionTest.java @@ -0,0 +1,20 @@ +package com.diguage.truman.ext; + +import org.junit.jupiter.api.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-10 00:26 + */ +public class ExtensionTest { + @Test + public void test() { + ClassPathXmlApplicationContext context + = new ClassPathXmlApplicationContext(BASE_CLASS_PATH + "/ext/dgg.xml"); + User user = context.getBean(User.class); + System.out.println(user.getUserName() + " : " + user.getEmail()); + } +} diff --git a/truman/src/main/java/com/diguage/truman/ext/User.java b/truman/src/main/java/com/diguage/truman/ext/User.java new file mode 100644 index 000000000000..891cc86cb56d --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/ext/User.java @@ -0,0 +1,26 @@ +package com.diguage.truman.ext; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-09 23:56 + */ +public class User { + private String userName; + private String email; + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } +} diff --git a/truman/src/main/java/com/diguage/truman/ext/UserBeanDefinitionParser.java b/truman/src/main/java/com/diguage/truman/ext/UserBeanDefinitionParser.java new file mode 100644 index 000000000000..8f95822764f9 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/ext/UserBeanDefinitionParser.java @@ -0,0 +1,29 @@ +package com.diguage.truman.ext; + +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser; +import org.springframework.util.StringUtils; +import org.w3c.dom.Element; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-06-10 00:07 + */ +public class UserBeanDefinitionParser extends AbstractSingleBeanDefinitionParser { + @Override + protected Class getBeanClass(Element element) { + return User.class; + } + + @Override + protected void doParse(Element element, BeanDefinitionBuilder builder) { + String userName = element.getAttribute("userName"); + String email = element.getAttribute("email"); + if (StringUtils.hasText(userName)) { + builder.addPropertyValue("userName", userName); + } + if (StringUtils.hasText(email)) { + builder.addPropertyValue("email", email); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/jdbc/DataSourceTest.java b/truman/src/main/java/com/diguage/truman/jdbc/DataSourceTest.java new file mode 100644 index 000000000000..94e7b4edf6cb --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/jdbc/DataSourceTest.java @@ -0,0 +1,61 @@ +package com.diguage.truman.jdbc; + +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.sql.Timestamp; +import java.util.concurrent.TimeUnit; + +public class DataSourceTest { + + private static final Logger logger = LoggerFactory.getLogger(DataSourceTest.class); + + @Test + public void testDataSource() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + DataSource dataSource = context.getBean(DataSource.class); + while (true) { + try { + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement(); + ResultSet resultSet = statement.executeQuery("SELECT CURRENT_TIMESTAMP()"); + while (resultSet.next()) { + Timestamp date = resultSet.getTimestamp(1); + System.out.println(date.toInstant()); + } + connection.close(); + TimeUnit.SECONDS.sleep(3); + } catch (Throwable e) { + logger.error("query error", e); + } + } + } + + @Configuration + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setConnectionTimeout(TimeUnit.SECONDS.toMillis(5)); + + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/jdbc/Employees.java b/truman/src/main/java/com/diguage/truman/jdbc/Employees.java new file mode 100644 index 000000000000..bf4635aa5976 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/jdbc/Employees.java @@ -0,0 +1,28 @@ +package com.diguage.truman.jdbc; + +import java.util.Date; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:24 + */ +public class Employees { + Integer empNo; + Date birthDate; + String firstName; + String lastName; + String gender; + Date hireDate; + + @Override + public String toString() { + return "Employees{" + + "empNo=" + empNo + + ", birthDate=" + birthDate + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", gender='" + gender + '\'' + + ", hireDate=" + hireDate + + '}'; + } +} diff --git a/truman/src/main/java/com/diguage/truman/jdbc/JdbcTest.java b/truman/src/main/java/com/diguage/truman/jdbc/JdbcTest.java new file mode 100644 index 000000000000..a110a20d8ad9 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/jdbc/JdbcTest.java @@ -0,0 +1,88 @@ +package com.diguage.truman.jdbc; + +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.annotation.Transactional; + +import javax.sql.DataSource; +import java.util.Date; +import java.util.concurrent.TimeUnit; + +/** + * JDBC 测试类 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-07-09 14:57 + */ +public class JdbcTest { + @Test + public void test() { + AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); + ctx.register(Config.class); + ctx.refresh(); + EmployeesService service = ctx.getBean(EmployeesService.class); + Employees employees = new Employees(); + employees.empNo = (int) System.currentTimeMillis(); + Date now = new Date(); + employees.birthDate = now; + employees.firstName = "Dummy"; + employees.lastName = "Fake"; + employees.gender = "F"; + employees.hireDate = now; + service.save(employees); + } + + + @Configuration + @EnableTransactionManagement + @Import(EmployeesService.class) + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setConnectionTimeout(TimeUnit.SECONDS.toMillis(5)); + + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + + @Bean + public JdbcTemplate getJdbcTemplate(DataSource dataSource) { + return new JdbcTemplate(dataSource); + } + } + + public static class EmployeesService { + @Autowired + private JdbcTemplate jdbcTemplate; + + @Transactional(rollbackFor = Throwable.class) + public boolean save(Employees emp) { + String sql = "INSERT INTO employees" + + "(emp_no, birth_date, first_name, last_name, gender, hire_date)" + + "VALUES(?, ?, ?, ?, ?, ?)"; + int count = jdbcTemplate.update(sql, emp.empNo, emp.birthDate, + emp.firstName, emp.lastName, emp.gender, emp.hireDate); + return count > 0; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/jdbc/RoutingDataSourceTest.java b/truman/src/main/java/com/diguage/truman/jdbc/RoutingDataSourceTest.java new file mode 100644 index 000000000000..d1deac135038 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/jdbc/RoutingDataSourceTest.java @@ -0,0 +1,118 @@ +package com.diguage.truman.jdbc; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.SQLException; +import java.util.HashMap; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * RoutingDataSource 测试类 + * + * @author D瓜哥, https://www.diguage.com/ + * @since 2022-02-04 22:57:14 + */ +public class RoutingDataSourceTest { + + private static final Logger log = LoggerFactory.getLogger(RoutingDataSourceTest.class); + + private static volatile boolean isMaster = true; + + private static final String MASTER_PREFIX = "master"; + private static final String SLAVE_PREFIX = "slave"; + + private static final String MASTER_DATA_SOURCE_NAME = "masterDataSource"; + private static final String SLAVE_DATA_SOURCE_NAME = "slaveDataSource"; + + // TODO 在注解中使用报错。 + // private static final String DATA_SOURCE_NAME = DataSource.class.getSimpleName(); + // private static final String MASTER_DATA_SOURCE_NAME = MASTER_PREFIX + DATA_SOURCE_NAME; + // private static final String SLAVE_DATA_SOURCE_NAME = SLAVE_PREFIX + DATA_SOURCE_NAME; + + private static final String CONNECTION_NAME = Connection.class.getSimpleName(); + private static final String MASTER_CONNECTION_NAME = MASTER_PREFIX + CONNECTION_NAME; + private static final String SLAVE_CONNECTION_NAME = SLAVE_PREFIX + CONNECTION_NAME; + + /** + * TODO 这个实验还不算成功。还需要再改进。 + */ + @Test + public void test() throws SQLException { + AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); + ctx.register(Config.class); + ctx.refresh(); + + DataSource dataSource = ctx.getBean(DataSource.class); + Connection connection = dataSource.getConnection(); + assertThat(connection.toString()).isEqualTo(MASTER_CONNECTION_NAME); + + isMaster = false; + dataSource = ctx.getBean(DataSource.class); + connection = dataSource.getConnection(); + assertThat(connection.toString()).isEqualTo(SLAVE_CONNECTION_NAME); + } + + @Configuration + @EnableTransactionManagement + public static class Config { + @Bean(MASTER_DATA_SOURCE_NAME) + public DataSource masterDataSource() { + DataSource dataSource = mock(DataSource.class, MASTER_DATA_SOURCE_NAME); + try { + when(dataSource.getConnection()) + .thenReturn(mock(Connection.class, MASTER_CONNECTION_NAME)); + } catch (SQLException e) { + log.info("invoke getConnection error", e); + } + return dataSource; + } + + @Bean(SLAVE_DATA_SOURCE_NAME) + public DataSource slaveDataSource() { + DataSource dataSource = mock(DataSource.class, SLAVE_DATA_SOURCE_NAME); + try { + when(dataSource.getConnection()) + .thenReturn(mock(Connection.class, SLAVE_CONNECTION_NAME)); + } catch (SQLException e) { + log.info("invoke getConnection error", e); + } + return dataSource; + } + + @Bean + @Primary + public DataSource primaryDataSource( + @Autowired @Qualifier(MASTER_DATA_SOURCE_NAME) DataSource masterDataSource, + @Autowired @Qualifier(SLAVE_DATA_SOURCE_NAME) DataSource slaveDataSource) { + HotSwappableRoutingDataSource dataSource = new HotSwappableRoutingDataSource(); + HashMap dataSources = new HashMap<>(); + dataSources.put(MASTER_DATA_SOURCE_NAME, masterDataSource); + dataSources.put(SLAVE_DATA_SOURCE_NAME, slaveDataSource); + dataSource.setTargetDataSources(dataSources); + dataSource.setDefaultTargetDataSource(masterDataSource); + return dataSource; + } + } + + public static class HotSwappableRoutingDataSource extends AbstractRoutingDataSource { + @Override + protected Object determineCurrentLookupKey() { + return isMaster ? MASTER_DATA_SOURCE_NAME : SLAVE_DATA_SOURCE_NAME; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/mybatis/Employees.java b/truman/src/main/java/com/diguage/truman/mybatis/Employees.java new file mode 100644 index 000000000000..6719323de446 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/mybatis/Employees.java @@ -0,0 +1,28 @@ +package com.diguage.truman.mybatis; + +import java.util.Date; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:24 + */ +public class Employees { + public Integer empNo; + public Date birthDate; + public String firstName; + public String lastName; + public String gender; + public Date hireDate; + + @Override + public String toString() { + return "Employees{" + + "empNo=" + empNo + + ", birthDate=" + birthDate + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", gender='" + gender + '\'' + + ", hireDate=" + hireDate + + '}'; + } +} diff --git a/truman/src/main/java/com/diguage/truman/mybatis/EmployeesMapper.java b/truman/src/main/java/com/diguage/truman/mybatis/EmployeesMapper.java new file mode 100644 index 000000000000..100e31b4f898 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/mybatis/EmployeesMapper.java @@ -0,0 +1,22 @@ +package com.diguage.truman.mybatis; + +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:23 + */ +public interface EmployeesMapper { + + @MapperAop + @Select("SELECT * FROM employees WHERE emp_no = #{id}") + Employees getById(@Param("id") Integer id); + + @MapperAop + @Insert("INSERT INTO employees(emp_no, birth_date, first_name, last_name, gender, hire_date) " + + "VALUES(#{empNo}, #{birthDate, jdbcType=TIMESTAMP}, #{firstName}, #{lastName}, #{gender}, " + + " #{hireDate, jdbcType=TIMESTAMP})") + int insert(Employees employees); +} diff --git a/truman/src/main/java/com/diguage/truman/mybatis/MapperAop.java b/truman/src/main/java/com/diguage/truman/mybatis/MapperAop.java new file mode 100644 index 000000000000..301685dac153 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/mybatis/MapperAop.java @@ -0,0 +1,8 @@ +package com.diguage.truman.mybatis; + +/** + * 这里做AOP不生效,怎么办? + * 答:启用 @EnableAspectJAutoProxy 即可生效 + */ +public @interface MapperAop { +} diff --git a/truman/src/main/java/com/diguage/truman/mybatis/MybatisTest.java b/truman/src/main/java/com/diguage/truman/mybatis/MybatisTest.java new file mode 100644 index 000000000000..8728c9948a18 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/mybatis/MybatisTest.java @@ -0,0 +1,67 @@ +package com.diguage.truman.mybatis; + +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import org.apache.ibatis.mapping.Environment; +import org.apache.ibatis.session.Configuration; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.SqlSessionFactoryBuilder; +import org.apache.ibatis.transaction.TransactionFactory; +import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.sql.DataSource; +import java.util.concurrent.TimeUnit; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-05-29 17:11 + */ +public class MybatisTest { + private static final Logger logger = LoggerFactory.getLogger(MybatisTest.class); + + // tag::testCacheQuery[] + /** + * @author D瓜哥 · https://www.diguage.com + * @since 2022-07-03 09:47:37 + */ + @Test + public void testCacheQuery() { + DataSource dataSource = getDataSource(); + TransactionFactory transactionFactory = new JdbcTransactionFactory(); + Environment environment = + new Environment("development", transactionFactory, dataSource); + Configuration configuration = new Configuration(environment); + configuration.addMapper(EmployeesMapper.class); + configuration.setCacheEnabled(true); + configuration.setMapUnderscoreToCamelCase(true); + SqlSessionFactory sqlSessionFactory = + new SqlSessionFactoryBuilder().build(configuration); + SqlSession session = sqlSessionFactory.openSession(); + EmployeesMapper mapper = session.getMapper(EmployeesMapper.class); + System.out.println(mapper.getById(10001)); + System.out.println(mapper.getById(10001)); + } + // end::testCacheQuery[] + + // tag::getDataSource[] + /** + * @author D瓜哥 · https://www.diguage.com + * @since 2022-07-03 09:47:37 + */ + public DataSource getDataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setConnectionTimeout(TimeUnit.SECONDS.toMillis(5)); + + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + // end::getDataSource[] +} diff --git a/truman/src/main/java/com/diguage/truman/mybatis/SpringMybatisTest.java b/truman/src/main/java/com/diguage/truman/mybatis/SpringMybatisTest.java new file mode 100644 index 000000000000..7909a5d6bc7a --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/mybatis/SpringMybatisTest.java @@ -0,0 +1,130 @@ +package com.diguage.truman.mybatis; + +import com.alibaba.fastjson2.JSON; +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import jakarta.annotation.Resource; +import org.apache.ibatis.session.Configuration; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.junit.jupiter.api.Test; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.Import; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.annotation.Transactional; + +import javax.sql.DataSource; +import java.util.Date; +import java.util.concurrent.TimeUnit; + +/** + * @author D瓜哥 · https://www.diguage.com + * @since 2020-05-29 17:11 + */ +public class SpringMybatisTest { + private static final Logger logger = LoggerFactory.getLogger(SpringMybatisTest.class); + + // 测试一下 AOP 在 MyBATIS Mapper 接口上的效果。 + // 测试完毕,启用 AspectJ 后即可生效。 + + @Test + public void testCacheQuery() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + EmployeesMapper employeesMapper = context.getBean(EmployeesMapper.class); + Employees employees = employeesMapper.getById(10001); + System.out.println(employees); + System.out.println(employeesMapper.getById(10001)); + } + + @Test + public void testInsert() { + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); + context.register(Config.class); + context.refresh(); + EmployeesService service = context.getBean(EmployeesService.class); + Employees employees = new Employees(); + employees.empNo = Math.toIntExact(System.currentTimeMillis() / 1000); + employees.birthDate = new Date(); + employees.firstName = "diguage"; + employees.lastName = "test"; + employees.gender = "F"; + employees.hireDate = employees.birthDate; + int insert = service.save(employees); + } + + @org.springframework.context.annotation.Configuration + @EnableTransactionManagement + @EnableAspectJAutoProxy + @MapperScan(basePackages = "com.diguage.truman.mybatis") + @Import({EmployeesService.class, MapperAspect.class}) + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setConnectionTimeout(TimeUnit.SECONDS.toMillis(5)); + + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + + @Bean + public SqlSessionFactoryBean sqlSessionFactory(@Autowired DataSource dataSource) { + SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); + factoryBean.setDataSource(dataSource); + Configuration configuration = new Configuration(); + configuration.setMapUnderscoreToCamelCase(true); + factoryBean.setConfiguration(configuration); + return factoryBean; + } + } + + @Service + public static class EmployeesService { + @Resource + private EmployeesMapper employeesMapper; + + @Transactional + public int save(Employees employees) { + return employeesMapper.insert(employees); + } + + public Employees getById(int id) { + return employeesMapper.getById(id); + } + } + + @Aspect + public static class MapperAspect { + @Pointcut("@annotation(com.diguage.truman.mybatis.MapperAop)") + public void pointcut() { + } + + @After("pointcut()") + public void doTask(JoinPoint joinPoint) { + logger.info("mapper method was called: {}", JSON.toJSON(joinPoint.getArgs())); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/test/ContextConfigurationTest.java b/truman/src/main/java/com/diguage/truman/test/ContextConfigurationTest.java new file mode 100644 index 000000000000..d3045086dfca --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/test/ContextConfigurationTest.java @@ -0,0 +1,39 @@ +package com.diguage.truman.test; + +import lombok.AllArgsConstructor; +import lombok.Data; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import static com.diguage.truman.util.Constans.BASE_CLASS_PATH; + + +@ExtendWith(SpringExtension.class) +@ContextConfiguration(BASE_CLASS_PATH + "/test/XmlApplicationContextTest.xml") +public class ContextConfigurationTest { + + @Autowired + private UserService userService; + + @Test + public void test() { + User user = userService.getById(1L); + System.out.println(user.toString()); + } + + @Data + @AllArgsConstructor + public static class User { + private long id; + private String name; + } + + public static class UserService { + public User getById(long id) { + return new User(id, "diguage-" + id); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/tx/TransactionTemplateTest.java b/truman/src/main/java/com/diguage/truman/tx/TransactionTemplateTest.java new file mode 100644 index 000000000000..d7cd3386d8a6 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/tx/TransactionTemplateTest.java @@ -0,0 +1,115 @@ +package com.diguage.truman.tx; + +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.support.TransactionTemplate; + +import javax.sql.DataSource; +import java.util.Date; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-09-11 10:20 + */ +public class TransactionTemplateTest { + + @Test + public void test() { + AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + EmployeesService employeesService = applicationContext.getBean(EmployeesService.class); + Employees employees = new Employees(); +// employees.empNo = 5000000; + employees.birthDate = new Date(); + employees.firstName = "D"; + employees.gender = "M"; + employees.hireDate = new Date(); + employees.lastName = "瓜哥"; + employeesService.save(employees); + System.out.println(employees); + } + + @Configuration + @EnableTransactionManagement + @Import(EmployeesService.class) + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public JdbcTemplate jdbcTemplate(DataSource dataSource) { + return new JdbcTemplate(dataSource); + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + } + + public static class Employees { + Integer empNo; + Date birthDate; + String firstName; + String lastName; + String gender; + Date hireDate; + + @Override + public String toString() { + return "Employees{" + + "empNo=" + empNo + + ", birthDate=" + birthDate + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", gender='" + gender + '\'' + + ", hireDate=" + hireDate + + '}'; + } + } + + @Service + public static class EmployeesService { + @Resource + private JdbcTemplate jdbcTemplate; + + private final TransactionTemplate transactionTemplate; + + public EmployeesService(PlatformTransactionManager transactionManager) { + transactionTemplate = new TransactionTemplate(transactionManager); + transactionTemplate.setTimeout(Integer.MAX_VALUE); + } + + public boolean save(Employees employees) { + Integer result = transactionTemplate.execute(status -> { + String sql = "INSERT INTO employees(emp_no, birth_date, first_name," + + " last_name, gender, hire_date) VALUES (?, ?, ?, ?, ?, ?)"; + int updatedCount = jdbcTemplate.update(sql, employees.empNo, + employees.birthDate, employees.firstName, employees.lastName, + employees.gender, employees.hireDate); + return updatedCount; + }); + return result == 1; + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/tx/TxOnCloseTest.java b/truman/src/main/java/com/diguage/truman/tx/TxOnCloseTest.java new file mode 100644 index 000000000000..12669c093fb8 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/tx/TxOnCloseTest.java @@ -0,0 +1,122 @@ +package com.diguage.truman.tx; + +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.support.DefaultTransactionDefinition; + +import javax.sql.DataSource; +import java.util.Date; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-09-11 10:20 + */ +public class TxOnCloseTest { + + /** + * TODO 这个实验还没搞好! + */ + @Test + public void test() { + AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + EmployeesService employeesService = applicationContext.getBean(EmployeesService.class); + PlatformTransactionManager transactionManager = applicationContext.getBean(PlatformTransactionManager.class); + + Employees employees = new Employees(); + employees.empNo = (int) System.currentTimeMillis() / 1000; + employees.birthDate = new Date(); + employees.firstName = "trans"; + employees.lastName = "action"; + employees.gender = "F"; + employees.hireDate = new Date(); + TransactionStatus transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition()); + employeesService.save(employees); + ExecutorService executorService = Executors.newFixedThreadPool(1); + executorService.execute(() -> applicationContext.close()); + try { + TimeUnit.SECONDS.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + } + transactionManager.commit(transactionStatus); + + System.out.println(employees); + } + + @Configuration + @EnableTransactionManagement + @Import(EmployeesService.class) + public static class Config { + @Bean + public DataSource dataSource() { + // TODO 设置超时时间,事务超时时间以及数据库里面的超时时间。 + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public JdbcTemplate jdbcTemplate(DataSource dataSource) { + return new JdbcTemplate(dataSource); + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + } + + public static class Employees { + Integer empNo; + Date birthDate; + String firstName; + String lastName; + String gender; + Date hireDate; + + @Override + public String toString() { + return "Employees{" + + "empNo=" + empNo + + ", birthDate=" + birthDate + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", gender='" + gender + '\'' + + ", hireDate=" + hireDate + + '}'; + } + } + + @Service + public static class EmployeesService { + @Resource + private JdbcTemplate jdbcTemplate; + + public int save(Employees employees) { + String sql = "INSERT INTO employees(emp_no, birth_date, first_name," + + " last_name, gender, hire_date) VALUE (?, ?, ?, ?, ?, ?)"; + return jdbcTemplate.update(sql, employees.empNo, employees.birthDate, employees.firstName, employees.lastName, employees.gender, employees.hireDate); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/tx/TxTest.java b/truman/src/main/java/com/diguage/truman/tx/TxTest.java new file mode 100644 index 000000000000..cbb4a68bb95f --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/tx/TxTest.java @@ -0,0 +1,178 @@ +package com.diguage.truman.tx; + +import com.mysql.cj.jdbc.Driver; +import com.zaxxer.hikari.HikariDataSource; +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.event.TransactionPhase; +import org.springframework.transaction.event.TransactionalEventListener; +import org.springframework.transaction.support.TransactionSynchronization; +import org.springframework.transaction.support.TransactionSynchronizationManager; + +import javax.sql.DataSource; +import java.util.Date; + +/** + * @author D瓜哥, https://www.diguage.com/ + * @since 2020-09-11 10:20 + */ +public class TxTest { + + private static final Logger log = LoggerFactory.getLogger(TxTest.class); + + @Test + public void test() { + AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); + applicationContext.register(Config.class); + applicationContext.refresh(); + EmployeesService employeesService = applicationContext.getBean(EmployeesService.class); + + Employees newEmp = new Employees(); + newEmp.empNo = Math.toIntExact(System.currentTimeMillis() / 100000); + newEmp.birthDate = new Date(); + newEmp.firstName = "diguage"; + newEmp.lastName = "test"; + newEmp.hireDate = new Date(); + newEmp.gender = "F"; + employeesService.save(newEmp); + + Employees existEmp = employeesService.getById(newEmp.empNo); + System.out.println(existEmp); + } + + @Configuration + @EnableTransactionManagement + @Import({EmployeesService.class, TransactionPostTask.class}) + public static class Config { + @Bean + public DataSource dataSource() { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setUsername("root"); + dataSource.setPassword("123456"); + dataSource.setDriverClassName(Driver.class.getName()); + dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/employees?useUnicode=true" + + "&characterEncoding=utf-8&autoReconnectForPools=true&autoReconnect=true"); + return dataSource; + } + + @Bean + public JdbcTemplate jdbcTemplate(DataSource dataSource) { + return new JdbcTemplate(dataSource); + } + + @Bean + public PlatformTransactionManager transactionManager(DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } + } + + public static class Employees { + Integer empNo; + Date birthDate; + String firstName; + String lastName; + String gender; + Date hireDate; + + @Override + public String toString() { + return "Employees{" + + "empNo=" + empNo + + ", birthDate=" + birthDate + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", gender='" + gender + '\'' + + ", hireDate=" + hireDate + + '}'; + } + } + + @Service + public static class EmployeesService implements ApplicationEventPublisherAware { + @Resource + private JdbcTemplate jdbcTemplate; + + private ApplicationEventPublisher applicationEventPublisher; + + @Transactional(readOnly = true, rollbackFor = Throwable.class) + public Employees getById(Integer id) { + String sql = "SELECT * FROM employees WHERE emp_no = ?"; + + return jdbcTemplate.queryForObject(sql, (rs, rowNum) -> { + Employees employee = new Employees(); + employee.empNo = rs.getInt("emp_no"); + employee.birthDate = rs.getDate("birth_date"); + employee.firstName = rs.getString("first_name"); + employee.lastName = rs.getString("last_name"); + employee.gender = rs.getString("gender"); + employee.hireDate = rs.getDate("hire_date"); + return employee; + }, new Object[]{id}); + } + + @Transactional(rollbackFor = Throwable.class) + public boolean save(Employees employee) { + + // :empNo, :birthDate, :firstName, :lastName, :gender, :hireDate + int updated = jdbcTemplate.update("INSERT INTO employees(emp_no, birth_date, first_name, last_name, gender, hire_date) " + + "VALUES(?, ?, ?, ?, ?, ?)", employee.empNo, employee.birthDate, employee.firstName, employee.lastName, employee.gender, employee.hireDate); + + // 以下是事务提交后置处理器 + // TransactionSynchronization 示例 + // TODO 如何封装一下?可以通过简单的注解或者配置完成这个事件处理。 + TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { + @Override + public void afterCommit() { + // TODO 这里如何传递参数?直接引用上面的参数? + log.info("TransactionSynchronization.afterCommit was called"); + } + }); + + // @TransactionalEventListener 示例 + // TODO 如何封装一下?可以通过简单的注解或者配置完成这个事件处理。 + TransactionPostEvent event = new TransactionPostEvent<>(); + event.data = "This is a object"; + applicationEventPublisher.publishEvent(event); + + return updated > 0; + } + + @Override + public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { + this.applicationEventPublisher = applicationEventPublisher; + } + } + + + public static class TransactionPostEvent { + T data; + + @Override + public String toString() { + return "TransactionPostEvent{" + + "data=" + data + + '}'; + } + } + + public static class TransactionPostTask { + @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, classes = TransactionPostEvent.class) + public void doTask(TransactionPostEvent transactionPostEvent) { + log.info("TransactionPostTask doTask was called: {}", transactionPostEvent); + } + } +} diff --git a/truman/src/main/java/com/diguage/truman/util/Constans.java b/truman/src/main/java/com/diguage/truman/util/Constans.java new file mode 100644 index 000000000000..253fe842d667 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/util/Constans.java @@ -0,0 +1,5 @@ +package com.diguage.truman.util; + +public interface Constans { + String BASE_CLASS_PATH = "classpath:com/diguage/truman"; +} diff --git a/truman/src/main/java/com/diguage/truman/web/AppInitializer.java b/truman/src/main/java/com/diguage/truman/web/AppInitializer.java new file mode 100644 index 000000000000..41e4b372769d --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/AppInitializer.java @@ -0,0 +1,24 @@ +package com.diguage.truman.web; + +import org.springframework.web.WebApplicationInitializer; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; +import org.springframework.web.servlet.DispatcherServlet; + +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRegistration.Dynamic; + +/** + * @author D瓜哥, https://www.diguage.com + */ +public class AppInitializer implements WebApplicationInitializer { + @Override + public void onStartup(ServletContext servletContext) throws ServletException { + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.register(WebAppConfig.class); + context.setServletContext(servletContext); + Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(context)); + servlet.addMapping("/"); + servlet.setLoadOnStartup(1); + } +} diff --git a/truman/src/main/java/com/diguage/truman/web/HomeServlet.java b/truman/src/main/java/com/diguage/truman/web/HomeServlet.java new file mode 100644 index 000000000000..1a6bd06a010c --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/HomeServlet.java @@ -0,0 +1,23 @@ +package com.diguage.truman.web; + +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; + +/** + * https://www.baeldung.com/java-web-app-without-web-xml + * + * @author D瓜哥, https://www.diguage.com + */ +@WebServlet(urlPatterns = "/about", name = "aboutServlet") +public class HomeServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + PrintWriter writer = resp.getWriter(); + writer.println("This is the about page."); + } +} diff --git a/truman/src/main/java/com/diguage/truman/web/TraceFilter.java b/truman/src/main/java/com/diguage/truman/web/TraceFilter.java new file mode 100644 index 000000000000..f85fc6688e2f --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/TraceFilter.java @@ -0,0 +1,35 @@ +package com.diguage.truman.web; + +import jakarta.servlet.*; +import jakarta.servlet.annotation.WebFilter; +import jakarta.servlet.http.HttpServletRequest; +import java.io.IOException; + +/** + * @author D瓜哥, https://www.diguage.com + */ +@WebFilter(urlPatterns = "/*") +public class TraceFilter implements Filter { + @Override + public void init(FilterConfig filterConfig) throws ServletException { + + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + HttpServletRequest httpRequest = (HttpServletRequest) request; + String queryString = httpRequest.getQueryString(); + String url = httpRequest.getRequestURL().toString() + (queryString == null ? "" : queryString); +// String url = httpRequest.getScheme() + "://" + httpRequest.getServerName() + ":" + httpRequest.getServerPort() +// + httpRequest.getQueryString(); + + System.out.println(url + " Start"); + chain.doFilter(request, response); + System.out.println(url + " End"); + } + + @Override + public void destroy() { + + } +} diff --git a/truman/src/main/java/com/diguage/truman/web/WebAppConfig.java b/truman/src/main/java/com/diguage/truman/web/WebAppConfig.java new file mode 100644 index 000000000000..1fb399d3743b --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/WebAppConfig.java @@ -0,0 +1,23 @@ +package com.diguage.truman.web; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.view.InternalResourceViewResolver; + +/** + * @author D瓜哥, https://www.diguage.com + */ +@Configuration +@ComponentScan(basePackages = {"com.diguage.truman.web"}) +@EnableWebMvc +public class WebAppConfig { + @Bean + public InternalResourceViewResolver getInternalResourceViewResolver() { + InternalResourceViewResolver resolver = new InternalResourceViewResolver(); + resolver.setPrefix("/WEB-INF/views"); + resolver.setSuffix(".jsp"); + return resolver; + } +} diff --git a/truman/src/main/java/com/diguage/truman/web/undertow/MainWebAppInitializer.java b/truman/src/main/java/com/diguage/truman/web/undertow/MainWebAppInitializer.java new file mode 100644 index 000000000000..dbee791d521d --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/undertow/MainWebAppInitializer.java @@ -0,0 +1,23 @@ +package com.diguage.truman.web.undertow; + +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRegistration; +import org.springframework.web.WebApplicationInitializer; +import org.springframework.web.context.ContextLoaderListener; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; +import org.springframework.web.context.support.GenericWebApplicationContext; +import org.springframework.web.servlet.DispatcherServlet; + +public class MainWebAppInitializer implements WebApplicationInitializer { + @Override + public void onStartup(ServletContext servletContext) throws ServletException { + AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); + ctx.scan("com.diguage.truman.web.undertowv"); + servletContext.addListener(new ContextLoaderListener(ctx)); + ServletRegistration.Dynamic appServlet + = servletContext.addServlet("mvc", new DispatcherServlet(new GenericWebApplicationContext())); + appServlet.setLoadOnStartup(1); + appServlet.addMapping("/"); + } +} diff --git a/truman/src/main/java/com/diguage/truman/web/undertow/UndertowContainer.java b/truman/src/main/java/com/diguage/truman/web/undertow/UndertowContainer.java new file mode 100644 index 000000000000..da08af5b6182 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/undertow/UndertowContainer.java @@ -0,0 +1,43 @@ +package com.diguage.truman.web.undertow; + +import io.undertow.Handlers; +import io.undertow.Undertow; +import io.undertow.server.HttpHandler; +import io.undertow.server.handlers.PathHandler; +import io.undertow.servlet.Servlets; +import io.undertow.servlet.api.DeploymentInfo; +import io.undertow.servlet.api.DeploymentManager; +import org.springframework.web.servlet.DispatcherServlet; + +import static io.undertow.servlet.Servlets.defaultContainer; +import static io.undertow.servlet.Servlets.servlet; + + +public class UndertowContainer { + public static final String WEBMVC = "/webmvc"; + +// https://github.com/yarosla/spring-undertow/blob/master/src/main/java/ys/undertow/UndertowMain.java +// https://www.baeldung.com/java-web-app-without-web-xml +// TODO 未完成 + public static void main(String[] args) throws Throwable { + DeploymentInfo servletBuilder = Servlets.deployment() + .setClassLoader(UndertowContainer.class.getClassLoader()) + .setContextPath(WEBMVC) + .setDeploymentName("webmvc.war") + .addServlets( + servlet("DispatcherServlet", DispatcherServlet.class) + .addInitParam("message", "Hello D瓜哥") + .addMapping("/*")); + DeploymentManager manager = defaultContainer().addDeployment(servletBuilder); + manager.deploy(); + + HttpHandler servletHandler = manager.start(); + PathHandler path = Handlers.path(Handlers.redirect(WEBMVC)) + .addPrefixPath(WEBMVC, servletHandler); + Undertow server = Undertow.builder() + .addHttpListener(8080, "localhost") + .setHandler(path) + .build(); + server.start(); + } +} diff --git a/truman/src/main/java/com/diguage/truman/web/undertow/WebConfig.java b/truman/src/main/java/com/diguage/truman/web/undertow/WebConfig.java new file mode 100644 index 000000000000..8442a0bb965f --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/undertow/WebConfig.java @@ -0,0 +1,12 @@ +package com.diguage.truman.web.undertow; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@EnableWebMvc +@Configuration +@ComponentScan(basePackages = {"com.diguage.truman.web.undertow.rest"}) +public class WebConfig implements WebMvcConfigurer { +} diff --git a/truman/src/main/java/com/diguage/truman/web/undertow/rest/HelloController.java b/truman/src/main/java/com/diguage/truman/web/undertow/rest/HelloController.java new file mode 100644 index 000000000000..3d8a17931cd7 --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/web/undertow/rest/HelloController.java @@ -0,0 +1,12 @@ +package com.diguage.truman.web.undertow.rest; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HelloController { + @RequestMapping("/hello") + public String hello() { + return "Hello, D瓜哥"; + } +} diff --git a/truman/src/main/java/com/diguage/truman/webflux/Test.java b/truman/src/main/java/com/diguage/truman/webflux/Test.java new file mode 100644 index 000000000000..f13a9d45988b --- /dev/null +++ b/truman/src/main/java/com/diguage/truman/webflux/Test.java @@ -0,0 +1,4 @@ +package com.diguage.truman.webflux; + +public class Test { +} diff --git a/truman/src/main/resources/META-INF/dgg.xsd b/truman/src/main/resources/META-INF/dgg.xsd new file mode 100644 index 000000000000..25d4ebf1fc02 --- /dev/null +++ b/truman/src/main/resources/META-INF/dgg.xsd @@ -0,0 +1,13 @@ + + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/META-INF/spring.handlers b/truman/src/main/resources/META-INF/spring.handlers new file mode 100644 index 000000000000..4d9368562329 --- /dev/null +++ b/truman/src/main/resources/META-INF/spring.handlers @@ -0,0 +1 @@ +https\://www.diguage.com/schema/user=com.diguage.truman.ext.DggNamespaceHandler diff --git a/truman/src/main/resources/META-INF/spring.schemas b/truman/src/main/resources/META-INF/spring.schemas new file mode 100644 index 000000000000..058b3bcec5f1 --- /dev/null +++ b/truman/src/main/resources/META-INF/spring.schemas @@ -0,0 +1 @@ +https\://www.diguage.com/schema/user.xsd=META-INF/dgg.xsd diff --git a/truman/src/main/resources/com/diguage/truman/aop/HotSwappableTargetSource.xml b/truman/src/main/resources/com/diguage/truman/aop/HotSwappableTargetSource.xml new file mode 100644 index 000000000000..c38239facce3 --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/aop/HotSwappableTargetSource.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + swapDataSourceAdvisor + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/aop/xml/aop-xml.xml b/truman/src/main/resources/com/diguage/truman/aop/xml/aop-xml.xml new file mode 100644 index 000000000000..4398e536467e --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/aop/xml/aop-xml.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.properties b/truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.properties new file mode 100644 index 000000000000..34a61a888067 --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.properties @@ -0,0 +1 @@ +fileCfg=This is a file config option. \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.xml b/truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.xml new file mode 100644 index 000000000000..5673bf521f2e --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/beans/env/PropertyPlaceholderConfigurerTest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/context/ApplicationListenerParentTest.xml b/truman/src/main/resources/com/diguage/truman/context/ApplicationListenerParentTest.xml new file mode 100644 index 000000000000..66edcb160c1e --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/context/ApplicationListenerParentTest.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/context/PlaceholderTest.xml b/truman/src/main/resources/com/diguage/truman/context/PlaceholderTest.xml new file mode 100644 index 000000000000..96ac4cdbd50d --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/context/PlaceholderTest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/context/XmlApplicationContextTest.xml b/truman/src/main/resources/com/diguage/truman/context/XmlApplicationContextTest.xml new file mode 100644 index 000000000000..6e6c630ed5ef --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/context/XmlApplicationContextTest.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/context/token.properties b/truman/src/main/resources/com/diguage/truman/context/token.properties new file mode 100644 index 000000000000..5b009149165a --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/context/token.properties @@ -0,0 +1,2 @@ +user.appId=dummyAppId +user.token=dummyToken diff --git a/truman/src/main/resources/com/diguage/truman/core/PropertiesApplicationContextTest.xml b/truman/src/main/resources/com/diguage/truman/core/PropertiesApplicationContextTest.xml new file mode 100644 index 000000000000..aa8023d7a60a --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/core/PropertiesApplicationContextTest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + classpath:com/diguage/truman/core/token.properties + + + + + + + + classpath:com/diguage/truman/core/token.properties + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/core/token.properties b/truman/src/main/resources/com/diguage/truman/core/token.properties new file mode 100644 index 000000000000..5b009149165a --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/core/token.properties @@ -0,0 +1,2 @@ +user.appId=dummyAppId +user.token=dummyToken diff --git a/truman/src/main/resources/com/diguage/truman/ext/dgg.xml b/truman/src/main/resources/com/diguage/truman/ext/dgg.xml new file mode 100644 index 000000000000..5d4ca2c791c3 --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/ext/dgg.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/com/diguage/truman/test/XmlApplicationContextTest.xml b/truman/src/main/resources/com/diguage/truman/test/XmlApplicationContextTest.xml new file mode 100644 index 000000000000..1b485d708176 --- /dev/null +++ b/truman/src/main/resources/com/diguage/truman/test/XmlApplicationContextTest.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/resources/dubbo/consumer.properties b/truman/src/main/resources/dubbo/consumer.properties new file mode 100644 index 000000000000..2cc16e0c99c3 --- /dev/null +++ b/truman/src/main/resources/dubbo/consumer.properties @@ -0,0 +1,3 @@ +dubbo.application.name=dubbo-annotation-consumer +dubbo.registry.address=zookeeper://127.0.0.1:2181 +dubbo.protocol.port=-1 \ No newline at end of file diff --git a/truman/src/main/resources/dubbo/provider.properties b/truman/src/main/resources/dubbo/provider.properties new file mode 100644 index 000000000000..737cd22601f7 --- /dev/null +++ b/truman/src/main/resources/dubbo/provider.properties @@ -0,0 +1,3 @@ +dubbo.application.name=dubbo-annotation-provider +dubbo.protocol.name=dubbo +dubbo.protocol.port=-1 \ No newline at end of file diff --git a/truman/src/main/resources/log4j2.xml b/truman/src/main/resources/log4j2.xml new file mode 100644 index 000000000000..f58d9a7f7895 --- /dev/null +++ b/truman/src/main/resources/log4j2.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/truman/src/main/webapp/index.html b/truman/src/main/webapp/index.html new file mode 100644 index 000000000000..6a1cc80cf320 --- /dev/null +++ b/truman/src/main/webapp/index.html @@ -0,0 +1,10 @@ + + + + + 首页 + + +这是首页,测试页面! + + \ No newline at end of file diff --git a/truman/truman.gradle b/truman/truman.gradle new file mode 100644 index 000000000000..1e99140edf01 --- /dev/null +++ b/truman/truman.gradle @@ -0,0 +1,211 @@ +plugins { + id 'war' + id 'me.champeau.jmh' + id 'org.asciidoctor.jvm.convert' version '4.0.3' + id 'org.asciidoctor.jvm.pdf' version '4.0.3' + id 'org.asciidoctor.jvm.gems' version '4.0.3' + // id 'org.asciidoctor.jvm.revealjs' version '4.0.3' + id 'org.asciidoctor.editorconfig' version '4.0.3' +} + +configurations { + asciidoctorExt + asciidocExtensions +} + +dependencies { + asciidoctorGems "rubygems:rouge:4.3.0" + // asciidoctorGems "rubygems:rouge:3.30.0" + asciidoctorGems "rubygems:asciidoctor-multipage:0.0.19" + asciidoctorGems "rubygems:asciidoctor-comment-links:0.0.2" + + implementation(project(":spring-beans")) + implementation(project(":spring-context")) + implementation(project(":spring-jdbc")) + implementation(project(":spring-tx")) + implementation(project(":spring-webmvc")) + + implementation(project(":spring-test")) + + implementation("jakarta.annotation:jakarta.annotation-api") + implementation("com.fasterxml.jackson.core:jackson-databind") + + implementation("org.aspectj:aspectjweaver") + + implementation('org.projectlombok:lombok:1.18.32') + annotationProcessor 'org.projectlombok:lombok:1.18.32' + + implementation 'com.zaxxer:HikariCP:5.1.0' + implementation 'com.mysql:mysql-connector-j:8.4.0' + // implementation 'mysql:mysql-connector-java:5.1.49' + implementation 'org.mybatis:mybatis:3.5.16' + implementation 'org.mybatis:mybatis-spring:3.0.3' + + providedCompile("jakarta.servlet:jakarta.servlet-api:6.0.0") + implementation('io.undertow:undertow-servlet:2.3.13.Final') + implementation('io.undertow:undertow-websockets-jsr:2.3.13.Final') + + + // // 使用测试,注解总报错 + // // TODO 加了下面的依赖不报错了。新问题:明明没有使用 Kotlinx,为啥却要加这个依赖? + // implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core") + + jmh 'org.openjdk.jmh:jmh-core:1.37' + jmh 'org.openjdk.jmh:jmh-generator-annprocess:1.37' + jmh 'net.sf.jopt-simple:jopt-simple:5.0.4' + + implementation("org.slf4j:slf4j-api") + implementation("org.apache.logging.log4j:log4j-slf4j-impl") + implementation("org.apache.logging.log4j:log4j-1.2-api") + implementation("org.apache.logging.log4j:log4j-jcl") + implementation("org.apache.logging.log4j:log4j-jul") + implementation("org.apache.logging.log4j:log4j-core") + + implementation("org.junit.platform:junit-platform-launcher") + implementation("org.junit.jupiter:junit-jupiter-engine") + implementation("org.mockito:mockito-core") + implementation("org.mockito:mockito-junit-jupiter") + implementation("org.assertj:assertj-core") + + implementation platform("org.apache.dubbo:dubbo-bom:3.2.12") + implementation("org.apache.dubbo:dubbo-registry-multicast") + implementation("org.apache.dubbo:dubbo-registry-zookeeper") + implementation("org.apache.dubbo:dubbo-configcenter-zookeeper") + implementation("org.apache.dubbo:dubbo-metadata-report-zookeeper") + implementation("org.apache.dubbo:dubbo-rpc-dubbo") + implementation("org.apache.dubbo:dubbo-config-spring") + implementation("org.apache.dubbo:dubbo-remoting-netty4") + implementation("org.apache.dubbo:dubbo-serialization-hessian2") + + implementation 'javax.activation:activation:1.1.1' + implementation 'com.sun.activation:jakarta.activation:2.1.1' + implementation 'io.ratpack:ratpack-core:1.9.0' +} + +test { + // make sure the classes dir is used on the test classpath (required by ResourceTests) + // When test fixtures are involved, the JAR is used by default + classpath = sourceSets.main.output.classesDirs + classpath - files(jar.archiveFile) +} + +asciidoctorj { + requires "asciidoctor-comment-links" + // TODO 不生效 + // https://github.com/owenh000/asciidoctor-multipage +// requires "asciidoctor-multipage" +// attributes require: "asciidoctor-multipage", +// backend: "multipage_html5" +} + +asciidoctor { + // 加载必要的 Gem + dependsOn asciidoctorGemsPrepare + configurations 'asciidoctorExt' + configurations 'asciidoctorExtensions' + + baseDirFollowsSourceDir() + + sources { + include 'index.adoc' + } + outputDir "${project.getLayout().getBuildDirectory()}/docs/html5" + forkOptions { + jvmArgs += ["--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", + "--add-opens", "java.base/java.io=ALL-UNNAMED"] + } + logDocuments = true +} + +asciidoctorPdf { + baseDirFollowsSourceDir() + asciidoctorj { + attributes "pdf-fontsdir": "${project.projectDir}/cfg/fonts;GEM_FONTS_DIR;", + "pdf-themesdir": "${project.projectDir}/cfg/theme", + "pdf-theme": "Source" + } + sources { + include 'index.adoc' + } + outputDir "${project.getLayout().getBuildDirectory()}/docs/pdf" + forkOptions { + jvmArgs += ["--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", + "--add-opens", "java.base/java.io=ALL-UNNAMED"] + } + logDocuments = true + +} + +asciidoctorj { + def sourceAttr = 'linenums,indent=0,subs="attributes,verbatim"' + + version = '3.0.0' + jrubyVersion = '9.4.8.0' + fatalWarnings ".*" + options doctype: 'book', eruby: 'erubis' + attributes([ + author: 'D瓜哥', + email: 'https://www.diguage.com', + revnumber: project.version, + icons: 'font', + idprefix: '', + idseparator: '-', + docinfo: 'shared', + sectanchors: '', + sectnums: '', + 'source-highlighter': 'rouge', + 'rouge-style': 'github', // molokai, monokai, github, gruvbox + 'linkcss': 'true', + toc: 'left', + toclevels: 4, + sectnums: false, + sectnumlevels: 4, + sectanchors: true, + fontsDir: 'cfg/fonts', + graphvizdot: '/usr/local/bin/dot', + stylesdir: 'css', + homepage: 'https://www.diguage.com', + plantumlconfig: "${getProjectOperations().projectDir}/cfg/plantuml.cfg", + "scripts": "cjk", + + 'spring-version' : project.version, + 'source_attr' : sourceAttr, + 'java_src_attr' : "source%nowrap,java,${sourceAttr}", + 'xml_src_attr' : "source%nowrap,xml,${sourceAttr}", + 'image_attr' : 'align="center",width=98%', + 'diagram_attr' : 'format=svg,align="center",width=98%', + // 'rootDir' : project.rootDir, // = /path/to/spring-framework + // 'projectDir': project.projectDir, // = /path/to/spring-framework/truman + // 'buildDir' : project.buildDir, // = /path/to/spring-framework/truman/build + 'truman_src_dir' : "${getProjectOperations().projectDir}/src/main/java/com/diguage/truman", + 'truman_resource_dir': "${getProjectOperations().projectDir}/src/main/resources/com/diguage/truman", + 'aop_src_dir' : "${project.rootDir}/spring-aop/src/main/java/org/springframework/aop", + 'beans_src_dir' : "${project.rootDir}/spring-beans/src/main/java/org/springframework/beans", + 'context_src_dir' : "${project.rootDir}/spring-context/src/main/java/org/springframework", + 'core_src_dir' : "${project.rootDir}/spring-core/src/main/java/org/springframework", + 'jdbc_src_dir' : "${project.rootDir}/spring-jdbc/src/main/java/org/springframework/jdbc", + 'tx_src_dir' : "${project.rootDir}/spring-tx/src/main/java/org/springframework" + ]) + // attribute 'docinfo1', '' + modules { + pdf { + version '2.3.18' + } + epub { + version '2.1.3' + } + diagram { + version '2.3.1' + } + } +} + + +repositories { + mavenLocal() + mavenCentral() +// use the ruby.gems(), and throw an error +// ruby.gems() +// ruby { +// gems() +// } +}

f^(kzS4t1^k;X5}6idK(dUAestwjmFev2 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 I{_}VL2d}|ey8r+H literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/message-flow-broker-relay.png b/truman/src/docs/asciidoc/images/message-flow-broker-relay.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf93fa1439c63b39564c06008e1a07d508307de GIT binary patch literal 80126 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 literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/message-flow-simple-broker.png b/truman/src/docs/asciidoc/images/message-flow-simple-broker.png new file mode 100644 index 0000000000000000000000000000000000000000..9afd54f57c23db5d535bee398bc3461e2e87b69c GIT binary patch literal 65382 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 + + +image/svg+xmlPage-1DispatcherServlet +Servlet WebApplicationContext +(containing controllers, view resolvers,and other web-related beans) +Controllers +ViewResolver +HandlerMapping +Root WebApplicationContext +(containing middle-tier services, datasources, etc.) +Services +Repositories +Delegates if no bean found + \ No newline at end of file diff --git a/truman/src/docs/asciidoc/images/non-repeatable-read-process.png b/truman/src/docs/asciidoc/images/non-repeatable-read-process.png new file mode 100644 index 0000000000000000000000000000000000000000..9702493efd90d8b6419c9f49a63adf7ef3809151 GIT binary patch literal 105625 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 G9`j$$-d~*n literal 0 HcmV?d00001 diff --git a/truman/src/docs/asciidoc/images/oxm-exceptions.graffle b/truman/src/docs/asciidoc/images/oxm-exceptions.graffle new file mode 100644 index 000000000000..4b72bf45285b --- /dev/null +++ b/truman/src/docs/asciidoc/images/oxm-exceptions.graffle @@ -0,0 +1,1619 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 137.11.0.108132 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {756, 553}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2009-09-11 10:15:26 -0400 + Creator + Thomas Risberg + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 6 + GraphicsList + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 42 + Points + + {334.726, 144} + {394.042, 102.288} + + Style + + stroke + + HeadArrow + FilledArrow + TailArrow + 0 + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 41 + Points + + {489.5, 143.713} + {430.452, 102.287} + + Style + + stroke + + HeadArrow + FilledArrow + TailArrow + 0 + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 18 + + Head + + ID + 4 + + ID + 40 + Points + + {230, 217} + {275.683, 175.337} + + Style + + stroke + + HeadArrow + FilledArrow + TailArrow + 0 + + + + + Class + LineGraphic + FontInfo + + Font + Helvetica + Size + 18 + + Head + + ID + 4 + + ID + 39 + Points + + {430.381, 216.81} + {329.369, 175.19} + + Style + + stroke + + HeadArrow + FilledArrow + TailArrow + 0 + + + Tail + + ID + 5 + + + + Bounds + {{56, 217}, {249, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 6 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\fs36 \cf0 MarshallingFailureException} + + + + Bounds + {{325.5, 217}, {283.5, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 5 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\fs36 \cf0 UnmarshallingFailureException} + + + + Bounds + {{184, 145}, {217, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 4 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\fs36 \cf0 MarshallingException} + + + + Bounds + {{430, 145}, {239, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\fs36 \cf0 ValidationFailureException} + + + + Bounds + {{294, 72}, {244, 30}} + Class + ShapedGraphic + FontInfo + + Font + Helvetica + Size + 18 + + ID + 1 + Shape + Rectangle + Style + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\pardeftab720\qc + +\f0\i\fs36 \cf0 XmlMappingException} + + Wrap + NO + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2009-09-11 10:38:54 -0400 + Modifier + Thomas Risberg + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSLeftMargin + + float + 18 + + NSOrientation + + int + 1 + + NSPaperSize + + size + {792, 612} + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + QuickLookPreview + + JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmls + dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGVlk1vG0cMhu/zK3h0Dx4Ph/N5rZsA + DRCgqdW0V0GVGhkryZGdoj+/L2e1q4W1cloLhhZrfr0PORx/pU/0lRw+OSaKUei4pt9p + T84m135oS3f3z0yrZ+L2eV7RrbPx9Nfz0ymAQYAN3f2yPq7WTy/flh0dt0jhU2ppoidf + hIIkWu3o7ucd00+HVoRPPFgEriRJTG/hRwupgwVnUYtTDBksxI1ZhION5Csqb3mCGfLk + c56pQeyD3P267pYv27/X94fucNzu1i/H7Uo1+BooRCYfAonrZTJ9AJPHntD9Q6vO0cM9 + BPdJbvVLsaIIDZAhv/kr5wfoBltvwNYRuDrAnngGThTADb4/LohLC3+L79tSbQwZDDMt + oO49W4eEi425+WPXfVw+PW33f737RxuwPex/oMUjvVsg2ZtNDeJIciEPyoO+STGjDLXj + AHLNbqpDZ2RORwwol6S2hr5Swi7aUpVMr8SflNDN53PdkzLeilWj9d7ly1DLbvsnenrY + v19uu2/H9Ws05jtouKDlioYz0KjkzbRPIxq1a2ianY7I0OJraHz1PZq5Jkc0WWqkbFqT + z2g+Lo/PX5Zd9/+7bMQjKkQkPYbt6bqc3lZFT20HSVenNmXrkcK3k/e63R6nMpZxcJsm + s9jQzW/73VnVlT59b4Sxwpqy8PYEw6yJamb/ZYC5YM2pIt1IrxWxWBdlZuomXZrTYy6O + 5GTMx5HCabNSOKDiZIvDNOxIpNjowZdzsTVxNd0waG1P6zpv51CELXtsH8nZuhJzc85W + cvV4x9anINQhYLUpKY6MJNwCfsHbS+8NAn/A7+Ps/I8enKOtjNg7I3LKx4VtFtQwycfI + x6Uw3k3ynb2brNOSNXN4PI6j9hLbNRUrSQ9gwVC5gpA6qT4H6zP2i0qT4kszxWNI1UgW + 6x2msYMdOOutU2zOIKYFzfleB6CzMXqosMTY9lpYnw3dqjaDyjkb9gU2VlAkk2yDr9lN + 5c8CD3oRYOWIzQzYuFYxGTHhlcu2ZqhtFEwQZZJxgWEVJ48rRG3Ra5GId9hBudUVgutp + hZBtKNI35sIblV3noJts9GAnmLaiHMZ8zM4G36gP+YxeA5FTbSTmvLWXw207NwgiwWaf + wCKgOimYP8DoORSvhDWCYN2Ggk3eODD+OVBbNAFDg3fQrBwxoCXjQNRoGpsk/TzMeb/N + YfRoHHB8W22nfE2zL+1AnPJRYyOpn4gLb1SrKj79C2PwIN4KZW5kc3RyZWFtCmVuZG9i + ago1IDAgb2JqCjkyNgplbmRvYmoKMiAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50 + IDMgMCBSIC9SZXNvdXJjZXMgNiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9NZWRpYUJveCBb + MCAwIDc1NiA1NTNdCj4+CmVuZG9iago2IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAv + VGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdIC9Db2xvclNwYWNlIDw8IC9DczIg + MTggMCBSCi9DczEgNyAwIFIgPj4gL0ZvbnQgPDwgL0YxLjAgMTkgMCBSIC9GMi4wIDIw + IDAgUiA+PiAvWE9iamVjdCA8PCAvSW0yIDEwIDAgUgovSW0zIDEyIDAgUiAvSW00IDE0 + IDAgUiAvSW01IDE2IDAgUiAvSW0xIDggMCBSID4+ID4+CmVuZG9iagoxMCAwIG9iago8 + PCAvTGVuZ3RoIDExIDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dp + ZHRoIDUyMiAvSGVpZ2h0IDEwNCAvQ29sb3JTcGFjZQoyMSAwIFIgL1NNYXNrIDIyIDAg + UiAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh + bQp4Ae3QMQEAAADCoPVPbQhfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM + GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB + AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg + wIABAwYMGDBgwIABAwYMvAMDfE4AAQplbmRzdHJlYW0KZW5kb2JqCjExIDAgb2JqCjcz + NAplbmRvYmoKMTIgMCBvYmoKPDwgL0xlbmd0aCAxMyAwIFIgL1R5cGUgL1hPYmplY3Qg + L1N1YnR5cGUgL0ltYWdlIC9XaWR0aCA0NzggL0hlaWdodCAxMDQgL0NvbG9yU3BhY2UK + MjQgMCBSIC9TTWFzayAyNSAwIFIgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9G + bGF0ZURlY29kZSA+PgpzdHJlYW0KeAHt0DEBAAAAwqD1T+1pCYhAYcCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOADA0auAAEKZW5kc3RyZWFtCmVuZG9iagox + MyAwIG9iago2NzQKZW5kb2JqCjE0IDAgb2JqCjw8IC9MZW5ndGggMTUgMCBSIC9UeXBl + IC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggNjEyIC9IZWlnaHQgMTA0IC9D + b2xvclNwYWNlCjI3IDAgUiAvU01hc2sgMjggMCBSIC9CaXRzUGVyQ29tcG9uZW50IDgg + L0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dCBAAAAAMOg+VNf4AiFUGHA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgIE/MOn+AAEKZW5kc3RyZWFtCmVuZG9iagoxNSAwIG9iago4NTYK + ZW5kb2JqCjE2IDAgb2JqCjw8IC9MZW5ndGggMTcgMCBSIC9UeXBlIC9YT2JqZWN0IC9T + dWJ0eXBlIC9JbWFnZSAvV2lkdGggNTQyIC9IZWlnaHQgMTA0IC9Db2xvclNwYWNlCjMw + IDAgUiAvU01hc2sgMzEgMCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxh + dGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg9U9tCy+IQGHAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED + BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA + gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY + MGDAgAEDBgy8BwaUrgABCmVuZHN0cmVhbQplbmRvYmoKMTcgMCBvYmoKNzYxCmVuZG9i + ago4IDAgb2JqCjw8IC9MZW5ndGggOSAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUg + L0ltYWdlIC9XaWR0aCA1MzIgL0hlaWdodCAxMDQgL0NvbG9yU3BhY2UKMzMgMCBSIC9T + TWFzayAzNCAwIFIgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29k + ZSA+PgpzdHJlYW0KeAHt0DEBAAAAwqD1T20KP4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG + DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA + AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw + YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAa2CIfgABCmVuZHN0 + cmVhbQplbmRvYmoKOSAwIG9iago3NDcKZW5kb2JqCjIyIDAgb2JqCjw8IC9MZW5ndGgg + MjMgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggNTIyIC9I + ZWlnaHQgMTA0IC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9CaXRzUGVyQ29tcG9uZW50 + IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7Z3tT1PZFsZBCqXvLZS2 + 9GVaTgvtaSmdY4sFCtM2bXhHFISpM0LQqhkYkNHYSAZ1MIwSiSI4EF6iyBDRgEPAECVG + zfxrd53CvXOFcrD3fto96/lATDYmez/rl7XXaTlrZWWh0AF0AB1AB9ABdAAdQAfQAXQA + Hfh/HMhGZaADaREB5z/xj3JQGeHAPxE9AQH+CiD2KICzCwS5qIxzQCCA0LJQHAdDkoM9 + CPKEwvw9iVDEO7AfSqEwD+AGHI5hYZ+D3Nw8gEAkFkskEqlUKkNlgAMQSAinWCzKz2dp + 4GaBBSEH7gTAACCQyuRyhVKpQmWIA0qlQi6XAQ9igGGPhSOuiCQIkA9YDmRyhUpVUKhW + FxVpNFoU8Q5oNEVFanVhgUqlkMtYFiAvwBWRGgU2I7AJgeVACRRotLpivd5gNJpQxDtg + NBr0+mKdVgM0KJMsQFpgUUjxEJEEAQoEiRQ4AAyAAZPZYimhrKgMcIAqsVjMJuABYAAW + pBK2XEiNQjZbIwhFkBBUhRqdHiigrKVldgdNO50uFNEOOJ007bCXlVopoEGv0xSqIC2I + hGzdeDgpQEoAEPIlMoVKrdWbLJStjHaWuz0ehmFOogh3AILo8bjLnXSZjbKY9Fq1SiGD + rJArSHE/QEqAYlGcBMFgpkodLreH8Vae8lfXgAIogh1gI1jtP1XpZTxul6OUMhuSKIih + bEyRFLIhJeSLpXKVWmcwW+2uCsbnrw7UBUPhSCQSRRHtAIQwHArWBar9PqbCZbeaDTq1 + Si4V50NSOHg97KUECYCgNVhstJvxVQWC4Wh9Y1NLa9tpFOEOtLW2NDXWR8PBQJWPcdM2 + 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 + Wlpmd9C00+lCEe2A00nTDntZqZWymE16naZQJZdJRADCoXqR/etWSApQNEJWkMqVBWqN + Vm8wAg2WEsqKygAHqBILUGA06LUadYFSLoWMwN4NKVLCPgpwQYghLSgLCgEGXbEeeDCa + UMQ7YAQG9MU6wKAQOJBJxHA1HAVCVnYyK8CzZJIFhUoFNKiLijQaLYp4BzSaoiI1UKBS + KZIcQLGYBOHAhwn7rz4kURDkQloAFiRSmVyuUCpVqAxxQKlUyOUyqQTyAZsQoEY4kZ0a + BLgfICuwdSNbLuSLxICDRCqVylAZ4AAEEsIpFosAA8gHLAdHg8CWjXssAAxAA+CQlAhF + vAP7oRSyFOQKjuUg+QjBsnAiJydHwOKAyjAHAIIcNh1w5oP9aoFNDEka2N8Hwf9EZYAD + e9FM/oQA/yfYX/MP+H1UxjnwNZHH30EH0AF0AB1AB9ABdAAdQAfQAXTgaAf+BYU9EtcK + ZW5kc3RyZWFtCmVuZG9iagoyMyAwIG9iagoyNzE5CmVuZG9iagoyOCAwIG9iago8PCAv + TGVuZ3RoIDI5IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRo + IDYxMiAvSGVpZ2h0IDEwNCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNv + bXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2d7U9T2RaH + BQql7y2U03LaTutpS3taS+fYaoXitKRNESm+oDh1FIJWzVSLHY2NzaAOxlEi8Q1HghhF + xohGHSKGqDGjmX/trl3MnTt290jvyf101+8DMfvI/vDkyVq7B9hrwwYMEkACSAAJIAEk + gASQABJAAkgACSCB/wWBOgwSWD+B2hSEfev/TgMGCYgR+FuVejBnPaqt+QV7ymSNGCSw + XgIyGThDdPuqZmXD1vRqksub16LAIIFqBD47Ipc3gY0g2tcs+2xYY2MT6KVQKlUqlVqt + 1mCQQHUCYAh4olQqmpuJZ1+xjCjWAB0SBAO91BqtVqfXGzBIQJyAXq/TajVgmhI0W7Os + WsMsKwY1jBim0eoMhpZWo7GtjWFMGCRQjQDDtLUZja0tBoNOqyGWQS2DhllFMlLFSBEj + hunBL8ZkbmdZi9VqwyCBagSsVgvLtptNDHimL1sGpYxIRvuAWVYMDmIqNRgGgoFdNrvD + sZFzYpBAdQLcRofDbgPTQDOwTK0ix7IqktWRs5hcAUXM0MqYWfCLc7o7PF6e9/n8GCRA + I+Dz8bzX0+F2cuAZa2ZaDVDKFHJy8qcUMihjoFizSqMzGE2szcG5OnjfpkAwKAjCZgwS + oBMAO4LBwCYf3+HiHDbWZDToNFDJGmW0bgllDI77yrJiFjvn9voDQSG0ZWukqxsSxSCB + SgJEja7I1i0hIRjwe92c3VKWTAkHf1ohq4My1qxUaw1Gs8Xu9Pg7hXCkK7o9Fu9NJBJJ + DBKgEQA3euOx7dGuSFjo9HucdovZaNCqlc1QyCqa5VoZU4FiJovDxQeE8LZorDeZ2tE/ + kB7chUECdAKD6YH+Halkbyy6LSwEeJeDVDKtilrIiGPQKfWgmN3FB0ORnniib+fg7qF9 + wwcyGCRQjcCB4X1Duwd39iXiPZFQkHeRdqnXQCGrbJbQKpuaVdoWhrU7+c5wdyzZn967 + P3NoZHTsaDZ7DIMEaASy2aNjoyOHMvv3pvuTse5wJ++0s0wLKWSVzbKuHt5bQBkz2zhP + INQdTw3sGT44MpY9kTuVHz9dwCABGoHT4/lTuRPZsZGDw3sGUvHuUMDD2cxQyOD9RcWB + jLRKOI0xrMPtFyKxVHooc/jI8Vy+cPZc8XwJgwToBM4Xz50t5HPHjxzODKVTsYjgdztY + hpzIoFl+8aq/7Jiu1WTjvJ3hniQoNprNjZ8pliYuXpq8jEECdAKTly5OlIpnxnPZUZAs + 2RPu9HI2U6uO7liTQq03tttdfmFbvH9PZvTYyUKxdHHyytWp69MYJEAncH3q6pXJi6Vi + 4eSx0cye/vg2we+ytxv1akVTZR2TNSk0pFV2BMLRxODw4ezJn4oTk79OTd+8fecuBgnQ + Cdy5fXN66tfJieJPJ7OHhwcT0XCggzRLjQIO/V/2SplcqW0xWTlvMPJd396DR34sFCcu + X5u+NXNv9v79eQwSoBG4f3/23syt6WuXJ4qFH48c3Nv3XSTo5aymFq1STnNMpYXjmNMn + dPXu3D9yPA+KTd24c2/uwcOFx4sYJEAj8Hjh4YO5e3duTIFk+eMj+3f2dgk+JxzItCqa + Y/Cx0tj+jXtTCFplZix3pvTLtRszs/OPFp88XXqGQQI0AktPnyw+mp+duXHtl9KZ3FgG + mmVok/ubdiN8sKysY/DqQmckx7Et21O7f8jmixeuTN+ZfbDw+9LzFy9fYZAAjcDLF8+X + fl94MHtn+sqFYj77w+7U9i3kQGYkHywrzmPgmB4c8wQjsR1DIycKpcmpW/fmF548e/lq + +fUKBgnQCLxefvXy2ZOF+Xu3piZLhRMjQztikaAHHNPTHVPr29iNcOSP9+8bzZ39+cr0 + zNwjUGx55c0qBgnQCbxZWQbJHs3NTF/5+WxudF9/HA79G9k2vZpax9SGNgvHf9vVOzA8 + dvLchas3f3uwuPRieWX17bv3GCRAI/Du7erK8oulxQe/3bx64dzJseGB3q5vec7SZqjm + GGPleKE7kT5wNF+8NHVr9uGT53+8Xn37/gMGCdAJvH+7+vqP508ezt6aulTMHz2QTnQL + PGdlRByDVxfg2PfZ8fOT12/PLTx9sfwGFPvzIwYJ0Aj8+eH92zfLL54uzN2+Pnl+PPs9 + cczn/Lpjg5ns6dLl6Zn7j5devl59B4p9wiABGoGPf354t/r65dLj+zPTl0uns/Dyoqpj + 8Ks9zWoDYy3XMYpjf2GQQCWBT+KO/fO3resaGuHHlfCa3785mtyVOVaAOnZ3fvHZq5XV + 9x8+fqrcHVeQABD49PHD+9WVV88W5+9CHSscy+xKRjf74UU//MCysQEdQ0mkE0DHpDPE + HcQJoGPifPCpdALomHSGuIM4AXRMnA8+lU4AHZPOEHcQJ4COifPBp9IJoGPSGeIO4gTQ + MXE++FQ6AXRMOkPcQZwAOibOB59KJ4COSWeIO4gTQMfE+eBT6QTQMekMcQdxAuiYOB98 + Kp0AOiadIe4gTgAdE+eDT6UTQMekM8QdxAmgY+J88Kl0AuiYdIa4gzgBdEycDz6VTgAd + k84QdxAngI6J88Gn0gmgY9IZ4g7iBNAxcT74VDoBdEw6Q9xBnAA6Js4Hn0onUJNjeKeK + dOD/fzvUdKfKhq84RrsXCNeQgPi9PV/OgPiPu6HwjjvadW64RiHw39xxh3d10q+kxNUq + BGq+qxPvHKbdq4tr1QnUfOcw3p1Ovx8cV6sTqPHudJwBQZtygGtiBGqdAYGzbGjTWnBN + jEBts2xkOJOLNnQK10QJ1DaTSybH2YK06Xm4JkagxtmCOCOVNgQU10QJ1DgjFWc906cZ + 46oYgZpmPTfgzHr6VHZcFSNQ08z6BjIkFYY9c97OcE8yPZQZzebGzxRLExcvTV7GIAE6 + gclLFydKxTPjuexoZiid7Al3ejkY9UxGpDZUzEgljmkNDOtw+4VILAWSHT5yPJcvnD1X + PF/CIAE6gfPFc2cL+dzxI4dBsVQsIvjdDpYxwKjnSsdgYJJcodEbzTbOEwh1x1MDe4YP + joxlT+RO5cdPFzBIgEbg9Hj+VO5Edmzk4PCegVS8OxTwcDazUa9RyBvr/znKZsOGunpZ + ExSyFoa1O/nOcHcs2Z/euz9zaGR07Gg2ewyDBGgEstmjY6MjhzL796b7k7HucCfvtLNM + C5SxJhnFMWiWSihkJovdxQdDkZ54om/n4O6hfcMHMhgkUI3AgeF9Q7sHd/Yl4j2RUJB3 + 2S0mKGNK0ior61hDIylkBpDM4eIDQnhbNNabTO3oH0gP7sIgATqBwfRA/45UsjcW3RYW + ArzLAYqR01gTxTHSLKGQqUEys8Xu9Pg7hXCkK7o9Fu9NJBJJDBKgEQA3euOx7dGuSFjo + 9HucdosZFFNDGatsleRARgqZUqMjlczOub3+QFAIbdka6eqGRDFIoJIAUaMrsnVLSAgG + /F43RxqlQQedklrGwDEoZPJmVVky1ubgXB28b1MgGBQEYTMGCdAJgB3BYGCTj+9wcQ4b + W1ZM1SyHMlZxHIPf7odCBpIpVBqtoZUxsza7g3O6Ozxenvf5/BgkQCPg8/G819PhdnIO + u401M60GrUYF7y1klSd+8gckUMigW0IlU2v1LUbGxFqs4JljI+fEIIHqBLiNDvDLamFN + jLFFr1VDFSOdklbGPksG7VIJpUzf0gqamdtZMM1qwyCBagSsYBfbbgbBWsEwjUoJjbKq + YhvqypUMDv5ly3QGA3hmbGtjGBMGCVQjwDBtbUbwy2DQlQ2D435ZsS9fjn3+W8uyZLJG + KGVgmUqt0Wp1er0BgwTECej1Oq1Wo1ZBDSNFDM5i9XVVFINuCZWMnPzJsaxZoQTRVGq1 + WoNBAtUJgCHgiVKpAMGghhHDRBQjB/81y0Az8AxEK0eBQQLVCHx2RE78apR93bDyx0ti + WX1DQ4OMiIZBAusjAHo1kBImXsM+n8pIMSt7Rr4BAt+KQQLVCaxpUv4K5vzbonX9A74B + gwTWS2BdTuF/QgJIAAkgASSABJAAEkACSAAJIAEkUDuBfwFWtww3CmVuZHN0cmVhbQpl + bmRvYmoKMjkgMCBvYmoKMzAwNwplbmRvYmoKMzEgMCBvYmoKPDwgL0xlbmd0aCAzMiAw + IFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCA1NDIgL0hlaWdo + dCAxMDQgL0NvbG9yU3BhY2UKL0RldmljZUdyYXkgL0JpdHNQZXJDb21wb25lbnQgOCAv + RmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHtnetPU+kWxrkUer9B2S29TMtu + ueyW0tlSLFCclrQBykXkOnUUghTNwICMxkYyqINhlEgUwYFwiSJDRAMOAUOUGDXzr521 + CzlzhLKZnk/nvHs9H4zJWz+sZ/1ca+1e3pWWhkIH0AF0AB1AB9ABdAAdQAfQAXTg/9GB + dJRAHEiJTvAk429looh14O8sZ0DS/wEkB2SAHyJRFkoQDohEkG4OlNMASbBxAEa2WCw5 + kBRFpAOH6RWLs+E/ASByCh+HbGRlZQMYUplMLpcrFAolilAHILmQYplMKpFwhPDzwcGR + Cf0E0AAwFEqVSq3RaFEEO6DRqFUqJTAiA0AO+DihvSTggLrBsaFUqbXanFydLi+PovQo + Ih2gqLw8nS43R6tVq5QcH1A/oL0kx4OrHFzh4NjQABmU3pBvNJrMZguKSAfMZpPRmG/Q + U0CIJsEHlA8OjyQPLwk4YOCQK4ANQAO4sFhttgLajiLUAbrAZrNagBEABPhQyLnxIzke + 6dzMIZZC4dDmUgYjkEHbC4uKSxjG6XShiHPA6WSYkuKiQjsNhBgNVK4WyodUzM2mx4sH + lA6AQyJXqrU6vdFiox1FjLPU7fGwLHsGRaADkFiPx13qZIoctM1i1Ou0aiVUjyxRkt4C + pQMGUlkCDpOVLixxuT1secVZX1U1yI8izAEuq1W+sxXlrMftKimkraYEHjIYTZMUj3Qo + HRKZQqXVGUxWe7GrjPX6qvznAsHaUCgURhHnAKS1Nhg456/yedkyV7HdajLotCqFTALF + 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 + YQ5wWa3yna0oZz1uV0khzbUVrRr6SrLSAbUDiodYIk/gYbTYaEcR4yx1ezwsy55BEegA + JNbjcZc6mSIHbbMYE3DIJWIoHUfHDviSKcylgIdUrlRpcymD0WK10fbCouIShnE6XSji + HHA6GaakuKjQTtusFqOBytWqlHIpwHFsJuW+gQzFIzMrG6qHQqXJ0VF6o8kMhNgKaDuK + UAfoAhuQYTYZ9ZQuR6NSQOXg+kqS0nGIBzQXGZQPTU4uAGLINwIjZguKSAfMwIUx3wBo + 5AIbSrkM2spJcKSlJ6pHVrYkwYdaqwVCdHl5FKVHEekAReXl6YAMrVadYAMG0gQcR94K + O/xpSwIPURaUD+BDrlCqVGqNRosi2AGNRq1SKRVyqBtc4YCZIyM9ORzQW6B6cLMpN35I + pDJARK5QKJQoQh2A5EKKZTIpoAF1g2PjZDi40fSADwAECAFEEpKiiHTgML1ijows0als + JB5dOD4yMjMzRRwiKAE4AGBkcmWDt24cTh9cAUkQwr0eBP8SRagDBxlO/AlJ/zcA/+Qv + 8HqUIBz4JzTga9ABdAAdQAfQAXQAHUAH0AF0AB3433PgX6y7qcQKZW5kc3RyZWFtCmVu + ZG9iagozMiAwIG9iagoyNzYyCmVuZG9iagoyNSAwIG9iago8PCAvTGVuZ3RoIDI2IDAg + UiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDQ3OCAvSGVpZ2h0 + IDEwNCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNvbXBvbmVudCA4IC9G + aWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2d/U8T2RfGeSn0fToD7bRM222Z + Uui0lO4IWAFdIBAUAV9Q3LorBK2ahQW7GhubRV0Mq8RGEVwIL1FkiWjAJWCIErOa/de+ + Z4rZXaEdvt2f7iTn+cFoLiaH58Nz723pnJOTg0IH0AF0AB1AB9ABdAAdQAfQgf/mQC5K + IQ5kxRe+p7x/lI8i1oF/KOUBtP8D8g5Z+H5UqgKUIhxQqQCXBHo/wCm2O2AL1WrNjrQo + Ih34jEetLoQfQkC8D9/PbAsKCgGsVqfT6/UGg8GIItQBgAOIdDqtRiMRlucrwc2H/RjQ + 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 + KjV28CWuS69cQdl18MXu28Q12JYtKLvu29g5n8Du+HIlZdM5Px+nXhA42UKupGymXkjz + iHBiDYGDaTKWlNXEGpw2ReBEKbmSspg2hZPiiBsFt09B2UyKwymPxI1x3Keg7KY84oRW + IsewyhSVzYRWaTA6TlcmcIpyppKymK6cg5PRiZt9Ll9QNpPRga4UXp3RJM1Gd/FeXyAY + EqtrD4br6kENKMIckKjUhQ/WVouhYMDn5aXB2YwJJmcX7h2dnQN081QFao0+hZdzuvmy + csFfGQyFRFE8gCLQAQATCgUr/UJ5Ge92cim4eo26QJW3e7gyfMgKwgt4tXojxRSzNs7p + cvMeb3mFTxD8/gCKOAf8fkHwVZR7Pbzb5eRsbDFDGfUwN1u1Z+q99Ak6CC/szZBeA0UX + mVkrZ3cAYXcp70ER6gBf6gayDjtnZc1FNGWA5Er7cprofsYLm7MO4ksXFQNgWwkHjB1O + FJEOOIArV2IDtMXA1qjXwbacCW5Obiq9cLVK8TUxDBA2Wywsa0UR6QDLWixmIMswphRb + uFCl4H4x8eLvDzan8KoKIL7AV28wUpSJphkUwQ7QtImijAY95FYKLpy5ebnp4cLeDOmV + 7lbS8avR6gCx3mAwGFGEOgBwAJFOpwW0kFuJbWa40tVqhy8ABsKAOCUtikgHPuNRS2QL + VPuyTV2dJb55+fn5KgkxSgEOANh8Kbayuf3X+ZsiLH09CP4nilAHdgil/szNeN7+zfWL + v8DXoxThwBfY8B/oADqADqAD6AA6gA6gA+gAOpCFA/8DclEtHwplbmRzdHJlYW0KZW5k + b2JqCjI2IDAgb2JqCjI1NTgKZW5kb2JqCjM0IDAgb2JqCjw8IC9MZW5ndGggMzUgMCBS + IC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggNTMyIC9IZWlnaHQg + MTA0IC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9CaXRzUGVyQ29tcG9uZW50IDggL0Zp + bHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7Z3rT1PpFsZBCqX3Fnqjl2nZbaG7 + pXS2LZZSmLZpwx1REKbOCEGrZmBARmMjGdTBMEokiuBAuESRIaIBh4AhSoya86+dtQvn + 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 + kC48a6HuVQ+qfWqL2gpNPaa2q21qF9+OqgPlHcOclYkLrNtl9Sn2YGOa3spJV2aL4N/C + L4b/pV5hC9c0NPkPTbi5jGkJ3xHcNnCHlP/DX7MDDd4KZW5kc3RyZWFtCmVuZG9iagoz + NyAwIG9iago3OTIKZW5kb2JqCjcgMCBvYmoKWyAvSUNDQmFzZWQgMzYgMCBSIF0KZW5k + b2JqCjM4IDAgb2JqCjw8IC9MZW5ndGggMzkgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2 + aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae1XiTvU2xs/YwnZ + 953JPoylsSY72UNIlqwzjG0GM3bZomyhRIgsIZHsW0KSkq0ikiSUJFfRvT9Kda97ht99 + +j2/5/YfdL7Pe87nvO857znfed/n+3kHAFacvo2NJQ0AgEAMJdmaGCAdnZyRdDOAHtAC + Btize2LJwZQ1cMlP2tYzgKCYnqJN7I8a3DcdqHu3Sc2SPdrIp7lelPyTTf+oWXDeZCwA + CDRUeJDg4QBQcUHMhd/DMhTstYe1KJhkb2sI19hAYcLvYpqTFOy1i/f5UnBEaHAoAPRQ + ABc2mETBxRCf9QrY1adS9OFYPNQzSACwjwPr64kDgFUD6tE4AhFixDmIbXEEHAUvQIwh + BIbBe+42ytsyeROP28HRCIoQMAVhwBtEARtgC6wBEhiCIBAIhQSxJZwZwVEG9mpAFSIT + gAEKUJBAHyhBpAQf1E/8q+36dwTy0LMfCIWnIIEZIAIs3EfxGbH7KIBIeNaeXQHaggAB + oGBM//3OPLs+/+2OSgBQ4g/tsBH5ATCg/HY8P3TOvQBkwpgIon/o5L8DoOQFQMM7bBgp + fG8v4p+BGtABRsAO+OBtUUAFvrEVcIX3TwC5oAb0gefgdwQzQhZhhvBDZCAaEJOIb1QS + VNZUMVQ1VDPU+6m1qUnUNdSvaYRonGjyaaZp+Wldaa/Sru5T3he3b4ROgC6Arpeek96f + /h6DMEM0w8z+Q/uLGRGMeMYnTJpM1cw8zGeZt1mILG9Z3Vhn2BzYptgd2Gc43DiWOYM4 + v3GlcfNz1/Lo8kzxEvjo+Sr5DfmXBFIE0YKTQnHCKOFpkRRRTdGPyKoDbmL8YtPilyQc + JYUk30jdkA6XMURxoJZkO+Sy0D7yegrCCt8VXyndPViNOa8crYJXdVAzVdfSwByS1ZQ8 + LKZ1QFtcR1pXQU9NX9/A2tDdKOTIGeNikzbTcbN1C1ZLzNETVvHWNTZTtjR2qva+x0sc + ph3Znaycs1yeuHK5ubhXemx46WCzca991PHZvu/9jQOqCHTEgKCJkMOk6lDusDPhXyKJ + UcsxHqfm4lzj5xOxp1eTyWd2UrLSRNObz5lmLmafusCfcyv35CVEfk2hXREobijxLOMu + H604W2VQjbjeX3umzrKeu2Ghqb4lvs22Q+YW6Jrt7uwt6Ivp9xgwfYB5iBxmHUWMbT3+ + OL7y9O3U0vTyzOrsp7lvC/SveZdklrVX7FcJa2kfr28M//5xk/uzzrb/t8I/h3d2fuXC + r1z4lQu/vgv//134wRtbU/+tG+R+6EA0JI44KL4/4S5/aBPa5ddgyLcUzsMDX8iLFC7E + QoZBgv/lSjScY3b59SBk0D2kvsuc+pCfA6GVwqp7Hsi7M29AhhxLAuGwx8GVYK9O2KMz + QI2A5QWsCAhUMzTGtM10ovQZDF8YcUzjLNqstew8HEmc69wneTx58XyB/CSBCMFYodPC + qSKZoheRhQdKxCrFayQaJC9JxUp7y1iilGUF5ajk3qPH5TsVShVTlIgHj2O0laVU2FS+ + qr5RG1Pv0Cg7lK5JPuyqZaKtpCOgS6P7QW9N/zeD94YrRu+OvDVeMnltumi2YP7KYs7y + 5dEXVjPWqzZfbRnthOzRx7UdrE64OQY5JTifdyk/2eza7/bUfcFjzXMbS4vj8BbxkcOr + +xr52fi7BvgHhhOSiNlBVcG3Q8ZJy+TvYRzhMhE6kXZRftHxMXmnbsT2xT2Ln0h4nDhy + ejDpXnLfme6znSmtqY1pN9NrMqrOlWeWZJ3O9jlvfkExhzPn88WXuX15lZfS8gkFxwpV + Lwtc/qvoZXHXlfySsFK7MqVylvK1q8MV1ZVnqrDX9KtFqr9fn6vpqb1yI67O7aZuvWj9 + TsNCY19TeXNii1erQZtYO1X7YkdfZ+mtuC7X21rdgt1fe2Z6O+/k94XfdehXvUd3b2ag + 7n7cA5tB8cHNh4NDhcOBIzqjbKNvxtoepTw2ekL15M74qYlDE1tPWyaDp+SnVp9VT3s/ + F3s+P1P8wnoWMdv6Ej8nMDf2KmEeM/92oWDRYvGv141vsEs8S71vfZaZl9veua7QrNS9 + t3//fbXiN4vf/li7/MHgwyqMvwKVC3UaTQftEh0HvR4DYX8R4xDTFosEqy1bAvtNjlRO + LJcOrC3+w/OIt4Yvmd9dQFOQW3BDaES4SiRBVFC0HXkMuXYgRUxMrEfcUfwPiSxJlOSA + lLvUV+k8GQOZDdQVWQvZL3LX0HbyCPl6BRdFBsV2JdxB9oN3MCRlSeXnKhmqOqq/q1Wp + O2owavQeCtGU0Hx+OENLR5tGe0gnW/e4nqDeon61QaAhxvCLUe+RZGMzE1aTKdNGs3Rz + bwtdSwHLzaOPrWqtk23cjx2y5bJdtxuyrzye6RBxwsPRzEnZWchln8v6yRmYM3XueR5x + nr5ex7AoHAI3493ok4r38NXwY/V7538nID8wiGBMFCFuBfUHZ4U4kSRJn8g9oWlh9uHI + 8LWIzsjkKOtoweh3MUOn6mKz4oLj7RJUE3kTv55+mdSbXH4m6ax3immqbOp8Wl66eQbI + aDsXkInMfJaVka2fvXW+7oJnDm/O6MWMXPM8+rzBS2fzjQqoC/oLEy7rwozqLo65onnl + S0lLKaFMumyxvPiqQwVbxTDMKt2q7Wst1cTrMtdf16TXKtfO3kiqk6ubvHmqXqJ+rCGs + UbjxfhOxmae5tyWglbd1oC24Xbh9qCO8U6zz8a2YLpmuyduJ3fLdL3oyerV71++U9dne + pb7b1u9zj+/e0EDMffT9Vw+yB/Vh/LWoIqlbaTb2oel86SsZFhiFmByZc1mesDGxm3Ik + c+K5zLjRPCw8n3if8rXzFwjECLoJ6QmLi9CKrIgOIyMPSB14KpYorij+UiJdUkNyWeqi + tL70ukwxyhz1Rfa6nCOaHn1L3k+BX2FIMUoJpfTiYDpGE7OqfFnFXJVFdVwtD8ZdSGP+ + UIWmz2HZwx+0mrRDddR1vun26hXohxhYGEoY/mU0faTJON0EZ6ptxmu2YT5sUWEZe5Rs + 5WftYeNw7KitoZ2mvdJxaQfhE5yO+52A02fnDy6zJx+6trtVul/wiPckeDljTXFq3uI+ + 7D47+DXfF34T/iMBA4HdhDZifdC14NKQAtJ5clro6bDocHJEYGRgFCGaGBN0Kig2OC4k + npRASiSfDk0KTYbF6dmIFNdUwzRUOmv6ZsbsubuZ1VmZ2eTzThd0cyQvMl78lDuV13Wp + JD+pAF9ocVmpiKtou3juSn/JtdL0sqByu6smFZqV8lXIa1zVdNVfr3+oWaydvDFYd/tm + fX15Q25jYVNpc2VLTWt9W0t7Z0dPZ/+twa6x2xPd0z0vexfvfL/L2698z2rA737yg9LB + 2w+fDX0aYRqVHjN85PY46knReM/E/CRiSvyZ8bTv8/SZuhePZjfmOF6pzDssRL7OWapb + frCysPr1A9e64iezP7CbsZ/zt5u+jfz5dmcHALKPMmaXERDM2wDQLUFSgMTABP8fbh7Y + 2dnZghnivrPzJzdACIX/Ddo0yhkKZW5kc3RyZWFtCmVuZG9iagozOSAwIG9iagoyNjM0 + CmVuZG9iagoyNyAwIG9iagpbIC9JQ0NCYXNlZCAzOCAwIFIgXQplbmRvYmoKNDAgMCBv + YmoKPDwgL0xlbmd0aCA0MSAwIFIgL04gMyAvQWx0ZXJuYXRlIC9EZXZpY2VSR0IgL0Zp + bHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7VeJO9TbGz9jCdn3nck+jKWxJjvZ + Q0iWrDOMbQYzdtmibKFEiCwhkexbQpKSrSKSJJQkV9G9P0p1r3uG3336Pb/n9h90vs97 + zue87znvOd953+f7eQcAVpy+jY0lDQCAQAwl2ZoYIB2dnJF0M4Ae0AIG2LN7YsnBlDVw + yU/a1jOAoJieok3sjxrcNx2oe7dJzZI92sinuV6U/JNN/6hZcN5kLAAINFR4kODhAFBx + QcyF38MyFOy1h7UomGRvawjX2EBhwu9impMU7LWL9/lScERocCgA9FAAFzaYRMHFEJ/1 + CtjVp1L04Vg81DNIALCPA+vriQOAVQPq0TgCEWLEOYhtcQQcBS9AjCEEhsF77jbK2zJ5 + E4/bwdEIihAwBWHAG0QBG2ALrAESGIIgEAiFBLElnBnBUQb2akAVIhOAAQpQkEAfKEGk + BB/UT/yr7fp3BPLQsx8IhacggRkgAizcR/EZsfsogEh41p5dAdqCAAGgYEz//c48uz7/ + 7Y5KAFDiD+2wEfkBMKD8djw/dM69AGTCmAiif+jkvwOg5AVAwztsGCl8by/in4Ea0AFG + wA744G1RQAW+sRVwhfdPALmgBvSB5+B3BDNCFmGG8ENkIBoQk4hvVBJU1lQxVDVUM9T7 + qbWpSdQ11K9phGicaPJppmn5aV1pr9Ku7lPeF7dvhE6ALoCul56T3p/+HoMwQzTDzP5D + +4sZEYx4xidMmkzVzDzMZ5m3WYgsb1ndWGfYHNim2B3YZzjcOJY5gzi/caVx83PX8ujy + TPES+Oj5KvkN+ZcEUgTRgpNCccIo4WmRFFFN0Y/IqgNuYvxi0+KXJBwlhSTfSN2QDpcx + RHGglmQ75LLQPvJ6CsIK3xVfKd09WI05rxytgld1UDNV19LAHJLVlDwspnVAW1xHWldB + T01f38Da0N0o5MgZ42KTNtNxs3ULVkvM0RNW8dY1NlO2NHaq9r7HSxymHdmdrJyzXJ64 + crm5uFd6bHjpYLNxr33U8dm+7/2NA6oIdMSAoImQw6TqUO6wM+FfIolRyzEep+biXOPn + E7GnV5PJZ3ZSstJE05vPmWYuZp+6wJ9zK/fkJUR+TaFdEShuKPEs4y4frThbZVCNuN5f + e6bOsp67YaGpviW+zbZD5hbomu3u7C3oi+n3GDB9gHmIHGYdRYxtPf44vvL07dTS9PLM + 6uynuW8L9K95l2SWtVfsVwlraR+vbwz//nGT+7POtv+3wj+Hd3Z+5cKvXPiVC7++C/// + XfjBG1tT/60b5H7oQDQkjjgovj/hLn9oE9rl12DItxTOwwNfyIsULsRChkGC/+VKNJxj + dvn1IGTQPaS+y5z6kJ8DoZXCqnseyLszb0CGHEsC4bDHwZVgr07YozNAjYDlBawICFQz + NMa0zXSi9BkMXxhxTOMs2qy17DwcSZzr3Cd5PHnxfIH8JIEIwVih08KpIpmiF5GFB0rE + KsVrJBokL0nFSnvLWKKUZQXlqOTeo8flOxVKFVOUiAePY7SVpVTYVL6qvlEbU+/QKDuU + rkk+7Kploq2kI6BLo/tBb03/N4P3hitG7468NV4yeW26aLZg/spizvLl0RdWM9arNl9t + Ge2E7NHHtR2sTrg5BjklOJ93KT/Z7Nrv9tR9wWPNcxtLi+PwFvGRw6v7GvnZ+LsG+AeG + E5KI2UFVwbdDxknL5O9hHOEyETqRdlF+0fExeaduxPbFPYufSHicOHJ6MOlect+Z7rOd + Ka2pjWk302syqs6VZ5Zknc72OW9+QTGHM+fzxZe5fXmVl9LyCQXHClUvC1z+q+hlcdeV + /JKwUrsypXKW8rWrwxXVlWeqsNf0q0Wqv1+fq+mpvXIjrs7tpm69aP1Ow0JjX1N5c2KL + V6tBm1g7VftiR19n6a24LtfbWt2C3V97Zno77+T3hd916Fe9R3dvZqDuftwDm0Hxwc2H + g0OFw4EjOqNso2/G2h6lPDZ6QvXkzvipiUMTW09bJoOn5KdWn1VPez8Xez4/U/zCehYx + 2/oSPycwN/YqYR4z/3ahYNFi8a/XjW+wSzxLvW99lpmX2965rtCs1L23f/99teI3i9/+ + WLv8weDDKoy/ApULdRpNB+0SHQe9HgNhfxHjENMWiwSrLVsC+02OVE4slw6sLf7D84i3 + hi+Z311AU5BbcENoRLhKJEFUULQdeQy5diBFTEysR9xR/A+JLEmU5ICUu9RX6TwZA5kN + 1BVZC9kvctfQdvII+XoFF0UGxXYl3EH2g3cwJGVJ5ecqGao6qr+rVak7ajBq9B4K0ZTQ + fH44Q0tHm0Z7SCdb97ieoN6ifrVBoCHG8ItR75FkYzMTVpMp00azdHNvC11LAcvNo4+t + aq2TbdyPHbLlsl23G7KvPJ7pEHHCw9HMSdlZyGWfy/rJGZgzde55HnGevl7HsCgcAjfj + 3eiTivfw1fBj9XvnfycgPzCIYEwUIW4F9QdnhTiRJEmfyD2haWH24cjwtYjOyOQo62jB + 6HcxQ6fqYrPiguPtElQTeRO/nn6Z1JtcfibprHeKaaps6nxaXrp5BshoOxeQicx8lpWR + rZ+9db7ugmcOb87oxYxc8zz6vMFLZ/ONCqgL+gsTLuvCjOoujrmieeVLSUspoUy6bLG8 + +KpDBVvFMMwq3artay3VxOsy11/XpNcq187eSKqTq5u8eapeon6sIaxRuPF+E7GZp7m3 + JaCVt3WgLbhduH2oI7xTrPPxrZguma7J24nd8t0vejJ6tXvX75T12d6lvtvW73OP797Q + QMx99P1XD7IH9WH8tagiqVtpNvah6XzpKxkWGIWYHJlzWZ6wMbGbciRz4rnMuNE8LDyf + eJ/ytfMXCMQIugnpCYuL0IqsiA4jIw9IHXgqliiuKP5SIl1SQ3JZ6qK0vvS6TDHKHPVF + 9rqcI5oefUveT4FfYUgxSgml9OJgOkYTs6p8WcVclUV1XC0Pxl1IY/5QhabPYdnDH7Sa + tEN11HW+6fbqFeiHGFgYShj+ZTR9pMk43QRnqm3Ga7ZhPmxRYRl7lGzlZ+1h43DsqK2h + naa90nFpB+ETnI77nYDTZ+cPLrMnH7q2u1W6X/CI9yR4OWNNcWre4j7sPjv4Nd8XfhP+ + IwEDgd2ENmJ90LXg0pAC0nlyWujpsOhwckRgZGAUIZoYE3QqKDY4LiSelEBKJJ8OTQpN + hsXp2YgU11TDNFQ6a/pmxuy5u5nVWZnZ5PNOF3RzJC8yXvyUO5XXdakkP6kAX2hxWamI + q2i7eO5Kf8m10vSyoHK7qyYVmpXyVchrXNV01V+vf6hZrJ28MVh3+2Z9fXlDbmNhU2lz + ZUtNa31bS3tnR09n/63BrrHbE93TPS97F+98v8vbr3zPasDvfvKD0sHbD58NfRphGpUe + M3zk9jjqSdF4z8T8JGJK/JnxtO/z9Jm6F49mN+Y4XqnMOyxEvs5Zqlt+sLKw+vUD17ri + J7M/sJuxn/O3m76N/Pl2ZwcAso8yZpcREMzbANAtQVKAxMAE/x9uHtjZ2dmCGeK+s/Mn + N0AIhf8N2jTKGQplbmRzdHJlYW0KZW5kb2JqCjQxIDAgb2JqCjI2MzQKZW5kb2JqCjI0 + IDAgb2JqClsgL0lDQ0Jhc2VkIDQwIDAgUiBdCmVuZG9iago0MiAwIG9iago8PCAvTGVu + Z3RoIDQzIDAgUiAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0 + ZURlY29kZSA+PgpzdHJlYW0KeAHtV4k71NsbP2MJ2fedyT6MpbEmO9lDSJasM4xtBjN2 + 2aJsoUSILCGR7FtCkpKtIpIklCRX0b0/SnWve4bfffo9v+f2H3S+z3vO57zvOe8533nf + 5/t5BwBWnL6NjSUNAIBADCXZmhggHZ2ckXQzgB7QAgbYs3tiycGUNXDJT9rWM4CgmJ6i + TeyPGtw3Hah7t0nNkj3ayKe5XpT8k03/qFlw3mQsAAg0VHiQ4OEAUHFBzIXfwzIU7LWH + tSiYZG9rCNfYQGHC72KakxTstYv3+VJwRGhwKAD0UAAXNphEwcUQn/UK2NWnUvThWDzU + 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 + qu1rLdXE6zLXX9ek1yrXzt5IqpOrm7x5ql6ifqwhrFG48X4TsZmnubcloJW3daAtuF24 + fagjvFOs8/GtmC6Zrsnbid3y3S96Mnq1e9fvlPXZ3qW+29bvc4/v3tBAzH30/VcPsgf1 + Yfy1qCKpW2k29qHpfOkrGRYYhZgcmXNZnrAxsZtyJHPiucy40TwsPJ94n/K18xcIxAi6 + CekJi4vQiqyIDiMjD0gdeCqWKK4o/lIiXVJDclnqorS+9LpMMcoc9UX2upwjmh59S95P + gV9hSDFKCaX04mA6RhOzqnxZxVyVRXVcLQ/GXUhj/lCFps9h2cMftJq0Q3XUdb7p9uoV + 6IcYWBhKGP5lNH2kyTjdBGeqbcZrtmE+bFFhGXuUbOVn7WHjcOyoraGdpr3ScWkH4ROc + jvudgNNn5w8usycfura7Vbpf8Ij3JHg5Y01xat7iPuw+O/g13xd+E/4jAQOB3YQ2Yn3Q + teDSkALSeXJa6Omw6HByRGBkYBQhmhgTdCooNjguJJ6UQEoknw5NCk2GxenZiBTXVMM0 + VDpr+mbG7Lm7mdVZmdnk804XdHMkLzJe/JQ7ldd1qSQ/qQBfaHFZqYiraLt47kp/ybXS + 9LKgcrurJhWalfJVyGtc1XTVX69/qFmsnbwxWHf7Zn19eUNuY2FTaXNlS01rfVtLe2dH + T2f/rcGusdsT3dM9L3sX73y/y9uvfM9qwO9+8oPSwdsPnw19GmEalR4zfOT2OOpJ0XjP + xPwkYkr8mfG07/P0mboXj2Y35jheqcw7LES+zlmqW36wsrD69QPXuuInsz+wm7Gf87eb + vo38+XZnBwCyjzJmlxEQzNsA0C1BUoDEwAT/H24e2NnZ2YIZ4r6z8yc3QAiF/w3aNMoZ + CmVuZHN0cmVhbQplbmRvYmoKNDMgMCBvYmoKMjYzNAplbmRvYmoKMjEgMCBvYmoKWyAv + SUNDQmFzZWQgNDIgMCBSIF0KZW5kb2JqCjQ0IDAgb2JqCjw8IC9MZW5ndGggNDUgMCBS + IC9OIDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+ + PgpzdHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qj + szPTm9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tE + bZ2m7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2 + PbWVZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2R + U+aiKCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3j + nEhDGinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9 + AHYqy+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9e + LQFD91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ3 + 0+M70Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KB + VnqNV8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKE + j9knOabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9 + g0qsHCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSx + W6Pk3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08 + CT2tn9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYK + ZW5kc3RyZWFtCmVuZG9iago0NSAwIG9iago3MDQKZW5kb2JqCjE4IDAgb2JqClsgL0lD + Q0Jhc2VkIDQ0IDAgUiBdCmVuZG9iago0NiAwIG9iago8PCAvTGVuZ3RoIDQ3IDAgUiAv + TiAzIC9BbHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+Pgpz + dHJlYW0KeAHtV4k71NsbP2MJ2fedyT6MpbEmO9lDSJasM4xtBjN22aJsoUSILCGR7FtC + kpKtIpIklCRX0b0/SnWve4bfffo9v+f2H3S+z3vO57zvOe8533nf5/t5BwBWnL6NjSUN + AIBADCXZmhggHZ2ckXQzgB7QAgbYs3tiycGUNXDJT9rWM4CgmJ6iTeyPGtw3Hah7t0nN + kj3ayKe5XpT8k03/qFlw3mQsAAg0VHiQ4OEAUHFBzIXfwzIU7LWHtSiYZG9rCNfYQGHC + 72KakxTstYv3+VJwRGhwKAD0UAAXNphEwcUQn/UK2NWnUvThWDzUM0gAsI8D6+uJA4BV + A+rROAIRYsQ5iG1xBBwFL0CMIQSGwXvuNsrbMnkTj9vB0QiKEDAFYcAbRAEbYAusARIY + giAQCIUEsSWcGcFRBvZqQBUiE4ABClCQQB8oQaQEH9RP/Kvt+ncE8tCzHwiFpyCBGSAC + LNxH8Rmx+yiASHjWnl0B2oIAAaBgTP/9zjy7Pv/tjkoAUOIP7bAR+QEwoPx2PD90zr0A + ZMKYCKJ/6OS/A6DkBUDDO2wYKXxvL+KfgRrQAUbADvjgbVFABb6xFXCF908AuaAG9IHn + 4HcEM0IWYYbwQ2QgGhCTiG9UElTWVDFUNVQz1PuptalJ1DXUr2mEaJxo8mmmaflpXWmv + 0q7uU94Xt2+EToAugK6XnpPen/4egzBDNMPM/kP7ixkRjHjGJ0yaTNXMPMxnmbdZiCxv + Wd1YZ9gc2KbYHdhnONw4ljmDOL9xpXHzc9fy6PJM8RL46Pkq+Q35lwRSBNGCk0Jxwijh + aZEUUU3Rj8iqA25i/GLT4pckHCWFJN9I3ZAOlzFEcaCWZDvkstA+8noKwgrfFV8p3T1Y + jTmvHK2CV3VQM1XX0sAcktWUPCymdUBbXEdaV0FPTV/fwNrQ3SjkyBnjYpM203GzdQtW + S8zRE1bx1jU2U7Y0dqr2vsdLHKYd2Z2snLNcnrhyubm4V3pseOlgs3GvfdTx2b7v/Y0D + qgh0xICgiZDDpOpQ7rAz4V8iiVHLMR6n5uJc4+cTsadXk8lndlKy0kTTm8+ZZi5mn7rA + n3Mr9+QlRH5NoV0RKG4o8SzjLh+tOFtlUI243l97ps6ynrthoam+Jb7NtkPmFuia7e7s + LeiL6fcYMH2AeYgcZh1FjG09/ji+8vTt1NL08szq7Ke5bwv0r3mXZJa1V+xXCWtpH69v + DP/+cZP7s862/7fCP4d3dn7lwq9c+JULv74L//9d+MEbW1P/rRvkfuhANCSOOCi+P+Eu + f2gT2uXXYMi3FM7DA1/IixQuxEKGQYL/5Uo0nGN2+fUgZNA9pL7LnPqQnwOhlcKqex7I + uzNvQIYcSwLhsMfBlWCvTtijM0CNgOUFrAgIVDM0xrTNdKL0GQxfGHFM4yzarLXsPBxJ + nOvcJ3k8efF8gfwkgQjBWKHTwqkimaIXkYUHSsQqxWskGiQvScVKe8tYopRlBeWo5N6j + x+U7FUoVU5SIB49jtJWlVNhUvqq+URtT79AoO5SuST7sqmWiraQjoEuj+0FvTf83g/eG + K0bvjrw1XjJ5bbpotmD+ymLO8uXRF1Yz1qs2X20Z7YTs0ce1HaxOuDkGOSU4n3cpP9ns + 2u/21H3BY81zG0uL4/AW8ZHDq/sa+dn4uwb4B4YTkojZQVXBt0PGScvk72Ec4TIROpF2 + UX7R8TF5p27E9sU9i59IeJw4cnow6V5y35nus50pramNaTfTazKqzpVnlmSdzvY5b35B + MYcz5/PFl7l9eZWX0vIJBccKVS8LXP6r6GVx15X8krBSuzKlcpbytavDFdWVZ6qw1/Sr + Raq/X5+r6am9ciOuzu2mbr1o/U7DQmNfU3lzYotXq0GbWDtV+2JHX2fprbgu19ta3YLd + X3tmejvv5PeF33XoV71Hd29moO5+3AObQfHBzYeDQ4XDgSM6o2yjb8baHqU8NnpC9eTO + +KmJQxNbT1smg6fkp1afVU97Pxd7Pj9T/MJ6FjHb+hI/JzA39iphHjP/dqFg0WLxr9eN + b7BLPEu9b32WmZfb3rmu0KzUvbd//3214jeL3/5Yu/zB4MMqjL8ClQt1Gk0H7RIdB70e + A2F/EeMQ0xaLBKstWwL7TY5UTiyXDqwt/sPziLeGL5nfXUBTkFtwQ2hEuEokQVRQtB15 + DLl2IEVMTKxH3FH8D4ksSZTkgJS71FfpPBkDmQ3UFVkL2S9y19B28gj5egUXRQbFdiXc + QfaDdzAkZUnl5yoZqjqqv6tVqTtqMGr0HgrRlNB8fjhDS0ebRntIJ1v3uJ6g3qJ+tUGg + Icbwi1HvkWRjMxNWkynTRrN0c28LXUsBy82jj61qrZNt3I8dsuWyXbcbsq88nukQccLD + 0cxJ2VnIZZ/L+skZmDN17nkecZ6+XsewKBwCN+Pd6JOK9/DV8GP1e+d/JyA/MIhgTBQh + bgX1B2eFOJEkSZ/IPaFpYfbhyPC1iM7I5CjraMHodzFDp+pis+KC4+0SVBN5E7+efpnU + m1x+Jumsd4ppqmzqfFpeunkGyGg7F5CJzHyWlZGtn711vu6CZw5vzujFjFzzPPq8wUtn + 840KqAv6CxMu68KM6i6OuaJ55UtJSymhTLpssbz4qkMFW8UwzCrdqu1rLdXE6zLXX9ek + 1yrXzt5IqpOrm7x5ql6ifqwhrFG48X4TsZmnubcloJW3daAtuF24fagjvFOs8/GtmC6Z + rsnbid3y3S96Mnq1e9fvlPXZ3qW+29bvc4/v3tBAzH30/VcPsgf1Yfy1qCKpW2k29qHp + fOkrGRYYhZgcmXNZnrAxsZtyJHPiucy40TwsPJ94n/K18xcIxAi6CekJi4vQiqyIDiMj + D0gdeCqWKK4o/lIiXVJDclnqorS+9LpMMcoc9UX2upwjmh59S95PgV9hSDFKCaX04mA6 + RhOzqnxZxVyVRXVcLQ/GXUhj/lCFps9h2cMftJq0Q3XUdb7p9uoV6IcYWBhKGP5lNH2k + yTjdBGeqbcZrtmE+bFFhGXuUbOVn7WHjcOyoraGdpr3ScWkH4ROcjvudgNNn5w8usycf + ura7Vbpf8Ij3JHg5Y01xat7iPuw+O/g13xd+E/4jAQOB3YQ2Yn3QteDSkALSeXJa6Omw + 6HByRGBkYBQhmhgTdCooNjguJJ6UQEoknw5NCk2GxenZiBTXVMM0VDpr+mbG7Lm7mdVZ + mdnk804XdHMkLzJe/JQ7ldd1qSQ/qQBfaHFZqYiraLt47kp/ybXS9LKgcrurJhWalfJV + yGtc1XTVX69/qFmsnbwxWHf7Zn19eUNuY2FTaXNlS01rfVtLe2dHT2f/rcGusdsT3dM9 + L3sX73y/y9uvfM9qwO9+8oPSwdsPnw19GmEalR4zfOT2OOpJ0XjPxPwkYkr8mfG07/P0 + mboXj2Y35jheqcw7LES+zlmqW36wsrD69QPXuuInsz+wm7Gf87ebvo38+XZnBwCyjzJm + lxEQzNsA0C1BUoDEwAT/H24e2NnZ2YIZ4r6z8yc3QAiF/w3aNMoZCmVuZHN0cmVhbQpl + bmRvYmoKNDcgMCBvYmoKMjYzNAplbmRvYmoKMzMgMCBvYmoKWyAvSUNDQmFzZWQgNDYg + MCBSIF0KZW5kb2JqCjQ4IDAgb2JqCjw8IC9MZW5ndGggNDkgMCBSIC9OIDMgL0FsdGVy + bmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae1X + iTvU2xs/YwnZ953JPoylsSY72UNIlqwzjG0GM3bZomyhRIgsIZHsW0KSkq0ikiSUJFfR + vT9Kda97ht99+j2/5/YfdL7Pe87nvO857znfed/n+3kHAFacvo2NJQ0AgEAMJdmaGCAd + nZyRdDOAHtACBtize2LJwZQ1cMlP2tYzgKCYnqJN7I8a3DcdqHu3Sc2SPdrIp7lelPyT + Tf+oWXDeZCwACDRUeJDg4QBQcUHMhd/DMhTstYe1KJhkb2sI19hAYcLvYpqTFOy1i/f5 + UnBEaHAoAPRQABc2mETBxRCf9QrY1adS9OFYPNQzSACwjwPr64kDgFUD6tE4AhFixDmI + bXEEHAUvQIwhBIbBe+42ytsyeROP28HRCIoQMAVhwBtEARtgC6wBEhiCIBAIhQSxJZwZ + wVEG9mpAFSITgAEKUJBAHyhBpAQf1E/8q+36dwTy0LMfCIWnIIEZIAIs3EfxGbH7KIBI + eNaeXQHaggABoGBM//3OPLs+/+2OSgBQ4g/tsBH5ATCg/HY8P3TOvQBkwpgIon/o5L8D + oOQFQMM7bBgpfG8v4p+BGtABRsAO+OBtUUAFvrEVcIX3TwC5oAb0gefgdwQzQhZhhvBD + ZCAaEJOIb1QSVNZUMVQ1VDPU+6m1qUnUNdSvaYRonGjyaaZp+Wldaa/Sru5T3he3b4RO + gC6Arpeek96f/h6DMEM0w8z+Q/uLGRGMeMYnTJpM1cw8zGeZt1mILG9Z3Vhn2BzYptgd + 2Gc43DiWOYM4v3GlcfNz1/Lo8kzxEvjo+Sr5DfmXBFIE0YKTQnHCKOFpkRRRTdGPyKoD + bmL8YtPilyQcJYUk30jdkA6XMURxoJZkO+Sy0D7yegrCCt8VXyndPViNOa8crYJXdVAz + VdfSwByS1ZQ8LKZ1QFtcR1pXQU9NX9/A2tDdKOTIGeNikzbTcbN1C1ZLzNETVvHWNTZT + tjR2qva+x0scph3Znaycs1yeuHK5ubhXemx46WCzca991PHZvu/9jQOqCHTEgKCJkMOk + 6lDusDPhXyKJUcsxHqfm4lzj5xOxp1eTyWd2UrLSRNObz5lmLmafusCfcyv35CVEfk2h + XREobijxLOMuH604W2VQjbjeX3umzrKeu2Ghqb4lvs22Q+YW6Jrt7uwt6Ivp9xgwfYB5 + iBxmHUWMbT3+OL7y9O3U0vTyzOrsp7lvC/SveZdklrVX7FcJa2kfr28M//5xk/uzzrb/ + t8I/h3d2fuXCr1z4lQu/vgv//134wRtbU/+tG+R+6EA0JI44KL4/4S5/aBPa5ddgyLcU + zsMDX8iLFC7EQoZBgv/lSjScY3b59SBk0D2kvsuc+pCfA6GVwqp7Hsi7M29AhhxLAuGw + x8GVYK9O2KMzQI2A5QWsCAhUMzTGtM10ovQZDF8YcUzjLNqstew8HEmc69wneTx58XyB + /CSBCMFYodPCqSKZoheRhQdKxCrFayQaJC9JxUp7y1iilGUF5ajk3qPH5TsVShVTlIgH + j2O0laVU2FS+qr5RG1Pv0Cg7lK5JPuyqZaKtpCOgS6P7QW9N/zeD94YrRu+OvDVeMnlt + umi2YP7KYs7y5dEXVjPWqzZfbRnthOzRx7UdrE64OQY5JTifdyk/2eza7/bUfcFjzXMb + S4vj8BbxkcOr+xr52fi7BvgHhhOSiNlBVcG3Q8ZJy+TvYRzhMhE6kXZRftHxMXmnbsT2 + xT2Ln0h4nDhyejDpXnLfme6znSmtqY1pN9NrMqrOlWeWZJ3O9jlvfkExhzPn88WXuX15 + lZfS8gkFxwpVLwtc/qvoZXHXlfySsFK7MqVylvK1q8MV1ZVnqrDX9KtFqr9fn6vpqb1y + I67O7aZuvWj9TsNCY19TeXNii1erQZtYO1X7YkdfZ+mtuC7X21rdgt1fe2Z6O+/k94Xf + dehXvUd3b2ag7n7cA5tB8cHNh4NDhcOBIzqjbKNvxtoepTw2ekL15M74qYlDE1tPWyaD + p+SnVp9VT3s/F3s+P1P8wnoWMdv6Ej8nMDf2KmEeM/92oWDRYvGv141vsEs8S71vfZaZ + l9veua7QrNS9t3//fbXiN4vf/li7/MHgwyqMvwKVC3UaTQftEh0HvR4DYX8R4xDTFosE + qy1bAvtNjlROLJcOrC3+w/OIt4Yvmd9dQFOQW3BDaES4SiRBVFC0HXkMuXYgRUxMrEfc + UfwPiSxJlOSAlLvUV+k8GQOZDdQVWQvZL3LX0HbyCPl6BRdFBsV2JdxB9oN3MCRlSeXn + KhmqOqq/q1WpO2owavQeCtGU0Hx+OENLR5tGe0gnW/e4nqDeon61QaAhxvCLUe+RZGMz + E1aTKdNGs3RzbwtdSwHLzaOPrWqtk23cjx2y5bJdtxuyrzye6RBxwsPRzEnZWchln8v6 + yRmYM3XueR5xnr5ex7AoHAI3493ok4r38NXwY/V7538nID8wiGBMFCFuBfUHZ4U4kSRJ + n8g9oWlh9uHI8LWIzsjkKOtoweh3MUOn6mKz4oLj7RJUE3kTv55+mdSbXH4m6ax3immq + bOp8Wl66eQbIaDsXkInMfJaVka2fvXW+7oJnDm/O6MWMXPM8+rzBS2fzjQqoC/oLEy7r + wozqLo65onnlS0lLKaFMumyxvPiqQwVbxTDMKt2q7Wst1cTrMtdf16TXKtfO3kiqk6ub + vHmqXqJ+rCGsUbjxfhOxmae5tyWglbd1oC24Xbh9qCO8U6zz8a2YLpmuyduJ3fLdL3oy + erV71++U9dnepb7b1u9zj+/e0EDMffT9Vw+yB/Vh/LWoIqlbaTb2oel86SsZFhiFmByZ + c1mesDGxm3Ikc+K5zLjRPCw8n3if8rXzFwjECLoJ6QmLi9CKrIgOIyMPSB14KpYorij+ + UiJdUkNyWeqitL70ukwxyhz1Rfa6nCOaHn1L3k+BX2FIMUoJpfTiYDpGE7OqfFnFXJVF + dVwtD8ZdSGP+UIWmz2HZwx+0mrRDddR1vun26hXohxhYGEoY/mU0faTJON0EZ6ptxmu2 + YT5sUWEZe5Rs5WftYeNw7KitoZ2mvdJxaQfhE5yO+52A02fnDy6zJx+6trtVul/wiPck + eDljTXFq3uI+7D47+DXfF34T/iMBA4HdhDZifdC14NKQAtJ5clro6bDocHJEYGRgFCGa + GBN0Kig2OC4knpRASiSfDk0KTYbF6dmIFNdUwzRUOmv6ZsbsubuZ1VmZ2eTzThd0cyQv + Ml78lDuV13WpJD+pAF9ocVmpiKtou3juSn/JtdL0sqByu6smFZqV8lXIa1zVdNVfr3+o + WaydvDFYd/tmfX15Q25jYVNpc2VLTWt9W0t7Z0dPZ/+twa6x2xPd0z0vexfvfL/L2698 + z2rA737yg9LB2w+fDX0aYRqVHjN85PY46knReM/E/CRiSvyZ8bTv8/SZuhePZjfmOF6p + zDssRL7OWapbfrCysPr1A9e64iezP7CbsZ/zt5u+jfz5dmcHALKPMmaXERDM2wDQLUFS + gMTABP8fbh7Y2dnZghnivrPzJzdACIX/Ddo0yhkKZW5kc3RyZWFtCmVuZG9iago0OSAw + IG9iagoyNjM0CmVuZG9iagozMCAwIG9iagpbIC9JQ0NCYXNlZCA0OCAwIFIgXQplbmRv + YmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNzU2IDU1M10g + L0NvdW50IDEgL0tpZHMgWyAyIDAgUiBdID4+CmVuZG9iago1MCAwIG9iago8PCAvVHlw + ZSAvQ2F0YWxvZyAvUGFnZXMgMyAwIFIgL1ZlcnNpb24gLzEuNCA+PgplbmRvYmoKNTEg + MCBvYmoKPDwgL0xlbmd0aCA1MiAwIFIgL0xlbmd0aDEgNzE3MiAvRmlsdGVyIC9GbGF0 + ZURlY29kZSA+PgpzdHJlYW0KeAG9WXtYlNW6f9f3fXNBUG4Kw3Vm+BiugwgooJiMOMNF + TFEUGfMygCCSGClSlhK7dJd4OVtNbWtHs4s7JXME0gG2Ru7c6a6dVrub2043szpPPtU5 + dWqHzJzf+mYk7dn1+EdPfM87613X97d+77vW960FMSIKoDYSyVLTWNVEa2gAJa9AWmta + mg2bP5+0l4hNIxKX1TUtaQz+4C9/I5JcRMMClixbXff11rzpRCNeJNIa6murFn+jX9ZN + FHYJ/bPrURAwMOIOovBo5OPrG5vvtm1UP4O8BXnLsjtqqkJygxzItyEf11h1d5N25bDv + kX8SecPyqsbahPzouchjfEppumNlM3tGqEP+K+QLmlbUNv35geUZRLqxwHcOZQwP/wsg + Na1AaqOxvhKlWPkRflSv08TrdK8qIVFB1BANRAsh8qNh5I/xhys5TN2XBqJxPwWpTlCS + qo0ipXTSE3nehVzgqXuO57LqJQpyN3q+FvPQp4eL4M6fSP20mfbQEdh5GnoSLaRH6Cxr + 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 + MlwC69SfSnRJSF6IRc4SqO+P2at/PmaJ/iSkw1t1KBktjukPxizTb491sd2d+m0xLoY+ + W73Jqhh0PaZvTN6pX5yh1E/b6RI6OvXjUV9h8ddn5xr142Iu6dMTXVqGfFrMNH1Kxt/1 + 8eiIZgYMarIE66NjtusnoCo2xpY4AdLHDrE9lML2dJqm6nuhYrpdJcm5O13s3q7ipAyT + i91jyS5O2plcnGhKnqY3JRcmJkKvOKNZp7lNM1mTqUnFBW2CxqiJ0ozUhmiDtCO0Adph + Wq1W42LPdObr1X2sg/JBS0eXVq1VudizKJT62GGl8PBxraQVtKQd6fJ8gH/mMBrpYh3d + CAxGUI6pFU3tYoexFnjRYYseoYwNRKkIQoTxj2H+SwLTCgghJ9vsUtP6sJZ8XX7IpODx + hdaf+3EoNdd+U3/+T8dinDtxF+M8FGPHtRcUT4z9WnPdNeVn0+ZVqKotSE0tnbW6q6Wp + oU65xpNttQ7c5jk3tuBata3aYDja0OS7o0xwVNfU83ukqlpnk1xrdTbIVsPRFqUfL76u + uo5Xt8jWo1Rnm115tM5Sa+1ssbTY+HVmV3XBigU32NowZGtFwb+xVcAHW8FtVSv9fmJr + Aa+u5rYWcFsLuK1qS7Vii0/etrS8YGUzohNXfbhqSyp3lsycV4kbbbvVxQ7w+79V9P+8 + rYdICmVuZHN0cmVhbQplbmRvYmoKNTIgMCBvYmoKNDM3MQplbmRvYmoKNTMgMCBvYmoK + PDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBIZWlnaHQgNzI3 + IC9EZXNjZW50IC0yMzAgL0ZsYWdzIDk2Ci9Gb250QkJveCBbLTkzMyAtNDgxIDE1NzEg + MTEzOF0gL0ZvbnROYW1lIC9YUUlGU1crSGVsdmV0aWNhLU9ibGlxdWUgL0l0YWxpY0Fu + Z2xlCi0xMiAvU3RlbVYgMCAvTWF4V2lkdGggMTUwMCAvWEhlaWdodCA1MzEgL0ZvbnRG + aWxlMiA1MSAwIFIgPj4KZW5kb2JqCjU0IDAgb2JqClsgNjY3IDAgMCAwIDAgMCAwIDAg + ODMzIDAgMCAwIDAgMCAwIDAgMCAwIDAgNjY3IDAgMCAwIDAgMCAwIDAgMCA1NTYgMCA1 + MDAKMCA1NTYgMCA1NTYgMCAyMjIgMCAwIDIyMiA4MzMgNTU2IDU1NiA1NTYgMCAwIDAg + Mjc4IDAgMCAwIDUwMCBdCmVuZG9iagoxOSAwIG9iago8PCAvVHlwZSAvRm9udCAvU3Vi + dHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9YUUlGU1crSGVsdmV0aWNhLU9ibGlxdWUg + L0ZvbnREZXNjcmlwdG9yCjUzIDAgUiAvV2lkdGhzIDU0IDAgUiAvRmlyc3RDaGFyIDY5 + IC9MYXN0Q2hhciAxMjAgL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+CmVuZG9i + ago1NSAwIG9iago8PCAvTGVuZ3RoIDU2IDAgUiAvTGVuZ3RoMSA5OTcyIC9GaWx0ZXIg + L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab16e3iU1bX32vu9ziWTmcncM5PJZDIzmdxD + SMiQQMaQhHsMBCFBggkQCAg1YIyiwkGFIhGpQrkIPVS05RKKGUIKAxQ/ykHR1lPxitdW + j2i1T/N4Tg/aVpiZb+13Qgo+/fr5R5/OO/u+373X+q2199qXFwgAaGEdcBBeuKK9C54n + 4zHnFXRrF/Z0Zz7+xfi9AGQaALd8cdeSFYaP/uNXAHwUQK1dsnz14rJtr8wH0J0HMF7u + 7Ghf9Kf/XX4SwHMQ3y/vxAx1llSE6Y8wnd25ovu+RRUqC0AWj+l5y+9a2F4WHVuO6TZM + F69ov69LfkD9V0w/genM77Wv6Jj7wMPbMB3BdFbXXXd3000clmW9ienGrlUdXb945Hsl + AN5spO9VzCP4sJ8WRFiFYR2Mxhyq5F33uOuR4ZAH4Vs5yaSIgQQyqDBUgwbbZL8U0EEq + 6MGAcSOkgQnMSj5yJZwFvXAGcoR14OCLwA2QeBfdeyyM35b4TLgA+viKxP9wlfgGogQn + aby6Cs7C47AH+pHigxjPgfmwC14my+AkmQeD8DbJgEKUDw9RmAavkETiNVgMP8H63XAO + tsNRpCsHViAV02AL8SXux3QY4wtgfeIZyIYK+D6cgRC2ugWGEocSx7B0JtwGfXAY3/81 + 8dKjfFriucRl5HQGtrkeS15LTEv0I3f5UAONmLsetcLHvZfoBBtUInU/gh/DPvgl/JE8 + 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 + VrXe1Nemkb5W1fydvmpYY6tYXwuU977VVysrXsD6amV9tbK+FoQXKH0xCOqWNtXc3Y3a + iVfbeLWc0xSZPGNuM37B0VIbJfvZffc98H8BcaX7nAplbmRzdHJlYW0KZW5kb2JqCjU2 + IDAgb2JqCjY2ODkKZW5kb2JqCjU3IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRv + ciAvQXNjZW50IDc3MCAvQ2FwSGVpZ2h0IDcyNyAvRGVzY2VudCAtMjMwIC9GbGFncyAz + MgovRm9udEJCb3ggWy05NTEgLTQ4MSAxNDQ1IDExMjJdIC9Gb250TmFtZSAvWFlVVFBT + K0hlbHZldGljYSAvSXRhbGljQW5nbGUgMAovU3RlbVYgOTggL01heFdpZHRoIDE1MDAg + L1N0ZW1IIDg1IC9YSGVpZ2h0IDUzMSAvRm9udEZpbGUyIDU1IDAgUiA+PgplbmRvYmoK + NTggMCBvYmoKWyA2NjcgNjExIDAgMCAwIDAgMCAwIDgzMyAwIDAgMCAwIDAgMCAwIDcy + MiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgMAo1MDAgNTU2IDU1NiAwIDU1NiA1 + NTYgMjIyIDAgMCAyMjIgODMzIDU1NiA1NTYgNTU2IDAgMzMzIDUwMCAyNzggNTU2IDAg + MCA1MDAKXQplbmRvYmoKMjAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1Ry + dWVUeXBlIC9CYXNlRm9udCAvWFlVVFBTK0hlbHZldGljYSAvRm9udERlc2NyaXB0b3IK + NTcgMCBSIC9XaWR0aHMgNTggMCBSIC9GaXJzdENoYXIgNjkgL0xhc3RDaGFyIDEyMCAv + RW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjEgMCBvYmoKPDwgL1Rp + dGxlIChVbnRpdGxlZCkgL0F1dGhvciAoVGhvbWFzIFJpc2JlcmcpIC9DcmVhdG9yIChP + bW5pR3JhZmZsZSkgL1Byb2R1Y2VyCihNYWMgT1MgWCAxMC41LjggUXVhcnR6IFBERkNv + bnRleHQpIC9DcmVhdGlvbkRhdGUgKEQ6MjAwOTA5MTExNDQwMzFaMDAnMDAnKQovTW9k + RGF0ZSAoRDoyMDA5MDkxMTE0NDAzMVowMCcwMCcpID4+CmVuZG9iagp4cmVmCjAgNTkK + MDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDQ5MjUyIDAwMDAwIG4gCjAwMDAwMDEwNDEg + MDAwMDAgbiAKMDAwMDAzNjY3MiAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAw + MDAwMDEwMjIgMDAwMDAgbiAKMDAwMDAwMTE0NSAwMDAwMCBuIAowMDAwMDIxNzk2IDAw + MDAwIG4gCjAwMDAwMDUyMDQgMDAwMDAgbiAKMDAwMDAwNjEzMiAwMDAwMCBuIAowMDAw + MDAxMzY3IDAwMDAwIG4gCjAwMDAwMDIyODQgMDAwMDAgbiAKMDAwMDAwMjMwNCAwMDAw + MCBuIAowMDAwMDAzMTYxIDAwMDAwIG4gCjAwMDAwMDMxODEgMDAwMDAgbiAKMDAwMDAw + NDIyMCAwMDAwMCBuIAowMDAwMDA0MjQwIDAwMDAwIG4gCjAwMDAwMDUxODQgMDAwMDAg + biAKMDAwMDAzMTA0NSAwMDAwMCBuIAowMDAwMDQxNjkwIDAwMDAwIG4gCjAwMDAwNDkw + NzcgMDAwMDAgbiAKMDAwMDAzMDE4MCAwMDAwMCBuIAowMDAwMDA2MTUxIDAwMDAwIG4g + CjAwMDAwMDkwNDQgMDAwMDAgbiAKMDAwMDAyNzM4NSAwMDAwMCBuIAowMDAwMDE1MjI0 + IDAwMDAwIG4gCjAwMDAwMTc5NTYgMDAwMDAgbiAKMDAwMDAyNDU5MCAwMDAwMCBuIAow + MDAwMDA5MDY1IDAwMDAwIG4gCjAwMDAwMTIyNDYgMDAwMDAgbiAKMDAwMDAzNjYzNSAw + MDAwMCBuIAowMDAwMDEyMjY3IDAwMDAwIG4gCjAwMDAwMTUyMDMgMDAwMDAgbiAKMDAw + MDAzMzg0MCAwMDAwMCBuIAowMDAwMDE3OTc3IDAwMDAwIG4gCjAwMDAwMjA4NjAgMDAw + MDAgbiAKMDAwMDAyMDg4MSAwMDAwMCBuIAowMDAwMDIxNzc2IDAwMDAwIG4gCjAwMDAw + MjE4MzIgMDAwMDAgbiAKMDAwMDAyNDU2OSAwMDAwMCBuIAowMDAwMDI0NjI3IDAwMDAw + IG4gCjAwMDAwMjczNjQgMDAwMDAgbiAKMDAwMDAyNzQyMiAwMDAwMCBuIAowMDAwMDMw + MTU5IDAwMDAwIG4gCjAwMDAwMzAyMTcgMDAwMDAgbiAKMDAwMDAzMTAyNSAwMDAwMCBu + IAowMDAwMDMxMDgyIDAwMDAwIG4gCjAwMDAwMzM4MTkgMDAwMDAgbiAKMDAwMDAzMzg3 + NyAwMDAwMCBuIAowMDAwMDM2NjE0IDAwMDAwIG4gCjAwMDAwMzY3NTUgMDAwMDAgbiAK + MDAwMDAzNjgxOSAwMDAwMCBuIAowMDAwMDQxMjgwIDAwMDAwIG4gCjAwMDAwNDEzMDEg + MDAwMDAgbiAKMDAwMDA0MTUzNiAwMDAwMCBuIAowMDAwMDQxODczIDAwMDAwIG4gCjAw + MDAwNDg2NTIgMDAwMDAgbiAKMDAwMDA0ODY3MyAwMDAwMCBuIAowMDAwMDQ4OTA5IDAw + MDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgNTkgL1Jvb3QgNTAgMCBSIC9JbmZvIDEgMCBS + IC9JRCBbIDxmOTA3NjFiZGExNmY3ZTJlMDkyMjA2Mjg3ZmQ4ZjAzYT4KPGY5MDc2MWJk + YTE2ZjdlMmUwOTIyMDYyODdmZDhmMDNhPiBdID4+CnN0YXJ0eHJlZgo0OTQ2MAolJUVP + RgoxIDAgb2JqCjw8L0F1dGhvciAoVGhvbWFzIFJpc2JlcmcpL0NyZWF0aW9uRGF0ZSAo + RDoyMDA5MDkxMTE0MTUwMFopL0NyZWF0b3IgKE9tbmlHcmFmZmxlIDUuMS4xKS9Nb2RE + YXRlIChEOjIwMDkwOTExMTQzODAwWikvUHJvZHVjZXIgKE1hYyBPUyBYIDEwLjUuOCBR + dWFydHogUERGQ29udGV4dCkvVGl0bGUgKFVudGl0bGVkKT4+CmVuZG9iagp4cmVmCjEg + MQowMDAwMDUwNzk4IDAwMDAwIG4gCnRyYWlsZXIKPDwvSUQgWzxmOTA3NjFiZGExNmY3 + ZTJlMDkyMjA2Mjg3ZmQ4ZjAzYT4gPGY5MDc2MWJkYTE2ZjdlMmUwOTIyMDYyODdmZDhm + MDNhPl0gL0luZm8gMSAwIFIgL1ByZXYgNDk0NjAgL1Jvb3QgNTAgMCBSIC9TaXplIDU5 + Pj4Kc3RhcnR4cmVmCjUwOTkzCiUlRU9GCg== + + QuickLookThumbnail + + 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 + AdQB+wIkAk8CewKpAtkDCgM9A3IDqQPiBBwEWQSXBNcFGQVdBaIF6gYzBn4GywcaB2sH + vggTCGoIwwkdCXoJ2Qo5CpwLAQtnC9AMOgynDRYNhg35Dm4O5Q9eD9kQVhDVEVYR2RJe + EuYTbxP7FIkVGRWqFj8W1RdtGAgYpBlDGeQahxssG9Qcfh0pHdcehx86H+4gpSFeIhki + 1yOWJFglHCXjJqsndihDKRIp5Cq3K44sZi1ALh0u/C/eMMExpzKQM3o0ZzVWNkg3PDgy + OSo6JTsiPCE9Iz4nPy5ANkFBQk9DX0RxRYVGnEe1SNFJ70sPTDJNV05/T6lQ1VIEUzVU + aFWeVtdYEVlOWo5b0F0UXltfpGDwYj5jj2TiZjdnj2jpakZrpW0Hbmtv0nE7cqd0FXWF + dvh4bnnme2B83X5df9+BY4LqhHOF/4eOiR+KsoxIjeGPfJEZkrmUXJYBl6mZU5sAnK+e + YaAVocyjhqVCpwGowqqFrEyuFa/gsa6zf7VStyi5ALrbvLi+mMB7wmDESMYyyCDKD8wB + zfbP7tHo0+XV5Nfm2erb8d374AjiF+Qo5j3oVOpt7InuqPDK8u71Ffc++Wr7mf3K//9j + dXJ2AAAAAAAAAQAAAAAAAAEAAwAHAAsAEQAYACAAKQA0AEEATgBdAG4AgACUAKkAwADY + APIBDQEqAUkBaQGLAa8B1AH7AiQCTwJ7AqkC2QMKAz0DcgOpA+IEHARZBJcE1wUZBV0F + ogXqBjMGfgbLBxoHawe+CBMIagjDCR0JegnZCjkKnAsBC2cL0Aw6DKcNFg2GDfkObg7l + D14P2RBWENURVhHZEl4S5hNvE/sUiRUZFaoWPxbVF20YCBikGUMZ5BqHGywb1Bx+HSkd + 1x6HHzof7iClIV4iGSLXI5YkWCUcJeMmqyd2KEMpEinkKrcrjixmLUAuHS78L94wwTGn + MpAzejRnNVY2SDc8ODI5KjolOyI8IT0jPic/LkA2QUFCT0NfRHFFhUacR7VI0UnvSw9M + Mk1XTn9PqVDVUgRTNVRoVZ5W11gRWU5ajlvQXRReW1+kYPBiPmOPZOJmN2ePaOlqRmul + bQdua2/ScTtyp3QVdYV2+HhueeZ7YHzdfl1/34FjguqEc4X/h46JH4qyjEiN4Y98kRmS + uZRclgGXqZlTmwCcr55hoBWhzKOGpUKnAajCqoWsTK4Vr+CxrrN/tVK3KLkAutu8uL6Y + wHvCYMRIxjLIIMoPzAHN9s/u0ejT5dXk1+bZ6tvx3fvgCOIX5CjmPehU6m3sie6o8Mry + 7vUV9z75avuZ/cr//2N1cnYAAAAAAAABAAAAAAAAAQADAAcACwARABgAIAApADQAQQBO + AF0AbgCAAJQAqQDAANgA8gENASoBSQFpAYsBrwHUAfsCJAJPAnsCqQLZAwoDPQNyA6kD + 4gQcBFkElwTXBRkFXQWiBeoGMwZ+BssHGgdrB74IEwhqCMMJHQl6CdkKOQqcCwELZwvQ + DDoMpw0WDYYN+Q5uDuUPXg/ZEFYQ1RFWEdkSXhLmE28T+xSJFRkVqhY/FtUXbRgIGKQZ + QxnkGocbLBvUHH4dKR3XHocfOh/uIKUhXiIZItcjliRYJRwl4yarJ3YoQykSKeQqtyuO + LGYtQC4dLvwv3jDBMacykDN6NGc1VjZINzw4MjkqOiU7IjwhPSM+Jz8uQDZBQUJPQ19E + cUWFRpxHtUjRSe9LD0wyTVdOf0+pUNVSBFM1VGhVnlbXWBFZTlqOW9BdFF5bX6Rg8GI+ + Y49k4mY3Z49o6WpGa6VtB25rb9JxO3KndBV1hXb4eG555ntgfN1+XX/fgWOC6oRzhf+H + jokfirKMSI3hj3yRGZK5lFyWAZepmVObAJyvnmGgFaHMo4alQqcBqMKqhaxMrhWv4LGu + s3+1UrcouQC627y4vpjAe8JgxEjGMsggyg/MAc32z+7R6NPl1eTX5tnq2/Hd++AI4hfk + KOY96FTqbeyJ7qjwyvLu9RX3Pvlq+5n9yv//WFlaIAAAAAAAAPbVAAEAAAAA0ytYWVog + AAAAAAAAAHoAAAB+AAAAaG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAagAAABwAQwBvAHAA + eQByAGkAZwBoAHQAIAAoAGMAKQAgAFgALQBSAGkAdABlACwAIAAyADAAMAAxAC0AMgAw + ADAANwAuACAAQQBsAGwAIABSAGkAZwBoAHQAcwAgAFIAZQBzAGUAcgB2AGUAZAAuAAB2 + Y2d0AAAAAAAAAAAAAwEAAAIAAAFtAtkERgWyBx8Iiwn4C2QM0Q49D6oRFhKDE+8VXBZh + F2cYbBlyGncbfRyCHYgejR+TIJkhniKkI6kkryWWJn0nZShMKTMqGysCK+ks0S24Lp8v + hzBuMVUyPTMmNBA0+jXjNs03tzigOYo6cztdPEc9MD4aPwQ/7UDsQetC6UPoROdF5Ubk + R+JI4UngSt5L3UzcTdpO2U/qUPpSC1McVCxVPVZOV15Yb1mAWpBboVyyXcJe01/gYOxh + +WMFZBJlHmYrZzdoRGlQal1ramx2bYNuj2+lcLtx0XLmc/x1EnYodz54U3lpen97lXyr + fcB+1n/SgM+By4LHg8OEwIW8hriHtIiwia2KqYuljKGNno6Cj2aQSpEvkhOS95PclMCV + pJaJl22YUZk1mhqa/pvcnLqdl551n1OgMKEOoeyiyqOnpIWlY6ZBpx6n/Kjdqb2qnat+ + rF6tP64frv+v4LDAsaGygbNitEK1IrYCtuG3wLifuX66Xbs8vBu8+r3Zvri/l8B2wVbC + NcMHw9nErMV+xlDHI8f1yMfJmcpsyz7MEMzjzbXOh89E0ALQv9F80jnS9tOz1HDVLdXq + 1qfXZdgi2N/ZnNpP2wHbtNxn3Rrdzd6A3zLf5eCY4Uvh/uKw42PkFuS+5WbmDea1513o + BOis6VTp/Oqj60vr8+ya7ULt6gAAAS4CWwOJBLcF5AcSCEAJbQqbC8kM9g4kD1IQgBGt + EogTYxQ+FRkV9BbOF6kYhBlfGjobFRvwHMsdpR6AHxsftiBRIOwhhyIiIr0jWCPzJI4l + KSXEJl8m+ieVKEIo8CmdKksq+CumLFMtAS2uLlsvCS+2MGQxETG/MnIzJTPYNIs1PjXy + NqU3WDgLOL45cTokOtg7izw+PQQ9yT6PP1VAG0DhQadCbEMyQ/hEvkWERklHD0fVSLBJ + ikplSz9MGkz1Tc9Oqk+EUF9ROVIUUu9TyVSkVY1Wd1dgWElZM1ocWwZb71zZXcJerF+V + YH5haGJRYylkAWTZZbBmiGdgaDhpD2nnar9rl2xvbUZuHm72b8JwjnFZciVy8XO9dIl1 + VHYgdux3uHiEeU96G3rne8l8rH2OfnB/U4A1gReB+oLcg76EoYWDhmWHSIgqiN+JlYpK + iwCLtYxrjSCN1o6Lj0GP9pCskWGSF5LMk4uUSpUIlceWhpdEmAOYwpmAmj+a/pu8nHud + Op34nrOfbaAnoOGhnKJWoxCjyqSFpT+l+aazp26oKKjiqYqqM6rbq4OsK6zUrXyuJK7N + r3WwHbDFsW6yFrK+s2u0F7TEtXC2HbbJt3a4IrjPuXu6KLrUu4G8LbzavYu+Pb7vv6DA + UsEDwbXCZsMYw8nEe8Usxd7Gj8dBAAABPAJ4A7QE8AYsB2gIpAngCxwMWA2UDtAQDBFI + EoQTZxRJFSwWDhbxF9MYthmYGnsbXhxAHSMeBR7oH8ogeCEmIdMigSMvI9wkiiU4JeYm + kydBJ+8onClKKfgqqCtYLAgsuS1pLhkuyS95MCkw2jGKMjoy6jOaNEo1DjXRNpU3WDgc + ON85ozpmOyo77TyxPXQ+Nz77P75AmEFxQktDJEP+RNdFsUaKR2RIPUkXSfBKykujTH1N + c05pT2BQVlFNUkNTOlQwVSdWHVcTWApZAFn3Wu1b21zIXbZepF+RYH9hbWJaY0hkNmUj + ZhFm/2fsaNpp0mrLa8RsvG21bq5vpnCfcZhykHOJdIJ1enZzd2x4bHltem57b3xvfXB+ + cX9ygHKBc4J0g3SEdYV2hneHXYhDiSmKD4r1i9uMwY2njo2Pc5BZkT+SJZMLk/GU1ZW6 + lp6Xg5hnmUuaMJsUm/mc3Z3CnqafiqBvoVOiR6M6pC2lIKYUpwen+qjtqeGq1KvHrLut + rq6hr5SwmbGfsqSzqbSutbO2uLe9uMK5x7rNu9K8173cvuG//MEXwjPDTsRpxYTGn8e7 + yNbJ8csMzCfNQ85ez3nQm9G90t/UAdUj1kbXaNiK2azaztvw3RLeNN9W4HjikuSs5sbo + 4Or67RTvL/FJ82P1ffeX+bH7y/3l//8AAHNmMzIAAAAAAAEN+QAAB+QAAAIBAAAMYwAA + 9SH////2AAABX////RUAARx2 + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{218, 52}, {999, 826}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{-54, -59}, {864, 672}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + saveQuickLookFiles + YES + + diff --git a/truman/src/docs/asciidoc/images/oxm-exceptions.png b/truman/src/docs/asciidoc/images/oxm-exceptions.png new file mode 100644 index 0000000000000000000000000000000000000000..8515e7c4887aa443e7966f6dc865038a8eb4bb2c GIT binary patch literal 28027 zcmX_`V{~lI7v|&SCO5Wi+qP}nwr$(CZQHheW80JWzh>q`_d2V)t7`W?r#7Bnh0Do^ zLPKIe0ssI&i;D><0001a{$3A50R6rf{wcf!0Dx3A7Zj8e7Zk*kbFeirw=xC*a09$j z4d-0i#N;*nv;LAj&J$H!Pr|t_D3(&i7-bE{=(1j5l`j-Vg&%*ZDUgs*O^`s8M5H?3 z%`4$t>lw1^{m$Kc@{H@$GwV5X(sjdr!@ldjd-CB94xp0N6CF(q4dBQ3mv}t`4G%jz zE8dCG4`&VtY^~ALV7xzx*=}5RV};Q#FD<7)`Z5+{ixs=fvsHXLfqP@Dv|T6ZGg11d zOx1v?=# zJ2HSrIRI3aG@<@sxZEemwdGQU$9*-fB}OrTx>(?gi*R5+W#IF9HXwL|A@(q9dk`#8 zTD~ZJkdS`QYnF*k26x2R&Hj0a2sk=W{XR?~KukTTDnJCZ06aK|V32y^EcAYPuxATC zWCBD#KuEbbK3p>XA`sjq+0V+WcUO@6xkg-w;8Hw)bUYxcEzvvl`VTTcF}IZ*ZNQBH z0Khywsh_VIu1=nxs~8CYxdYg%I`}t0y1Y*pE?%dZZUCc!G>8J<)1zMCydzM)K~5_) zaxYujgIs@%IY5yPzJg`UqlRZ}uMgbK4kXu0`JPf$RFk2-A zr4=Q5C1xeYrH}IFa`7eRrCReKvn;cF^Ahtnb8Yk5g_>){9n@CaAQ?XzznavX#GTx4 zoIpB3ropLi!H-CE_$ap#QmG87@`!iEw&W)K(=1{ zV*3Zj)%(+XsXK(%(>IDY=(ki51(5lGL;?E&vVHS-Bzfui*s%&=8-q`S#e-BLEaG6I zU9s&rm{fWp`@9q*&ZCAoo_i0-0mxlsUGi;iwP^NQtm*(&XE{dY)rCH+gykeIsuE{D zO)XIkReo7%-QB*8xoxteG4w-&M3zPSMrSA$$*FlnmAe&Y7R44Omx||}QAw;4?Dg!b ztVXSzHi!21HdPNRw==y)`&#d%yY-%%uV~;32&W;xyzsceqI0?HI>vonf^hjsdYsaK z2U>?Gi1nqaiQ}d&3JnWFi&tA~zy#3t6uuQOpqpZ2V*?R6Dua*`b z@2Ac$OWSRs9&6oGjZ&IbFIE3on&Z~m{{8v3PyA?{Y58d#;0<+k@i`u-)p|{a>g|F0 z`O$vu$JA8(sm46=Ipt#_ieV$`;oYb4HACDuUez0GMVc7|)*XvPq8Snh;ScyZmSD;< zba{KiGn(Tr>Y2=XkIMzlPadf7#2M>kwB-xIk_6hX8|_cltCd+RWaNwXI|i+SfKXy& z8flt#DtJWytBYnYbx5^Q)qKf?C7yM$Me5Gwe&^-?N#qaFua>_!P)?9ufEphRE-^$g zY)OPcL@Pcl;W?>RkYo&cTz0fmIC{*9EP$$Pan#7@-Up*?(LqOx^VvobQDsV7E0^8^3>RVHTg54PN9>b z*dgV%d+;HwHH0>OSDQ~UPSZ}% zOsGwQh+j#r3ETZ|y9=JMlvI`Imi#AdIF)$PkzZ2hlIj^3I&eDl60$nfI<3R%oXb7L zn+GVWFxapQ@fQDcper4bvH0-`1$qTXMQ^2YIj04k#Ul>neA1kk51XK*Xr_p#7^&t< zTTb3iflo7k9{$K}r2I|1ks%|ZN+S89NTZXZEtIw-;N)~+Y_&yoqV-lRcEfRlb}ME> zEmzJNoc+My{FL~*`j~O<KgBi7zQ0 zFI||P6cWA-=o7eUFk3v4cA6AULBQb^f)b)T zVsDO5`ckHr56M}TYlL}))w!33PKP_#m>DN(T=)HzK|dx870q_`w`zEp=*eb;M+AgJar-4w-k#g!%X^3Vmt zs_tshD#hx|j#x!vWoDOqg-(G_6@Ha`+no<$eR^qoD{)?Ot8*T8n|7Ob8DW=V)x%wN z8cll5_-6R_{Wh%!gGaOH>P^zq`c84r=E{v@?9I*`-<0>`mnv)n_>=x;a~VOora8-V z{+ZVqB{~XPa2i&+qk2vqeSM|_k>f%8RNFik6<4lX?tSwED#Q>($Dgx5k&$x|RbeoM zgs@`RZWJkGHDuok1lkIM4(jIxO+AktQuGs8Pr}a~S%eul-jX}A{<`{N^b&uH9}o06 zL=YP*ywr!al7*eMs9{I6#SFjYf=g!g*9UQ%GMWUPmz;afp3jj_L($aGB+$N%nY@d} z*|tGUE38K>Tl9IXpNpU+` zI+Z(gZ^K@Q+}I7J?Jaf=crJN3UzvANeGtD10fGIugIEl_=bHBx;(!+19W+kQ>Q3z( zg!GK`knl6m5S=KslsGKkO-3%;JJXld)7Ot4 zWKf+PiD(&gK9e|;SDnj=c*_BF&Ft07!z#@>-L55k$D0=(8}b}FD@l+ulJAwrEVY)M zmUU}=%hao~yXe(iKTN#6-34t7^%cz>jU}Zmy)`90O+{r*f2#Xy>NgR$7rALYQE$9@ zCpT-oW-a<|eC`7m`Zr;7p}jHmF_Li@y^fyQ&c)~5W`{nB3?x3&@0xBN9@9HeV@+89 zvFVggaZ(BO%&1pr`qVYly*~l3b{vp4^44Y6=RUM%_C$ZaxtM|jG{iEPq{72ZZ34_u z^DFob^@050+Tg6MudfH7AM`Xnkh1bY1ph#9FioKEh7{%j0N??L3-K%cR+Zh*T3W;H zygmy3d`JZ0Ld4BPB=TP41^MO&k_C|~Bqh@dnPtq85wv{O%yTPl`zuYv-^E3($O@RL zO<)-QD*4^(Ybi^Zdo1-582pWEe8_)4snGiQwwC#Tx<7jza~x-Kyp7de_AeO{ysSN?YifC|khald zkN^K8|8YJ%0|ttHXFHG*B*0Zw(i(Eb3B1}Y!aY(TMw2NyiHbuBf><+1z-xQvWvr}p zK7u@#%AXhCAJJBsaQ~{<#RCW_NT4J2WmTm}O-Q6%BoQ~_LlHmEEqlQcs2~ua2w&kK zpe!1ow9#Y*F}NW?0fHGKQ9n32Pn99wm-bn5Rii%Y8nJylbGZLjSR>0S4kzG~QL=CP z`F`mYw*Byx2*M#>4PP0ZbOa%R0vz5RXe5ZM6+XhE#{*IxMZUBv_cB)n}#)w1Ju!J8 z(GnN%+;Z%2U_N0H8v|p3=Ojxo#%~v*?@-`m-(Y<5K%&(L@dz}~AK;~}pD%ea%L9aN zN7S#A+w+-FfcGr+SX-!d*BePnnh+!_V?yIA+qU6O+xgo7Iea| zCWzKm{4JIIicfL>*JTev5&$rg)Z`1PN_=a6ErbUxqJC{3=uc6~{sfU%%kQ@sJSuED z#C^TQ`sV~M4T5iQ-;8j`58jln@}TKU)X(>L-uKc?e3}42S5k7KjY3AXam!(Z4G2*b zU{K;O%^e0PBy6*&AF@;yRVkd>uPM+}IawP^gnZc12Tt>V`pW3p^Gl8+?0XO((131Q z7+M2o37y9{tY&&2vT2@LKlO*i%~1f(tfwAkwG3G`DecGqnH&ZHO__f+=cVA&ArnVM zi}U{`&LDw<`@m|ci}GWuLHm})Fn!uoSci{BZ?}$dcDdXnDVZg+ZH$gY*OVlOEV(ih zDUZ+j8W$q2-b$8O?eRL(C!fUXqMPdy)HfGsj%qqa7`3T2FRo#bDdX6Miv7E8H4)z6 zzraLty-$8E7#=`3r^WNL zLfY>)zw~(7Eq-`pR90LABwVB00;0rZz`PI$fw1SJPp; z+)~>rGK*VFHFNpcf@2IEHZ`%6z*(rZ(<~|?lN@>RO&Q4GNE{t)pkT4NSuJ3d5b_}@ zylkF#_Lr%56$}Vt1sDP`pZh05bF1!)LW zaJ(P2F@+vSgu{ia{wuMl)>g~MWwx;svvWS3)b?$BMblt+`)TX?edNWi_x}2lv|(ka zerj7(?Z$SAIxOJE$Fld*KKStF1%^73zW~kS*_daX#K1t!{fUdgTJzz1cU9@y`Vz$e zw6e~q_^v;6L50d-7A&Lnr^)2mV({KkQ*!dT2OKAe81`os_C`CUkIc=NV?kNItMp|- z6UP@%Jc0P_I=Z8Axi}g6CcotEy(uaST;aICPi!>5n^q|;*4rquoy>UA5Odbr<4JnI zV-!~nbcHj9&YrUtFnX0@wrQw#RYz%aFF$9SsEHCfECsNKX=+OkT& zu%`KaxEorunlzXg6X#2RCnN|W-_qCoPFKg$DC_b)c1u{Z)h7KzMfl8rXR`rEmf+b6 zo7tFF>GEsQUgdZITJ|5e{SBl+x8+Za={JLu>&knhZ*@(T^?8fN3GKY8)wsAek&5JS zpri7mmxD4l+dvS#vNPu$n<(C2xIPSqp0n3+(p<0C{m`qctLf?Kr>Cdo<>k5q@g$qN zh0{6fQ>gQh<8yG$Nvs_AHgfZG(eQnlMi}%*5=xsYX|N$@_7Vb-?xOJGaQ+Gz+c`#q z^yNUR=G`HO#=O@lcuz29FF|$- zyKsRVlkae;d0yv@oMPax9fe`FULbkvMZ zdEE6sTbvI$rxRCq-x98D0R4lD!Fofj>BhF&R_^_$F_jR)L2ZT6>F}nU+Y9IWGrtl| zIncMStu}-bMI2i)Gg^K3Zb^51&iPnrb+m%o{0wV21xP9h({=^i@^cc{s$)tFnqSu9 z?eus`rd4=4@r?5g5WbU(@DtLR8c3{;f?rxyk6Yu_)+zKDH%%SY`d)3x=%P+1)W?OR zt>S8k?#>~IK}or`Q;TYPiOFhu%n?-eSapTnWJ_){tP+0{5yfo{Z2i_+6_nS}rLl*; z-0FLEZsnJ#zQV@l@pyWwXAM}{Iqx8VX1>|Ax1z14O2*(CIlD3K?q;;!F$i>KebXyL z2^x~%LP@#4X*Qskpa1Ng8TY=V?+9ZVR}i>eSXf&VkRTklSh`ikN3cX1U4z;t3@uDD&wB&ejVx&R&jk&*BsY=dKkdn(g|@$4EvQA# zQ2#_+msI?m1;uwLjFN!7Lxp~ZClBK1wwIzRd-9%(vycbimT66+!hkXr!t@ul7&Ge( z9~D+~JN(007gXw#@f(Rbl_x@Y|5!dZq`q)(CZfxw3^bdMKB`nceiAi60kNH;y!e=^ z@RV%)Ar{XCF$0fjK(CYO4ZAC=qSrztT{e5wd53)V8xZ@kPp@jikbhib7{P@C9))3~ zN}x@zfYuuV>$Ly}6fSQbL^uf|ggb!vi#3zhi}F?1llQK#e^OEnJsg7SFeE)GRp%cA z*2cS?QEU(z6ZEocHQ>B$VXhlPcl+)04_9&hnsn3Ne%pCFd2NBviJ6hN;OC&2USLY0 z3Q%=zX5j8q&yXJBqNN6&qatl^xl{*dFy?B9=H3q^dnYcv)%?1i6lz*+S3BJKB>x)a zXzAG7yS@V0?L^iy-hDq{U2r?Jn=AQkwUOSBN;2U-vw*9$XlQikPeW=#W5suj6Ly*LFdPHxc{znx{YRRvk_E4PU60*Q2##5*`=7DX_bioE%<0r~ zlbM50x>`n--oi$%SItBIuTDiD)Oob03Uee)(O%O}so}C~$GWzSg|d{kT^gW`_i>^n zgg{z|C5Dxb>49N>)x@qao~vQ&Yd5(YaI20qTr`_aUA!0R%vF)NZZFhZ7c1WK&q%%=nX zy)It`u{&-vlZ*bYKSQsw+AuEKM*g&@yG)T&kws6dR85>^HM}?aGL)iDCWPC*h}>%q zB(bS;svY|N4N#t``AINZ;-E4WkQ*BJi>$bsueT4d8)#-BTf0}@el2i^Gb{6-F0;3& zHQMm33-~LQnrx#q-kZ4-X>y>g`k1bf$IM5wNd5s~2mkD}?+e`5E~4`mIkDh<3}V}sjaq| zAO2bHVZC##wbDA3k54g*PRW|k3QZ4p?rAyr+|Mzv?XQ^Fi!^)1(=BOGGsveAwr~2U zR771uBDJ{>8>BSGA2aoiw0wl+*HX-m;hb1$V&8m~5B*GFruq>l5G%)n{$=e2WEjar zdpMv)VC_;M^#&_Cv3v8l1I9j@67kqY?DdY1BDVAD?#EwKO|xchZ>>Kz(w6sRy;2xi zD~?PvQJoC;F=zJ3JO3CFa14A(5Kh(V3hGW|?zNXfnO$j_tz$EOI!_jT4?Xgr%-Bi9 zfn`$N&h9VrJ@3KX%P3x){Y$nrj{#hA36}~wxuTjR8~%i~QJ(>=__*6?S)S#%ovfCg z=l6%Z&_YUow8L!=A`IeIbsfu}PEhaMMaFqi9hHp+>UnpJf2Wl2Xj%WJGPwmtxkZw_ zXpuRD!M!y)*@ZWp)E8`AGc}yl8Y40-cDl+6`H!S#N?d{}R0BkluY~FKkV~FS3q7jO zM4GCK$pk$ExDfuRk}38Tje(}UIv*IK42F1Xx&in95>7p~$V`LYrgO6!O4zd(^SB+F zBji296<1O-gSzJhWEgm>D)6RCNcX7H#2AbDIA$tdz1#aJ!F7K??<9S4@)*GpT~ElS zBT<2fqOq|!4$7W-Ukrsx?Uz~-P3@2p5$`mWU^K)63PmWYBlI$FPfD0Wf^;2`;vo%aX>Vw37uV=yRx$Ucz0q7F;CrUCy&rA zc#c<+`TC4qvaY9}*qIGJLarg+?Y}z%5ZEZ<{)9L$D5Y71UlX;U%AIawJ z=)x5&#mXR1&ZrBqZM}-bna_p3VScv|*mliZF0D*bd1?c$y5D_V+0`n}9wqq~v$D8* zPfvPEJT!zqV#pv)S;sPELbA3%Fgu{W@b98;Ad@PmC{l09R ztx~xt{}l~#xZ3RxN6d?_1iiJhNx=yV4NswzsHt{JUTrxo}Cbr za3D8B|Al~`pQo3<2ddAokd-9$^u%Jfybcil!=SDlQXY0-in3>aGL?>qiVE&N%lq?r zdU~49XeuHia$tI18bGL1>It%Cmh=(DmHev-L6CzK93W!95D5=Q!W0~jS;i4Ms}t1x z3BRm>c|=)XRCJcPxqG3&(S9=mj;Xo!_5$q@GQU{Mh50QLCAeBx;&dn|Y~sC36A(q| zBNI|Mi2n%wAh0qPH{8gJ61lxU8%Sj}e2l02!6nu?nFmNx$o`f*K>)bluONuCL+}u& zAXd`N$Z^E$Utk(HvZMa}my-$cn_ce5QAbUWO-F0Pmi0g6jaBB8kh3#ZSVvz|9FIDP zh&w&W8?qc-Xrg_*Ag@@fyjyPMF??kNbSEKLhr+2@#UG(W}9>l($z z!uot%l(lB*O2$kJxv>|lJ!TvICg8iVKbgt)><2}i%HjU#dYC!9vHu!oXghwbaIm{O zUMd9vbmEf$07lA1kZ~)<@*n31;4E75s9E_L*Y{gJfCAb&d=EgFMXZ3x+s)58&2pUi zqm0hBiv@@a=a-XMQTbH^d+e4XF8r&ai3ew@vamyt0eeNrnKH2}KWMN4DFy(Lv%7XE z0`=S^-)AfK7!Esz-~cT_?<)}iwS@x1aHF%0{%@`jLws=mS$l6j%ZUcNSWe@)hls!+ zfOciA`H#Ls5g{SGfNzLgh}WY;*<1dmg)49C3y0#Ds$ohOJ8qmpLauD+J@@qJtZ3YGgb()ama?T2F zTJ5{bCXSA=mD4W!TG9}J=Qd@Y1g@Uf?I#7H0g1u7fad2dxAHh%e7K&Oq)O^!s3DiP z4cgk;zddMocXuCT?nTG*hUI*qY=hcu8ycAYX<&**onF6js`hg*trwuD4QV>`m8vKY z@;CB^q)ciH@gi!;TtLz1kyA76jMHIUE=-0EHO}{a!D@(RF)ViuwvU9y^LAg$N#q*3@;0e+{cbu)-8m&hZc?6Y^vXce(W?^WF}&_#7v99zP}pfz!Hio2vLFHDDpbltFHQ3 zO3-U8@AvB{u5Xo?-^_a{?-%(_5e0c7uKV-4X)G2y&`z0!This_rE;Z;G!JP;H9QV# zp$LeZ3KKdOHPE!>z6U%%f!!doOzMYrb@PAgRtvN7A_@a&BXD56YHQ6?_LmaKOxm{z zn+CyP&!Ewu1ICg`HLb`|!m8Qyy#4F;d;tQvjmdfc{`qMpF`+0lfc=;CKAX+{0G#&~P)?)XK-k@#J+A#Ag0gO=Di{XCQA?_) zp2{B<#USA0^I_K1*m&D4q0YY~Cy3UZpe#$_|a z@gFPDLYMNE0BEj+PKvboaIr}dUYx4P(2a&b(;n{6uS&BHd{zm01CVur}ogk<-XS0#Ao%X*;$3~b>JW(3xV}| zLveBOun~jw8&JayLBaB^52~X*+cxKQ+u%#Uenz56&5??IF+gmjlbhC-gKOn_$q9~X zqx2wpCK*t~V)0p(gD^BkM!Kv}U{r>15sYLVUQ# zv}ptMapmwO4&18#9YcfSCLW_2l{o4QOdy+K@t>jRD0@%fh=9Y%6yM0?NM#yBf$F^^ zW{1pIu|AK56%`fQoi5uxA6FTBfFVgDKPt;hNCh1FSI=ekCnP#=L1l*fAz(UR&?EukuQq} zyj(9Eu`Hr%RgG5yGZ`(7{n6@5J-RW*DTFEwG*fRXiO`_=Px#4^@#?^ zjMDM_dJ>LAX`e;}3umi_0=&~7bG}&7@4*B^u!kSO`9&dvJ>l(sixB>@ykAI@)w{nm zCZ-$tA%lx7b6Ov~}S;YSKwEVDNI+4F-k!2d=2MqLDhGNnL76_;t z(U)^%{@U2UMipcaX4hx*a=SkWb9##z<7Wc5$63m>h?E5%-TQe= zyXX!J&vP70KU$os6LF>Vifr^bN9&C-Kr82tAHydHx97N(*EbRF073!|IAvDv7nS?f zpK}!XTLd{!EIUyD7wBSfxFfKYe`9^5S-SGfCX>+b|1n=X)jG1{%d4%m{d#}mbiMxE z-2HyOvi0S}5`v8Ti{`G^VatS}TB8*XFYZ_7z<}isfY--u1HgAg#0HcY#b<3z%_6St z{j|(xpP7`zG~OI4v+dA~zdHoF5$yON zh!p6x0H14AwdWrBb7kk(BVn?bA*EUU@sOQmb}kUtD2K?O=el+j`%3IUhJ<~x;L*|W zv;FXC8Xz4V9X-#@wazXs27+)s+icBKL1tIK&}xX~pCnED(T?X0_b(reX5AT^g$XuO z3}M>ziosl%9!-b!1)(dH78mz#Evv2l`OR;*-$3As0-qg&o3_1QtG(aOPv^@wy+1zx zaU*sh8@N53RcJD*i=o)&nd@ zb#-+sEHQmW1OT+1PG<{m4=0ALNG%&O7Tfze=p!_*5D!1!H$Nz- zsJreb*`%^Le_g}dy)^j!JhiHuKu!V)`5^YF2~C>L&d!dHk6&dNbod;M0{j7F7;)Jh zjP4GG(bo4s-RUa!nAm}2Ag0i;v7IFjT7P+GpAx>GA@A0pcYaRZ@!7>IaIQn&7{T3cFJv~@be zD#9t){^qQd6qHXS5FgW*>ed}d0q86uQ9c2`T$qE3KKL{bkdDsIdQ5avk-I<;yAH+K zIi^EA3W{^g-Pe&|RGqL!LALiOLN%}44JJi@afH<0_5PUYK#TSv0=*I}IIn7_W@LEW z?)3*lp?XY=ECxpRaldQ@veWFG8LUJy&h^*CEary%K5d-PnAwq4$RNKRiucR*OYYBG z?&~>i%}JJHj0#(3jo01~qf2;caq<3NCK&-)RkXIPeu3Yeq=!Fw<^a+~=%?G#{|mZj zIAM2<(q?*zZm^5TeIuTXE|G1`%*ZGx2HefEB67TN+@kj*e#685MuQg36#*R=R}?xm z&%o`Z?)UG(8dl2{s;herZT7+V{E`w9Dfim;e;L5wFjD_52PpFE5=gqdEG*GJPN4rD zuX=89+}G{jgx}@<&}I5hwiFAHiecCH=j)Y=$VVIqv#KNucZN^w7t7VSWX?X7HCaZu zw4Y?P3j#21RBN{Kd_69{`fIw*GG~};pZ+na4xEK8fmDwC_ z$rLJd(=+lhneLExND@0q|AX)P3c!23lG-(c|b{!(*(6rWTsvIXzj;Qu>1v@eZifV)OzBZ-6dJa*5F zzBBlL>>ScJ3pU0N?-!j5&sXCCz-pbXpjx$seEioTokO^_!e84rFZZPJ;q`6*SHx3? z=23sMvHqIa-_H;5+lu|d^Vk?Dgqr=sfJjpqc95>k-&=!WA?GA=+B?*I1TST`?^J%r zG(=!(>_O;1=y=cC-DTCsGjRCNQ&p1x$??Pc3Wa*`^aP z$Umr&(~1ywxjuXS%v-Q?Zt-veeVx&_Hx!m-d0eXix&e z`MGn-AY|1yWp>an*pxYpLh!dXgjlJ3LQj`W@^eJHzmm5Y`9o}_9sZupypZ- z&ce6wXcOU-pG*xuYt|{46-bo0MZToDmeGw00Te3TGuG z6lBTtqOd9p7SB|{*bBK+#d_5M5$1(QM=kzi-gZ@2Rx-|v&A=wH%~DR@O@1qfDd-@g z0wodaUs0X4oHXMQgB-A=MqRK^=c7HamQkJ}L;a-I5cSfIO5(4R_kp0>4y6$Js?m-2 zzkBU1>X6_-(T&io&EZ+{CpJBY}(#bot`<|Ol&J)(@w zyZu6=P-U7d5rCKuaDr$w*6@(?OWViY|HAfyJB-ePwCR5u!wd4csY8A*=;=D~1H|8% zyGzJpZP zob)$1CQ*y$t5|Qa?Y*C8m7UE%L`5@sBJO^Q9c`~6mfF67o{B);4tdok#WzWB?{yUm zgN$oJ9G04wnm2!c2U~4c35Fr4k>xHLLU(XrVMWShU3KE_p_Q~kQ1IB@vZY}8>JEiJV<%!*T#?u9iMEFVTX48gehiM!$-sUycZ-80 ze{OEZrr7TB)^*IycDs~%TyWYN-k)&zd$pSrSy#Q)GvL+crD@~i^Bv=nkbhz)t%4Dz zIK2t$ybg+cZoU&w8<3EZk=)tcBVFTEROzMp9g`tQ9a_<_ps={m=ceNB4PI$iRBEAl z{nI)cVD|h^v?UoA1O4o6vR0}jHI^*yiTOrwP%hceqc_`1*4;MvD0ShQ4kq7@FE83v_cnbr{{|TI5r1NKDgP*`}kY-CX@m zIh12*gJ$_Sz+zQ@1qH(VterVDHpf1V!ZQ#3b0i{~19oSbpL!ko&%Qq;ms7kEwXx!sqrc*YrcYWSGgPaLZtA!%+y%&sU@fIyNYB?R?&AQt%Xs--v|SY39$9( zk2&>BQBY|Vu=M8e{xCdo)$u+<{?fi8!uj{iiPJwhD$)#5^h^Jt{FOEnmo3}S7n~Y% z@W@A>8X*{@Pos)RlYzHQs3>+!$}mr@l8nMDCn#nsBc2S^8OX#Kq!4bBMu`Puf}RHN zb8m&`83h$uB$?9mncb%2Xl&1qG{Q0Sa7MMVT-;{$_DKmC=<5Whurp+GhQ+O}<>la5 z)9Lg0IsmS=GJt1S#Q4F4s?g-@oKBb2S?^zYyg&C4r58cNwn4h0>-q`LVrBB6<~$}byTRY-h_H&Z6rt_aQqyLbS4~HZiS)Omq{`S{K)2f-u@BLq zLQ^z$1sD6edP-BymGf~>PJ{2!x`{8n=2kk|J{`AUNa(8$-{i zID{Ta-9w#pO=DUszW7di*$eIuJ~qMQ87#kFNVV@N8a}@jbSD%%n_}+%A7*p`B+(m+R+P-&x;HPAI6UOBn)x%K~rz5%n}dxh$q?{b`?{4MY@IjsSTCB zbqQ;I)%ki3Wd*xQJKPvkgtc&+doj7CTOX!m1B3h_7Oil>nohfd_=&iMxEd>au!Y7X z(BFfBG*RXhV^<^Dj>UNfgbH+^xrZIfX>`(Dj9AI9#w<`wH|zne5rQe_ z23-tO>WN5&J4#s1X38TSmb)y+2hfHLFr-2=vnkIEoBH%rodMGwYGIvk`Yml5cSjp< zjs>QB+~+O3u%ue49R%VtcvYJ1VpHQZht*=_r^F5VR|>~x!V|SUu&|Bd5k8Ag;gEy_ z%@+$vSqehBOB+~`Ret+>lChGVGc$Fb+s9Ur6v0DJ zo}!{JHsV)aU(6{6Gi!dSO$uvq_y%q!Y8e@SLX0JoD1yR*$E|dfeUI9NBEI4sC&WRt zE$&f|Kt7`-+LNOxWj-ec8;adx$J zB}G#Bo1LA#-Mx$OGWRx?tWA<@I5PQ9((J8h#A>*>d3V_F`{fR)T*QVaX3kSycr@yh z1`DpwKJ*nD79El`Q`e*Lq9bzcyuN2|Mu^``UVK$PvD1xEvpYy|9y7|Fl?qj7SL^i1 zX?9IkhG<)Jqx12)VcR%)7#St99qp$Ta?M0N);h&NOp7g)Kt?r}!hz!O+GWT6nYsc# zp0Sv!Ny0@zuJU!P&U-a1iQ47)^Oddh#!*x^j4QPoH8OTaIT10aIFiPNnx2YU3~~xu zgIL#$4kOrRGq~~S{+}!shxxqk=#-L5mUg)Wxwwp81Zd%GDilqY^{7BtT>Y&WH4^S= z&vPElrWN`3O-t_1np!_nGv33b)Omi()+wd9J!tn%T6*iJh5o}o0elxLa^AP8eCA6~ z5}NGzGIS2SOr!oC4TFU8syWVKg)GAowH%9@ZYRK#CvxgP@gNA_3` z4V;>j`-G(?#MbW5!_>1W(2q{oKF7h$>%q{n*B0(t_ifMN*@9|ez4@E65Wam05gubPf~+2DxM{V#qo6?;S#@Sj+FA^28HSfp)pR@z%)3sRJf5vb zs8lf?+C)R-tUYdm;wq?M9(yQbX}=1?Gk_M=D(tH>JbT*>C@i@HyWP9wtCZ|W?5ql~w!$z6fBE`DeA#Qr6f;CY9hMk>_5o<9UzT} z?lUScfb6WOB;)&D4C)A6`q`Onvx~8dJll3FUXDs`biy_?i#U$F4A1Imdu&5rUI(Kd z2T~9|(Q;{9vEcF|vh%))a5W&MU?;$W{P7NDKq;-#Nxv7VFGhK ziPdeF!lmpS`dqwPgeNQf>^QONWku~vW&pEVXOPcOhL^DK9sQ=^f7)fhdmf?D>B4=Ic5py++5E#p(ElpS!eN3p@05`EK zW^xWq+chsN!6x^8q&QVqEddr9CTkIeV6{EA?qNr}aPaRCfZV2S)LFy`V{5dwSC(VN zfNb55*mx8Uov>rCxwSY|McH~*Hdfmz5B^7T_R1n&_IM*wNZTAq_wc-6QPT4HrjmSG zVp`86%Y3fA&B2o#1=CbGCfK`8a?Ga%VBN)fq1fcub~gpn^O$5LO%Zmn&K*Zbxih56 zK?>p>=F7_(pHiuv(NTV&0>KgHpp#`g8Wwt_)}sgn7*(>KhQ(Uc{jKFONmIBs{fk*! z=s>knSW0D9avKaz@*(l08Z2bZ#91`J+oaR^Dq!oXxOmf1m5PPVH`B0(GJJZ<%%jQi zf%}auwvy^<-7JDBBrX(S3RAOR7p5sTi;T7CaxeA- zrm(KJe*oN?>F*JY9W6of2e>+Nq77VD2niXjM>(r+8dOx>mg$TXH9x5q-@@hG@|1HJ zD`+@%lybgr&j=X#R=I<-Ffp!FShTZM^k4Xi_d$=)7@nR>N*`13;gGkWG6aYAt`*ZJ zAI?RcJ?vOWmBER8loxh2EOuG}hMA2^OdapY3gE!nR${3|7^P7)Om}X}o-V4REfwPG zot#h`Cgk%|*t+CiGdCa&NYX1CYDXe}R5@YyGZ?EZVQjvCmhacAOI08?F_F7q}K^|Ly%A~LFRd$;Hsp5rdSkl4^Ml@ZD`%e3Hb+%)U`SG zSMTC4a&Imq$gMTqJM#NtsjTlWm{h5JS}Irkm5I07><^Wi=H*mHPxkDLF1OtO+*#Fd zFwL1_hKEJQHqOpt$)8_XeC!c@fZbQMLnR{6pWM?&brRs75oqd)PJ)*j)@o#styv9P zNnkIlWcV1nfWqu^#Q--0Lb^F`^O6Y(&1U4n-GIbY*H%6RF*~SSZn2{dkA~Z#$dmi< z<8u@P>F%t3_*GX!K+zLY2v?t;4dN z0a&JI7RG4!ZhTIR%jr#3J1Vt=-AXjQnT)()bboT9*R!UY7V9Ik%S=~2UHn9wsv&3p zpW%TiuaPGB8x1ymGWUHs5j+Ze`Gkz0GPaG#0vX4!QBsoO&MG<1BRgNl>xivH`$UV6 ztL%Ibuy9$e3ae3j5*HIVsNwMN z>s--cx4WXh7N!=TIs$kT=-FkjAnsL%&_!WE!s6F0pp6WMb6Eu=7=e_r0|N(_rB7V{ z6u56IMk>5~giABuqPQ8JphR@S2W$QESCs@??qwX0s5Pa0)jHIVj?IE(N(2&0E zzlHIyO1S`VKAc3^oE7qVSS95NB1Zb<(h*^!7-ad{q*_J?@}JcB(xzeMV8QqfgYYW& zQY1{nF1rW|cuKUQ4L4@|4h^ts*PDL`${h16&HjqSl+&U%$f{1Jr?CVC1aSO^`qm^ z-1O5k)m1gMtM_{MD$i>~fl$9G13=iy2E7y52w=t19ZZ#KzC;X)0aD@d(#&a6)SgvO z^J=(DWoIw~EpFHj?DMdbg z6|@7(!IHS;XExiT+=JM%W$O@xqVoQEzop0V&6VoO;p(YcRsdZcN1Hg4@tFY^!a1ns zeVJ$5OoCEFY^ch*>H2iml#!7^_5h?TJOQKzwxt&;cIe~I`FaPz4keIYwu`*6@uWi{ z{$Pc4f#v(fUmPa=y}++Lp{3!YnFGk-2c^%}zE$J|Rhl00dDgJ-di&ESFU!{Bc3zD| zy;?}qYCkRG!t;Q)>v8_)@l&>4`6U+sV{i|myd6h}lwr^#p7u<0@ z$^ie7I50If9Un1u6%cbA4kqVSGu-yySL`1g;Nalg-`rGRkVc$^7WI3+3=-J%f2lmk zS9*peLYh{6%TvR+X=!{dDBj815uvZzQd+HVe}p32%!#s%As~HtCmcK|dl+9*98lL| zPKhwf)OuQHGPND3z-g5Sn-anBF;p`BFpt-sLD!aPn$lUHi5L2$@A9`vh|si|bxECrtt%lm;`vh#PNNQTer_njeB zM#FM}Yy&JTEM15B5ilB4l%N1^K=ry)n3m8OsD7JwG4 z`+A+i7M4kAJy;g}OkQPMa@oA==qFf7lQ0BHt2#_v>fEc5l$y$`^YyoAjL(Cfo1XPib<8SkFSG<+LxU4zhgvH4DoGmxJsY(G#^M>-^ z9q;?Lje)t}W>c7}tc?XE0-mlD=^U{xfc%)yGokJz54;H(K&<}kx@?(lxu;=ZFJ#j7 zHS<;F_f7vXtJ?a(0pn9;2K!tGNEsY+CEFEA+QUcjDPTgsRVH@^z5y&@QBQb3toDcY zi_WL&wR=EAKR!DH|I<-ZbGaJ8fzP9tjSY;9y=m%tIRmblf5xv_Mjqk}$}A1Jv@Nd> zW_} zP~rX#S1RU+5FyQ!Iw-gk<_wRdH3yGLUUrei_>#Oy5c?Y1NAYNW4k}flzG@9^5X=cg zR<_{kP9zg0W#xMPzThwgq^%huBBCzfU&pqm-Rb!k0A=h~teSdOWQ+Lbl4#Y$LZJt4 z{qZQtA9}EER1s(8`(A`1aek4)6h4n)fpp(g5fn~{?`!Cy;&b_os6uPJaK!32-{P02 zd%>G&(M7VLEHMmH3~F$V+4)|IE;AF;%fn90mJ6V1zdk%XjKs;FNr8$r7eY72X_5HW zKCjyJy9!s535g49wWJ5fZ})TFH_Q2&o~RzBW-eYQo+mQZTi>59)ftUp6ZQ@CGuLx} z1iNnS5Q0CvO3#AJujrrLt?@mOF$X%v>{s&FKGhDM!;WfFwI2(!}wjQzU^ z!Qy=y7{RBdDd*EgKO2y)-2j$%Ji@&}v0PT~DM=O1fdjGEje=!$??H5*wkb1-1Zf2z zzH?Qie-aDonY)Yed8QC>WAk}^M#Iu)UjlNw8!ZkroHjc__e}s@U{Td#%x-buWCzO) z<4wU@y2AFnACH5q25WnK1PGAaj)&6#J;8Nu?Pa+)H#e7_o(>>16B%3|+nUvW>O}FY za<3f!u*;4Dn9x*ufU0yUi#@nSdbkqyq`{NBzwi3j;oRAbseuyk4s2Y9Cq0230hcjZ zTU(2cfgvglJIN%W_ek1(&^%jQ*+50NE@dFfF3=swLS*l9;3SV=s@quH zb3^@zptrQ?()C1C)b8cwwKyO7{Q{8I56M`*?E@vx)C9ooS(g27UJqDA&q9m>+o3Nb zt84F7Nvbts#-kfYa^m_zBxmIKOt2VPu6{uZe{@hlWKHGCCG=$HFOnaJzyiLH^_Zg%_Gc>l?G zux8DyT0!PxlSJ601tq5+34tcB-}`leF0XpmK|(aI08~SuX~NdFH>BMDgG1#T(Eg%!V58md zmk&?k8QV0c+yM8J3m|12R;z8c=`b$G(>}c|mXjsVK=9nldPwBxQ^%V1%cqct-UNGS zY7z*_f5z5(=8@?3c_Vb+DvwzZ7A+g=>+4$_4pfzuGXWS>$NpL(T|~$$7ojbk%WApb zCr?rdr9TbP?2V5(+MlKU1HhmU*>k{n{abaI@;Z0$Bmx&q>}D|$QuQi2h>E^@5djIx z?-DV;CQ@vEfNAHtfuqVcAw(b)^d{`QJJJ33<0Eu_wD?`ovv2qu8gkR;;*?nhLFv>LUBU)|lm{0kzt;=(_W!+84%>U6TgG+IVRMkc0#c#3HI;Cj+bw|{83 zxVW?|EL>?aqb!&}54pX@Z9}+WwxZq;khRX9B-Ec*oo}Qf?nwF1PWQK<)Wj~Qy@DWw zcZd^yd~#wJj$`8X7DKG+##?p}WH@0wRorSpA2S|pRqJhX*;*}aj@~YrjN1ryh$1bnj~zyo7O_*zbZPv-Jn?{5G=4+Td33w;phW^pREv6kw6O@ zO9SsBKGmTlu?rAQn{Df@4(DmkcHgq=K%2=_Hi1q1mFC7Hwt)CPe6M~CI*xplZ$dEl zTA4$z)@sy{%014*8BVK{6fzGFPoJO2X23^*=ACF>Z%)p2*9XO<&xx8!Kz77;-M|1vu5V#QCv>>ykc~HyUe=qgnu&d*H)`O zV%V1j)mjbo(&ekSX&Mj14l~cG4LFxzHeqtO13`(U{jwJzP$guXx7@pKAS|Uh*AF*h zLTsPe#nlo5`C;&=G!OH4H|e+f9IE-P3)=Ll$*Ob z$$N2A&|DNA`!#?{ogK!S&L3opSIr|go;`os<}ypP*rNgsPa>baXgT*ptAU@W@2*Td)DE#SeiHeaNAXYIEgMhM*nl0OBltKlI%$;y6!qsUB^e*|T| z_zr=E-s6|??(H_cmG(d}-vKMqWx-+q$}hdG&rsmjghE5=;V>uyzZz1~k4=~~xerVd z-8QguccFHyX=GYI%lRL*2X=AlJ+zLsN*IJ`{PlUi#O3AXjU0q648KLdO*?%UR#KMLVXhMzQi09fzx)l#sqj$pgF@8dSN$mIBJVT)-TlD zdvHX2%&Sbh!XN#8<9IJ5irU?{-z7vs1*cYY{L9${e={& zF29t?s?zsY551^{Equ&}uhU7Su|wdCK8bU(wbsnPSL9GZAzybOAeiwLD?3~S2t@$* z7XTJ-;=U4#?iK_2^7k$n=)xhRP=DRk^UdR(aKdE~LU$xrr!A<0oz?0r<5Ni5+7m^B zrsbQ<{vEClhY;?gGA5iXf_KQz49qzJK46D~0Am=#%2vzq?G87#l{zGJZAWn`pIbYU z4zRCKpb7a1L?@vS2;IGAej$TdtnjdEgRzp@zU)ImHOuIVcNB3^(u!v; zM>L}-Q^oR}qR%jDgArR*t%mL62-$k?%q)Px47*1lBb5)a6((`=?mM**DAwc|Pf_iN zVFaf`iX3)h&j9em)8BX6!)ZmE$Dx~)#9x*FYhJGOS|!@`NhzLV z6Fw^Vdqa&J)}u48=Oab(Rl%$}hfCU4=S&PtreR_Bi5w!3Afu!O}+92d|CcS%1k=KNJOi3~4< zF>m+|mn7TQ9a&TGJq^vH+)i2aH!01PK~I$;W6=p6s9yvbbFiC48O>Qlfk=w@QJZXdQxRxF>GIecIAFNkk9K0XOK6n1ro zo^vk?9)*ucI&G-WAa_N>r}}RD+1Jk%&oiR@M7J$w zrJv#*mhzY7zfDB1&KV+=u8f{Q@HpZ!SsXbpM2!OtF=+)0%hnyh=FW3haoJtZqlWH( z5h%#nls4v7yO<(Wpiu3l=Wl|t_wf<@-N^ay=51%<5)|a}5#+d$SDUzFjN?2kw)y#`!aOT) z--~y8^3+V@_g&eeK+C~N8OzkvhFuAy#avU>+#J7Kc8cW!P5O?oYII`R8d`ThQo_E8 z=os(V%b}}u@#dcR`(a$RSK-GCAnLuRgc#&zFTG-{0(Q-$1v2g(VY{P-PnX3D_02WN5NaH3pf1~qh z4-)0*>f;<*TR#>CMTCPJu{k2;`zl=7&E_k>T;qBxgru>liHnPCVPQc{O-+=PDkdbf zVcb_Mjamuy6;}#B$+9vj?NnF+@#zQa_W^iWYKn99>62SbP#~cLjfbg~LE@?KhUppe z%&(5g>^1e@G2;QU>|`F${WowN@P$eu- z`I@M9fH7zFYD3$bTU>{FCW9$FkVy<;B+(P>rIfjiDtnTk^+#3X#fm} zD-oqtUtR|PoH6%0m|da58)IINH4N>$`dGNInKWL`EBjuWVqI0PQoq~;&9X|7zU3*r zH7a@H=kFQe3lySu80EH()A_#Eth8`{mch_-hDPZR%-9y2<1YUfO=@iGY(|_Z-8pW&BTZRNS8by% zaht{odxz`VZJZOna*R7Q$hPN3Q5F`?$vc}=;`tL}=&AAZ``5jC#Jz`m~d(J+dt z@}+{y>?c!iUvRKX|495ocGlTc?`yhuV9o?`Q@Ez)#N|AY(f{Lg!rWKT8{Y+Xj1F|ZNKWm|S zG~U8vS<&WQnwg)1+oGj9Ou+jNx6*ZYsP|m#jJM#!RuWxo44zNeE|{n&}@I zt+nAiPWKNZ1;w0lM+zb>!PEtDq|V0=WplQBh|D2~iGFfTk@hZQD76Tg?uep}S4>g* zZAL^)bk00xINcORirntuo0juyjvsk54|E1+xvJ=yt5PpW^D?4!JsMrOY*QuT+K+V7W8%}F^W&Bz zWSmk~K3IduCQmCYlf4~vz)CPYqoV)yt8y`|-N++*idz#*7($Z(+{6)@A4ER&k`SkF zq{rOux0wh$GQ}Y#P9hr@zO~WF4B>)%^^9Se@efU;wJ0iNlMZf^c<~|;4wRN9J|$0j z+==9KVY_DYvwA)3nPpzaDOsmOltNZZ&I2}qcibbj~7JH9qm6f*tIWl8wnUB=4;)FOit?Vnu0IoHb z$;!4?T9L#c`x8vJtqF%i^ylv`=u(*aH zq*0S_jy-};U2S1ltAe0Ptl+Yg{G)?by8MiLFu|jg1$}F=M#ujHr&z+Z1A{P2qFe|u zlLAuBRl)D)9JCB(-npw@sBQ**b!3{Icr=Wv|3~G4T*t$lF$PDg2d_6bf#)Uy-kR)? zs7)?vJU3yONfY;q)KigVGf-XgxM<;Ujd?m%h=BC;>MSbA*BG>0b~@rXBoSLAv;`ss zM59cg3}!YET(q1-&vEk&Ax8!|MX;{qv*xb{9!i7lg;{)@G87ZD^gubf7HH$!LjIiQ z)~$csc~`E+E`I+AJ`<8oQPR%vdDlrH^3EpnHZrjh3NDmCWVw)_ua+USd~!ke$JhNx z6f=*c$o{TAYIPYrU3Wv~#sT`-cY~%kd}h6jjLY)!Y2Ulda4Z;4;Z|z>(Lnd%9~f{Z z6<9;n|BSEyGFdDyX9qzncY>FL>?c&&M$9+hy_H5`{-&YX{lc;&|82Y5EE}q{C{L_p zm})K~r>vocmXBSicdBGpTkaz^+5zBHkX7(l%1)kr`LEDhWXJFCS14lE_cT)4CF$wD z3!l2NQ{5JAmw?OJe`jeLjWSt&abI24;}Ycg^h*Cofndiam`V5fw9M7sY9QefCO8wt z?0(fkvLPe0+8Uz8;!ITDxbUbLS0)#uaIcs^eaNMqQ*xMXd)E3{zr5ftVypRBXU2i} z=nIU}3D2LjJJ@i3wa&9cl#cuKkE-3+md&><+qgw^&R!_Kz5yc7*C_AvrrU3ms@fq9 zmbdCY_myG2l64(ic;;hKo$*ZYWQVtdG`_5QxPZSe zWsioxk7&uq{Z|KPDO{lo7DEZUL)B#@)AlTr)b1Ab+_E$f^CaA=4{*GLD+}ob{ME9; z7-d??$pm_Muxb z^am52@gr7bbRxz1j@s4x5%ao^y1V^m!GcF~XJ{kPjk<+u*17`C^O z$i&>`G#QWxhOjkOJSy7t)HhA^gy+@^k&p8$J`w29~fCwY_~a`v)7R;wgGKE<|X zbC>!-qf4 zH$uG>RIpxGsO(3Y*Au$gNUBr26i{R(Bk|?%vS>^?4gO^feHIGvp`c(f&?55b@-a;F zqJ@E7FaMzr~zmUY_`hXG1QC72cmDKRpGq&O>mTJKu4^wcIq z=}}Z5qn5nJ@}0Rwv#0SQXpIpp;5o8gHvRWlscF6SdSs)4l!=_)`d2N-y}o`5oEbjN z;F{K;W*h;!P6Bf$HQZDL%D}aRpCyOpr>r6*9fXImY*+b)tst(}VLX&X!M~Vwu8w@? zz0bP@ah7z9yoHvZPk0k+05_M>L@sxga~a328#kN~hF_;kKE>P&^j{X&Y0u}!<^F!W ztE@_uw$WqxJI?az*MQn9Ips%U&CHn*1J3R;rP6tikX*Y_iz17OYBeSKz2l3KM?xm4 z<*RoMWe98i#ZvK-zn)B_IoPdeTMR-k&Zn_;bl~*7zDsM%;>1DjOaywv4?zNi`X* zFfoHUjf@+7C~ww6RZ>BO}r5}Lry+c`1iH+_@zlH_Ytu85GG*ofYVsu^XJ*I%!R z-N~{!tzl;;h_syZ*Gx;O1E{CY4$NW}n~@SdRGf~CQJ-2^Bv6=crE!!(jk^y0WflFz zx9lc-+a0JWBE+)4Mt%EkpNuzYYBJwFv6@Ud?`Wt>7~k%cV^_M~m{_(oR!gTe*+_=^ z6jsA>4P;Dz;T@H3f{g2qwHwQE7Fjge=-XT|aQ>8;Tvk<4O3KM@fBdRi$McV~P&!Zl z#DB#>dQ943RuvcN`>*5T3j+r=cWD#vyEsN?VztSrE=0Vknky}^I1;aKOP8_cqbxy$ z!nFKDsJmc$S>W#i1+%~TubN0s4)G36XNxubf*kh3jfXZ7sK#v`WNgWj=0SFo1b7sv zehcf#s7{O7ImB&?q^d0KH>*|Hf0e5`50*ePA0CqQQ3Sd?vDcexCJ?=#_m7rWV9FOr}2w~45Z+rECMad_$ON>-Jg zq4gy`)heFJblGR5zk@UA)67am{nChrdnQ$qm-Kh4TAQb^N*PpUm50J`juH#U*KJ*l zh!eDs0X&RvAH@m0W?&rAZ1bs3(NKlH>UAfJKgrbmu9_epO5|IG`8y7}R-xZ^>{a6wl=P^LyrIYS4rz_wy+K#@NY(-DMk-d)z zsZle7kP3)UTf=-t{vM6>tN)_mg$j1dp;ei2)FIjpRfF>c@Q(LKX+~4{w_>I_M$7;P zLSF|w(KySHGEGi7U2L8z1Jk4~7I$O5o}NS<7Ed!AW5w`)(3uHL`(hE zq*EBfaV#74Bhv~3lk4%me2OleGl^n@jy-xDTL*}?CNvNcuSvE<|1SOEPZZyrYVpbN zEZ&2B*NrU)%Iz!Ei-oqQE2Et64*NsAO}Uljl`G+2T~Ajd(07|U{HGPutH!EmEr>kz z{3-+ZV^UL650&RQS)uR>eq8<{O@Z=qz368x`WNSrLP_;lfy(Sih;eDQjm2>!aeF_oIrJ$u|@yl9Ykr*}NMs&LlxWh~l||Spj`< zH4X<RO{L2O{!}JM&M#k_b^Imz2~S*X;G*50J3io?I3(qq z+MTbq0OronOFIC2qZji)p1n-0{lT1PAR!Dc<)GxDpYkafe+~;PXR~1?GW?syzI?aD z>!5aAjAPC1_M(jwT}I8K`4NlusOO@PO4S3g*$CCSPH0Q<35$n9Sj4FW`)Y!-OjOu6 zWq<*>+6uhL-$qv%0uzo5P*PLz6fIs<6vO|zj$k#m!(oMTNMS4zCh@0@88Q!eBxNRJ zo6G?l3a0wMa(|Xm&h%p4O(v{c5NrC@P7~cmezB|k&8n+IscDJaP*p?fLVI-lC*=6t zvJpFn)rIhmONTHNI<*o$ONH$a?G}jTcrVRczYpL|mDKtL>~p>li`4F?8WA8ZN^LT) zW#X9~9hH9Cw=`hEymb<6|6wl9Mixxo@$(~F5l>sXFsX6CGcgVcN65>>ubTVjhh7Vf z?qt5t6c(F!TfcE!WxNW9`Kw}tT8yP#j~gbB^9emOerqZG%ALjgBZc4gFSBetZdW6; zI22)AN`?d9o|$CGG4S0G$X1Ay?6!1r@R+bbr<=}eF{ejeaqZ!tSn;px0yMP?*XrYH z9{X1_>-8N}RMhRW#EIa0(|5w|F}z=Uugtk&c7%mq)=lqDmjH4qJLSF^5a0%);rIB@ z0T&v=NTQEB`Z))C2!U9Dn1G|>n)k>LxCLbs%v{(J?Kj8DBbt5*4^bho*XM@O0d+?s zH!PP=2-6i$=28ZqtD=HoiMJ3;QJ~f8>@B=Beyn^DL?u=mfiEpN;Q?yn6UBh5fcPcv zG2=;sl5wpRR}CNX0Z@4iVTUo|l4R`xnSQcoN09|UxPY>fo}rOoJQ(wjUy5eI#-TBm zxTyvZhVk6ZZNMd+5KtK+KTyAy8(uBSgdnnSc4p*yhja=BB1vu{{_c-(fUS>#awNu< z6F=8JOVSZy!2C9HASw(`qLWKXufB$#ho0Dpi9JG`T(hACj{H>K5$ zs~>L|V;H}iG<=?@n1@^Ap=JB+dQ(apQ49|DFn)M|{N1e*RM0&|-r{1W2^@5-ttoe6 zS|+oV^dJ*@5)X524`HI>F+v*Rcce__??_sVQDVZ-bT?r4bG!Lwz*x8&3%XWf5rmAE zED0TqNFhSrqRBFNC?#J<2T*rf@v{(p-ol{WhZ~A7sD+}I-Ov{in2rqXB)=>R><8N^ zgrrctR0k8M9WvqaZH9$M^8Om`S|8fA%|#&Ya+XmO8`f> zu-gX_k#(ad)w!`!rQ&MEZ`+MP%@2suo}b#4Vh9gGBa+d#A|rfsn}$}P5kbYpLlcpd zo1_Qsgo;caoZMwGlaVFHp+mS)X0vzt-XB*5YbZ`4Jefq?qsY1h_O0obc^Jc?xp`9% z5ux$BdK2|{5m;&QVSl7YaL-^li1wFSny!6u)e4o3pS{#QVm!oN3z-RH^%>*0Hs#sm#Ef?V<_~*;i;%>-t4(>31UXEeP@SeD zv(&%dw)j}fKW0;(%{Z!nLw;-k6{q4T922(r+h{;JgE8%g7YRW5;e z4-#LN_{cH&@?b@MD`T}wn83hL_48vL90B5_uRoL}iXFRXKZxv8A%iuY!U#z|$Ry?i zn^*{gcA`Mg`IYjSwVMrke&ys6^&i!$aJGb=9i-6M&`mgo0max5@e)b01mSQ4x>cEW zyF*VJT)V+e9osR+Jy_+b}80H~g{2qkBru<#9VX2lF$fFkQI`8j_Td2sP$ zuTraGtOPgAvPAcMq_&c0O7A?amXc@jpo2YZ5dloq?}K#oA2EO;K>O}B8WuK*u77LJNxFB9^O#tNpwcI zJNmIQL({#Vn(VKp*onrH*V_g28`6z%Rr;v)S>KHhs;RfF;`Za}+@+vqV_rT!`Oyx1 zNU33E$7;3bp7D@hNB0l?lDr>3`a}g7Twv&Ixtl8iN^o&m*_kFO4HXqtmD}1YJ#Eld zY@3k5=PDh}@*4H$%@=Foa*N^6_w7{azWKqpgW9*cOs(m-Xfz4}fz$^W7_)zfgzYEs zUCckam3wC@&Z!uhYj{=9Tqbp&xVr&E;EVySPTc#bNN0{vf7egk9Xh5b8b0l;-WPq= zsYvn34<G{fT5<{=@(^z6rv)e#=bt=K**6#F_eYrpn)3?>;zy!}KBV zW3~BFk4eRTRdxN4tNd-N!K3}|T_QUt=PMtd25W2Uv6~)}Rkb@Jx$8G zpLA#UtIMJ{xvNzu!8ijDM8#$(Q{c68{S|)edIlL896+v& zr})lI)RU}LCtHQ=kp8VIUJezJvSwrW5Iq~uMuuL5`%vN->0q4r<)w{(X7S3UOrXC@ z%C@o<`qmjC6wf=Uvb9)`j&(kJwF;-~RQ`)@VEqe(zJLj53gs*x zF}-gUv+vtiT(>MG;Sr2)2p>QL+?}-)nH8XjbpN|cbO))>??^h)jt3rZlkezN=sAe~ z^11quXYT}I=2z{zdETFL|II#R5c+VZPA(o?+k2+2Q~b%4;*#lOY@p2g1f}`fwnc(* zrp!##AA(3p&C>BIj8~6dkrJBXLP|@E#4g8XsZ@y3MdJ-;m^af~e;5N^d@}4?tJP+I zS}s0WrDlvMDl!HyCQuV|6RsV-5`Aj1B_4`X`94@eCc#eebiei8cR56RwIiOOLJ2$$ zjEoHhE{F93a|ni1LK(OdNNG~V6iRgUta~Kx6Cwd+qz-TV2m9b(tW*JS3?4EIB}7oa zT3c2TS65hhn=h0bzpK~WcQoh0k6>&Cj7!st401gMM#$_K9Y;5>Q5+iu2r4x+Y?Br1EHiNvXD*a>S&_9z7YdL7S?hB>?aSOFvW&IvxCPNpAOe|&0KjY1Nf9a;j)VJ2Geety1j(h}@ zqwm4Muzw3lk>Es+8LIk?aW>Tc!(?E$(SweM9$%Gl^6>p!h=D*(B6M*&vykYo1=Xs9 zW({;EOt--Cmf7fRii>wum%NWNGD$i^R(%?r^xL@ENnxjiH=kEniFbWad}cGu5S`w>mvv{3nmV>!Vp_TW8N#0Y+ zz85K&B?$ZU#Vw}Bgxi!yAczO{d6!esqyYwK&{?O9@tec8J|G`43PcaDNewxOox zey92=;`Z-|lxPrbIR`DVU87pD2s6T0H~T^Cuo$znL&@i}Ww_Q$MGxW7bvn4mRq;cX zrJ6YM^iw@eCc3(Lb|cDpA*1sJfP~0FqngNm^Nc8_EUInKd0h+=ej~iZ42%@5-gvFG zaEYatd40PU2OBagki(SiY)~1_M9MijLib{-kmb$c78m@u{krO8g;IW$RPoX~4eV!#@V+hf7u%1{($w2r3XY7&#iJvit>``+eO1n#Azw%a)%8lY1&VlUHQ_Ol5gj ziJ#E*jh;JMXQ`{~Y22kRMJ#@2sI)}MwUENDMfHLld4nsi=Z~%LCg0mVk?GR9mVFPH zUTq8{R9#37)wsOL+2GHV*Lc_EJ~w~;1vgsgugvi)QkqqzeJ7lEbfK;a#UpRmm+KA}1ncl{j6pMvo;)aqc@KdLjGDz)=Z z;%T1zc5ALYjf=sD=nKps(qpqVopnC{%ifWz92f?(;D35C=VCUNFrl!NlT$R@#wWnO zS;Q@nAkLfVt<-KnnL)zU#UlAA@)t{=;jhJl>K{dhBKrvaWx@j+JjNrue&yNI1GeL< zv-oZ`CP5VJVxGuZbygxYTlQpFdF@9@8GORr-)y}|Xo7DO5eI5^3*LH{K2y?2ob&p_ zi^r)Cn8bent;@h7IuY~&oePQ>s93D=UVV7kXFCu-WhV1#I-f?P=X8QjNv%Bn_U#Yv zv?ZKiwO1YZkoPbt-aSmvv4*FatA6NpL52PzrPZsh1%=vj^0=MzZeHOSTMN>JL8@TazLg9ng|aXuNP0t9_orC3 zx0jp3TapXh_1f}0(&bI;Mnj5R^**C1g)l~8kk1>E6V4jzWjr1x#lf3I&GgLue=Q=OPg?M9uQQR7eH^aZowT75%kE)>~R60{|-tE>()Z1 zEyduF9|k+OuoNemT5sDhZ5%!DaFuV6TKmvp6a4UOQi<_9Gyd;f=W@=Qpf`{2?Xr*9 z-#<{S_1pRL_p$qK)xQ1vB$MCx*o~3QhzM&r@768(^(kv1KPrm%yqjd>KjYA2Z}nS* zfcv7_8vE`;s$sV5$HiRi*C~bU2axiU!`S29(Nygd@Y2ny667B;?}H!jie`RXV%^y) ztdY~+u4;v1ed>3fCmqr_W1~!IOgRCR#}M(%c2BL;EV0MrRS(5~iPQeprKe2-ATCV* zfLT+iwOrALZX?863Jv@9=E*LY$Wv20Kx&wvW(HWo$QA3te+8zkIPD76dAJtXeC|No zDgVo8w>qhxxgqp1JFcX#yK&t&>4O$MzD=9KXU%q(cCFpKCpNz(mEPUlr9Ejn`_aGP zXMh}QL`$2=LP%xE3&`qi7ToJr{b8eqZ?AfpwS>&XI@`i0NoBIJzv-Z)+-fW|Q`Isv zzU?(@BeLZp-T$#Fg@3MHTd6fiR5&C4VNWKPbz;_SB%k~vL_KTkHWgU6*$w>C@Qo=u zALL=+DcUVgO~s}lo{Li*;-))k`29Lbz-Tvxnu7Pq>YFBu7G&tB^4ovpPyOpI{p{im zN<0Q^j9GO5LpKS)FiiAvtpB{=F+vQB3Op*+)D*)&99+KjLE-Z4&@Sdyjdp~quAFNi zf0o$Cl@nxKo;7B2T`jvG%Q13aZ7LgGY*-f;mFn8-w??LI5H%!$;+JC-;dBGP;u7=< zlf^P)(^@(uL`;I!#~tgE9ib!Ti2ko~`+1L}nHVQ|t2Bp1OZ@EFPKatsbm0S@pjpF< z>x0z$P~D3yE=v}3l+htl?O%Rr@jUE1+FC7LH?Cjhz@n%Kg3%^vyI^r zv?^Kt1(NAQ$s4ZK%&-aqBi^>rgH{6(W@z@{na_90k`%869v&KVZX``Q7m{Y2bt}+a za+;dwH`~#TJ9GnA6C(FZEwJl&Q26jw1d)$?3n~|)BUy$wS@=fll{M({R#j)v2sU}>(@wGn z3Z`oUa3Ec1aa+Z5Gk4f^xLj+c_rTOa$zG+;0NvP9cwMOX4%dtL9dUj1=VISRi7!N5 z>K0A}Cx-vvEpG8@`;4<^INg7toD2o!VsDh|66VXrqwKTPpM(C4l>n&hTL0B39g4n{ z1Zu(Gxu(a91l{vGc%2F#9NM{rIr7g0CW1*LrA(l|18lC~MvT*AL^2^(4?nNd$<$@9 z2)vUIkzKi%BS^8`))ik&+wi|W{XyLEH-*l|AF3!l2U!tE$ep&&BmSX)^QbffAH<@! z)9n8x43oir>9(~!<`zs226w1e8u_~25<3zCPY_F`{V4LLr6C7=ig(;YgZ;R*GpyL6 z%%#88lOEM-U|_;Gny5w$&NR$SwEG{lefn=GMUS^bcHC^jzB1X2lLQ+WtGj>%)avKI zBo3wssEFFA(+RD2^`gQr5MSFOjKHD=8py6A-IE=ms>qE^&dBm0-DaSf#J)ju0HUq2 zPHST0Y)63fEv=2hB_f_>eQbQr(LL|OBM-|(W{%CAmsY7+|Gy#!|3={z-%a}MqeqYI z@aJ-ZMGAcl*d}QuGX56(MP;w(CB$=!nn=V&0?dR|ioDb2iZkMGCEoBt+&@jfB^)hG zVVPYO)e;?=(=RMcx#eN=7atd+oHJkDI8%*-2vDhJZ+otLndYy(pDXxF*-S?=`+=bI zU^bgbd;QqDO!q(cNPY(WLy|j${~^gGTPB0&8C`B5qs4^r2fI-ZB_-Fo(%NKZadL%5G@ZL)@%`OU zwH6>SSm?0)5-7LjeSE|GH~=n`m6OAY9BI5R@DKlxYB))1(tr_MNOZVjFCg4)jSI>B zr-o(kEoA|&`H(Wbhv}YkwIYpHGcwI?P08&-&U1-{1++`Oc{gdO{|sFqpoCdjV!<+6 zFq{b2>3`VmnxwbR|A*Q7dnxrYqmLJUFaXev=i9N);fF(W@}3(CffKK)S!inY*GX_BQ(?MN0ht!^(Rj_4jTXN4y$1OKDYXo{(l@LOd^9`qGMA$RmKQ- zeFT)~Fnj}85aH?jpiqpy^1128ZJ**KUdVXxj#trE(OYTk$kYS|Yk5LVooe}}&8?;a z^0}!=?l`ORYyAg@Ff00?EKyCe_wD-sQPF$8+w^0?YuEq9OZg38C}j}Hlx6b5D^2r` zXLFlxKyl%a@^OKI;AZ+gw-OD~oe%UGsz`vmbUa*~aE7pwGts6C%i!9YSUvGDrTNs! z1rP0=`=_pegF*#jCSXf}ayNLC7_D)7vHe#Abo|q9$a4@(x-KA7WK#7h{ovgzMO*Ve zGhJO)IyySlSz$6#!)R)T81+?2QBl1_0TY`+J@YAbT#%{i_6F#1XCvOXGlYCSNlw#9 z{*086VZjiOal*>Vt@Nfzq3ngLL;GdW?JOnhk$d0znUx7ml>YGL8p-@^k9AqE8XZGT3K_ zQ&WdJdSTTxI0!4WKrTRLK3SVwr@c4$IsZ+#99C2tv;Pf?RZpa_|CpvU+ZsRh+R@6! zeotK0HTl<7wH68HamV@#aTIp4AAi#Gb1(BCp&8=OK4IfSJhHtDkc|wtaU)wG6xzh& zE_Ui*S&zmDMzEa_`^5{xE9ur%D>R7()tSnQlk~fmpHYZ*;Y2>g3GhQFMt2b2b&TTO zhntJr^99Kn{&S1~cG1juMnlP@pb1+Z`rWeoBTQB+m#w zX~ie+kyMv2I}-q_mKP+``|H&qYC;OdxMu4D1$Jgy1O4$SqXnoYtgPaQBz5Vvv6Dr2 z?{*;rtj6!NE}rv{4Z6V)GCEcy68X@bIs)A_GSrN)BT7{3qUdF7nW6~IYyrk3UD=M0 zK=762^u{}^q|+%a_J0EOPnO~1XOus?(Z+0Fq55M|b*`;)X=({knxnf+!ymuZde0K}7?zM%te5v$ zv59hZWiZWcQli6e{=);Oxi;Y#!gQAo;*ga$xvD93l}AjPNV7J-l0^EQP`c4jo-=le!qR5 z6v%>^$Vw_7c<|DSeLsH1y65#oUlTAc?^R4C#S8g*6g@d6%MZEv_~LvIn(I^<_$h7( z3nuQqe;)l`Jq5$_>2d``JszIZw$ziX67dUn$vT@kpU@#Nirpk=`(~;dd?nQS+v6^J zdyC7O016__vgOU{?Ze1vaOuZf$*mP`icbL~E^A5d0IA!j|S;; zvv3=k`oYRANTC)Z)mxq324~>M;#Irn=6UZOuMn;x$H&^>eT^YhDdB$p-cPF{R$Gv8wAJ$P_f4}rjIti$><<%}RVs_RX+1^uv_ zHz}^y0wO!%5#Yh(IF7sixHaw5mHtQ%D?mERjL9JxeX+*yWoH8_wV^^|W-X<#o@`}Z zOroXmZWzKyL(Cn@T=qE%iTP7B&L6Z{@dVC71P%W;qr=-dFOiM8I_ts5F~~?+rvxJd z5Ucy3oXUEZD_j$@%L06@Is4UFvMBAt%_zAdY@eW4@=4tNQ6NRocR4A-?aZUYQ@dx8 zQKLk|$M4@1Z&BGfQ2A(al9rC3%XOQ%oHg#Eb82K1H|63lsE+`KkU(B%n(|-MGS~ygFJ2uyP{cnw{LwnVcm7>VSF7Qgy_OJEQr42oDFrj%BFe3PWv#^E!&vzydG%$3ItC z^pK@oUmu8A?M{eX)*8eQse!lI&Uv!V)%#u>02FAVq=D;<6-oWN3by-|x%@I8%z@;G z(%0dn;Q52cj7o)IV!=Y1#lC-9__30=;$a)Ei0kr8J)u~aaoU^Nf&4w7`*lGYiubkq zHRr|`)JP7ik(^g_|Md!G%H5tMdZt7O926}nIE>P0IXj#2I`biXZZc-Vr*#b zr=K*j*`L;?<}NQ*V|GA9${vuVTn-ql3w2-;rSq<$dr?FUM=@X?jeIs6r>($KPaotk zm4gkw;KR#Ev%+12(>B@c$&8|2$XScwMjL$e2`-y(Gvz4p$Req&By&vO_;{0^+W`%q z7rQ^Y5k+6KQTCZewext*@d77Ic_W16^r#v9^ZJ<@BEs6;&*xu1N?54LrGR&>P$u!j zD6$&S(M72aV=K6C3?^W_ZeF07@_zd(`X&S4?AZdR0^in2&L6rLvO9-+9^c-6Ap1FN zIIw`-;gvuA@!hMc{xo!9Kcgb30EVvA^jVU=y!}H6rhqQ^rLlubpynQl{Bo`}{ZsDQ zOTL4k##hS^329s6qUGNfD0s)@ad1fzH-v~d60KI&<1T)_aFOSIsw$4jft2 z%}D?iSRm{mND-bsWa91@4tT9aOWr_=K(+rBknrA(J5=0Qk<=0qv4ncws`VAZ> zT2a%+%qxYYp=UywkUK)$VdpF8TKtPTPBTpf6+mv&Yy~%lIz(FlP@Pyl{8Xm^+v1W0 zWgCW0VUrFc?%Titj;g}OwH5oAnPE@;n@&S+?ry3@XcP`w%&1Mh^7Bl+6WN)3zhZQX z+$Hx+f}n1CB3*5wWxaFPi?=Kr%kF1?X-cw5Plkhy%>OG~o5g(IRp~0*whVRkH|b(H zKF^Z+En2ILk98C@PEr$jV!(WTWJzE5XEDu4W5n|jjL?Z7UIAAToGH%3G+-MsXIW6q z<^4vzb#wn(b~9)hdxlFMKdpk!`rerSIyvLh2(gMn+66hy5p9`~CG>?dc@pws517lL zQr8ZiRk20&I|GukaT5)q&rPV&lVgE{d<1Mped6T)X5TBJ5J<3FlkTfTfw-npe&inl zN&7#n$jF$uFU5M++Y{!$)mbBz48iYFsMte|0`x z$)zAW^g~>UL791g+Y5TkEfYiy7A|o^)4XNcO5) zBwvc>4V+6GUcV5XK$ivM*PDmFzJo3cr$FyBL@pC|IPOwW?6={h?0Ze49DDt7>?@Iv z+2i2sHWsa3(W%j*_TXxF}ETbH9we3yZvFvEL2RZFlAtT#XA+rgo85g;g zGHqU#H=@5`{ZUxfiCQj|$7<)dXy%q}(vzh?cTBg^k`_^cFbrRGFGi{CWV^4r-68h`+7tQ^E z>jX{zd&ZQL)%#WL=8{a0nJAHs20nHbz|je558mZEF}y&jF+_v>&?TkphGW0Fgn!DN z2KYu%+%$OkQCYzHWB;WTOdU_EdJkTC$mKT zpac1E7!m^a)G})s)uufBS^0OsYdgS~zUA@RLg&X&@`doLi*bO{g_eFYQ$yFwQ0IwL zgwou_k@hhAChK#lz-ZZ^bdCsX^k@u9(~*pN-X)>S+_R;B;%V%6Ud4mmI1Ym-P7QL- zmE<6fm7+J{xE#v*emzTU?8*n5B4b}g#1OWbcqh@Begb1sWY1{L3WbZO1|=f<=@aHA z$i+vd3{2UN9&@E;a+PsW6JTN5#N4EpV$@2#-!#UTRnQym+9=It6BDegq%5H$yj!d+ zX?min6TwoD0`b|>VR38hA@XjrFI{6O3DSDUnxOwWP%u7gB@Kmk18>_4p=xBEV(}$G zY{&XV-C4e=d6~s9$Qcj3BtSl*(UHnV+|;cTFUiHHi2zM6$fzK>EP{pTQrl}t)9B0~ zwJ|%-Dwp&SZN1Pe2ZPCzCMy?uZkgFOYoPWMWpU}j$KXEYb5v7Wd0eoMJC)axQPoT7 zL4}Fp_yCR9vnRdS*>Cw4J5ZSuSV7bYwJBvEw$- zA~;;FpdW0lstbQoP$->_=P*9*{ExeSdbGQ70ff2bXx=V#ikx$X#%X`L zT#S3_2OE)Zh(mXNabHRZH(kf^8f-83l#(cKYOm$*h`biu8D$nT0Cp$Xg0?`*_*qgo z{rwn$ZTnU)a`t>4o&e^v+kPl}HiNh(KZy^fl=ID3!|AKw!DkerO6X5vk+#j`hJ@}5 z)#p-{E=igANgR7SPA*NNOIr&n72iyBuF^`~8Qb%T&n%53Xp{H4l(!adSBvg97*$aV z#EVd|+Am62R8I;@+!zqa3`S96!i4j{)Ine=0YVL{2dDrXe1qbU32&G&%fD)2rT2~Q5tb-1i76EDyjj( z7^qyI&d|Oyv%;b^rIyEe_*EtnCH(BbL$cJhGBP_tapMW_<_@sJ@bz;K`zH5e%5{+U zQZRZsLMZi$v(0-CKmx$OA`1BVjj%jxqZ0$PrA!HqKJKpuZUeBtYhM84on#r&$NI_HEy&a$Cw{4c6%`cYiJBq-vmsTEUYcyX5Bu#DIaA^qq zskI_0oc-N{s4*Hbcmw2LzuGkryLR}Rak8rM`P`RIeQq)02BHW1-|WZXct$R$Q}|DE zRVUiOL5v@9R>JAI7&wn?v-l%=VLX3J#Avt0#i^Cl*xEJlG0n_o$fp+n`@1Tar5BGs zG+|VbC>*~pZSQ^u)zOJA9uJym4pXj=Y7Emka4OV~ru&bFRc%(s45U?KY+rgTXZ1BX zsM@kKB&8J*{^j3_bz$QQYw1!v`$n?Fw(UaPgqP92zO0Mi0UwP{L`;C-Xk97~>_1-^ zuN`M^@q83C8Jcg;W&qKUQ7ZGO8m{p`5eGY^Ix(lrymaP*Y}~H3frtK7a%til>-Oww zDz=tBD-S$Qn$XUiTv^bnrHkw!3K4&!-oi>!nVY<)EK0h9jnAt(F^RcxAgtQ(tKPk= z{-ucR5WJ)2q=3Z$BkLm;{$$M!cL88=s#^I^Gdh8>GMi*Lf;p*IwXnIPai z-2JP1trj+>CziZvrrJdE84QzlF-(}gWM^7yUig5PG09|2VUsBXPh;Y zyJ0dkaG=xn2U_~Re+4}6>x?7`*}`GXW@$?>AN-lk_SMvPuQsGQmQ5|Swef#^Mbr?O z4-vUuB4l4dMB$qyhBs-(_>^^WRG5l5tjrG)jx3^A*}$w8tPfsxaPCkF+7ZzM5leHVQwZp7_}AcaZeERtW`wa`aZQ2Jyvi z>5foR{FWYv5XaOKyH3&=k30rl+n1$!$rbAGK}G#4&pj4t-#u1oHUf=7 zY-Ns(HcPnsat)0`(2zX#AJ1d_*Q9xV4+vvV4rJ6*Psn`kwOg~x zh&cXWfh(VdPfAV8a)%OXO>T(zFMDl%*IE>_&w2i|-kmpb3*Fukx%ARE7EvRZ*U?eCma8zT(euoU@kmdO^#&`49s<*61K3PL@c48+a>$$V<@;vnT zHRNI`bU=~l<%}#LcPA&62S7soXm<B+Zic6yCik}HFmq2 z&p*?yW!NoL zgvI1zhp!{g)@4xxUS!j=GSI9dsJUNk|GiV`6Mm!8meMtf!#!1fDpS|j?a+`RFBKIB z)mf>Q@5wiHPdu*lgHCxR#*392>KyTIpA228z_tIh31>&FlI?Rz`~D!JE$eVnBOIO+106b|}e12TS%NJM6`)IMu zrV(((Gi1t+G+^ME3Tk*Y$mGW;Sid!G0Ki6p$zzyId8_nkt$#fGkc_gpuQBad=`k&^ zgM~H7?^lMhD;=!H_8scwoHj6+jDag&SYCGd|8%a>Y%nmpY<90pUp9CuCI3iDIHmRe z{ao4)mp5k3O1J4%_`j5HePVNviW=+Kxa_tTl1RE=ah=EWxMmEJyVWU#dmMDU=$(l6 zEw$jU?TO~Fm@#vzn8XeC+Kg@kQ*KiKn-?T2y{Oc`D#rWo1^g>hox(uc0dBQ#%YVMC zOTe#S#Yzmb|0Q5TH)%8aii&|ST)h0n&x6B@j+lT`s~J#_>M$M6Pn7E^J9LFweQMB@6ZRaj)ijP_-XZ5U36e^cy)+T^HR+Xzc)z@5dG`^P7AZH@1FAO@WeqS26cS82`CUA$3 zIxt!_6nZ0V+M4JSl9O48ooq_UgvQ{FE8OevL%1Y~!uiGT$#l#3 z-lzwiVDp6o(f;!oXBAm8ny9Rur1~;Be5kp4+DQ?JrXX=C zZl4>IzrjOTOVcndiMC~}RoFMO-c60L!)Z=UM&Bu~Mjovf}sx?gq+g*)S-c5ye_PpKll)AEhq zUP=oYeof@kyA?Ir3+@r{DFtN|wq%+#I+_KPnwfL2i7Li5#i^>#fBg=Zbt|gB6k*^a z>+Sm#&FUrOcys>dyDfzLhQOVyNow%jeZK{h465=f=xtuA!s=K_e;qL<8#rVP}MSMhR(ZpFAXy~mO#k#E84n<47 zE2uP?Nh6$Is5)IA>?iu1mkH>B=KPFQKyT%-Hk^p z?AOc69OnA1^=xeq#6*)9{%%br)GA?39KwxzO1=~A*DTz zyYIqPV)g->Yky7MxpjJB()T5pp`-wQ_MW^yl0@k%n}Tw^d4-g8o#cUN$}bw(QKF`8 zwx3HJ)-2cr#Rm#ZG96N-shM!04d=y4D3-ppeJ4R#pk4Vp_*i*Df9n=E(o_z3p+;Ip zgW*AZ)O<>Wt$(hie<`gn(O7i(WP`b%_)@oD8;;K*jDFadb3?fH`RZNdSf92n0xj!> z<-I~|X?i96%CROSUN4;))tTG=$nZXLp!a@%SVkYT1bJ=%+*#1lZIFoL=p~2ao68A+ zNo~WoMJ`LSzE>Zjt^5NiS{{oF&J{FGCe|njHa}>JS(}VX1OLs@u->9$8_NpyKKyBl zf8lu}lkAKj8>pK(-&v9E9FTM@oA)l{@8Gx-KjP56 zRalxDM$r+5^am)Z3H^Of4oWI6PX8hG&b4N_sIAJ(E2xI;N$!)F{yTk>#Yoh zxq4MR#QyFxRx)-A9q}D(+#dnL61`vTqKci^ECYMK!RB>VL_p2^z9q%j~&-qM{6~ zx^)R&J8rr3SHFUU;$5&?d}-%`stnjJMAhT*Zc41Xe`aTDihJVcUFcS?%hzA@nSSz$ zX#Jby`-vjwFU!>|2;Alj$#2@2WpsJtL}86PiRd`)#I%=>-?^7N+Wn^q!tZ!{mjmu{ zdIWF1?=huUND%GJC%BL?-FD7sg#AjporMy(ZxPj1AYPVI0-gfdJmZ^eh1M-wjRk9+ z#(3-yZpXBdi&s^LfX%Rsvy}uUCW#`){yz+YIuDF2`v;!v;yb&qs0W{FCaUpScv-#G zl6~P8Gq2}%4q*7&E*NbO6<(}PbPxX6ByebsY9)2b`qWiV*h<}3zC;&&zWI~kfW6q4 z;#+*gSpwCOv-)3njP>5OhwbL@S7sj}h*GjYeSN=Q;=mmIrmkF1 z0;As~cBhW!lXz*^J(O)JS&sSE6nCb3clK>Ic6;I!y=UjVG(X@q06RT)yqS)$B}JVx z^+~38o>v6Gq2rlV(6fk;195!~y9-ZTNlLL!CYOm4$%*Wo9CZ0(54CP(3U9KAmjOX0cBa7{!aH>$%0kL+F_VSy14AJpK-eCmwiY zr}DVQX`Qd8gB8as@z*>iT^_tYIy!Rut8YN3Y&kbCtct_8X&5r(-7MkANuKqEN{C5d z5&fWBiR7Y*$sSZ{nv;mko{H zg`}<%=^7nzyPqNkl(r&JwA!;Ws$5Rg+vNuG1&m8K}eSB-VF*N}r7&;%( zHMAt6QoiHk=<$J7OUK)lHZq9HmwRx~m_MRSL6t;x-w7es>DtbK|0T_=d}*Y+e9oCo zklg=|Yl=)!5*Kb^ zj~?ZqflL?XtuT0%OXB;;z~5Wli8Pbv&+s+(%O~|J4VsIR8)8-&YYSJS7z81?>AmdR zE``q+I(c%K2A3wg8}TJ=60Iy=GBB9zvo0C!vAQPh!`-%AiVdM(-g0f9mMWTz|Mb`2 zxfK7IC0Sc${%)cxrf2Kdg4xA@#h!6y+;JY14X^QXy7u&VC^U)XaHZ0!ce_5F#dBu^ z)cb`1dc61?Ay5oRbY?vw3YHwA)_1*D-w*3M|Juxc@SMu?`-P1>-hxAU%)!^0+4fuZ zj~h!T2yeMNm3?9YNl3zwa|h^bl9#MN^tQ004N@(qfG z*lVbiFoaF17n>Yg89mKJOk};PjC+v4MCK#pq2x54twQ-(yhNwsdN&VYIUWO-u(_vK zO6mo8FcDBwi&4_Ur$dwvs1a5~v*N=lO>dr6V)w9C$XlJaz-Oxy_~r9{LQk$&s_sL? ztFjW4G9z%Gh(&8}iz^m-cLz&SIX51@Ta=_L`SaCsXF$kcmg*VhT$JSe2T;ZW=5SFI zVkP>I{k={$HZDIv;nSs)fav*`*<<`;8nQ-8D2Pf@Nq11Xt-H_*_aU{!vZxCo?PA<-l29O|pl^I9SAN-R( z-0EplmHCk2&!ib+cEHe>dBiS7LN?)Xaj%08K56=W?egSa(J+SXFA?9i&*HD>;6o{N z(^G5J*Udk@eLjqj$WuCB=4C)2`cJy^Ng7)A*zG^KU#_g6)+)9ib*`!7-vKX~M`Zjs zKU*jWEI#tj0E&6J0&hDET+Bjn=}#B@@69|XEeSi1^t9!{PRWb&_V-tBej5J#&P117+b!S{9Q7r?X{5~ zL!-k}D;-MU=3i5hGG@+_k+Z~Yj>h8bokH+_&Srr{N|C5ez=t*CpH!c3#hE~bpDs$5 zi?KlOnjT%KJZUitsI21%o93>);U zpnS>LnX~jOtaZsKM29M$QunYgngl}F$Cop0Yr(BjOBssPT@6S+%@i%(Gt62HB) zfxCY+M+E1Tf56Yhq0WY*<|v2D{gTNy!q0`@E}i*QWTE|n$G@i?Bt1Djx(z|!GzhkS zN5#Fq^>rV8MjwvEY{2swq{j(at(AXd7b*e0dqtYf+=5Hux4?F#prPx)bCQ{S8wTJP;KNT`E`j&hXM8v zUOlU1BIz&H#!6=9?1g>4bt&hofl+__QY6UdzCFNYK=cf64s$%uDX_0C02e%7YP9au zj@htafx^uysg3md;KEuu%F8Im?+vJsV3Q>{9-Bx=m^fK)-CkPcfRDRcU@!u2us zl;hkFdW9uagf1T_ASW7u2yRP2VzKG#QbM8gv#&e z&R-jKkpZ7cIya+?$1?`Sqprt22E-Sj>xmeWZZ}5<+CbSi*nA*|V4Oe6Ce%(U=Vw^A6}b7! zLo9GvnWvi+($>)-=#fwpDK@zcvy`%hHU*lT|9Mw z&)^(BhmI=8L!-LH&tMB;tdfdY`o#gKh(+37UI_;&v)fOB4MROGVN&J|9>tiGYdtPd z%)SQ98P4z}1)rIA1#hM+A9;U-z{h9&3q&SDEn&mB`F8sjNcr#YhTH2Q(j5__Iu%g0 zN4d)AIW@S~0XvV^J{#YtS|9J4Z>OD5%M#LUb3M&Gr(q3H;l%ctW?}Fkgq(}Ve}Qjd z@U2j64$GkABM({)<)<$H4uYnqLqAwIjRdu)Yu^lQiPJyXT5HQAl5cOD4Xh(Km~D1R z&olSXVZ^ooM4KLu+h0V5LR2F{f@DJo0>f!ULMh`bjmgJX^e*^QotK zyY-e)#CPLO7huNY&ElsHSc!9+KWK9n=?WB22etSH#?s8o7DL-Q(rxNy-6Eh@TZJ}^ zN*lHQ+>`T|?lRxviOpIZh!HPi4K-lt2c1uq0_qAWig7|yKR?t{@C9CdoLlYWp+wH_ z82ml_*eoo$GhbjMiJFLepqBJTvm7lRP!n-5a-JhH;nriRZw%=B&KP zeRjorms*CRz(JHG@x-`L^9B2CHKpg>cXUpI&34ok$8*97TdB_)H(QtkwTZs_^=c!d zqpxG4CtAL@3!`ek*XwA6GI&+vTD8y9HVrs!yo&&l2|YcbNa&j)RG&X0tDh#AM>lP# z4vmR_Nu^~FdqN{95<;m<_BNC7RnIVXm9?P((EBCef`Q7T*!M^Fif3QPfcK$9n@qFU zi6%DvxeoQ43EuH?e{<+OY%Vx>C{n=J+Y zNEo*~bakN*cYdkB3afFug1c1+FDzyM)7Kz8FIra(9B;J8dE4PWF}y5Uo~%aREZMr)ta5qH zX#Q8?(B(TKH}5KFpbm6oCFuG6+nuk{J1^u-G1KhiuxmJSEfQRQyQ9nw8=Q4_HP&J( z31vo94`8(r$2bHTpsLeQZ+0er`;E3Fjg6}ECMnw^^6JXYrhd<*t19+~wBg+m)W5|; z^fS$xqZ3d!b4yhbZc|G2yDS=BTil{OWQlruw#YKTI6&}Y$P%xqAn^uK>qc!fZ#*gL z9}4{Bk`aP?^Udmr2i6&tUu)sdgt#}>P*ar7Br>@%?)i{z85S~4A&*~82tEkbk@MJx$0r-{s$#*e{4`bZna=ZvcqhiR~s@)^Uv4lDF-f+fxA~ zPoo z=i=hU!!WK)a=yh8e0?6f9CWR|%%f~QqLK?<28W`)@KGinNiqtqFiQdNZWf5qBhK2$ z#o7{0tAMj!JjBqk$YaUU`lp-TPfjU6dH<|P^*KgSW&dGe{(pFS%djTj_kUa^r4{K? zP>@zShlm1-f`W7kQW8UI#26)@q~z$)A<{Lv6ePwdslmqRW;A2OZ|~3dfBc{C$$i|{ zz4LnInVk{!fffFdjB6109oLHdBk=K7yHNx9F8Air;r?$}0ZupEJj=fFGoI7gZzFHf zL+5Nl5!7Q3GXb2w>s&+M1kjIlx*aUsfN8+bltyv**|WY+$bZR20uq?n=t=VPdMj44T)Hc zevz5m*9&r};bZ6&5C77hqADct=mmazE5r7a??+nbw?j>M!Nw{edu^kx=JV!IWe&+V zg|iqmvPnKaBK8#V@pfEoHyyv@$j9%wQq!KYXxHh>kglh6GR~}mg*;qD<$PDa7#d4H zPxB{@m8SA0WS)~FJK0bc=}#d?9ttvm?TE9r>^^i1z1OnG>!^0mpH}LSrYL4kO*fWR zgw1|W$QZiKyJ2{gTvtZW+{_|*bd3F&aDG5(tcuM1I4!dq7`Z zw5IX*;8FDP*B;r0lp*5GcRP&9LA~F)G%gQ3qtiKsSO2-KVE&_JqUyG2D&6UiRL;S4w4$YjRdXD#e)fU&2t$Ktsv)C+n^YQp!#$o%Z9 zz&v3ufC!x+o<7Q8bXq4VVdLJ!(6TWKkX0sG~H z35Qt{t_M5rfxWUdec|=JN>8{vRc_HWJ3efEllQ>LqdKN{DnoN*M)9{B{@{64&N!Lx z<8M0Mq}UL_TORdS2A8rm-FC@GhKDWtuHew8mMkDWdmeuEeRDY&) z2kD_<(0XT&=8u)!$dWAQeI~uQgv_U{$0Z@VRs!UF(`oP6W1&As24^&y^jWj@Q#oMz z6}A8DB~RIT+5G8~qc86Xk?LvC#ZRb3ygDE4d2~5}P4K`!>u<67v8*g%bdWs`#>^NV zv@5(j;Ezrzl#EN(FEq1peIzXh_vm?_NGtry!b;y2 zDOZ~(XcHf5s_RdPp6U$(B3j(hqY3`)=exmTsDEOZ&gR z+VB=UcTu+)9^g}Q&;~8YYHj>v`O^$j;Um|1iXv#Dp#!I9e2;+VUv!P%yr6;t^JF=D zq%->xfCro9$B>rNYkt*YD~AaCiYIDs_|G8s?>!OsQ_A)~bd+?~t6F0)ZjNJ5;|0QU z6Uuu(!1u&-8v=oXiY2h581$ zvYNi%zXQO(r{izZo_d`$SLOUV=2;JCh$?&0AMqGzS~6D`tnFReu5@ZOPpM}ZXI|C5 zLxmGY7x64;PK)Aez|A-`;0i08p!~VypfpeH8!{w-VuC2t9{65})q^eSp(3rPQh1#2 z$|2LrVH;ujvXTU>tq)j&C74D*D(^Vto_&J7?Go^XEUJynG?ksb7%-L!iRD&+dp>WH zwLcD4{gu%dAnX{iCmPms@{YScm>!pwZ??LpsF|`irD0IAAf{-o5izJo(LdlpuJw<} z|J7zzU%vnn{a~+iMR8ySIlvlG5n*MF z8;RPSNGzA^2#K9`RI%8=-c;?A)E~mJl?#N&Nf#1c@2;pl0*Nzi_F$*5@*vEEgnU_Z zwgIp3$g^m*(}ZZ7llbVw6X=kn#;eso5n8J;eVSJ`dMlfryrpL1oyN$OZCDFY42i1@bJ)NHSa$h(dCcn5X<)Zru}p?U<%^xVF+aO05uU zS?PO_vQ@O^Z=OuG$&mzPvei1(Z9nxo8>Yr(-NpzF(PA_x&Hzg{`dinZ^uw`6{ejCj zBKD^4@$3k{#0Xw9(kJB^YiRB#*w`Km`Q6Q5$uRwLMxK!l%zGtXe%exZg(dKat*5qr zU|Iew?Yg`E6sk$a#kC0x*e^)RYR>qO2`@{seDY?Xa@KSJIIr__ciyz9)vaBL@Tc}* zf?m8|vZI3^Ipk-WZGIH21idP4%|85YR`t0$_xt_5^&OLiY$+O7y_%}r5cON*)kh&# zjNk6LdgPL%b&%v|JGcFLKJwrH8P(E=B>j%9;*uBYQ30` z()Dg89;h4>0B}afU|!M84giW(BH$(IU>$-mNlb!0OS?F-P#$cd+tfK>E(N|zB?3D^ zbNPI^cUuIO3A0$Keov(UI4S%_Z1CtlGk%!)l5gE&q(%ZvB^&SlU9JN-JEiM6{G?RD zJ17aJ_`$&9so4PVgV-LMSX8#cD~t2xFTR@umX);I11mHu?(Obr=iggXF2B#UTBqOc zr~D`z7t~y!jTK4N;<%E11YQ2)%h3AYc~S|X19W*HmF+DIYR1Qib|-dDwKznR$#dR^ zLoWv`&W!YAblrEApVh?v!${I4Y-`a&x1BV!Rumv%3ofx)nl~O#zN} z1;3R$aEjKIknaSA9Ax>{{ran-J())FJw$m5;R^>Jatt-1P_h&lB}sfq>2+XhPCm#r zoc-XXi6|vh)Bol)Y4r0Rv4=r1@Q%qaUTbPc|`Y75%0b2x<@?`^w8*N8iXi#n3!CHzxf~r z)c-;!aAsU!HfH#wNJ@`8y%HiH_)96}AXF){+>AL68etd>rJj1o$`c|hF7_%^ivahN zGfN1^yqn61)Pe|d9PgXZka4xiv|djCGM4PwuSH4-7!+LBzu8`48^qLmz7ct|bep5v zVWFRol`wc--&4Tr3;z|3(ivb>|2q)(dlCk<}{ zYVew>9Y1d)bM?^X)~M3pE5Z;@3Pb9nPxfsll9I;)m^-fb@wNIh^BKRWupAq11>yD72-m9%ydVGG z{d-ids>K}3`Unod4kJhW!FPtbQ{xn!O;WL&s8D&&9(q_tq~4$aHs*8$68(JSJ(4nv z=<}I#Yd``Bsob0Zi$0$RcU7ju`IL|o7k6^MHET94vu@5K9t}>)mS(&|$mQ&j^MIlh zAZ?L3&J$YNxVX|gwT-y zOc7jiC?~McP`nM%-VdQt;1>Y^vc$;3A~0nR$^zrMDAb?4m~{K^`ZrX9 zoHL`8WDtbGeMIofMrSWHFaCk=hWmVjG)>lKAj64PDxRxz>b0xQvdU=W%WmU`kP6F# ztd!)yi~Ds;FpJE86!2x%4zn7Bd%vH}LV^cw5R=E`ba}Y`tz1?mBsN>_;(Kjn zS5J>`JB!3%L^ZZ z`mHWhu&vzPqWpTQSQ2eE8E3dbK#it6Zk0B0CDg4iF7SLqpqBQG(G%%Z0Wr}%mFTo% zC&8qco;J^~u6AB>&|MrLB*b5s70j&&QH(0FSCdgS7fU}r2$7Ca4^UR{c1X5;!=%?a z_r#nXI23FtKJirCC5ODUXPR&e0-8FYo2aRcEuHPX^~@Cbb}QdjYOuMoaGW>QHOj)) z_QAMX@DeNkDqw{~RPuPaqS1&_;T8pc`o`V)S_KYjg=|5p2%Q@dZp*8T?Yygc_)@Ii zpv1eu58^PBUVvZb4EJr=AT;6)Jz1>U$eo}6%?U&ENeYg2mj#U{I1Wb}p3)qG$zbHe zAholj#W92cq4N=dO2o2@(_{jx`w>3jQRDo){Xp&+zRpaS2tV~22NbUy;S(J9Os8_; zQf5ghlNo3Rx#8?<3uTq#W#%=AWn?FP(+n?c{h%sj7a;n8-g&{e>RzOBYAtt5N49^} z>P^L-e-_Ta=gkLYG#h(fJn`Vj&$G@+3H*_iMDtG3mZPuh=e{nPveewc&V#V9mcL_# ziWvb}OOA6{CSsyHr41H6@ZJnGJMi;VX!S=m9%b>3%R25I$RzKkO8wAQv+!a?(tBm6~CBr*UbQ$8@0EM zv4<#HT6}}|P6SGMj0C$`A7Gx37~jNIk-xO~W%rGakw!*s(uK0q^9duwm?tN=={n)j zm*%$AQzumGjO$Mz?LZEX9w2Jks{jH zwUWa>42br{d1;KxDaKOa`n=3@3fv;-x4i25Nn&|)e^4CpMHwnK|5%yRjiyI8X+xO) z=6}A&Cq(vQ<6A3B4s#drruz~e9gYkZ3LywQl$&!5-~bSTIjrR#%M`Aub`n^tMxU%Y zd&2~PGWRd{gsigFx{?Kzk3&q_nTdU5qLm#MehwC>SWZE%4t!Ax^4G5zco0(CkEN|g zuvk-P1?9qr?LO$Qhb(v5tGQA5frU-}8*Y~g$XjNMu#^@nv3P2kPo`psnr!>Nf&z9l z4V0Q?66=ubuGGvBu9PwxYcY<{dYKWyoxr87@XF880>u+h zSLeS`$S&3*AOQSL(&wqyGK)Q1D$JPGuQQuPPYTEe|3_CaWWiA6SInXh^pcFkY3z{Q zfXpBY1-Z3MgM%J=3d& z&cV^{Tjg8@CEp+>YpKb?6tArppM8(R7+2>HWzOi(DU_tqa5S{7VqTwCD@z5`ckKzX zSWKIxh%TKlH=GYfi8mx>09{K5=XRUfJbx{YYM}n^_wD8Qo+jkSp)Ill+q1+#hMwb2 zRV0_LM~N?^n#p3Z9cH}sRKrf?A+PLsWRH1XkKDXSjYGv<-fpIlZhR+N8rJ60V78NM zom<{|sBI|tnDwz*xN~LeaY9m(`SKM(@$V~v`VaB8N>WuFvKT}2e+Ip=JA$Wk47qPwEip^$?ad#;td zsA>ARP>z$vW3-M%U|SX^80Vc16qjF$=2{M>Fxjf<0X=^XDu>442ZpvE2xP5~ zcTwzO>IhkmA6rbdp-Ja*|8{harKlB;=^n=8Yc8|>)4dMZOK5$xTuS@{i2mJGndEl% zBvUi@@6P`^I-CQ4->JELuhHM(J+0cHxPE^|^$=}=oLcP{*h(cCmH~`ZDPV(AJpA8R(}dIS!pq`xcImNS z{TjjE@HOt4W_umSTymN?-0ezf@K2wuEBsoxVk}ol7qI1HPxRX=mvMEYcex`9PNmksGC%+)K)NGP)`=g*?H1Hi?CKP7eaW#u^J=HKDe`JqOLz2Dg&2OuWO;Drk+;Y$J$mKpKDzSyygg-}}1 z_0EW@H|x{9@WIsqCxK%gpPH+0z}?J5n@vZzz;*Kzd*HU;9Jd_aBExfsEOPOiw*EK^F4urA@6*@U%LW*2j8-ca+iWxTC02=s&u zS8EYPlNVY(C3(5z+;Ym&4HPTWHl}|CV4ixp^`YAx*C#cEUDWHX$?MS-yRkNc0kLD2 z64oW*WS}zcBx|p&g5M~%5IcJR0A4;90HVNO`TH6Fn&1&3URq|Bt1%G8#|=<5I!Ata z`4)$^9kXH$QRTMc?FQ7OdmmT%@*1o~(~PsSfBUg`+l2NB+Mh#N!w`Rn6x(EJurG%x z9e*(07{RK{-f$J~b36pHDfw{Jf+yaiIKHfJJI!p{vtLOLI~4I2MP>ThNv6pn z+hc7`9VwUX%dG{2WF zaM{bTGa+^@8o|AZn=c&?{L~p#j*zgvsvA!)4KRs4+YyLj0YS%gFshKt`r125ffsj5 zOKQP3WtVm6v^;XUYivkt{c& zHoV|EUi43jRasIJF@HVTvSW8Eun&Yu_6D{KUh6-7rZ%Q}xc95?U;6j)1<$i1Jx9oH z)0in4-Bys1boH_0o#dp@m@r1k5c1{(TDv5L-1!l50;I(Lw$(%9HJT*2FuUf7=%aJ+_Dc z!x2wXO^;*otGF=g{6$8^s3Tg#1-hf7;TfXyENqJyN=cdII=ns0-;F3_ff>lS#Y_a! zANNhNm_HW1n&NzW43+PQYSY(_^3!QG6NeF-G;Vj$e2@85f8twlr_(=C2!)Pc zpvyy@TJGD>BbKM{j%N88Jb!Bw_Fn^8IqL3YPjP=Zr*|e zIr+JTQb7syZ4Tm3!Q{8&m6pw`#Pfrkx^o}!VzQ#ewVYNm&)t+w;uD9U*sdsXrVL0; zYj9S#WuIas9CcaBx7v%o@W?oG@GYSIEAvxYLL&#tW1d;zqr@2=xiS+5lLXCIlJvZP zgi-GgU)6ki1*!%3*6{In*HWF_q@=xi)ZLC{Z>IGmRJ(}hGkUg?aaA_G7)vneJjI%5 zn1ARzO<>eIn5`#NMsv@bHMzQ+ z0kB_F#;TVBZAWr;j_h)h?=dfOxhWXE^k!+=u90cx9Fo05R4kn;T?7?(;mKG+PH00S zn9Klg$sXB_dbML*ZT?W! z7LIx^Q&POL_)fr5pA9np;4QjAqv6#^8h4h`{9fSa={fNyo@)749OQm(3{o_0H-@@G zc2XTFT%I)l9Qh3SeW$3nd?^d`8nsoCIO%8Kas1;!5k;J0pu&ZzSzz0R7Fl;g1h){v zaRL@-(J=ExW8>s(X$%`ov21yL)mYcOCALwvvZ>(T;5h+$GeN9p59v za@4*()$b=}Wn8W@VaEMC9u{NaZ%-~Mkvnx#0P_sB`PF5m%@sX8h1W(jC5;IG+v_o%v#9hn&jCZKSM3&a}u zTb7O6#d{%Gda*U1>hQWpmR|lv1GkiB^G5w;qpjA)`EugetEP*}$gZ7#_WmqPuPPU< z9SQ6CW5$=89c}&`s2g+6@#3uwlQur>be6xNsK5*UoISb_!}OADWHv z;T2+PCiQ=ja)Cn(>jArMr|8F)kvV<*dK~HgbzglRIKyYCV}CId{tl&u60d87zd<(@ z9n_{&n?V@$!O`~|@mb45lBSNn-cOZ*NaZz3g=r4SqNd1l7u%T{^W_t_BsnG!^Xe4!KI}K0P`5(r5^LlZ zCQw+C^YjFDRKjqRwHajrxoS%6g`tIB%%-DLEZVM|!d+EifNN=G50S*iano^~%Hpz$ z#`v;|&$+xzGEU{Z;+0TWpyQZ5A`c7vE2PHhp=<&9Ll{o+ba$y!j&q!s9^1^4SuqRBqNntfMvNp#c5JF>^wO;uf-;)l1>WNH_0E(vSJJy-PL zRN84hG$^9j31iXJxW8MnSl!f05VIvBALWV3qs8O(n;22rzLxEpWb{{O`xIbHxqc2s z6|BKyo(A@f5Jt^5{D+&XU0BF(&}&K_e0`1x06x>CpwdtQ3w*6%m$h=>URMb%@39Zwsd;cV9Qk8>|oh@YVner6f zEDl82k)64MFBSOvHP;2KvN;|vgcjX&D2wUqXh3QEG2crKzv1Cr?uc@*naEbES3TF6 zswleo?5zG8*Teo72*d>zB-G#atxd2K`QRlyK!QY~syKt`9ekM#2MHM)MJeKo?j*LyC_1RfkJs z@~)$!G`L%~O(9(8PhhiG;wsc)6Nf)R)q^4ULTuS1@aHrdXo?QgBTCR%OL4(hgut#& z){ArTJ3;q>Yq>4DTbNf5&aL}}nSZ`|I7`~lH zc-j5Pc6BwZIWjpXf6DIsXk#qzC3VmKp$Wy==TCXDYo&n6v8UKO%xkVA^YQ<7Vyr-E zN@>02<&nkZ`jpa%4KCNBvhx$eN5j&;TrP28xeEYt5Z$KjiQC?IIeNDZ+VOtMUzG~#LzuA)e>a6K17qB#`;W!~u9XQt0t3g#pT{B0LG?1vNE7G> zbpSK!TX$E_2PR7AkIZ(Yuj)s)T*`Ti!l)9MS5KR_Og2so($NDn8w$#r76w*bO~E$* z`9NIcN{B>#wf}4aU##5ogTuq)X@_FbJ8c!fqxEo;u^4=|Y-OAUP?1f}jf066@rKLN z*VdGX0#j;s8m@KsC($%r79g(7&QtEsQ6#p@n&EFj2JcsJ%1)Edm_F^SWPzFo345T? ztz0qAc8p(HBAbNQS-1_nVui5N$ki_14i96~2K_eR*_b)(I5-;L(KkDpQmSsudIOwQ z+^dS~kwq%;uJ1ONC1X>$=lNo%hecG5-factZ1Ekgfu=m_4dbWOUE#SYz@TUKU=I%l zHVow%fka8_wt}x^DAPFabPMFoh|Il7(k#NQwJF-6x^k-K-O3Iz(Ty+Tz4_OJ;#z@i zE%Pq}QJ+ahS5`9+wPse9Ok9W$na3Q81}2$4c}Esiokv5sU$n@9>bc{~)55qEo>>RE zb+3Gi5@oz2$uTBdxiC>iLfNaW5B^2^^ufvP_+1Q`FH5>SDlajF8!%Ekf@gF)pymGA zBO=FQ_q#@#?Id4~b5zT`X-kZl1k34uvqG9|?u`xBZ{CqlK7D%JCAton0>@1$!DWe* zjrZp|bN!L}NvkPUs3=Tv3rI-RPKcdlFa=bn*$I926NG&W256-?4;4q&0X`?D=)52_ z@Ts!`P>$`U$Ga}Bw-#y%^eXUO;jAB1m&Gs|Sf~4KhPdsu)zR)KolcqV9Tsk4XfZ_T zIQkv@MJ4U<$*hz3tJkl`ID6Ja%!o91S^;l}{GksdmcP6G;sz*1YvIqM+>VTMEsEn; ze#WL{BO!xa^~0bsOvT(it}id%s@%$}{?|pJWyv(Aq&VY0$~)dd6^DCO$q}b@G~EBx z>(%^NRP({c)5O2iO#?Y#meMSl~`b=x$$bffW?f6Md?>9BAbaIIofL;d!Ao!e2r7{ zLsd~l-Ap$Gy>(*wdLrS$-zInL3$MRNOIm3H?hQ{FzO}UL$(*0X555cl=&^4H$1xbA5%d?N6B3 zU-$Y!oa2?7IS|$G^!?b2*kd>nPXu?+urAqMu6}YU;5W z7W(0qGub~zwEkE~;tvLg&j5i zRLOu|B}MDZOOR$yp~jPRf5`X!n9ssCQ`P6S=@$v`evSKg&`uHij4Jgd`RyzR^8 zF!kNRlvlN(bO~aXfiAygl)441%LiF3Q_l+^*g9&pilZuPVX736+`fC6|hp z;ca@D5{Z_0`$`QRtT}59w{W*Jg9Vy7?ta@LojbZZM-7gJ#yQP>glLlbf3l{#zs@~I z9Go<77%tDk*f@;$)k#wfJ-JF_K6Bt#IYdrw5ED2j?yG4opK;?l6OV`D_a47`JFgcj zmzNAacojHf4`X(}*mqg!7a%w+X(4Gs$~tBRW8~K6jdz=hW9IyUrc7p8D?ilI%W@nU zpLx_?ZP#j7asoxhLJvkYvX(cBQRyG&kGJGcxo6KnKL~rkvhIpPUyiBx9mTz129&96qdv`8 zb6}_2$jFZ^AiE0AhC8bYmCxddbd23ix#uc^@hOXGw*d3pUxQ&($?i;f=ghfl6|+}# z_3?O=r|gk@h~DL+;GWjqu@N8=&vxo?%ohz1)8@P_)Vu+TRN2d)vLeibQixRwmDZ$$ zb>@YZ`aBm}%qd1E4i($1qlG9-!xHMJGA(*)BsM`H-^K4@?w7~q$Kkp4R0?0^dEEqz z>q;Vgz4wUdfj!p$6g}`wA*C!dWyc8(ZH89tak!LPj)zcImZ);Qjq zv(@Sw4&W}@D+Rp|7$3JS-d{qPR+)|}7F*{RE8K6BSN1eT!r|-#jWhm0$1+B*)Ya+xz8KmjU{Y`Qmv`gA&6>aJbmc@(U@=5*VvRx6w-ScQtw}F_a z%Iha~{Z1X{T}d(^rwuFmz0jtGzn|Og7=Nz(Tl4fC2OzvbVG9qEQnUO9tL)f)D3Dbb zkkk0b@txM|^9Wf!_Urbji!&PyHpPbgiz~%8#TWmsgo@Ig*fO?! zTPOysM$O}#?xgDWxG+t`Ida`IqDZ-&+3Yr=MfO{I;HK>S@nJa6VH8hKIeb|yc~#|~xQrHEtRQ&F9#L9G`uat%n?fq$=XY8p(L zTq{$SilqzgXGJuWXEFF)J9GhHm34dgMe2ClR_Mfr zyKF~2Cc%Y*Heu%;!V|AjZqo0q7BS#0G~BR@u}tR*sAJpx7`Tq!T?j2)GPFz!|5;4k z#?)%uZ<>7K*ZPdx^~pI>I{mvt=;kmnAYegyfK8+GyV-hjo5JAJdSu!MRy|NRXc;VH zNN1{YUXmt3d>yI6(cxKZ84MV2xw*-=8cdUK-jDK$A|}L@?TIkgvgJ*N-N{zPRycCr zJJE%L#_h~`-lSpPhJFU}n{uYvQl&?L7m<<(-e}riOhmUe2<`Tx5V;%{-~+8nDX$fM zD6u%dsWuwe#RfX+A~sCAU7B?)`y*f@woRm6X70)sW;Iz4cI?)&1TOyphH#B&5iG^g zhsM@LstqPqDiF7+L2!kv2I?o}Ufu?-VFy59<;EsLxn?^E74j;K-aUwhp78#L%?L!Y z7CQEi0BFSa>p5MzP8qQVcV&Uq!rC$5bUvIYnVQb~7T3KqJzPv!+NtDlUQ)orP_!n7 zPG(*jZoQ2qPM|FHTj9p4o)B&N`79F!4t-G%?-@jP+g*x5=;@Dwg56m+8OCh?MYcjB zx@aocL7*at1@A+6m6UesxF%8v8BlJb4A|y-JGhY+AF$ihuqrRe{)XKi?e^yNrr=VqmyDhx?jmJ8 zN1~vy1;@XtqvAEyJo}R4(`pTBk}~0aegkwk>zdIBt$ltn|C&w(?2nZfTT3T6k<4@} zDJDaw6x|?EXrXr|8EDnw;c1LXuzAB)r#bYElz**zmFk^l+TVepm(x3I*idc-Qgby? z!JO!NaHZMIIE|VvOY6HQAXgTqVU$CgtNmHHmOY)^+O%+`vlvg{oP~Py^rVud10J&Y zUB-Q!PM2!_AFbz zHp&-ohj%BvXBMhFR3|j7^)z((Xxwx?=66H5sobiuf-67-V@85pkr(eilC@R)4IBcA zA4-s)7?^6LShhG%wVkz#bgC`yvwmevyp~a`pm!KqeEMQ&(A=w@-w@P7_HRb(B^wA` z&I2(rS?BVWZ5yHEfjETQpF2LP58Qvr_}AawKI8I^uhKLcTZ?=XI;4hs6IES~o)5hy zoOTqNh8)^sm5+x@Gtl@(-L7fXLwk4Y-_PQ{GZqrM!)mzbeVr6yeiWuc1sZ0*Xe6?< zc`^Swta(YSxUR4f%YBwjECCo+vezVn(f>X_^@v`Irz~`q$2UWXu52jmpvT@I1sk!( zj4#xvUuwjpE9{gtkXa(cTi^MSp+yQK=+JjY--x016Lpp?Q9#QGWQ7opmS{ZT0GL|( zmDaT^(Xo-jgoay26BCIY%S2E%=0${efJQxm*`Gj59Y9(KUDqPrX|5Ii;avMJ(L7KU zoNWsyR#^V;qZ3x9_&DSH3(idY<+fkhH7>=C+Cl-2CFhIY*th`3ad&HJnEzuz9EoeC zq&DY9R5V4ZSolptjvO|Q4v`0y>Drk}p_R$}g2qQ@K0MleM@*9j-^z#tfkd z(w>30Pz*%UHkhwS^5d|AxY$hWLiATH|DB9Q7;n&utb&Th$WsBfw)b5kO*7QmTLQ2^ zbeB{D27-DuFmV1_RTcS+-kf5b`gvuV>3UMiNeT~Sy&z_b&IAqcn{Rt0RuSQQ<+44k zJ^NR&&9k-8#ALSb=|s^_ay|hU(mRfU&g>~hMQ*( zO`V-qC0h;#tW*tos=k?&E$mp!l>q<#>mH1ohj0TJJTHVb)#7F45O>VX_Wbv}-nA1P zIQO{LbDiwZ?9c$Y#^W0uN8hSr1Ya6dY}=sOS9WZim%Avk>{ax1o6C5PlKXgoHt2^% zvQg*}G4suX7@T$F-Ls;0U%}8FCGq|`*&+RiAS5zkuigD*Ml^<)u^2%f{f<{T(bXNB zN(xpoQqNSze==nvWO-Ru)OV!0HS3oJwhUVi%33q{M@0iu?s!g-`8fE6Ywu3>#;_4P zteeV&?on>&y z6Aup)`P)G|E&^YbccR?xQx@eKZgqI}|9=!{X~F}z&(0LX5SRM1kxQMyS(C$>DXTl+ zfUX=mMTgLN?Byw9P#~)>MzU`o%-B=9t=86P2w4Aalct{97><{v^D}16b0M59NrT7K zP;ZH~?>+M1`uF}h`I#0k(0*U-4>scymkNY+Qjn9N`4y#8)`d}oJ*pTc6OtVeTKR{1 zIU*+?*rk;tOA5+at3X3|S48fro))gg0A~+ONi9vEOh<6*uR3j?;n!B*lk`kUPo?H= zT6_lmI@BfcP+m0s=9B$>$%piQU!wu`?R?8+#Cef@9M;p%Sw6-8ln$w6!ym+NNy>x# z56!qyDR^R(ig8Z&TzbF2SZe@|UB{J70LfKLXQpRCfiMnv{o7-?pZf+7t(gZi6Sv zPxOivfVu7vKR<>a4V*{-%AlP<7e8*fRnU0Hi>6Rv<8nwv8+`6ak=Wq@iGtWw)Y`)e zuez(LOdGW=YY%@Y*%1fH|LKe@o=1Px#}g)3GAv)1iDHITT;N;8^t9Nc^y?$a|K^NIuC`h!kiZT5;PNT8=AnrWO*mgC=d>-Td8*mp^vTxl%DcYF z#%Cp<8iq&WV5UOF)=WX6lo5lXjk zmkxXPsRnS1<0-S}(dSZhtzMG-q&mSGSA}5zts*gQGboa$M1o)j3OQaWPDuM`JH1skKP1n^(ItVw2K^&je~4 z1%qBLAbdbo`uEq-Pn0GE*3X{Qb_y0}TFU{51^!O1LwSszu+8|lq8mk_F+pxSt0-f1 z6_#z~=JiDcbu*^^BQbY~rEa`^rHA;z5KLLM<(VVtH1hTB{q-BlfQ!o^G8VJ@m8}Pn z{gO3UE((K@xBuKF{=8&_(S_ja)Yeth1=ksL*!N+z1W@Z-WhK$o`u%zj88) zRzCebhV>S=0S{k$9DXP8-9pFcj@;Zb9FmIb7#(MC1wQ_|w08ce-!I#y{@2`xi$pl- zS<#eNb5mV_RNQZ)k(+Xl;%aJY9v|ccUu$diTFKX9TG9@ifATxi42mhcU6`!4oscxR zX4&$4g-4u|ay@J95`_#k6Y((VJkSpvXsyLAY(z(-gLgE~RtvwGl9*lekj*1M|NfdK ziUlM{j5CZ_O-;c`PWWDYoh6E^hr>yKow#rPw}YJ6Zg=)Vh-Qvx1eQgFLV`sL*}fdI zZL(96bP6LvmavH{_R9Zjr33Ea__mt9FvJogf+AxcIQl!LRM0uYo<~Yy&E#Y3iy2bS z<-zE>+oW6zt5h#`*Ulu=+~%mR#{Ji~rI-3AwYFN4>BwmnLpO8TeW?Ap|0{KXkK!2q zGfzT^=1HQPMCG&C8_v1kjfYNrvS8VXF_V$8ZrONVvv%X%Qm`fG!Xhz~BnPr0_E;GU0WG^;U*`&@v;jq^jNN zzFB8H@h6--#7?oi72?Tasq{TmTE-k_W6)CjP65N+TkKV;aDf8Z-vWKL*G2a{-Kcp_ zJ=o7cb)P8jsL(1IP8%snnz`S z+-lUs1H4o`aB0i59RyW1)}k3OlVaWF;-Gn%+X^I?38!@*^G#SMKNfM=)l^%lbIGRi zGJ24G74)N%8+P>wmFk29~t*{4Ir+7z~`zgWxnfm z&sHC?Z2qAqdhca^+l#?U70{{1hktSo!NC}@wRYIfZ0 zxOhqYFov|d%*YR^V6L&e*aW}tg@N5ntuqW_I|TJ`qOYE;Z}tFPO?;iz;}BkC zDESqea>CeC4Gs}(%p{+vjce6BA~oZ|WLs)oRdjRQ%!i>#is4a)E#?A$%y=-lPHza?>QQSZXhXAQKr{P8eR zx;2o*O|!qB(-d|IdS3EL*J8I`M1S((Q$y;ZvGhD?4X2P@TUpABWop*x1#s8GT+)Lx zql4N90&)o2F+mnzaLH6gK@GMGw;=%f)qwnIe(bZ%m zesEz3Auz~Xz*R9t26MB+FO&VS0;H|>ObTwDpwrI3M5Mk&2%tjaNMv*>!ShvM-4og4 z^ZG@ZpMCF$Sc!goPzk@BC;_?f=`nnm8MZ`ptc9QN37cs1N46V$DeOk9tTZE;&Wfqn zw_roneOlT<0)DOVI)LL=+W8Hs+pZm?Zl*lY&a&b1Cu^KCnG_zkThAVBItQb=gH#939G|V_|hW8#lnYh{$ zxN}cO=~=LS&5$?i!*dgv9f=xPdXf4^R^cj(Nc*nL;}4CEv$m`aBBtS@&N2QjwLzl7 ze>kk?ZwY_msl1q0&rX6#kQKLljO)AmOCR^hRtiMhJe$X~05R7thhsgGB`8Bafp?f-J!ExwhS zOWgVEV5NIQvh%|YUwH6$ii~eAZof8cm@}caV@CEWkTgdBIvLhiCJ=UG&^&%6^2YOg zkG;0jbi*|e%0>2-w)Ui??mW70f`T;bviO@@_5DtP%&rwV^Xr#8YxeaSRsgni`)RzA zD5}SV=VJbD$Vj9gJZ#(wP^zd`+kGdU6QLdO6xR-&hBWtxY^9h&9C=HCgO6G}v!Fm?Vuy0! zo6V~wxfWtHs>;k-MJh}$X^__Mvih#)QTyF0RNa@W=l@l-$h5Pkm6T~EhkvSv&AM>d zgk~?%|B?GcA8C1S$=pgY(dfFsGw~|l7zF7PYJb;SULX8U&a@JH=Z|tTIH}uDC?5LV z&H16aT&G+}P&jd^+-O|7I%Q|W{Hh)5|55hVVO70d*C^7`C>@*b4#^FO2#ACT(y)8?%3-lWu7{GR81-uFA_`_6UFKVIq|;#zCo^PY3eF~{)Y zo99{YC^KkGZ8(k?Arrxg&E~zy#5NQS1x^^rJ`<0UAUh&!Y|>iI$&fqfu3Ux7j$2Azkl*C6J5VKg%5OF-{AG!-?&s)#6fx_lc@+C(FWITWKETK*Zz65{b{(UgxAYqRSb<7K5Vm z`x3-fR^>(6b!t$|R+HiN5FUlG5Y$#h;rAbn+87mnF)9b!MQ=Tm4`%GRAnd{GIYoi| zKCoivvEowG;&1!gA7Mt)vgy&X_8y~y+BTQ^X>H~-o+7c!0_}{*!Z9wtV*OW#$(i00 zTC_nLN7W=>e$qSUuq@(=9wSkDfOjBTw$EI5dwp^7j4(63)G5cf?l}p&q8-uWm$?D2 zoXiqY42n})hXk_ zP2rHU(b0rK+|#)-M^v$wC~MhloZFNyK~8i8$-nEoa~?~tav1V{NTbbXrsd@cJ15T~ z#BrkJ9=XMqkbcUl5}U-6dH;OV*pTrc#64K>ABWk)fELkj)=bB4n1?%w3ZT8IVfCA0 zk+)^+6Px`JI}sc>=9y6xV? zM#2?UA=vHL+w1YCtFcw@V$&wQkC#~` zmqr4b0tN!A7ukhvV4RhnhNy|-{jKX)7!4i^g-nfQDTQ~75D@;d!^onKnR1e2x`H3X zr}jv_Rpj!UTFY*;34km%h{=+3h~4WC=V?&4yXzJv%X7YVmu!_+COOSu=G-Pmvp2|p z&wlczwf=GQJ-X4I(n-`BR?pCw~0$R21EGmM~vzG|GjdF%$+GV(JwB`yYKL zr|+spK2iaNh}6>*J}57+aeuZ2xWN6*jV^kV&1;qEp44*OiOagJIO+6~X?r1udn525 zHYWMt)4qU9u1ZXlW(C=f3x9T57u*M<)8refwEsI@X-YxX1oaCi1%Ff@7nxo@DaGT* z(@CP9t?xQcD!Fvo498_2-Q!t1#k@iaH-H`*5|H1eN}8}z?-xoYpyR4vArFX~+uZV9Me+-ps@Y3WKgndCv+8@9RH8?Xoa9{t5r z;85VQ)>wJ6WbGn7Z6>3g@pMK3bWD(ZiZVGZ45`d)Q^Eyy+0bbXH7ZXti~$pg2YUlo zKZ} zMbwZ5Y&(iQ4H1qcr}V$__vy)wO;hTm6c+{rZY=YJT3;;?RMB$L#~W}tIWPf&Q3D%I z4vV@*MOg8twIus?7_4st4IaduupAOjEvAT3c z`4TawI5t}oMZPqj=alrB{JFo;|667neL~3uA(~qQCD$z zuu4VbfN!RBK%vTRxh6z`);>Y?U$La{Z}>ixFuv`e4iX{}UQ)S_&7tQ}jd}COr{|}EJiHi|?kQh~3 z@L5&opC=#CpSsaXUvY8!E&Av$JrC^MGHEDapOH~Rrj^fEKb>eDSOhdZ8`jFdfA9OP zmmlS8cIvv47^*uFGM1xON3(aQAPQAh@ zo9I2yyX=&MjYmf`!N%+GeDAX#e~H~tWHvmv!oG+Q;zlongDOlK&0Mrd>oqlp-#!wZ z-Um;JSTChMGUw1B?T>ib1Mb1YcwrIr{@h3_{6j2+uzaw73cwY4~?$ZpRb83Y2k0Y4P^e%{%W zV2fI9orGZ7ZhAzATZ4JGj%C|wt$H8mo5l^h>e1u>>X($Seklt&rmg&?RqjsP znu7N5ot9pW>B&9Dpjo!_W~PtP-9R(d0s$VL-+uX&kk}dN7R}_0y+r<$u8R8c=RxE? z_Swy@1Wbo>3cX!=pHM96LkGMz++tA|PN)W0BXYjsuH>R>#{##HQvucocT=#UO?=Oj zem_fpgu0W;@l|KYPX{MInT(#2XtTIC+(aeZNpId?jiICM**Qo@#b6>zuI}QrOkTNEtCK(&$>x5=TB-Q=3yO4jU zS9N$^{RhW`>Z+VDpk-!@SJ7HmW^39ZQfo0l_m6Ygz&iO^GE0i%pep}zQmK1d%;o~& z@-z}NO%y~=b1L|s~g(sngd)BO!x-N!by zc>>6onre}asY|QMRe1T$w~kgWBh<+bQ(7lFL-5Cdgy5e{O51E`m zy>~X?FHAbUnMg(;CUd3?y>TJv8{~seRqK5ml_Te{+Ml1fS>V$-Ze_U=pMEdncM!VH z@gJv3v4{e|k2wN)pXdkLhuOPcH_@pRJXjy+3jozyM99JAS-EZ~oTtR=EB#<-Fd+`PD!oQ*?9OPgmat=;&JNr&;?<1PKCMOGl@>wt>+rz}u$p@&u4k z1eDzpiU7~&V5F;5QmO8Yn(*C@!q=Qgl-MH}y?7fw=%%+5mm`O_AFUdyrywRHslt?TIe$2i?jJdCR%vc;i!r!Z}Yz{S;-X{}7) zZM5xd#~ECr}N{tlQ*JifEUz%ypBc5FjuB`sK4egeFwB+wRDUuf?l`z-I^aRG_ij7 zJfOq*9cf(gzxA_5hYoat-QZc?6|45gD;@E%u|&jHQRAbxE*Q%O5!uKG#7Nk2X~F5{ zxQmclV48VbB-FSbcPu7oVDHQ!o1PX8j(#jB)2b_sT3jxZ0s0 zZYh}I4IRPDx)cG%MUE;#BU7W<{&xVV<`Qvr&4;QajE{A;mdr&B?qee}yut_luEYmH zu3w@8TY2IO?`3=d=}l`^7T<%q>7hD>PCX!Twi&*~0{(BVc^K0T%YHvo>EheMOw*@- ztp@zp$L$;y=aZ_wS!DFP>A<2(L9WC8zr8-R1S}E~l9U^4LBOgJeYb~CN5nJs4R<4g z8vLD*8r*XJ8GYly1$O)K-;KoVY{v=#jRynRe`1YUCQQ@IG?i|ma?#1>U!Sq`hDK&9 z<5B>oJH7?O~OUJtb1`%TQC7uQ`**`IQbwZoKx&N!S2N00696FwjYl zM~FZFe{s|n#`O8N(`56-?=YF`a%tjb!S8=~W-koJ0JiI*VlvZaO%G@6Uk-368`lD_ zMjV5&+N$|c+SHaQFla3pt1gS_{@158{?AhaD$8^{{|SY(?D@TLjDH!J-&dZxj?nG@ z_dC7fA%tH2AAgLynaubU@&D-?H%X37rrXNIO=ofeLwZcYS1OAbj@ne|?8`|8XUEK$D7k z?&a0IYCk7@mk+MVYVO^J`!xj}0SA*qCIiuaBYD)q1cgE^7wwjvo>KyVs3;Khn{Xdb zx!YmUWnp~bu8RLZIYSWy?FQBz+_u$)`uXW9Z{-62Psxm?qLJ5W{zC)h2!ZtF`^go> z|B87wAm*87$hmdtGbP*wX`Z%!FgvRAm&?KXC${e^k6kajv-y7R3wE7+X3MgM1guW} zkDz0tx_A5EI=DZU2*N>*89DcmvVK23n4hM=p_{O1HI+-z)hYj}11$gl9nr?l4+~inMf75L=sJhv=rjRd@Tx8<$^}S|RUrD!xR! z-rh)`=-B+JNnO44kCFav;OPlj1s*hjiwC$_RANwOmYe_F-T1V+d@@e;@o|v{CG>NZ z%cfiwet6+t@J_32Onx}*gLIXbRzZ@Y_{A%E>v@R+fzk!=HXL zjTZ%9V=BB4$yxh?Z(1g(I)$Y!%7kxKE8;nnNCg4vu;p$uoyr?M7NLooO`&JS6A3mS zr!b+ri^k@C;dz?_KeLkiKPL)u`If6pyI^(g{VmMD+;}YudS(dCS48!UNa8|kRU43n zsz{$1dNcwO+h5A_bsRrYa%c%k=|SI)=w+9uq!WYIYNz{uer-@@cKxL_J}YQHKfdRIbQdVpRaAECEX`kTym<7*&K$%yt)r)P_UlZiCaL^Cwwkj8#U(n4k;Q0*2XMz?p8YjDQ*(J5c8q~Zl z(b4K}e)gxvq|1v^@?#l|@9Fr~$>TXPN!tnFcEE%K$5u6{LTM}nW%Ci74L%q^@ zVmC9m)?j3t)*#o{lFdz-7wd^AEkNDTZ#H4Oe1!tox;IXrrs1>xOuD5X@`2z#O23=S zw%a&U(n9QC%p(5Mks^A3pA`;uT*JPBIHAs4u3gnK(cqzSFZRy6f?prgaJCYEihBqcv64p5q;*^ir1T+k+tQYfh-gE+^Dqzw7e-U(Tzs90`=45Zv=CpL5PD z8`(shI~)!kW1iAdoz(l?0;6ip2yEpT2Hg1%(xXw}|i!m1&c+Qb=Ql5{fP`Le5#jSl7M{Kq?GT8JGLjJC5Cp`Pox zm0x)xny|xfA#+@J)f~qiLuZK9GJNVxwAGVwyjHThsL;1Obat7-*u$f~(SO^Y`RANn z1kTy{=J?4>Bk%Z^=cC&_oTF*|KU|jAo&0?-hGZWt?48evUO{4Yi;4Ep+4@?MX@4$r zObg>Rbh`T=k36v9r#XSs?6{r@3a{L%i2t^ksPRspBjhY6C;tT^Inlc?1Q*fA!yU;< zH?XB3`*|z(3d1o59Ya65pohx`j>aA{{ZTX`S*Ndth@D%n*g~Iy#lp*@?VCnYWtm`G znIbBJlhJ-y;80NV~4t6~Q?mnTx z>1$kaVA6VN5d-n0=){tL)YI}y9EpemNFv- z&8B96KzYdEK*9wAr7ar&Q;@g^y`v~l3q#uzmwldppOMG2UB}GVvc8dP@dw@T2 zqane0_axN|NOXv*R%wz>yKE=fkong!m>JpY9E5Gv?1Y#*iDbNGkJR5lcH$leP&H1f z=Vo85o_%w#yQvwYY|cymgoP;O8nn=o`d*?wLJH6#gTMni+%cTlCG_u-xZr7Tj?Z5` z2W@f<0&h$O3a(cSibw>6*?)kWTbjKRq3vFabAM_|N?z;@T~qL>w~j5AK9cGm9)7k5{4XPQ4WEX~OVixHIdwI)R(sn- z$;(!urfS5-q4ap*8S%U%T)#~U1Ka2A|NE=MKAQFb(fgfz7sgf2Kt#Q^wwAA)%o}QkDt3bFe=#RR zBg|USx1PNX?;dMedp#+4asI;{F~8>0biT`l4|}NDxee-vx*-FPT1-DOw@2Un$PPFs z`1x7On*eymM{u|oJK<)8y!T-PZK#geMLHo&^mi7}7f8uK)j@t{CMX8+IqR~9L45#_ z?hy1kTiVzBe1DepJN-5*n}i%%R*)JRLG3F6UAwn6p4B98G8s#Q>vgQfqdYaMe%b$Z z<1nge9P!(*K=rjLE-M>DHchDfowFT=x!++Pd*Ga|qDuB+;^N?#52Xl%)-HaWS6y3Q zAC8Th7J#gH-2iU_NXoZ4kZ+`J3)Uxm#FG0}!K;@5??b2st@5@@7AOVi9$e!We+r5A z&DdPIbUMQ*qJbfpKQczjhaKxUVm2;7r1#DBgAuQFJ6Fc_aM*e}x)IvS4RGQ4&HPOj zbN)sH-H3Am!ZW?y5}s>zC|oG{zOODCDD$;#rOah6%JP>yTg}0j0p<&?$=uS1)_VLJ zXkU4)z)o%Xi+-i~%iaxT+`LIRQiPplZij}cGWJ#6(&y~8#(!xWl>RPy*g{5Ae3FxO z1|n|cHI94i;!lo)<4p{ADZVkQP?q_wRJC0=rTWkz@LAC0<@pwB6ND^uJDlw3;CM)Ef;A4VA8N9(fIg^D_ew!ditfaJ_*< z7Asr`2>NGTJKeNCKuPN~p3=w|;7S8pIAJ^jp_?HQWi zBBhm-oY)u9EyJ?6HEG@<{zm!j=eg~YP-@YNy`v}FT^Jwj#g*mbWXNf;f8?so4&uTQ=hm^g#)7MaIeXbz`c;Qj)YnK}^^c*d4D@!okMD0E;^ol$%0x<*T{{FR>`H7gH@>92@WdL?DTZ?!&qIEa*pP<_r z9|vf^a$q?*Mq>UDcsO5x^DqB%P_=LXtE`R;fXcGt0-a@j^i*+v-@?)KRo)~PEhof6dO0g-w*WrX)$M31CMmi(dJSf zo)>s66aYX<_52}80WP41PmzYcXMc1A?WVXj6;Wi9V|8L4lFYXApyfzxkYih1(9y5N zPUp7QyF8*wYfV;4alGVrr+GMy!OTau7w>M$1z~~<`as)LW9a`>OZP8`T6N9#%G;Wigi;o7?O*RIY%U+2v}xuL zlFtZic6>~MY)!tAdFIGsHb3*?_%2-VldhLZJoi8*QzUY0fKmSSooP{Wg-=03nXYBK z;I#n*%(;N;wYi>N+y>8J{Etp_4&5xBucGb~|70d0uc*Od==h9%PC}qb1TtrHe1;FV z6VSwJ4Q?dh$A3*^Fb4Mdxgjkxct4+ba{&2yIxawLwdfWdaE}*WAsxBh>N>%%g9Dn8 zqi;Y7VE_cxp2WPp4|aPaeU%S&_sjM@7a-h5$d2*!K`idR^(v2@s2BoSC~Zm1Yu+=@ z{d0t{*XD$~_`y`VMaPo&>osw!v<5>R0r?1=_Wat>1PrG0#GX9DaWEL15 zmvXeEKIab=i&9bG2=lRQ{>EiF7-Z4NwGbHH-BgQDKoZ8Wyitu$q&}VdptsxcPoAEq z*Ub8P*gWX;5%ADWC)ck!Sh>~Fs)%2R=T6NQQtnv*qoEshPGD%L*Ze-6;dz(a!0%CS zPFh4Mpi|LV(O9NFsbOxiL{lsC9B*Va)1sU1imJLXs5evTStjJy3Nn~;aeBW}WId6f z5!80pbz%^a!z414Eo1C;x@{t6iE6W^^IgIo`{9hm!nVlV9Mz22+PJ^RQdhQ3IXxJx zC@U#_hDN8lpj4*NKCa69-^3%MCxAN^BtvY2ULP&B?hVO_N|n!f&piRizrVoVyyct?UZ&lAdApgC3_-fcFi6gbA*s@h*m^cvk9Z4Z6 zYnl%iR|yb`)f;41lpBfW$|r~y&Vvo|2l3|x|gbz=!OXIih@aG01qTh}G{TkO5 zBK<$l06Qx9Fkq>ya+MaqS_y!odP^TO%(-o;Jvcup+6ViZH1ODq2^R)bp4msx?FG6i z8#ADA$^lwr%$ClkWgoF$O8*8VcEifEjs0)62qd=Yn~)=tsyTJYv0-e6ZO_nX|FAy4 zEe@r&J%WC(8v&)}ZPZC*($%q?IOPW%M)ky3Q1Baw|sB6LN!FHs( z1yvtejC3cu0MoXHU;J+&!i1(S!dMI#Eg!BL_$^t6S3Psvad1LX#e}Qqg67G;>L|>a z5de4R!J=^r00YpkK3hR3Y~_|%{q#G_CZDjBvvv+;+}0C&GBrn|#oLTCv3^LB17biY z@RcLv+ZJWE)FgJ-rTyj){(ijq2_~KVHG(*p-v)8Al&Z@+?y2cW#aj)TkBtq|tK>K| z#$4NdSn2LwPg(&_cHJ2QusqlHN=;Rj`U9u)Y4`mN^35ARrhivw;uwoC&TU9~ivlZa z1+b8MtE&)2#lijnw)1dPA%26Sv$)l}?AEbPre}emf4?Ko`!%Rz8(ht;{JQXl8G6*l(&YGy2WsrY7jj}#^G&0& zNumYw?-9wvg{=ZDQ)OdjPBEeK#M4p;)rP}|@bEGvUJNUbVW0^lYsbToA_ZeGP} zROvPhCt=_q^izajc<@3JZUH|1F|LMpAq(*>p0$M6@rs=jo z#gvS!m4Ca9ec5$>>b)&=R>Ytgz2D>=jI}3CVBv~jB69~&)4@cby`h)h*w}cbub=i= z@@&c|C5Ib;&Ul`v^Z9*91>aQ%Ip`Jmlms0n%9L2##Jkrhtn1m@maI;zQOk=5NUDXQ zjxPD$oWQo0S^omsWK4i}H6Y@xbJ(~}U?vHWZgH{xpLy4jTIQd!KP@MZduk^bo{OtE z_DBe3Xj!=7cbc2P3t>*wpN3omzu{(awUjiCKG44lqWdMpr_F!j)Z`!poCSzQs7*OL zy4K#QSJ!rG?Mm|VvxD*Q-h(VdB27g_8(%m^Q%T^vs6WN zirIC10dg3Z^z;YIwjk*&pX>J~;MDc9i8m~AtTV*NZs+V5);udu1Zdd)03zji7) z-vrK+sQ2b#V#V*{%x(3WD%4HC2(!g-O8Eye^BLJAl(Yhy*a@q}CllHnKqCSUGol_m zyS16>F!Zirtsnfqz6)@XodfvKE*A8LH0ThH0d`yS2T828w?L6!!p$zHq9)ZORmpht z%|}+Wm7$b*FM?f<0G|7I!-UnlA)?%VpkllW(o-&_Tf^fY-hx?fIfqG za-B>A_dYr%19CD>y>gb?BqwvG}$4=s{0v?(~YuyCmWxm7@4cIHX2+37n^xrAE1B zo0`--U`#H;7tN>5ko-1*`7!iF;l0GwOjgHLp^tWeI9!W&@T}KF{xc=38jp&4hn{+o zPe;93419(PJ&U}Iu)|Ou?GmH9D)ZsS=reQ0X&$vI%}LJ>a>&JLrWlrkg`I!y{RNy? z_m{Mz^YL_am1c6e|H+D-(!^ZJ!U2B#SRwC#En znX=v_6>5`-lr+UL39I5Z(6bD+d5R>b7=Pu+fcnKJ-YuPy6`#sw)3g3j)*mymL|=|b z;uP^(3)y-moShIAo>$m-i>5!*lBeFDAQ&gTlN;RtUWGWHTyLs;@rZPwtKNJrWLVst zy7fyxMx;urI2&Jh89SfQb>pB-MWSGZTcLY#I+=8tW0$kojmW2eUe7w;Q#XN(uo1rp z)qjBgt{IgBEX>{W++Q!>tLW!{c>gsA7vD3)6&UG?9VS{<$K|Z&sOQA9=jiA+R$;D) z(mfAxjeFRir3zpfC1l6_pBNLpw)+rR2T&u)>+b0h@6DT^F4NQ)JejXK-C`i43@u^aSwi< z&GzLX@+`1maUW5nt^Vb*iKA*@8S4L`HKk_PUFbl0QBY#KUl7jC%M-t8(UL#T&j$&Z zRQk&Lz+mOOy1HUL_dFoyEz3c^jzs?*Wo)o@>HjVJshn#hmo56@r|z@(@X!I zCClxE6#EOp=s)-!5j4^_Sp1G7`fnQm=fOT;POOqPU40gK&YN`5wEU4mCI{>{Z}J=h z{6ekyPpSFmL?I|T!Wx@oYN<)25t=AA@Qsnc{lQXGlwN zJrfdJb}a^Lj9K@wH*QvupTQ|IDL2qA^5CeY|FduG4VH4LWs$ZE<^H`q)JdXO?~^JX z>gp18HHgR{7e`EW{S;jm@lzAS5O59&Da<}DgGpO#|iLMcAgFHbD!GSw5{=md38CmhxIMCa<8SM zq1zP#G}+F*lv}-2xoZtkE4o=>YAPxTkI*nvZaN;8SJqldi%Z^{NxsRp0v z2`7vy1Q9UGJ*pYb`~(2I^n^HDqI5)q2wk~zw1G8IIz)I0cz=|3 z!H_Wh7GG0K^aV;uTVtaxZ_~z;^|VQ$tqa*_}-{V zoxSUt&5;d$n7|iGw?sRmb#%WI3KwUxN0rhh1N--?Tc|mQrW!j`bK#qOEuSa0=S~Mz z1c;eZKKh!__G(bqc1euKc;^_R8}A5tw}OE&&$YDyt5$OanT{MD1-K+Bf5!Q76A$iJ zuO{;WqejBF`n-2)fDQoW?DJMBut@<}D*Do@T{KjDrL4k7{Skw6u=L$;h7FgfOY^ol zvrHeNu;0q5J5bk(I6<=SPA^f?MZM8rRe(f&uFm?==BYLUoWV5o;t?+_nwAR~MrN*F zW_ce9_;rf|MH&{+sn=Rm9{7`rC_=+?#X~j~##)8sHo9aG8!36w!Zbp~-YzaRI|ZfH zN;+lHB-nC@wS(#U5A$iRr$@`nEnrzgyoOs7nSr2#2b33qbJ21Z=tAL-NF}7N?9~88 zJARJ_d?wvsp{P+TSpVSY?VkNu!H79F!}kfNU;x`i8*%*kr999ZIMwWt2UF2xL}CA+ z>1Qtnf2Em`bH~;cYnosEDAqV0*5#nQC{5TwM9kI}aEj_o6$h-ga-3fbv0?un1l%CZ zA<(wXB!i(0%NFN4heiF=EDgzx-7`E|_YUR;(FLdA7N87Q06POCw%7XrnLzk@mJnad zmu?>;xL!`6OtU`O*iR1x-5{>bTnAK+7#kKpraxBknZbJNHK{7v4`}^c)X&!V0us!H zcz81E%ZD{#Xall24bewfQ#-fqB6x#me@{zU=(t$2Fuqozywu1d<86 zc!>yZy@;}swQ|ixtdqQXy9<-Pai~d0g@G)r-VLcT8__OgS2|S1G`f|#x{&iZs{GYj z$m6Ho6!G}KW1u5yF;-$JtD5kTFHtcb5KHzlak|N@v3biZEJLcI>)*aiUNPRUO^b z2gr?A#}*tD`rg||ENpn*Z{OLz!8w4UOJap;KTPZ?ZZm=)#BH7_ZthQkqhxM+@^U;iK3R$76DYsUN=xSFQ)i8UhIXzkukX{e&== zo^MhyjkE-)|7xrS0_ zHw{oyG*XpT`7sc7g|ObhBm~*t-NzDIm^{%wUw0gGa+6l1asD*h3%zO_1QCen{2OXX zy4qZ|>gGQCqfU9Eh>q=8$0$McF8XqXCCC%`h4Mw$eyy8dl-OeouT9UdiB0eUE^R93 zPhx{y{eq)&(9fJBFkFm~!Q>KEamTi_n&ioqVlh50!Ef9h;Whek<`AE;8&BsT{~yoQ zom+0HYhI9=D?ua8<8X%FGvJ6NB~x8aw%jx+hiA4&BG11S{nd%tgTvA|Fl3v=0Dad#Y_ZVJh z%pdMd=X)BL0Z`g4n{l`fDMr@mO!id?>29VAvHXu2Mr=%wg$xXIcm4_P1O3A!_)$i1 zT?erd$s;iG3md#$0iYoGTRkxvq2+2rq>pYPkSocIy`?#&6`Z1SdHM5R-)I6XWOAaf ze1IOj=4{F!U02M0hF_?G0Vp|xWI@&Tqk%wov~qJ9MC#@@C> z{R=_@fDXNHm%tId})0Z%G&YGuQ`07dl+i_TAv70k!1kCWe_6W!HsKQKyK1Mo;e?!Vt! zO1iQNptlQ(0f79*r>APMW-(IQ4+AMpkk|C(H4|b>T%enwa^-1)SSXgSc=Ti4D<1$h zV)dMT{&9e#DCO32IL%^e(Si^woeP)&aBZ^_W{f+zl;bB7b_5g2e%CWG3Bg`_T&BLfZ9Gi>ORYf*P*R@+`5uEX%R_lvJDmfXEW6S>gB^;hg;nAPY zWl)nB7iRZqX3zMRtmW+`9NV?ivR=YJOuHd_d0xa=U6xUldM}Av(m{SdcbiaFa%6_D z8|I7%oT}{#v|J6|c>P{>DVIUyC_1cz)QY5u917Az&r;&sy20x(evy@7-Iqn=GG`rs zwVBVuq~0I3Y=-;O?^d)RUQgnF;sc0ihS8FTV#s}#d(L)$)LMe$%JmqTrOOp^V;>Wr z&@39R!%O;&zOc|9KZ+?cYU$y-ZekGHigN(1$HMpx9}itO?R6A|KxY|jpz>y`7RWK! z&1mxvb^KfR?vV(sOIV$6rwBt-IWch_SNap^=br|V)`sCP>ca(~_YGuZ+ z5mQ>Fr2m&Nv(ILv3WzUZF>d`nF5GjZel>ltW8IJd+IR-79uKR1|(~OTX^?#>zQVm4K9=~6mI_9e3gIyDyc?;@Z9HcoxPIQ zbkpBDied_Zfh+F%#X)XJKqW&f!FIP7I@`6w^Ae?IF%^{sJc4o)^vWK~U{lVK;_ihb zo?oYN_bToJo-d%ktMJMB>*@7T+o1m)l8)(gUpmJO7QMw%4CoinpN1nFG)}__X~fhU zKfhK|5)d`aA0KlXYP&n*LwdM@k+3k3!a!_#y4}mAAPn3gze~Yv-78=mDw3QH+@{9< z4BLL6R{^FH{nGg1i3v%!%k}xZ<21H=<@&;Z+H|_;qUhEMZeX7A@9{2wK-*Z@9L+T$35h%*i0Ee zW#{C@+$xTP>5krTnWy9ByCN2<1AQ52v6QvppY|w*Z_G~Nh~{ph)!Sn-J?zbD8&FiL^DM#IST8ytA#Lh%F~dkASIelNJ4$kYy}JrlCIY2!zYgLs8Tq&i@v zZ&F=WMcp)ZtOtLm&+;--Y;3Q*`3v7dxW17k-_EVgV+wFV`3d5wqNARt^IQp}lBPT_ z%mAP;S71s3fV&#We#mO)1+L*WI==1wSdvW!K5v~TJY^|JpxHJg9C^LySuh>g8mW<2 z%*z=+@cW&fh+l@e%y~F-mS+n$O;Z~;#V@P!aM#DpS8`Z`YjT81@y7n{-G)+z>L5_N zWn;oBr7L8STvqg1u|6c*uq`Lp?A%H$@p;FhxD+aQMHy{8R}PD*FXG2Oc&|rb6u2yB zli>~zlBtuCVaIYavjMKag_w?_2yJ%TG4;B*T-KQIgrbf2ElNk>$khmoU`tN)1Nz<< z!cxS-g7$fMWkQCyVTQHW61!aw;e#q!2sT7RO)g6~&AtfM!WA#*LdrWzw}J!>}8OTvXM{!+KYh4iV{P)$u| zz>1p}3bAfW|KKtI=-!D613VAlwcL2M;O~QBVX<~6U$xnL0zQ1F3OnxJqD+6ne z$#~DAvR_UJVXY)kQ+TzOiy`OuD7qVyAzuCA&-SyaIU#A)rjhQ2FLO<{7n*8Mq(Cw4 zF+|YI!P|>vz8IOiMm@|0PXTZw-MC!CLH&H1mG)<9yz!bS%&k~C0s%*3SF|uk#1vT6 zR`@wy$Ar);zf1nTaM^t^L;q7$zs+eG(d29_T#37kHh!5myJ81wcW;Em*}Nft!e`U;P7<%i#MP>a|KKqev* z!KPW7JAKWUH?D2P%hb2ccmF}3gq$yx&WB!!aEb3R;R2g72&$W8=n=)7D?p=o5qw=0 z{RnADJGwA#(C|mw;175M_tMoa)JU)1;~x7(R=*iFKGw%iJm|?XB>$ASm!uYfLS7uJ zU#zk{MTn(aqaR~-20f5zZq|c-df-)~)@Xq@c?Lx^lV>12S&~eI-3<4uwnb-Eux4bA zRg9=2C9B0Na%T%R!TMHR_ZZoiBLZ-f#;3$#C>yiSAVKs|>lyIzt#ltxwPBi4=s0z~ zn5Y`Yf*@%b>6T$3`I{apoBb{#o~v;Kh1pjPFOu5i*YV$Zp%dGFd^KgH@SO6MRd||N z27^ISwC#n->%=QdX=!whu6jdde)6-x#ya!NwUEvDrBbGop)t$Uj_CvVq~(9>`CAf3`7zf2FdZH-^q}>lst#r7R)fr;+W0=cpdY3iWO!k&d*1oBvckbJh=nSkg17hN#QR3NNN~zKIgXpq&EIF61roahp zo`xGFprOO|UIo&21aC$)V}+mm!_n(Rh2H!LiblQ=GrGfT6F~1+WX7jkPS$MMUb&pA@klbr){ybW4qctZ3piGoZ!g;Swm{=a$=RA*>#8$_4C4K+ z^vD+d(xH|PaY1nSlW3VKydKs}=d=wlGU1(FEY4XHR|i_07a$@+t*96~OO8$C_LNL# z(C%xA#eU0J&LLFb_0d zC7h}A21$4su1o-0?kRg5I^&w!@6lhEzfa}5;n5zc!9$9$GxlMFZ#O9gvgGC1#r>x@ zhw4I!TxG%({BHQT?_=8&Xfq;3C84<}f#%3EsUkGQi~R9*c|yi}99hbYEI!4)aXVP8 z*G6{5N=rsemPFxW6UL2i6P;;oqU$~hiLOF71J95y*rt=`1LK-04cvoxlF0LtTVp-M z7WmLEZ$BZT#XnmY!r8+TvUM~X08M2Yf=Hkf@LkaVT1l~*Sb3N) z;z^T3Jafg96apX)H!;bencmZv=W-d{N0cHKR5TN*tl>L6y7ldCWh?82QRJBw&AXgC z<9UjiwS=5jC7n zoaEB9b6F~)&YA8e#~9=QEH12#O`Y(L2i_AK&B0j=sarxIgunaApqqtg5+VMP!e;Il zeJeX$goV3)TA6;Mddb?Bk`_4JHD@o8^N{nbLBiy7*-(Gd?`8k5^3#SE=ro$C%-J5% zdLu1omc?T$?djE!Gcyxf^hZ6%aQA5=D|FDN+?eVY^|41;let&{t7Jd%b3+*7+ejV2 z%b^sjv(40wE#ugZ^~jpw>n@~Y4B)^+Sz%)RXX`NqYdzh|sDsVC>6l#3P%_=+_$8OR zjxS+zlvB;?(UN#p_DG3BX?{DYwSF84rXM8OBIwvs2H1>S#s>Onc3zc43a8QxYhPjq zqJ&V1#$ST)Y%EC%QkK{YF-)w!{{Nt4iHsoqepiu#>e>nQ8u;YZwdX#sAQVw=c8}Nr zJJM(y{^d1<)uKs31V0%@kl~S=pLfg~A%M+j(>O4xK^s~5r%7Vo2DghB zo1>%dVYAnlPa8|i)A_PrRkm{OJ&Sr%5RunXl%24^cE{HAMw-{|PuxQGZVR~I?^3qk zclWX0Uqoa)vQ3c%9v3z&&|~Zani;(AYTA3=P(Epl%%D0mEW@wHsV&)HE>5B2+jO;5 z4vDD8A^kwgxi)mPAZ}^!Cmvm|yu;&zO?BC1s7tHFhD+>4CuWJCEX)ZvFsS&6HHjxr)=xhwlq{G@ zILV_Id>pN4!en@R{BE_wBJ(LLYj+Je(QyCQANbI0z>{4_3Gk7bHN!)@24Iz8#b<> zYm9j)MvGs?Fh{i}A%vsLyM4kEI%9SI;@=a(On^7>52SYq!YFNlcA&o)>)WGw0 zM|t%7Ws{W_V!|`At^O9jBvEtE!#llBsgAAx97{UqzGe+Rxp+NZ) zP_6;Zv}mqemHK5FvZKuZun9g_=c>{=LDrbjM5k=9y*bkBlFk$!%<-J_21KhODB zE!}VQOuDu7Ozlq!c_+F^m^Cw&#_2J)$Tc(}29`<*R=#tl{aM$xXp?b7oTD{cdNcHD zb@+c+M`e{0xB~^9|2RH~O!j{!_%@ z)|W;g3>mFQ|LoN~G1cq-3zL*U#T7SONB2i&+&n+8nyUUq5U&X7{A_U9>T9{ie3W#W zc99RJ|Md~ZQ*}gTCYt}8_ja#~u8)xx@qRCPusqj{zB{BYrh`DRw|zVN{-#K({!`#n z$zHv@fkW+1CwrnnYTfk#DRY#zJ`wG+*7LbR-n{pE7{P*=TDtJqHzR)Lnk3{&^qq3- zO&J(ts{I6shVs;-Fc$dgr^9uzu;|EVy}A}0-u!^jO*-hqAfF+7=wqY%97r+JdY$2h zKNtDPMx$@_Q*`M@0ePZlUto#RS?))wHc8ds3dj$20q^@4smYMCgs%$LFgm|dGA0!K zbdeIbwbD66@R7c<;bw+j=-6$xzMzo3;R)7$(J3x(g1(E^)#>JIshyVv02)a>h2nNhXc7u&A^8rKKm(~39Xkv$06gJA2Qrwjb=TJt;a2dpJJ596>$`|7o?6Tc0nATbRW}e(4N{+p<_pq zX^UWE=SP`|3F7rTzr>91tgYEKl{~|VTP=I`t6-p6xG%>FisaS?DIp4lm15Am#1qK5 zC{AR@X7W+0gLLOq@ss#_W*Yaa*;Q3$E%n;~_#xl^S99MJhmBy@la#GG<3N6!n(8jx zy*6jG{AA`C=Kbz>*SbHml9eCNGiT18J$v>T*KAD&{F&V;@_GYYi!b}U!pKi^ zr=lml$HG25C)(WGC4t275c}6GZMX~jR;kqo9bMaHH$_Al{}~Pyt9=?(Hmfe;uEbnh zEj_&_mVRvYz26%&D5ymDZzxWzp*3imbWp_M;a}~iZyf$c_>Dh-2f2Tpawy+}=vGBQ zMu(Q3rb|x`#P<)p>VVtBNq-$Y|CxvE~jfnwve8;#fdgD zba#G#Xj-F$ZKtK{gXIY(rknd~e#@x+f8h5yVNQ#UN8~`Ap}*W^_gDK-tB-W4w^qjP zDX)lt+9DRt36xVhXFnqyme|W9M|G79vh8;yN;stJ>yNX`p_bAcuLvR+>x^R!1LAYRyGj-GBd>Y}t*OXma znfGC)y^?L~Z(YV}eEYXI3Qd+}?#F5{oF)(qrt8NE-|zhlaKTzJar8u3?eSGN)&&#z zh%-Xcu(glo=A1A8m~SWK&?bfgD>cL#LaN>=gr*R8y`vgysP>-anyvVvA8h39aK40a zq1EV7+))+k;9-|IWZmD?$HHZtubHclS$3jH~Fe zO>=b&R*P8H^Y5Zvj$<2Cb)Vb7Iab8|=g&Pu`F@)lE!7?)HjctluZYY$YouqP< zcq>N562Yzg@XN+5OcXZQ*ai8CyAh!)5xGgi2r?#vs{fFYFlv>>SRf*ApsutC8>x%z z^Zzi(tt|Zir<{*V4(Ssactt<#+5OI4nP~hAHPNbHTx^sQ=X{2}(2HWXV@IdEeOk6G zfPR%#(QIaz2glt)MM}W2eiRCxn*th1DF0>=#$b^(Q|q4ve!tzq#3&7(8Db0E^Rrqy zi(%7s);Nm7Wb=JcwaRvdemKc4UHB%w(_F2&T@lZ+yD&N2j+EW*`k-`$YiG~St!0yE zQl(F&eZ3^Sy#%Uw!91elZvqxlq2kc{2!Yx_XcOH}5n2%j4iJ5qifhh{h?E`8sMBV{l$ z_p$T$-B&{6=rUgp+n=n(TE6lxM3uzZNmH4}VlC!aw}$kGYa8ougSy0{vs(&YZ}d#k zD|6TXO&K@7`q@YOYO6BnzMinUJXI|M^N^RWQXp8{=NR%ujF@~YTEK(&{p@qi{zjVF zeaUQ}E;TjbESF6}ktVrc>4JleHNK|1@qVuHkEh>|!G8@ktb)oNDx46!{whYqCWBlK zcUXY_5P*!Gg>jHALrK5`)(=J{0*mfFfBpe#{MOj1FP)*9HNbGjD%qPR+L=%0Ja2lEh3HId1j$5fvUoFe0|!BOPZ zdhSa;IvtKUD;R#i?33Aq+Z6Wh47`mN?zZi*{Xyt_q)y`6#= zM%sipy=CXqj0z94`dM!J*;Bl)S+-RLL#mZdG$mR^L{@gfxvY5J(4Qusgy51K_G5P5 z42+p^;Vg@aib=I_Oius#Nem$K5-QEF{V3B%S}p`Ou+8qB1VZ>MCve;xzOEGzMg-s9 zFTKTd6_#0b#L1MCa^*wd@RvHcthDAs>EN2V;;#= zGt{iGkgQMxQ4lHG_cS*B=JPv2I)d7JbFoRe!5nkxszYpQm{L4WaUK2=ay%O!%YEM= z_946|A(l3o$W`>?9(^`Of(U>eOOJX>iN+nDs6I~h>Vgi}cA$|CD74_|Ytu&IcX&WX zc)+&MtV~VU_q$4D!X8xaO$6hzUFED=`Q6y}({t=S{u_}a$6c6fTmP9W2{aPE(8R%- z=X*lo08b|{nw+k)!#Xxl8S0C#P%6wo5o3w<4h9KckQkXS>%S zW3L#d9JWWwbUm6$_m;7pC#A=^)B}FAkp58(uG%V@DV}V}-)%%;>14fhvh!}DBv3fu z2KK(J`thEyWRI%+ueP>95!OX}(G318Hlc$ds_ID;OptO)w|v^^)DMO8*mmNxp?wL8H|W^5<1V-{esy!BxB|p^9}dMwS%4Z3pVxR!o!Y zN_U^Q^Q~1H*Y29P%T0%jB{TS|W!3H2Vdu|7R;$@j{sK#lzjg+1;w`9e05J z+_Y=9e2Lv5)231Bnp-XwdHHejEWR2#N3*;V`aW)&p17n*Do{5f_tv(s&a63Wqyb ze*GYvXvux&^#K0YMjT77H~4!;G*5jAm+urnIiEGeWJq2dK)YkYFl6m~^ui5B<+~CD ziFpX>icFZiMTWVnlGY`6Wa{~^5?@mK!#)-9DZ%Ujb5nlXTWO^dgL@0THU~A6pi8dd zF+mttR`9~SW+`cn%5;)eOQ{Lip5X}Ve7$PG&hbTQhr`(y-`e>d2qdVzl{9k4`-ww_ zUDlB@C-%%IVG^$aRgTwBn>-J-ZREz=8q>W#y|k&yC~PyiRqqS()H+v*3OphM^K3|| zM3rgCEOEqk9I~J`{+dp^#C54^2_@Ux_}1+#2NcJ3oibFh@grWSqiqIO%|5p6h$rC9 z_I+)CzN^%#LKpBws@s5AIL3FB8G||BUn79tS9x;K2tM56;Bxif- z+NKS9r7jfw!j#Xx_<2qlJhQ!T@SRoV3*VYVwB%w|a5bNh8OYv4ul#;$RDSJU*QX*- z5D4^rH*Od%XTnj&_a&kv@9n^jklDp5-`Xk0)!!X@&osAL`Yfu6;D7+eP)1Pm$TRDo zm=qu0ahPpE_>Y}p#ZfOtBWn((T4f1id?$$MEG77B?vIwe#49+pR6RR~%f+Q$FSxf6__k$*HH4A zMPzwI%Nk$)5+s|>^11=NKGWcu+%Ca3p}1>J$3ztkKhuJ9LEJGH=pv?15N5yepd*M@xfd^}Z(FZ0r#=ZwL0<5GD*mgR$ zmun1)oO~ZXq3a>_nI6pR80bz6KB)xqXMIhZF0b!NQI8yL{cKyip^L`U%W!?EH2+Z@ zwg4oBfQv!phM_FmRr9V+nz0SwT+k!6O7|fpjrFe1>V+rew)mr~m5E1|VjAV!`Xh`K z6+aUzD!l1QO-Ls09J~MJC|jnWbl;6>NerKwZh!E_w6<>EL7KB}f1gnKAo0M4oQqEX z;LBkjtGbcAX(L+5W+hvf+Z%iqZqGtqk8lrqv)3Z&bR@O84+crrva2j#8Rc=bSSVEn zmX@>&4y*9crc`p5OEEVo29C1oPDl1U;KSs$u{k^D+|ndjaE&h-VtLfcH`ItJ=*48@ zI~Jt3jI_(y!~^u1b3mC~ofkS)<7FB@#|k0Zi)kIjHaXzJ8_(C}tpz#)kr$x(fUep2 zn+{!fujJCQ85~LS42KVvl|`NMhAZGoo7}9*8A-lE&xYya9B4bfImYsq22Mxa{8(e~IAslUzm2>{E7C|4uwD?kxk{Y~fu^ z7_!=jh%c&!6y5Agr8;jJK$xZs-H$FCn*=9h={NU1Y$vEf6)Eu1w=qQt^WG@40P zIHs;vo#pmyGoM#sL()^i;hfXJE&Tito$A_Q(fnRUev=X%n{y0T<^8uR>%YrovJVGC z?>)MrasL)aw?{dWkiD7_r9K&$ckydzYOPaZ&bY5DAZ0gW@!oQ2(GnOZR`SYLvh^bt z^89Tc8*=Jxrx|9_35(jS>f>rR@)oMh?lrU=#y6kS!s>uCzaA8XRXfUm1&8H!b$;I- zA#esP{wU7Dhd8VSKUzQ0$u8=Bu2n6-DJ$1p2Kviy{19((dC<@1a6~kn!otWaNfA0@ z&9kMVuW34J{oOho0Ji>ZgC!En>101sBmJV%}UI_y~IuzmW{P|=wrsG*gVUh z!*^G1!#OKcpo$=NyRTHQG(sl;SuYttM8SmbM!u zU1p%zymtm8oYGed%u9?C^XEZe(VSPD9Eh4OYL!Ub#(gNqC|3(qYoQK|;L2^*X=1P> zZG9$=Snv$IG=0qoE|bBIdZCR^Leq{WE3@9oKy~JUln4f_|Fu1dO0Cu zZ_51~5;Q#fH6$7e0Fj_Upj~ zTtqQ9Rq?3sRd*@R#rP_P7KfKdd#miyc{Nyb`O4ko-m;_4YXyF|$Anz&hiJU;D&Qz%#49{+M{>F;UC{*#JVmpcVs@Uq?9ndLd7s=L()4Vn%+ z->~=De2PNA`j6hl5_Lw`Y+aH+pg$(gggn$1t&=H_Yq-rI<-AsK4(ofsuPfuARI|AS zAs1*ZHf@Fl;H73nQDx^C949i%PMK=#HgxdU*Fp?^bARJoA(eUlZViUnVbVl84wLUR zkk6!N;S#RvPi{UBErEFK3@XwivA@}@&iwOR&ovcf{6|2-V0R{@)p|@V67i+9ZPzA? z$vv6wZBWyxl7;ln_p@)zq$0nIn%q)xGs;l zDTjSaWAUcarcvViThh$aHDe#p)Z3zDfrTOlm2K9{o6Aw?ZN9_hbhZkcv!lRxV&hg5 zVnJiN^!j6{xgOWd1`&Q)jDB@!^y=)A-MGUc4bgrR(TC}&$-+W}7u?175Mm0x4iO|1 zEVEor0vty;2yhpTv8>4+rHja7-=i10_K*kUZ&qjJ7gF+_ACyia74+Z{d^viKu@r|M zDkRd)KP$RZ8|XM(FT4q*N{rBDTu8ig8aw%?mlfHJpvtywO69JY0E*!U^ldKlY^tQ@ zEpUr{;hvb>uWy`F6I~&CH=cd!=?D{&N&j07;j@j2ZF1N>5ULa^Xcr_sP4E@u%@&gq zIN{Vl>KAZ$N8jCb&QcD%e6QnfZ8uPJqdAoj&VDf!o$Ng%qbR)hMEb>}BN6==^xQ2) zg`(#A{4J*92+m&|rXQ{DHf;-|EOkYV)pvNL;HR+G!v3;=MM8m{)GViK4p)z7w@-mlJ1?&ZA|U}i2C;glZDn17+m4;m0bmwl{x6VRya2@RpqVSPmY z*vgFyAaDuK=c+aQs<$yTD&Dl5{RWlL`3Oe|m``U=3T&7iU3EOdo~A98Fju$Aw=7@% z%4s`SNA2DD!q-S-_eap1XCJzdoew89yAJo2X`mUAl7rbYc#6y5TsgwUPAks)WImI`Z+SvS`8PpsA=nIh|YmvA3vXQLAX<>9W;AVnzi~?wg_nq0Z8yJ`c84 zUOl1oZ!X`?2*f?-ttiEv>)2F81RVoacB$P`-gk;?wZz2_ddS+(z8C>EHc%%`Z<-Jf|!g01Q8XbX*IVg zUH)yh@l~sGD^yG}l^!rAwcT?jM1?2Z9L&Q-#N}6}06Vg7BIC@`9rqF1oePE2bap$( z(Z{HahuEml72@aXt*S2?OZ=1{q=7X%-&EiYyk>uw@^#s2>I#lSX@#Y4#WwFuI3GH4 zgzhzb6ViLXB1_WgzPNU0;tv5P*5YLv&QOfZ+_%-hFiT8J;R8lB7vsV*E#oVdmrYtA zR2}x-58o2oq54*z`^+TJLN&GUeA z0pYJ>#cs@v&9HPzR@**>3bY!WE?ohTgD}wi3^{z7QFiZIfsV!MA`5ys@%PeNDwslN zXRpa{bnWz-!r%h}KvO$6-uO6_c5tpVHfvX6QjK6u88$)I65cJ3H=ZzYvlll?!A;(j zNe?J%xHT~-&|E1Ripy>0($!GZNR;z>b>^k)3xolh%548=8@r#*XQnttSo|z{N5=<2 zTgPQrg-y&i4ZW|S>lOj^$^m<=Ddl#a{N+c3`pZytDWTUWZ~lAe>(95+MnPe+Ww#SG6se9%7IQPvsxW_;zKySQ9)<)Bw#zhYP(a6=>Dyl6ijx2a`> z{>FPC#c|nwGTC;JbeDw!`14OH=p^q8SNup&HTKTJ_DY_E@=oh~msdy6pHP!ut^}lz zf|%BbG@D=sQ1=eN$|bwRhR)w0NyWPpG)@Y5Y%Xa6U5P@EO#>&oR6C`-fVZ`@err#~ zZ};$gcK>W=ew)dF?#B&W9?r-) zBCKd5A*>XNZ@?}Dhrq`sFxAGUDuhf6qpNd^sSC8&XFE!@h&nZscE%@+)2NFKQ`25W z*6$iu{gGX*3}q!<5Jni$d|g&1&Ahi9X*Em(y9Mo7Va0m(ZuIsO!m5=;KFlnQX@6}{ zs1=Y-8Uq@)m_Zy4-sUwgwU>pPyfI6{#$f`fQV{e@VSj$y9wZA1Et8gL4ZVu-`#5~K z^K5hH$^5#JNLx_%Ed#CG9wk*~W!7>A<*Tq?3`(E>^$0yB#-^guJZdaz85>P_m!;cr zQxx7QPc&WuFL$IQ=I?1x?F#a9$Kz5Fawx5{X!X!5Bu)e=kAlYoVM3jOKhgTbY-jO+!knDj?6GCI67sm_ zv5YZZq<;{Wd$m~;s5h`8t^%VIGnO-U!jhHIVT)MJYl1gd493{735iwwA)+l1GFK!8 ziOLU2D}@!CxE8B+oy$0}mg^`iSo_y9X^9wG@1-`x&HTdDw};#69$r>}_AyqT0ddC?8*fyWbRD)D z!zUOFRVqoE&uv$_A7oXbG;bL|?k%Cj(D>g{azq7I$MQLuF+8>_4oF5*R2ckq!{YHH0SrrPJaR#SKRVZKdI zs+#SQYN81Jy%QnN74Ij5HPV}mHnD&Al{{5$*7z4AyC?Z{lBjy})i;xex9>olvcebw z3%ob3v497>{zHOU$fQTpIz?RZbq)@4sPYi>9g_uGxA~wV^!#miEn0g ztAFNfO?Kf0p{Qh9tiLL(xTCy;Hc%IqMo|yGPOS#QKY_jfY-U~~pDzbIyrdL&E%*`S zH`;mwpmFb6Hb~SgM5g8q=`}EDak9-z7z)J+f8LGvRcJ5`G)M!3s*imG8#}6fskd)@P1~KsSff-CEtg$S1P7rau(d;%5z+UkPuR# zZ7G_7Z5kh7i3!C?+)NOo@<0=-76p6mZ0K%wv5gRgK`Sg*9aC8vzj$<3rkD>J=v+^^ zU`W95K~el)W%&>OqkohY+3m`GhY?zyCe7x8{cLTO{mFK#;0Q+0AZC`H@V}I#ht``5 zI>HEoPi&*Kcsvy6=eQP%FJJY%4ZQcY>9`t8V+64@NC~R_yYi&9tFxJ$ znR^4Ie!ZME@^qt|H)P~h371)`IZXQ9Ec;R8PEGrLqDkgy=8EAX#02US2)-N%FBiHm zU~&QPq(42wrYI(G^w*GkaEMunso+P>UD9na*ox`6Odm1lRR5*Z=jtS0b{zJ2n4UMN zvu&>y-^N*P;9tdWHcSERTGRN=e(rd5Zel z(nDq>^u9J)0NA161R;a^*g!6Z=R3nCzaa=ix{0AFb~NQ>)f1_sSw{w+K>&b=fz*IZ zmTRu=bMye;r<=+Y)AY{&+rbAY@4bDV0wjiPW)?{t#9=kH zZ6D6QQ_d07H+?uyJ7V^xk1%@q5>Rljp4lYhnt3&$L+Nqv3OFeqxSEA(>tty7@0OC@vo(?~9`J=(;^_d>woNKBmXm<{YX4FQ}@`Cj!eI5vU! z*Ulb_lgU;aqdcl(>XOBi z%;MO(tjpO7B0FU22Q9fOMZ@!a+FUU?1yV_vLcd+Vbjx19XffOSGyi4pZXEFAEq1w} z$I!DglWp?|YdPPHR0+2@)nB&Rx?4^Ej9ZfRYCB{?7t?HaLWCNfFJ7o*Ac|)lO$u1Y zJIb2uw(Xq>F6R^I^;mok9?ME{>Q}qOFGl!|c;8Q#n5G*~a*UZ;e32lF{F?s+(j(Qc z`dR5Rrj4%qEnOv~qO4+nVFs#FR&*xFaU8NAo&M5>#^!g*xlGh^Qa$no0xDD}F7`uh zHu}Sx(5Rw`pV0=7c6=+5jPmm1;1s!Uo&!>!7<|Tj!kenwq0=D{4Cj}tKM0uY#}d&7 z9?P4v4G&{40mb?ZzqS~}O#Oq#UgVFBxo^3l$I6?>{=kQcMy=mX>bJ_M#dUt#HS%lA z`G$OI>^jQ}xY;KiRy4}@f%-M_j)za?YsAA`(@pagv|759fxt z%9$3n<@%_Oivd)N3ZJYqm+`9C}BI?4--QYtBb~4x$40+cQ`by$9r~ zfojYqXNk>Q*7oZi1AG74Y}iVwXD%@$wtMw`IZ2Ugt&@QJc3j2so7su^>sh0+ULB<- zUJ0#zSBFM6L1TT_tgH0}OC4+#y4SRNz`gj1FNolY(P&)TDWoT-8sPy1`=r6cua8vk zU+pE4wB(*Ga1UE4n2dX-z*^v!z^D%ghxja+{WpF~fb={&D=t-`U=NI0-)uJD_s z8gBEg{4fU8+usFOB~!VmpHH(68+97V&;{g8H92TEf9V)*an_JIB-AM>sc8NevaS4% z@#8WN=@#}19=hIrQAv4>U)=qp)~_X*k>Jgw>xrIV!n1YjcS30E2lh+g-TZiEQ5^dR zskx$3Wtt{_Sa%lT42!&>OYs8*%?-7`S@P?Er!c!;S*zc5(yK@6km}?)p+AI=jsdcZ z#;NQJ7~@AT>5cadiPLcZ#EEcMS#ytHx29pk!!PO0?wvLc0-PT_z1`poj)pu}v2;{K zay0yy)AJ@pP2d}h^j^{e;R+|HjtQpCaE+&ij|x_A|CM>m!XM#@*_k$>Lq4_aAh1-mL; z4VsYe|6#)s3F-AD5s`k*;P&}00-K%Qa*Xz=#m0M8ZlaEh8S*!_u7t~v4=0ZcfE{YU z;;~(g#Dj0}{v+15lfPcPsaNw@`>BDr#HN1|Ge=u&`QS=1qGqY&?>Kdt2Kh=kYXwX@ zk*c6|TxGKOEu-nqvS25lq(zOGA)}h8nguh5o+klD@du}jn|9~UL%-P0P0WrKPPr!Q ziP;6sqFbgUj}w9xyX$6iX%>c@;%q~M(eGSp@D(3bA)~LI)mP8X)q zNO#`0OKEqd$XQiig$s#))v=x=(7NGY|D%oF_}> zZ`i0+Q>3nLSV^g2XZM-(bG#RL;%^f9iG^SEg z3xk>dKbQXiv^CBmMp(x1Vrx>3!za}}v2QfGc+W*YJ)I(y$IuMT^2Ms8dk{R%UK;09 z+N;zAjVp*Y@*VoD!1dF!g0!Nd; zTpDK$UT2%W0iH^rJjBq3g!G`Tp;X`APh79t8(JjaqRFjJZmBu)c4XLZ(QgP>@1UJu2(|WXcKO9}ljUjwHTTqK*{eUk>_c{PyHOCHcec z0MLFYk*Rr%F@B(NGSALSR?QQX7i>tNV8yeLM>dw{;LuX|vPHL;DGS41;GEF4F1S_~ zgmFw`fAUsh_JuRi6QM674JM{4bq^h7V-tR$0U5D=Fn9Yuo1RtB-?r-S7FQS>6MAxU2R7Sx{N>l=x`@7jzRc@)hV1MhIhNVRptx3G`3QIJR5Ff46#_IQ8be`o4u+1vPU@Pxs z0yeNkzWZ(hhlL7w6ZBD7uX=Kpl%BA&LLLJb>`cRf)&Zzy2{^pKoGcsNj6Qzhmgb;<& zK`g4MwJIsdb6ke9z$OA)oJTPlsT13=9k2k*eCsPV0V}HoVanJ%9)ftDktUcP#bsp>Jg2E=Ew5>=!B3Hwa{qow~&6_U;Z|!BS86w1dBK6*#By zM&rA*SVq8=d-UsT`ZXl9bW<|H;%Hrnvi4)w$`-a%WS={8Fcplpqv`9zm;3LJwinXW zXmSzJN`xhyKqu<&fMfj5YF$qbg5x539sNRfRtoiEXvO|51|4PNiQgx;~vg$f}pT|sMoS~gfllRM$UgLvNOHzc@WT)>c; z^6Dm6#NF9%o7G{J4l`C(Ua$j;Vw<|=yzLT!)Y99~=z?GQlA+sI%j5c@Iv=wr@!1SH z&WDu^o1Ml6)ItV1oz!!Jau>~hnyy${{F)xvmagk3sNeI_N2-!c*b{*3;3f_VFqGzr&9 zM{g{)Eqk7=lD}1{0fub#&H3}ZDZlT<&(6if@|%i-X5GBp+5p^_J z;LNrT5AvJS>jj}7v~LrzcL#_V&Om>coEiQpdD=W>gg?IIIk5+hbTO1FSm)h;IhZiq zOLr@BY27c*g5oZ72O|D11A+rRsiDh6P$5G2Tie0rF)+F_*?M2T??dF7J4YA zC=yKm4k9FdUvp8M*wi?tkM zHL}Y~elvvQHEupEd~lsSW(>+5`4n81`veN3Tl2qP=>p=v4r@e!>$&o7djw}@wdXw& z9cA4MxzOx_%N`{_;_+(1p(exRTuXir0F9%8^V}B{DRd(ZFzpErs9rnr`a6{{c+M^x zib^Q&NoY#hL@n@?7nc+Gcp}!3*U2>p?n#}tr(Ia9vw9|rO2F(ZY?R|z?&U>m;MBPF zqoi+pU0SEal_+g@LqJz$&4{pxSFg)UQzu*|57bMj{C~hNoSn||qdy96I``ksq4?gl zo{r8snWii14a%nnnc5nQrRS8zjYwG;r=%C`8RkwJp87=Stu;=~T6FqFDjiEmX~M4e z)#*#$&E4>C1^(s0DxKy>R~jVE!g1Sp`SNa(ei$VDGoPqT8REnWTJFKdirz?XCOlZC zL0PO^=dB!If41J~YqT?QY~$)Y^7h|nH-$+K_~_Xhv$9JW*SabmCG7f#mOwBUIj*IoY{)~tEI zm`&H-e7G97Dnwr$OM&`5*ozfBI?oyP*Fo1W;IA_Sgx>7W$)KIKk#oZpH ze~HoE1bob_dq0wT_`R9ZamaDDIOhF@S9AwaUn)m#{b{%LCQ(NJfwUhVENT&?CSADH|Nh z*MpG$s4!j^byH!l+^_fu`vSXs7%>rUSnX`dnJ9 z&|Oxsnzn=-yC-!Oax05|YGLXv59)YrOe(XD2K}8cIU&-gcYtt0FET5+7ja}}ZC$xp zblId6-Lw$14YLGsyoXkz8yH>BYAp0XgErw$)ox*xdZ(&)$Q>2FfnnK=HHlgU%Gay= z?8Q?OIUSuQarJb--KNAH3#-WdvA{XrCib~x!2evZwR}InwHI*Qqhy}NRXz=HPWXN~ zKO`Rz!Hh=LdfzSB{m_DK8@Q|T;PJGGN2~3mx&K-8iUo}iWnOHUwZ`Tyeq8ep(;R#1N>I31CVG(G z%@^LPH6ZOlNVCSq!O{3B;aB&Jo@s}nKfTq5t&q5Vouq;0Fe#l;Z&|yN;~JW-`wa7d z`tat*Q{RPa|6sa@kBfolBz^Y>UW&p;2HRb2GNYW}7ocwr8$)yIm%EeKe{xwM1y7I| zK}LN9IBlEsdJTGXH76fp0e$>AL#vZH7hF@YGf{1r<6?@J$MLkPCp|AvQTW29_Pwf0 zW!tB__G_nj97@fbB8q}bDbEDdSO1dziI;vamW5C_-w_#DTR31L@ZO2gD`BbKT{2c9 zjJ!(J5_WI|yqrj#wwKrU+7X4E>zeH&H(l}|1mB<*yT4;mI2peT*V7}0?j1x4|BzG* zIwAz9AhSi}1~BxCHY2fmWtcb6|Mjn1K`fg@*l9t#?H>Y-57ku&R%I6Usrrewg27qn z*Yrb}10i_!)h{|XSANp|0QY~I{Wd(3|NG_|J;t03JXelY!CGlWOiYx#<{{#A=N&hx zwZCT$J^>#wg2a9q_XZpj2DlNwxaZlEYQA4$eCif!L|BwvAcT$#$bPvtaJUOdNw2dv){EAG85XWwXU ziydu(-4ZGMeF?DrXy{R|NZX<9+Qs|nSk9NlIyaDQ|I$6#6+wy~N@24y4yc=wr7idc zd~+inP?`>;ExoiMD=%g%l~pz3K}0nlO_<6o5)tVHs@?`6FN|@(>=T{8@e(D0E$UzY zG14)O%Lk}GWr8Os_Mq%_JFGvG#W*-uz6n z-IP?fdy?FgduK-MH2)KO1)H6wEl*gOf?*!q{&HM>MyK)YJEW9-^dwIXeoyldBeoq0fWiFtg-XZ;CxjJmXO6QN-yd|G;x{0#^P)=K~3-xo_nGW#)|S3pTN%<)@g(H}^?T zyb+Dt;j;V6oySk6)L!Hk*FVkeZ{8%dLKVUte^n#HD%jCg=SOgUZ`mf~TaE1n-}Ej2 zHm2Vz1SD?1m%;NMAVM1jl>+8bt$6R!9JTJ|q)wwyCxLphvSCcV!IKmwCU5_$73^