ࡱ> Y SbjbjWW %==N&]. . . . 8Fd*z")1L3(Y[[[[[[$v'5)")'5'5w. . *www'5z5. .Y. . . . '5YwZwц.H\Y.@tXYj@ Final Report An Infrastructure for Customizable and Divisible Card Payments for Online Purchases using JSP on Apache Tomcat Server Project Number IS-2005-Suseela Manchem Project Type Product Student Name Suseela Manchem Address 61, Reading Rd Apt#C, Edison NJ-08817 Email sdm5@njit.edu Phone xxxxxxxxxxxxx Submit Date April 28, 2005 Project Advisor Professor James Geller Address New Jersey Institute of Technology CS Department 323 Dr. King Blvd. Newark, NJ 07102 Email geller@oak.njit.edu Phone xxxxxxxxxxxxxxxx Advisor Signature (Print Name) (Signature) Student Signature (Print Name) (Signature) Abstract Due to the availability of numerous credit card companies with different kinds of rewards, customers are nowadays inclined towards maintaining multiple cards. But doing so adds to the complexity of maintaining them in terms of keeping tabs on available balances, expiry dates, credit limits etc. So, to avoid this hassles it would be an excellent solution to provide a single/few cards leveraging the features of all the cards the customer has. This should typically allow the customer to divide a single transaction onto multiple credit cards considering the limitations of all the involved cards and extracting the most benefits out of them. In other words, it would be nice to provide a feature for the customer to create multiple Virtual cards according to his/her preferences. This project addresses the above customer needs by splitting the customer transactions into smaller transactions posted to different credit cards for a typical purchase. The main strength of this virtual card payment infrastructure is that it requires only two minor modifications to the existing infrastructure. First, the V-Card Manager (VCM) is added to the merchant side to handle the divisible card approval process from respective credit-card issuers. Second, the customer is equipped with the V-card Agent (VA) that generates a customized divisible card based on his/her preferences. The Merchant Website is one of the four main modules of the Divisible Credit Card Payment project. As a developer of the project, my responsibility was to develop the Merchant Web interface and integrate it with the Virtual Card Agent module. The interface has been developed in Java Server Pages and Tomcat Web server to run the Java Server Pages as the front end and Oracle as the backend database. I conducted one survey to know the usability of the Virtual Credit Card Implmentation System. The goal of this suvey was to find the percentage of people that prefer the multi card facility system, personal card manager software, web automation of this software and list the reasons for their particular preferences. INDEX TOC \o "1-3" \h \z \u   HYPERLINK \l "_Toc103596902" 1. Introduction..  PAGEREF _Toc103596902 \h 3  HYPERLINK \l "_Toc103596903" 2. Project Overview. PAGEREF _Toc103596903 \h 5  HYPERLINK \l "_Toc103596904" 3. System Overview.  PAGEREF _Toc103596904 \h 7  HYPERLINK \l "_Toc103596905" 3.1 System Architecture.  PAGEREF _Toc103596905 \h 7  HYPERLINK \l "_Toc103596906" 3.2 Previous Work.  PAGEREF _Toc103596906 \h 9 4. My Contribution.....10  HYPERLINK \l "_Toc103596907" 5. Evaluation of Virtual Credit Card System..  PAGEREF _Toc103596907 \h 17  HYPERLINK \l "_Toc103596908" 5.1 Observations and Recommendation.  PAGEREF _Toc103596908 \h 17  HYPERLINK \l "_Toc103596909" 5.2 Statistical Analysis..  PAGEREF _Toc103596909 \h 20 6. Summary....26 6.1 Implemenatation Work..26 6.2 Study with Subjects....27 6.3 Future Work28  HYPERLINK \l "_Toc103596910" References  PAGEREF _Toc103596910 \h 28  HYPERLINK \l "_Toc103596911" Appendix.  PAGEREF _Toc103596911 \h 30  HYPERLINK \l "_Toc103596912" Appendix A: Source Code..  PAGEREF _Toc103596912 \h 31  HYPERLINK \l "_Toc103596913" Appendix B: System Evaluation Information.. PAGEREF _Toc103596913 \h 57  HYPERLINK \l "_Toc103596914" Session Introduction..  PAGEREF _Toc103596914 \h 57  HYPERLINK \l "_Toc103596915" Task Direction  PAGEREF _Toc103596915 \h 59  HYPERLINK \l "_Toc103596916" Consent Form.  PAGEREF _Toc103596916 \h 60  HYPERLINK \l "_Toc103596917" Post Task Questionnaire...  PAGEREF _Toc103596917 \h 61  1. Introduction Credit cards are the payment choice in e-commerce. Despite the on-going development efforts on various kinds of new payment systems for e-commerce, online shoppers use credit cards for a majority of their purchases. Research shows that 85% of all Internet transactions are done with online credit card payments and that customers are more comfortable with and feels more secure about using credit cards over the Internet (Bohle 2002, Jewson 2001, Lawrence 2002). When people use credit cards, they expect functionalities different from, say, cash transactions. Credit cards, although not providing anonymity, offer the balance carryover functionality such that the purchase amounts on a credit card can be carried over to the future and be paid in installments with interest. Many credit cards offer additional features, such as cash-back on a percentage of total purchases made, travel protection, additional warranty, or airline frequent flier miles. In such a myriad of choices and features, a customer may be better off using a particular card, depending on his/her preferences and spending habits. For example, a customer who carries a large balance may prefer a card with a lower interest rate, while another customer who does not carry a balance, but likes traveling, may prefer to use a card affiliated with an airline company to receive free airline miles. Furthermore, customers are sometimes better off if they can use a combination of credit cards for a single purchase(AMCIS 2004). This project describes an infrastructure that supports the divisible payment of a single purchase (Chan et al. 1998, Nakanish et al. 2000). In the new infrastructure, a Virtual card (V-card) is created and used each time the customer wants to use a combination of cards. This new infrastructure modifies the existing systems in two ways. First, to support the divisible card payments, the Virtual Card Manager (VCM) is added to the merchant side. The VCM handles the divisible card approval process between the merchant and the respective credit card issuers. Second, to support the customers card-usage decisions, the new infrastructure provides the customer with a V-card Agent (VA). As which card to use is a complex decision, an optimization model is built into the VA. Based on the customers preferences, the VA generates the best option that may suggest using multiple cards for a single purchase (Chan et al. 1998, Nakanish et al. 2000). It is believed that the proposed infrastructure is well suited for online purchases. The creation of the V-card does not create a physical card but only a valid card number, and thus this is well suited for Web purchases where no physical card needs to be handled. The VAs optimization decision needs computing power, and therefore online purchases that use computers in the first place are a good fit for the divisible card payment infrastructure. It is also expected that this infrastructure will be effective in the emerging mobile commerce domain. The VA residing at the customers mobile device, for example, may assist the customers decisions at runtime (AMCIS 2004). The increased use of credit cards on the Internet has brought increased credit card fraud. Thus, the majority of research on credit card payments for e-commerce focuses on the security issues (Shankar et al. 2001). One study relevant to this work is the payment with single-use credit card numbers (Rubin and Wright 2001). In order to reduce fraud with permanent card numbers, the card issuing banks, such as American Express, Discover, and MBNA, may issue a one-time use credit card number instead. For example, American Express Private Payments program allows consumers to obtain single-use numbers from American Express directly to be used for purchases. A card number expires after a purchase is made or after approximately 30 days from the date of issue. Although the one-time use credit card number is primarily designed for protecting against card fraud, it is applicable to this divisible card payment. When generating a virtual card, the Virtual Agent may use this method to create a one-time use Virtual-card number (AMCIS 2004). There have been studies on divisible e-cash payment protocols (Chan et al. 1998, Nakanish et al. 2000). These studies focus on payment solutions that ensure anonymity and unlinkability while allowing electronic coins to be divisible. That is, each coin can be spent incrementally as long as the total purchases are limited to the monetary value of the coin. These works look at multiple purchases and multiple merchants, while our work is about one purchase with one merchant but with multiple credit card issuers. The solutions devised for divisible e-cash are therefore not directly transferable. Most of studies on credit card payment security do not focus on the credit card users practical decision-making problem. Users may face a complex utility optimization problem on each purchase, namely, which card would be the best one to use among multiple cards for this particular purchase. The users perspective of credit card uses and payments based on her preferences or goals, however, has not been addressed in the literature. The security and protection against fraud are of paramount importance, but as technologies advance, capturing the users preferences and goals and customizing the use of credit cards should also be an important issue in an electronic payment system(AMCIS 2004). 2. Project Overview The goal of the Split Credit Card project is to provide the customers with a better way of managing their credit cards while minimally modifying the existing infrastructure. As the customers are better off if they can use a combination of cards for a single purchase, the new infrastructure allows the customers to use a combination of different credit cards for a purchase, i.e. divisible card payment. To support the divisible card payments, two modifications are made to the existing infrastructure. First, a software agent called Virtual Card Agent (VA) is added to the client side. The VA recommends to the customer an optimal combination of credit cards to use. If the customer accepts its suggestion, the VA generates the Virtual card (V-card in short). As the V-card is used online, no physical card needs to be generated. Instead, the VA generates a unique card number, the amount in the card, and the divisible card billing information. The V-card number is unique to prevent double spending. Rubin and Wright (Rubin and Wright 2001) discuss a method to generate a unique token off-line for limited-use credit cards, such as gift cards or calling cards, using cryptographic methods. This method can be adopted for generating a unique online V-card number. At present, however, a simpler method is used to generate a unique V-card number, where the V-number is based on the combination of credit card numbers used in the V-card. The V-card number is generated using the first two card numbers with the current timestamp. As each card number is unique to each individual, this simple method is sufficient to guarantee a unique V-card number. When determining the optimal combination of cards to use, the VA may consider the customers preferences over various factors such as interest rates, annual fees, mileage bonus, cash-back bonus, ongoing promotions, etc. The VA provides the GUI to the customer so that she can easily update her preference profile. Second, special software called a Virtual Card Manager (VCM) is added at the merchant side to handle the V-card payment. When the V-card is up for approval, the VCM decrypts the divisible payment information and forwards the billing information to each card issuer involved in the V-card. Unlike the current protocol that contacts one credit card issuer for approval, the VCM needs to communicate with all the issuing banks involved in a V-card. Each card-issuing bank sends the approval code. When all the approval codes are sent back to VCM, VCM sends back the approval of the V-card to the payment gateway. 3. System Overview 3.1 System Architecture During the standard transactions that do not use the V-card, the existing infrastructure and protocol can be used without any modifications. When the V-card is used, the payment process will be as shown in Figure 1. The online customer finds the desired product from the merchants Web site. The VA makes a suggestion of which combination of cards to use. If the customer accepts the suggestion, the VA issues the V-card number and enters the V-card information on the secure Web page on the merchants Web site. If there is no secure Web page on the merchant site, the customer is directed to the merchants secure payment gateway where the V-card billing information is to be entered. The V-card information is passed to the payment gateway. The V-card billing information is transferred to the VCM of the merchants account. The VCM transfers the billing information to each credit card issuing bank that is contained in the V-card for approval. Each issuing bank checks if the credit card information is valid and sees if the credit card has sufficient funds. If so, it sets aside the amount of purchase for the merchant. Each issuing bank of the V-card sends back the approval (or denial) code to the merchants VCM. The VCM waits until all pertinent card issuers have sent back their approval (or denial) codes. When all card issuers in the V-card have sent back the approval codes, the VCM generates an approval code for the V-card, and forwards the code to the payment gateway. The approval code is passed to the customer. The payment gateway emails the customer a payment receipt. The VA adjusts the credit card balances resulting from the current purchase with the V-card. At the end of the day, the merchant requests to settle all the transactions of the day. The merchant account sends the request to capture funds to the acquiring bank. The acquiring bank forwards the request to the issuing banks. The card issuing banks pay funds to the acquiring bank and the funds are deposited to the merchants bank account. The actual funds reach the merchants checking account in approximately two business days. If any one of the issuing banks does not approve the billing request, the V-card transaction should be considered denied, and any approved requests should be nullified.  Figure 1: System Architecture of Virtual Card Payment Infrastructure (AMCIS 2004). 3.2 Previous Work This Virtual Credit Card implementation project is a continuation of work that was initiated and partially developed by several students in the past. When a customer makes purchases through a Merchant Website, the VA recommends to the customer an optimal combination of credit cards to use, based on his/her preferences. Once the customer is satisified with the combination of credit cards, the system generates a Virtual Credit Card. The previous development work can be summarized as follows: Interface for accepting user credentials to log in into the VA system. Interface for registering user information for new customers. VA menu interface which has different submodules my card list, my preference, and create a V-card. Interface for adding new credit card to existing VA. Interface for storing customer preferences for future purchases. Interface for creating Virtual card using the above interfaces. Developed Virtual card Manager by simulating bank servers for financial operations, as we dont have access to real bank servers during the implementation of the project. For simplicity, they focused on creating a back-end database for each bank. To make it simpler for test purposes, one bank server simulation was done. For the card issuing banks, when the banks receive the transaction requests, their simulated servers will check in their databases to validate the transactions. After validations, each of the issuing banks will return either an approval or denial message code back to VCM. My contribution was to continue the on-going development work. I have designed and developed the Merchant Website interface. 4. My Contribution I have developed the Merchant Website which is one of the three main modules of this project. The Merchant Website is a simulation of an online Website where people can make online purchases securely. Ive developed this Merchant Website using JSP on Tomcat Server. Below are the screen shots of my work: Figure 2: Home Page of Merchant Website Figure 2 shows that this interface has three modules reachable through Catalog, My Cart and My Accountlinks. Figure 3: Catalog Menu Figure 3 shows the Catalog section which provides information about different available items, divided into various categories along with description of items. When the user clicks on the catalog link, he/she will be shown the items which were divided into a number of sub modules. From the above screen Books, Paintings and the Ideas are three sub modules in the Catalog section. Then next screen shows the page that appears when the user clicks on Books submodule. Figure 4: Add To Cart Page Figure 4 shows that customers can select the item they want to purchase along with the desired quantity. This screen shows the detailed available product description along with the price of the product. Currently there is no detailed product description in this screen. When the customer selects Add to Cart button then the screen which is in Figure 5 will appear. Figure 5: My Cart Page My Cart page has two options Continue Shopping and Checkout and this page allows the user to see the items that he selected for purchase that are yet to be paid and processed and the shipping, billing addresses.  Figure 6: Login Page Figure 6 shows the login page which takes user login credentials and does account validation before accessing the system. Before the customer makes a transaction, and when the customer selects on the Checkout option in the previous page, the sytem prompts for the user credentials to login to the system. If the user is new, he/she can register his credentials to access the system. The Customer Login component takes customer input credentials and the credentials are verified against the database to check the user authenticity. Once the user has been authenticated, the user credentials are maintained for all further transactions in the system for purchases until the user logs out of the Merchant website.  Figure 7: Integrated VA algorithm Interface Figure 7 features the VA Menu link which connects the Merchant Website with the Virtual Agent. Once the customer is logged into the system, under My Account section there will be number of links Order History, VA Menu and Logout. And this page has four links namely My Card List, My preference, Create A Virtual Card and Logout, which allows the customer to update his/her profile. The Order History sub module allows the user to see their previous orders that were processed and also the orders that are being processed. And when the customer clicks on the Checkout link of My Cart page then the Checkout page will appear.  Figure 8: Checkout Page This Check out page shows the final selection of items purchased along with billing and shipping addresses. For making payements, this sub module displays existing Virtual cards and a feature to create a new Virtual card. Figure 9: Complete Order Page The Complete Order button completes the user transactions after making internal validations with the card issuing banks. When the banks receive the transaction requests, their simulated servers will check in their databases to validate the transactions. In the end displays confirmation message with an order number for future reference. Figure 10: Order History Page Figure 10 shows the history of orders that the customer made using the online website.  Figure 11: Select Order Details Page Figure 11 shows the order details associated with a particular order. In the order history page, if the customer selects details he/she will be shown this page. 5. Evaluation of Virtual Credit Card System According to the methodology of Protocol Analysis, I chose twelve subjects to evaluate the effectiveness of the Virtual Credit Card Implementation System. Among them, five subjects were women; seven subjects were men. My subjects evaluated the system based on the prior knowledge provided in the questionnaire form. As per the Protocol Analysis method, no help was provided to the subjects to achieve un-biased data, unless they really got stuck. All twelve subjects were satisfied with the system. They felt that the user interface for the system is user-friendly and allows a lot of options on the Website. About 66% of subjects liked the facility of using multiple cards for making purchases. Approximately 91% of subjects felt positive about the personal card manager software that generates the virtual credit card. Approximately 41% of subjects liked the Web automation of personal card manager software. At the same time, some subjects mentioned that they dont want to rely on some software which will maintain their credit cards. I think this is because of the resistance to new technology or losing control over the users financial information to a merchant. My subjects also pointed out some of the weaknesses of the system and some valuable suggestions to further improve the system. 5.1 Observations and Recommendation As an observer, I carefully observed and recorded my subjects behavior and their comments on the system during the evaluation process. I also did a short post task interview of each subject. Based on the observations obtained from the evaluation procedures and data collected from the post-task questionnaires, I summarize the evaluation results in the following. Corresponding recommendations for changes are also listed. Observation 1: The user interface needs to be designed more user-friendly. All the twelve subjects spoke highly of the systems user interface. They were very impressed after seeing the Virtual card functionality and how easy it is to use it. At the same time, my subjects provided very valuable information to improve the system. Problem 1: Add cart in the purchase screen appears multiple times for each item. The Add cart option appears for each item that was listed. My subjects prefer to select all the items and then click once on add cart to add the items to the cart. It would have been better if it had appeared once for the entire selection. This would allow the user to make the entire purchase with very few mouse clicks. Problems 2: Item descpription shouldnt appear in the cart screen. Currently the cart shows the item selected along with a short description. Instead it should have been just the title and optionally displaying the item details by clicking on the title. This makes the cart less clumsy and more user-friendly. Problem 3: Tax and grand total should appear at the checkout. One of my subjects mentioned that it may not be a good idea to display the tax and grand total after each item has been added to the cart. Instead the total purchase amount should have been displayed at the check out section along with tax information. Problem 4: It would be more appealing if the Web page shows all the time the user name. The Merchant Web page is not displaying the user information anywhere. One of my subjects felt that it would be more comfortable to see the username all the time on all the screens as it gives them more confidence that they are seeing his/her own information, not somebody elses information. Problem 5: The order history doesnt show the transaction date. The current order history requires a lot of refinement. It doesnt show when the transaction was done, when the item was delivered, whether it has been returned, the quantity purchased, etc. Problem 6: No Shipping and delivery information. My subjects also mentioned that, once the user selects an item to be purchased and completes the order, the Website shows that the order was successful. But it doesnt show when the item will be delivered, any priority delivery options, gift wrap options, etc. Recommendations: Make the current user interface more user-convenient. For example, let the user select all the items to be purchased and at the bottom provide an option to Add to Cart button. This will let the user complete the selections with fewer clicks. Improve the appearance of the system. By showing the description of the item in the cart, the cart becomes too clumsy and the purchase order is losing look and feel. Calculate the tax and grand total and display them at then end. The user name should be displayed on all the pages so as to confirm to the user he/she is in the right place. Improve the database design. Add a few additional fields to the database tables to store transaction dates, shipping dates, etc. This will greatly improve the system by providing detailed information of the products purchased any time in the past. The checkout option should have additional options of various shipping methods so that the user can make the best suitable choice. Observation 2: The current system doesnt provide multiple payment options. The system doesnt allow the user to use payment options other than Virtual Credit Cards. One of my subjects expressed the difficulty that if their wallet is lost and they cancelled all the credit cards they wouldnt be able to make any purchases. So my subjects prefer multiple payment options other than the Virtual Credit Card. Recommendation: Add additional payment options like debit, personal check etc. to make purchases other than with the Virtual Credit Card method. Observation 3: The current system doesnt provide a PRINT function. One subject raised the very good point that the system is missing Print Cart functionality. Surely the system lacks this capability. Having this facility helps a user to print the cart/order information and keep it for his/her personal records just in case he/she has an order dispute. Recommendation: Provide a PRINT function for the Merchant Website. Observation 4: The system doesnt have a notification facility, after submitting the order, for the users. One subject expressed the question how could he check the order he placed without logging into the Merchant Website? How can I keep the order information and verify it once I placed the order? Recommendation: Email notification should be included with all the information of any user purchase. Once the order is complete an automated email should be sent to the user with all details for any future reference. 5.2 Statistical Analysis In this section, I have used the data collected from the post-task questionnaire to do a statistical analysis. (Refer to the post-task questionnaire in the Appendix) In this analysis, I have divided the subjects into two main grops. One is the Female group and the other one is the Male group. The first four tables of this analysis represent data from female subjects and the last four tables consist of data from male subjects. Female Subjects Data Analysis: Subject IDAge RangeNumber of Credit CardsAverage BalanceUsage Frequency1-23-56-10>110<10001000-30003000-7000>7000yearlymonthlyweeklynone125-301000010001000225-300000000100100330-351000001001000430-351000010001000530-350000001001000Table 1: Data Table of Credit Card Usage Preferences Age RangeNumber of Credit Cards %Average Balance %Usage Frequency %1-23-56-10>110unknown<10001000-30003000-7000>7000yearlymonthlyweeklynone25-3025-30505000005005050500030-3530-356700033033670010000Table 2: Statistical Analysis Percentage Usage Preferences Subject ID Age Range Prefer Multicard Pay FacilityPrefer Personal Card Manager SoftwareWeb Automation of Personal Card Manager Softwareyesnoyesnonot agreesomewhatagreestrongly agree125-3010100100225-3010101000330-3510100100430-3510100001530-3501100100Table 3: Data Table of Software Usage Preferences Age RangePrefer Multicard Pay Facility %Prefer Personal Card Manager Software %Web Automation of Personal Card Manager %yesnounknownyesnonot agreesomewhatagreestrongly agreeunknown25-30100001000505000030-3533333410000003367Table 4: Statistical Analysis of Percentage Software Usage Preferences Subject IDAge Range Average Size of Online PuchasesPreferences in Chosing a Credit Card<5050-100101-500>500Randomavailable balanceinterest ratecard typepurchase benefitapr130-350100011111230-350001001000330-350100000010425-300100001010525-300010010000Table 5: Data Table of Online Purchase Preferences Female Data Analysis Description: Total number of female subjects that participated in the survey are: 5 The percentage of female subjects who own 1-2 credit cards in the 25-30 years of age range: 67% Usage of frequency yearly: 100% The percentage of female subjects who keep their credit card balance below $1000: 33% The percentage of female subjects who keep their credit card balance between $1000-$3000: 67% The percentage of female subjects who prefer multiple card payment mechanism and who are between 30-35 years of age: 33% The percentage of female subjects who are between 30-35 years of age and who does not prefer multiple card payment mechanism: 33% The percentage of female subjects who are between 25-30 years of age those prefer multiple card payment mechanism: 100% The percentage of female subjects who are between 30-35 of age and who prefer personal card manager software: 100% The percentage of female subjects whose age is between 25-30 years and who prefer personal card manager software: 100% The percentage of female subjects who are between 30-35 of age and who prefer web automation of this software: 33% The percentage of female subjects who are between 25-30 of age and who prefer Web automation of personal card manager software: 50% Male Subjects Data Analysis: Subject IDAge RangeNumber of Credit CardsAverage BalanceFrequency of Usage1-23-56-10>110<10001000-30003000-7000>7000yearlymonthlydialynone120-251010000001010220-251100001000010320-251100001000010420-251100001000100520-251010000100010625-301100001000010725-301010001000010Table 5: Data Table of Credit Card Usage Preferences Age RangeNumber of Credit Cards %Average Balance %Frequency of Usage%1-23-56-10>110<10001000-30003000-7000>7000yearlymonthlydailynone20-256040000602002020800025-305050000100000010000Table 6: Statistical Analysis of Percentage Usage Preferences Subject IDAge RangePrefer Multicard Pay FacilityPrefer Personal Card Manager SoftwareWeb Automation of Personal Card ManageryesNoyesnonot agreesomewhatagreestrongly agree120-2501100100220-2510100100320-2510100010420-2510101000520-2501101000625-3001011000725-3010100010Table 7: Data Table of Software Usage Preferences Age RangePrefer Multicard Pay Facility %Prefer Personal Card Manager Software %Web Automation of Personal Card Manager %yesNoyesNoNot agreeSomewhatagreestrongly agree20-2560401000404020025-3050505050500500Table 8: Statistical Analysis of Percentage Usage Preferences Male Data Analysis Description: Total number of male subjects participated in survey are : 7 The percentage of male subjects who own 1-2 credit cards in 20-25 age range: 60% The percentage of male subjects who own 3-5 credit cards in 20-25 age range: 40% The percentage of male subjects who own 1-2 credit cards in 25-30 age range: 50% The percentage of male subjects who own 3-5credit cards in 25-30 age range: 50% The percentage of male subjects who own 1-2 credit cards in 25-30 age range use credit cards monthly: 100% The percentage of male subjects who maintain their credit card balance less than $1000: 100% The percentage of male subjects who are between 20-25 years of age and use credit cards yearly: 20% The percentage of male subjects who are between 20-25 years of age and use credit cards monthly: 80% The percentage of male subjects who are between 20-25 years of age those prefer multiple card payment mechanism: 60% The percentage of male subjects who are between 20-25 years of age those who do not prefer multiple card payment mechanism: 40% The percentage of male subjects who are between 25-30 years of age those prefer multiple card payment mechanism: 50% The percentage of male subjects who are between 25-30 years of age and who do not prefer a multiple card payment mechanism: 50% The percentage of male subjects who are between 20-25 years of age and who prefer a personal card manager software: 100% The percentage of male subjects who are between 20-25 years of age and who does not prefer Web automation of this software: 40% The percentage of male subjects who are between 20-25 years of age and who agree with the preference of web automation of this software: 20% The percentage of male subjects who are between 25-30 years of age and who does not prefer Web automation of this software: 50% The percentage of male subjects who are between 25-30 and who agree to the preference of Web automation of this software: 50% 6. Summary 6.1 Implementation Work The Virtual Credit Card Implementation Project has three main modules. The first module is the VA-algorithm implementation software at the client side. This Virtual Card Agent suggests which combination of credit cards to use for a particular transaction. The second one is the Merchant Website which allows the customer to make online purchases. The third one is VCM implementation which handles the divisible card approval process between the merchant and the respective credit card issuers. I have developed the second module which is the Merchant Website. This provides an interface which allows the customer to make online transactions. When the customer wants to buy products after entering into the Website he/she will be provided with the catalog information of products which provides different available items in the online store along with the price of the product. When customer wants to buy any product, before he/she can make that transaction, it prompts for the user credentials. If the customer is authenticated to make the transaction, then only he/she can make it. At the checkout page he/she can select the already created Virual cards for him during previous transactions or he/she can select creation of a new Virtual Card which takes the purchased amount directly and generates the Virtual Credit Card. And at the end it shows a confirmation of the transaction and this transaction will be added to the order history of the particular customer. The order history shows the previous orders of a customer where he/she can check the details of a particular order. I developed this Website using JSP on Tomcat Server. Java Server Pages are text files (.jsp extension) which combines standard HTML and new scripting tags. JSPs look like HTML, but they get compiled into Java Servlets the first time they are invoked. The resulting Servlet is a combination of the HTML from the JSP file and embedded dynamic content specified by the new tags. That is not to say that JSPs must contain HTML. Some of them will contain only Java Code. JSP can maintain state on the server between requests. JSP spawns a new thread for each request. JSP does not have to be loaded each time, once it has been initiated. Also JavaScript is used for the client side validations and to pass the control from one JSP to another JSP. JSP is the dynamic Web page which takes the dynamic requests and behaves accordingly. Using the JSPs, Web based applications can be built which are easy to maintain. 6.2 Study with Subjects I conducted a survey to know how many people are interested in using this kind of infrastructure in the real world. What are the reasons that would prevent them from using this software? Which groups of people are more interested in Web automation of this software based on the gender and age? First I divided whole subjects into two groups, one group is female and the other one is male group. I further devided those groups into a number of groups based on their age. As this survey is done among the college students almost all of them have salary is in the range below $30,000. Thats why I did not take that as a main measurement of this survey. For the female group who are in the 25-30 years of age range, almost all of them preferred a multicard pay facility which shows that this group is more interested in using a combination of multiple cards for a particular transaction. Also in this group all of them liked to have personal card manager software which means that everybody in this group likes software which suggests the best combination of user credit cards based on his/her preferences. But when it comes to Web automation of this software only 50% of them agreed to that software. This is because the unsecure Websites which leads to online fraud. In the female group who are in the 30-35 years of age range, only one-third agreed on having this multicard pay facility, and strangely all of them preferred personal card manager software. They did not mention any particular reason for not prefering the multicard pay facility. It may be because, it is hard to keep track of all their cards and their offerings while using multicard facility during transactions. The male group who are in the 20-25 years of age range, only 60% of them liked the multicard pay facility whereas all male subjects under this group preferred the personal card manager software. But when it comes to the Web automation of this software a smaller number of subjects preferred this when compared to the personal card manager software. In the male group who are in the 25-30 years of age range, one half of the subjects preferred the multicard pay facility. Only 50% of the subjects preferred personal card manager software. This is because they want to keep track of their credit cards and their balances. They dont want to depend on some software which suggests the combination of credit cards for a particular transaction. Altogether most subjects preferred personal card manager software over the Web automation of a personal card manager. 6.3 Future Work Until now we have developed three modules of the Virtual Credit Card Implementation infrastructure with some redundant modules. Below are the three main modules: A) Merchant web site. B) Online customer site which contain an implementation of the VA-algorithm. C) Fuzzy Virtual Card Agent which is more reliable and robust than the VA in module B. As the above modules were developed by multiple members, a very clear understanding of them is required to integrate them. A well integrated implementation should allow an end user to easily make a purchase of a desired product from the merchant site leveraging his/her preferences. The user should be able to create and use the Virtual card mechanism with little effort deriving advantages from the multiple cards. The system is currently using three credit cards of different issuers, namely American Express, Chase Visa and Citi Master. If it can accept more credit cards or/and can handle more than one account of the same credit card issuer that would increase the essence of the system. This application can be further enhanced by adding other payment options like debit cards, and personal bank accounts upon user preference. Building a user-friendly interface is an evolution process. There are always features and functionalities that can be improved to provide users with more ease of use and better performance. References Bohle, K. Integration of Electronic Payment Systems into B2C Internet-Commerce. IPTS, April, 2002. 2) Chan, A., Frankel, Y. and Tsiounis, Y. Easy come-easy go divisible cash, Proceedings of Eurocrypt '98 (Lecture Notes in Computer Science).Springer-Verlag, Elsinki. pp. 561-575. 3) Chan, H., Dillion, T., Lee, R., and Chang, E. E-Commerce: Fundamentals and Applications. Wiley, Chichester, 2002. Jakobsson, M., Mraihi, D., Tsiounis, Y. and Yung, M. Electronic Payments: Where Do We Go From Here? Invited talk, CQRE Secure Congress & Exhibition, CQRE '99, Duesseldorf, Germany, 1999. Jewson, R., E-Payments: Credit Cards on the Internet. Aconite white paper, Aconite, October 2001. Also available at  HYPERLINK "http://cnscenter.future.co.kr/resource/security/ecommerce/Epayments_Whitepaper.pdf" http://cnscenter.future.co.kr/resource/security/ecommerce/Epayments_Whitepaper.pdf Lawrence, E., Newton, S., Corbitt, B., Braithwaite, R., and Parker, C., Technology of Internet Business. Wiley, Sydney, 2002. Lynch, N., Merritt, M., Weihl, W., and Fekete. A. Atomic Transactions. Morgan Kaufmann, San Mateo, 1994. Nakanishi, T., and Sugiyama, Y. Unlinkable Divisible Electronic Cash, Proceedings of Third International Information Security Workshop, ISW 2000, Australia, 2000, Lecture Notes in Computer Science 1975, pp. 121-134, Springer-Verlag, Sydney, 2000. O'Mahony, D., Peirce, M., Tewari, H., and O'Mahony, D., Electronic Payment Systems for E-Commerce. Artech House, Norwood, 2001. 10) Rubin, A.D., and Wright, R.N. Off-Line Generation of Limited-Use Credit Card Numbers. Proceedings of the Fifth International Conference on Financial Cryptography, Grand Cayman , pp. 196-209, 2002. 11) Smith, S., Internet Payments: Momentum or Muddle. Journal of Internet Banking and Commerce, 1998. 12) Tygar, J. D. Atomicity versus Anonymity: Distributed Transactions for Electronic Commerce, Proceedings of the 24th VLDB Conference, New York, USA 1998. 13) Walsh, B. "Understanding Internet Payment Protocols". Network Computing, May 1999. Also available at  HYPERLINK "http://www.networkcomputing.com/1009/1009ws3.html" http://www.networkcomputing.com/1009/1009ws3.html . 14) White, Chelsea C., Andrew P. Sage, and Shigeru Dozono. A model of multi-attribute decision making and tradeoff weight determination under uncertainty. IEEE Transactions on Systems, Man and Cybernetics, 14(2):223--229, 1984. 15) An Infrastructure for Customizable and Divisible Card Payments for Online Purchases, AMCIS Submissions to Business Models for the Digital Economy, New York, 2004. Appendix Set up information of this application Install the Tomcat Web server into the AFS home directory as described in the Section 4.5 Unzip the source code and place it under the webapps of the Tomcat Web server. The directory structure for the credit_card application under the webapps folder is as follows: Home directory of application is credit_card. Its path is webapps/credit_card Under the credit_card directory, the following directories exists: The documents directory that has conference paper, proposal, project report errorlogs directory that has errorlogs and debug logs created by the application when the application is running script directory that has Myscript.sql script file jsp directory that has all JSPs and images. The list of JSPs is head.jsp foot.jsp cart.jsp checkout.jsp ship.jsp catalog.jsp category.jsp src directory that has Java source files. The list of Java source files is: CreditForm.java DBConnection.java DebugLog.java ErrorFound.java FeatureForm.java VAResultForm.java DBConnectionCommitOFF.java WEB-INF directory that has classes and lib directories. It also has web.xml file which is like index file In the classes directory, there is common directory which contains compiled classes of the Java classes that are there in src directory. Lib directory has the ojdbc14.jar file that supports the JDBC connection. Compilation Instructions: To compile Java classes, use the command javac classname.java and put the executable java class code under WEB-INF/classes/common directory. JSPs need not be compiled. They should be placed under/jsp directory and the tomcat server should be started Appendix A: Source Code Cart.jsp file source code: <%@page import='java.sql.*,java.text.*,common.*,cart.*,java.util.*'%> <% response.addHeader("Expires","0"); %> <% DBConnection myConn = null; ResultSet rs = null; myConn = new DBConnection(); Connection conn = myConn.getConnection(); Statement stmt = null; NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); nf.setMinimumFractionDigits(2); String pid = request.getParameter("pid"); String act = request.getParameter("act"); String qty = request.getParameter("qty"); if(act != null) { if(act.equalsIgnoreCase("ADD")) order.addOrderItem(pid,qty); else if(act.equalsIgnoreCase("REMOVE")) order.removeOrderItem(pid); } %>
Cart
<% try{ Hashtable orderItems = order.getOrder(); Enumeration keys = orderItems.keys(); float total = 0; while( keys.hasMoreElements() ) { pid=(String)keys.nextElement(); qty=(String)orderItems.get(pid); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT p.products_id,pd.products_name,pd.products_description,p.products_price FROM products p, products_description pd where p.products_id=pd.products_id and p.products_id="+pid+" order by products_id") ; if(rs.next()) { %> <% String price = rs.getString(4); float stotal = Integer.parseInt(qty)*Float.parseFloat(price); total += stotal; %> <% } } try{ rs.close() ; stmt.close() ; }catch(Exception ex2){} %> <% if(total > 0) { %> <% } else { %> <% } %>
Product Unit Price Quantity Price
<%=rs.getString(2)%>
<%=rs.getString(3)%>
$ <%=price%> <%=qty%>
$ <%=nf.format(stotal)%>
 
Total Amount $ <%=nf.format(total)%>
Tax (4%) $ <%=nf.format(total*0.04)%>
Grand Total $ <%=nf.format(total+total*0.04)%>


There are no items in the Cart
<% if(total > 0) { %> Continue Shopping     Checkout <% } %>
<% }catch(Exception ex) { %> Error: <%=ex.getMessage()%> <% } %> Checkout.jsp <%@page import='java.sql.*,java.text.*,common.*,cart.*,java.util.*'%> <% if (session.getAttribute("userName") == null){ response.sendRedirect("../cc/Login.jsp"); } %> <% response.addHeader("Expires","0"); %> <% DBConnection myConn = null; ResultSet rs = null; myConn = new DBConnection(); Connection conn = myConn.getConnection(); Statement stmt = null; NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); nf.setMinimumFractionDigits(2); String pid = ""; String qty = ""; %>
Cart
<% float total = 0; try{ Hashtable orderItems = order.getOrder(); Enumeration keys = orderItems.keys(); while( keys.hasMoreElements() ) { pid=(String)keys.nextElement(); qty=(String)orderItems.get(pid); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT p.products_id,pd.products_name,pd.products_description,p.products_price FROM products p, products_description pd where p.products_id=pd.products_id and p.products_id="+pid+" order by products_id") ; if(rs.next()) { %> <% String price = rs.getString(4); float stotal = Integer.parseInt(qty)*Float.parseFloat(price); total += stotal; %> <% } } try{ rs.close() ; stmt.close() ; }catch(Exception ex2){} %> <% if(total > 0) { %> <% } else { %> <% } %>
Product Unit Price Quantity Price
<%=rs.getString(2)%>
<%=rs.getString(3)%>
$ <%=price%> <%=qty%> $ <%=nf.format(stotal)%>
 
Total Amount $ <%=nf.format(total)%>
Tax (4%) $ <%=nf.format(total*0.04)%>
Grand Total $ <%=nf.format(total+total*0.04)%>


There are no items in the Cart
<% }catch(Exception ex) { %> Error: <%=ex.getMessage()%> <% } %> <% try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT street_address, city, state_desc, zip_code FROM user_address u, state s where u.state_id=s.state_id and u.user_id='"+session.getAttribute("userID")+"'") ; if(rs.next()) { %> <% } else{%> No Shipping address found for user:<%=session.getAttribute("userID")%> <% } try{ rs.close() ; stmt.close() ; }catch(Exception ex3){} }catch(Exception x3){} %> <% try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT street_address, city, state_desc, zip_code FROM billing_address u, state s where u.state_id=s.state_id and u.user_id='"+session.getAttribute("userID")+"'") ; if(rs.next()) { %>
Shipping Address
Street Address:<%=rs.getString(1)%>
City:<%=rs.getString(2)%>
State:<%=rs.getString(3)%>
Zip:<%=rs.getString(4)%>
Country:United States
<% } else{%> No billing address found for user:<%=session.getAttribute("userID")%> <% } try{ rs.close() ; stmt.close() ; }catch(Exception ex4){} }catch(Exception x4){} %> <% try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT vcardNum, amount_charged FROM vcard where user_id='"+session.getAttribute("userID")+"'") ; %>
Billing Address
Street Address:<%=rs.getString(1)%>
City:<%=rs.getString(2)%>
State:<%=rs.getString(3)%>
Zip:<%=rs.getString(4)%>
Country:United States

Payment

Select a Virtual Card from the list:
Or
Create a New Virual card


<% try{ rs.close() ; stmt.close() ; }catch(Exception ex5){} }catch(Exception x5){} %> foot.jsp:
Head.jsp: Merchant Web

MERCHANT WEB

    Home My Cart Admin
Catalog

My Cart

<% if (session.getAttribute("userName") != null){ %> My Account

    Order History

    VA Menu

    Log out
<% } else { %> My Account
<% } %>




Ship.jsp: <%@page import='java.sql.*,java.text.*,common.*,cart.*,java.util.*'%> <% response.addHeader("Expires","0"); %> <% DBConnection myConn = null; ResultSet rs = null; myConn = new DBConnection(); Connection conn = myConn.getConnection(); Statement stmt = null; Statement stmt2 = null; NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); nf.setMinimumFractionDigits(2); String pid = ""; String qty = ""; String vcard = request.getParameter("vcard"); if(vcard == null) {%> No Virtual Card for payment is selected.
Back
<% return; } %> <% int orderid = 0; try{ stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT order_seq.nextval from dual") ; if(rs.next()) { orderid = rs.getInt(1); } try{ rs.close() ; stmt.close() ; }catch(Exception ex4){} }catch(Exception ex5) { %> Error: <%=ex5.getMessage()%> <% } try{ String cid = ""+session.getAttribute("userID"); String cname = ""+session.getAttribute("userName"); String cstreet = ""; String ccity = ""; String ccode = ""; String cstate = ""; String bname = ""+session.getAttribute("userName"); String bstreet = ""; String bcity = ""; String bcode = ""; String bstate = ""; stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT street_address, city, state_desc, zip_code FROM user_address u, state s where u.state_id=s.state_id and u.user_id='"+session.getAttribute("userID")+"'"); if(rs.next()) { cstreet = rs.getString(1); ccity = rs.getString(2); cstate = rs.getString(3); ccode = rs.getString(4); } try{ rs.close(); stmt.close(); }catch(Exception ex11){} stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT street_address, city, state_desc, zip_code FROM billing_address u, state s where u.state_id=s.state_id and u.user_id='"+session.getAttribute("userID")+"'"); if(rs.next()) { bstreet = rs.getString(1); bcity = rs.getString(2); bstate = rs.getString(3); bcode = rs.getString(4); } try{ rs.close(); stmt.close(); }catch(Exception ex12){} String insstmt = "insert into orders " + " ( orders_id " + " , customers_id " + " , customers_name " + " , customers_street_address " + " , customers_city " + " , customers_postcode " + " , customers_state " + " , customers_country " + " , customers_telephone " + " , customers_email_address " + " , billing_name " + " , billing_street_address " + " , billing_city " + " , billing_postcode " + " , billing_state " + " , billing_country " + " , payment_method " + " , orders_status) " + " values(" + " " +orderid + ", 0" + ", '"+cname+"'" + ", '"+cstreet+"'" + ", '"+ccity+"'" + ", '"+ccode+"'" + ", '"+cstate+"'" + ", ' '" + ", ' '" + ", ' '" + ", '"+bname+"'" + ", '"+bstreet+"'" + ", '"+bcity+"'" + ", '"+bcode+"'" + ", '"+bstate+"'" + ", ' '" + ", '"+vcard+"'" + ", 0 )"; stmt = conn.createStatement(); int inscount = stmt.executeUpdate(insstmt) ; Hashtable orderItems = order.getOrder(); Enumeration keys = orderItems.keys(); float total = 0; while( keys.hasMoreElements() ) { pid=(String)keys.nextElement(); qty=(String)orderItems.get(pid); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT p.products_id,pd.products_name,pd.products_description,p.products_price FROM products p, products_description pd where p.products_id=pd.products_id and p.products_id="+pid+" order by products_id") ; if(rs.next()) { String insstmt2 = "insert into orders_products" + " ( orders_products_id" + " , orders_id" + " , products_id" + " , products_name" + " , products_price" + " , products_quantity) " + " values ( order_prod_seq.nextval" + " ,"+orderid + " ,"+rs.getString(1) + " ,'"+rs.getString(2)+"'" + " ,"+rs.getString(4) + " ,"+qty+")"; stmt2 = conn.createStatement(); int inscount2 = stmt2.executeUpdate(insstmt2); } try{ rs.close() ; stmt.close() ; stmt2.close() ; }catch(Exception ex2){} } %>
Thank you for shopping
Your Order Number: <%=orderid%>
Your order has been accepted for shipment <% session.invalidate(); }catch(Exception ex) { %> Error: <%=ex.getMessage()%> <% } %> Catalog.jsp: <%@ page import='java.sql.*,common.*'%> <% DBConnection myConn = null; ResultSet rs = null; myConn = new DBConnection(); Connection conn = myConn.getConnection(); Statement stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT categories_id,categories_name FROM categories order by categories_id") ; while( rs.next() ) { %> <% } %>
Categories
<%=rs.getString(2)%>
<% rs.close() ; stmt.close() ; %> Category.jsp: <%@ page import='java.sql.*,common.*'%> <% String cid = request.getParameter("cid"); DBConnection myConn = null; ResultSet rs = null; myConn = new DBConnection(); Connection conn = myConn.getConnection(); Statement stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT categories_name FROM categories where categories_id="+cid) ; %> <% } try{ rs.close(); stmt.close(); }catch(Exception x){} %>
Products <% if (rs.next()) { %> in <%=rs.getString(1)%>

<% try{ stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT p.products_id,pd.products_name,pd.products_description,p.products_price FROM products p, products_description pd, products_to_categories pc where p.products_id=pd.products_id and pc.products_id=p.products_id and pc.categories_id="+cid+" order by products_id") ; while( rs.next() ) { %> <% } %>
Product Unit Price Quantity
<%=rs.getString(2)%>
<%=rs.getString(3)%>
$ <%=rs.getString(4)%>
<% rs.close() ; stmt.close() ; }catch(Exception ex) { %> Error: <%=ex.getMessage()%> <% } %> Addcart.jsp: CC directory contains all the code that has already implemented. package common; import java.sql.*; import javax.sql.*; //code for establishing database connection DBConnection.java: public class DBConnection { Connection conn = null; public DBConnection() { DebugLog debug = new DebugLog("DBConnection.txt"); if (conn == null ) { try { debug.append("\n In DBConnection"); //driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //url String url = "jdbc:oracle:thin:@192.168.254.85:1521:prod"; try { String url1 = System.getProperty("JDBC_URL"); if (url1 != null) url = url1; } catch (Exception e) { // If there is any security exception, ignore it and use the default ErrorFound ef = new ErrorFound(); ef.appendError("DBConnection", "DBConnection constructor", e.getMessage()); ef.close(); } debug.append("url is:"+url); //(url, userid, password) conn = DriverManager.getConnection (url, "prod", "prod"); debug.append("In DBConnection, connection established"); debug.close(); } catch (Exception e) { ErrorFound ef = new ErrorFound(); ef.appendError("DBConnection", "DBConnection constructor ", e.getMessage()); ef.close(); conn = null; } } } //method to get the connection public Connection getConnection() { return conn; } //method to close the connection public void closeConnection() { try{ conn.close(); }catch (Exception e) { ErrorFound ef = new ErrorFound(); ef.appendError("DBConnection", "closeConnection Method", e.getMessage()); ef.close(); conn = null; } } } Main.java package common; import java.sql.*; import javax.sql.*; public class DBConnectionCommitOFF { Connection conn = null; public DBConnectionCommitOFF() { DebugLog debug = new DebugLog("DBConCommit.txt"); if (conn == null ){ try { debug.append("\n In DBConnection"); DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); String url = "jdbc:oracle:oci8:@db1"; try { String url1 = System.getProperty("JDBC_URL"); if (url1 != null) url = url1; } catch (Exception e) { // If there is any security exception, ignore it and use the default ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "DBConnCommit constructor", e.getMessage()); ef.close(); } debug.append("url is:"+url); conn = DriverManager.getConnection (url, "", ""); conn.setAutoCommit(false); debug.append("In DBConnection, connection established"); debug.close(); }catch (Exception e) { ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "DBConnCommit constructor ", e.getMessage()); ef.close(); conn = null; } }//end of if loop } public Connection getConnection() { return conn; } public void commitConnection() { try{ DebugLog debug = new DebugLog("DBConCommit.txt"); conn.commit(); debug.append("\n In DBConnectionCommitOFF, Commit is done!!!"); debug.close(); }catch(Exception e){ ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "commitConnection method ", e.getMessage()); ef.close(); } } public void rollbackConnection() { try{ DebugLog debug = new DebugLog("DBConCommit.txt"); conn.rollback(); debug.append("\n In DBConnectionCommitOFF, rollback complete"); debug.close(); }catch(Exception e){ ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "rollbackConnection method ", e.getMessage()); ef.close(); } } public void closeConnection() { try{ conn.close(); }catch (Exception e) { ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "closeConnection method ", e.getMessage()); ef.close(); conn = null; } } } DBConnectionCommitOFF: package common; import java.sql.*; import javax.sql.*; public class DBConnectionCommitOFF { Connection conn = null; public DBConnectionCommitOFF() { DebugLog debug = new DebugLog("DBConCommit.txt"); if (conn == null ){ try { debug.append("\n In DBConnection"); DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); String url = "jdbc:oracle:oci8:@db1"; try { String url1 = System.getProperty("JDBC_URL"); if (url1 != null) url = url1; } catch (Exception e) { // If there is any security exception, ignore it and use the default ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "DBConnCommit constructor", e.getMessage()); ef.close(); } debug.append("url is:"+url); conn = DriverManager.getConnection (url, "", ""); conn.setAutoCommit(false); debug.append("In DBConnection, connection established"); debug.close(); }catch (Exception e) { ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "DBConnCommit constructor ", e.getMessage()); ef.close(); conn = null; } }//end of if loop } public Connection getConnection() { return conn; } public void commitConnection() { try{ DebugLog debug = new DebugLog("DBConCommit.txt"); conn.commit(); debug.append("\n In DBConnectionCommitOFF, Commit is done!!!"); debug.close(); }catch(Exception e){ ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "commitConnection method ", e.getMessage()); ef.close(); } } public void rollbackConnection() { try{ DebugLog debug = new DebugLog("DBConCommit.txt"); conn.rollback(); debug.append("\n In DBConnectionCommitOFF, rollback complete"); debug.close(); }catch(Exception e){ ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "rollbackConnection method ", e.getMessage()); ef.close(); } } public void closeConnection() { try{ conn.close(); }catch (Exception e) { ErrorFound ef = new ErrorFound(); ef.appendError("DBConnCommit", "closeConnection method ", e.getMessage()); ef.close(); conn = null; } } } Order.java: package cart; import java.util.*; public class Order { private Hashtable orderItems = new Hashtable(); public Hashtable getOrder(){ return orderItems; } public void addOrderItem(String pid, String qty){ try{ int qty_ = Integer.parseInt((String)orderItems.get(pid)); qty_ += Integer.parseInt(qty); orderItems.put(pid,""+qty_); }catch(NumberFormatException x){ orderItems.put(pid,""+qty); }catch(Exception x){ } } public void removeOrderItem(String pid){ try{ orderItems.remove(pid); }catch(Exception x){ } } } DataBase schema CREATE TABLE address_book ( address_book_id NUMBER PRIMARY KEY, customers_id NUMBER NOT NULL , entry_gender VARCHAR2(1) NOT NULL , entry_company VARCHAR2(32) NULL , entry_firstname VARCHAR2(32) NOT NULL , entry_lastname VARCHAR2(32) NOT NULL , entry_street_address VARCHAR2(64) NOT NULL , entry_postcode VARCHAR2(10) NOT NULL , entry_city VARCHAR2(32) NOT NULL , entry_state VARCHAR2(32) NULL ); CREATE TABLE administrators ( administrators_id NUMBER PRIMARY KEY, administrators_username VARCHAR2(20) NOT NULL , administrators_password VARCHAR2(40) NOT NULL , administrators_allowed_pages VARCHAR2(255) DEFAULT '*' NOT NULL ); CREATE TABLE categories ( categories_id NUMBER PRIMARY KEY, categories_image VARCHAR2(64) NULL , categories_name VARCHAR2(255) NULL , parent_id NUMBER DEFAULT 0 NOT NULL , sort_order NUMBER NULL , date_added DATE NULL , last_modified DATE NULL ); CREATE TABLE customers ( customers_id NUMBER PRIMARY KEY, purchased_without_account NUMBER DEFAULT 0 NOT NULL , customers_gender VARCHAR2(1) NOT NULL , customers_firstname VARCHAR2(32) NOT NULL , customers_lastname VARCHAR2(32) NOT NULL , customers_dob DATE NULL , customers_email_address VARCHAR2(96) NOT NULL , customers_default_address_id NUMBER DEFAULT 0 NOT NULL , customers_telephone VARCHAR2(32) NOT NULL , customers_telephoneExt VARCHAR2(10) NULL , customers_fax VARCHAR2(32) NULL , customers_password VARCHAR2(40) NOT NULL , customers_newsletter VARCHAR2(1) NULL ); CREATE TABLE customers_basket ( customers_basket_id NUMBER PRIMARY KEY, customers_id NUMBER DEFAULT 0 NOT NULL , products_id NUMBER NOT NULL , customers_basket_quantity NUMBER DEFAULT 0 NOT NULL , final_price NUMBER(15, 4) DEFAULT 0 NOT NULL , customers_basket_date_added VARCHAR2(8) NULL ); CREATE TABLE orders ( orders_id NUMBER PRIMARY KEY, customers_id NUMBER DEFAULT 0 NOT NULL , customers_name VARCHAR2(64) NOT NULL , customers_company VARCHAR2(32) NULL , customers_street_address VARCHAR2(64) NOT NULL , customers_city VARCHAR2(32) NOT NULL , customers_postcode VARCHAR2(10) NOT NULL , customers_state VARCHAR2(32) NULL , customers_country VARCHAR2(32) NOT NULL , customers_telephone VARCHAR2(32) NOT NULL , customers_telephoneExt VARCHAR2(10) NULL , customers_email_address VARCHAR2(96) NOT NULL , customers_address_format_id NUMBER DEFAULT 0 NOT NULL , billing_name VARCHAR2(64) NOT NULL , billing_company VARCHAR2(32) NULL , billing_street_address VARCHAR2(64) NOT NULL , billing_city VARCHAR2(32) NOT NULL , billing_postcode VARCHAR2(10) NOT NULL , billing_state VARCHAR2(32) NULL , billing_country VARCHAR2(32) NOT NULL , billing_address_format_id NUMBER DEFAULT 0 NOT NULL , payment_method VARCHAR2(32) NOT NULL , last_modified DATE NULL , date_purchased DATE NULL , orders_status NUMBER DEFAULT 0 NOT NULL , orders_date_finished DATE NULL ); CREATE TABLE orders_products ( orders_products_id NUMBER PRIMARY KEY, orders_id NUMBER DEFAULT 0 NOT NULL , products_id NUMBER DEFAULT 0 NOT NULL , products_model VARCHAR2(12) NULL , products_name VARCHAR2(255) NOT NULL , products_price NUMBER(15, 4) DEFAULT 0 NOT NULL , final_price NUMBER(15, 4) DEFAULT 0 NOT NULL , products_tax NUMBER(7, 4) DEFAULT 0 NOT NULL , products_quantity NUMBER DEFAULT 0 NOT NULL ); CREATE TABLE orders_status ( orders_status_id NUMBER DEFAULT 0 PRIMARY KEY, orders_status_name VARCHAR2(32) NOT NULL ); CREATE TABLE products ( products_id NUMBER PRIMARY KEY, products_quantity NUMBER DEFAULT 0 NOT NULL , products_model VARCHAR2(24) NOT NULL , products_image VARCHAR2(64) NULL , products_price NUMBER(15, 4) DEFAULT 0 NOT NULL , products_date_added DATE NULL , products_last_modified DATE NULL , products_date_available DATE NULL , products_weight NUMBER(5, 2) DEFAULT 0 NOT NULL , products_status NUMBER DEFAULT 0 NOT NULL , products_tax_class_id NUMBER DEFAULT 0 NOT NULL , manufacturers_id NUMBER NULL , products_ordered NUMBER DEFAULT 0 NOT NULL ); CREATE TABLE products_description ( products_id NUMBER PRIMARY KEY, products_name VARCHAR2(255) NOT NULL , products_description VARCHAR2(255) NULL ); CREATE TABLE products_to_categories ( products_id NUMBER DEFAULT 0 NOT NULL , categories_id NUMBER DEFAULT 0 NOT NULL ); ALTER TABLE address_book ADD CONSTRAINT FK_address_book_customers FOREIGN KEY ( customers_id ) REFERENCES customers ( customers_id ); ALTER TABLE customers_basket ADD CONSTRAINT FK_customers_basket_customers FOREIGN KEY ( customers_id ) REFERENCES customers ( customers_id ); ALTER TABLE customers_basket ADD CONSTRAINT FK_customers_basket_products FOREIGN KEY ( products_id ) REFERENCES products ( products_id ); ALTER TABLE orders ADD CONSTRAINT FK_orders_customers FOREIGN KEY ( customers_id ) REFERENCES customers ( customers_id ); ALTER TABLE orders ADD CONSTRAINT FK_orders_orders_status FOREIGN KEY ( orders_status ) REFERENCES orders_status ( orders_status_id ); ALTER TABLE orders_products ADD CONSTRAINT FK_orders_products_orders FOREIGN KEY ( orders_id ) REFERENCES orders ( orders_id ); ALTER TABLE orders_products ADD CONSTRAINT FK_orders_products_products FOREIGN KEY ( products_id ) REFERENCES products ( products_id ); ALTER TABLE products ADD CONSTRAINT FK_products_products_desc FOREIGN KEY ( products_quantity ) REFERENCES products_description ( products_id ); ALTER TABLE products_to_categories ADD CONSTRAINT FK_products_cat_categories FOREIGN KEY ( categories_id ) REFERENCES categories ( categories_id ); ALTER TABLE products_to_categories ADD CONSTRAINT FK_products_cat_products FOREIGN KEY ( products_id ) REFERENCES products ( products_id); Appendix B: System Evaluation Information Session Introduction Virtual Credit Card Implementation System is a simulation of online store where people can make purchases online. This system generates a virtual credit card when a customer makes purchsases. The home page of this system consists of customer Login, Catalog, and User cart links etc links. Once the user inputs his details the user information is verified from the database and if the user is authentic, the users account is set for purchases till the user logs out of the account. The Catalog section provides information about available items, description of items etc. Customers can select the item they want to buy which navigates the user to a very detailed description of the product page. This website collects and stores the preferences of customers such as Customer address, Credit card number, preferred method of purchases, preferred credit card etc. by using the VA algorithm that has already developed. Storing customer information helps users can make transactions quickly using the readily available information. After the customer gets virtual credit card number that can be used to make purchases based on the customer interest. The purpose of this system evaluation is to evaluate the usability of the Virtual Credit Card Implementation System, not the user. You will be given some tasks to perform. We would like to understand your thought processes as you execute these tasks. To achieve this, we request that you please verbalize your thoughts as you use this system and also answer the corresponding questions in the post questionnaire form. Again, please note that it is the system that is being evaluated, not the user. Feel free to criticize the system. You will be given minimal assistance during your execution of the tasks and this will be only when absolutely necessary. Your participation is confidential and all audio recordings and records of your identity will be destroyed after the study. note: The above session introduction is given to subjects to read prior to doing the software evaluation in order to help subjects to get a feel for the evaluation methodology. Task Direction The purpose of this study is to evaluate the usability of the Virtual Credit Card System. The evaluation method we adopted is called Protocol Analysis, which requires you to speak loud about all of your thoughts and feelings about the system when you perform the given tasks. The observer is not allowed to aid you during the session. Only when you really get stuck, the observer will help you get out of that condition. The tasks you will perform are shown in the following list: Visit Amazon.com website and try to make purchases online. Visit bn.comwebsite and try to purchase online. Visit Half.com website and try to purchase goods online. Visit Merchant website of virtual credit card implementation and try to purchase goods. After finishing the above tasks, you will be asked to fill in a post task questionnaire. If you have any question about this evaluation procedure, please ask now. Otherwise, we will continue the evaluation process. Consent Form Title of Project: Virtual Credit Card Implementation Purpose of the Interview: Academic Name of Principal Investigator: Suseela Manchem I acknowledge that on ___________ (Date), I was informed by Suseela Manchem, master student of NJIT, of an interview concerning or having to do with the following Software Evaluation. I was told with respect to my participation in said project that: (1) The following procedures are involved: a. Use Virtual Credit Card. b. Fill in post questionnaire, and answer questions related to the system's functionalities and user interface. c. All communications during the interview will be recorded, and later analyzed. (2) Confidentiality of the data will be fully protected. I am fully aware of the nature and extent of my participation in said project and possible risk involved or arising there-from. I hereby agree, with full knowledge and awareness of all of the foregoing, to participate in said project. I further acknowledge that I have received a complete copy of this consent statement. I also understand that I may withdraw my participation in said project at any time. Participant Signature Date Tester Signature Date Post Task Questionnaire Please take a few moments to finish the following questions based on the experience you just got about using a virtual credit card for online purchases system. Your answers are very valuable for us to evaluate the usability of the system, which brings improvement to the system. Overall Evaluation Date ____________________________________________________________ Thank you for agreeing to participate in our study. The study is designed to investigate users credit card uses for online purchases. Answering the questions below should not take you more than five or six minutes. There is no right or wrong answer. All information gathered from the questionnaire will be held confidential. If you have any questions please direct them to the principal investigator by phone at 973-761-9505. Thank you again for taking time to respond to this questionnaire. A: -------------------------------------------------------------------------------------------- What is your age? ___________________ years old. 2. What is your gender? Male Female 3. What is your income? a. Less $30,000 b. $30,001-$70,000 c. $70,001-$100,000 d. $100,001-$150,000 e. More than $150,000 How many years have been using a computer? Have you used the Web before? Yes No Have you ever purchased a product or service over the Web? Yes No B:----------------------------------------------------------------------------------------------- How many credit cards do you own? a. 1-2 b. 3-5 c. 6-10 d. More than 10 e. None What is the average balance you carry on your credit cards?" a. Less than $1000 b. $1001-$3000 c. $3001-$7000 d. More than $7000 How often do you use a credit card for online purchases? a. several times a year b. several times a month c. several times a week d. daily e. None What is an average size of the online purchases? (What is the average size of a purchase?) a. Less than $50 b. $50-$100 c. $101-$500 d. over $500 What other payment methods do you use for online purchases? a. Credit card b. Debit Card c. Personal Check d. Money Order What is the main factor you consider when you use one credit card over another? (Choose all applicable categories.) a. Interest rates b. Annual fee c. Frequent flyer miles d. Purchase protection e. Award package f. Fraud insurance g. Available balance h. Combination of these factors i. Other factors (describe) How do you decide to use one card over another for an online purchase? a. Randomly (i.e. first card I can pull out) b. Available balance c. Interest rate d. Type of card (Amex, Visa, Master Card, Department Store Card, etc.) e. Purchase benefits (bonus milage, added discount rate, shopping benefits, etc.) f. Annual fees C:---------------------------------------------------------------------------------------------------- If you would have a payment mechanism using multiple cards (i.e. a combination of several cards) for a single online purchase, would you use this mechanism? a. Yes (Describe the reasons.) b. No (Describe the reasons.) If there is an computer software (e.g. Personal Card Manager) to manage your credit cards such that it recommends the best combination of available cards for your online purchase, would you use the multiple card payment. a. Yes b. No A Personal Card Manager that fills in all the payment information on the Web automatically would convince me to use multiple cards for a purchase: a. Not agree b. Somewhat agree c. Agree d. Strongly agree I would use the multiple card payment mechanism for a single purchase only if the purchase is a. $1-$100 b. $100-$499 c. $500-$999 d. over $1000 What feature is most important for you in a Personal Card Manager? What feature would stop you from using a Personal Card Manager?     PAGE  PAGE 63 8 4 7 6 2 3 Online Customer VA Merchant Web Site Payment Gateway Online Merchant Account Provider Merchant Account Card issuer Card issuer Card issuer Acquiring Bank 1 5 9, 10 VCM *7   !-46EIWx',NQRUbfEhv忻ڻڻ>*CJ 5>*CJ >*OJQJ >*OJQJ5CJOJQJCJ >*CJOJQJ5CJ CJOJQJ5>*B*CJ,OJQJ5CJJ78!EWRcP S d P S d$78!EWRc"/012;< ]^O=78r~>O,DI-.4qgUtyz:"/012;< ]^$vdh vp$dh $dh pdhdhP S dP S d/01:;<>-./IJKLMNOPQmnop¹jw5Uj5Uj}5U j5Uj5>*B*U50J 5j0J 5U5mHj5>*B*CJ OJQJU5>*B*CJ OJQJB*>*B*>*CJ 5>*CJ 5CJ 5CJOJQJCJ 2O=78r~>O, 8vvv $v `' $dh p $dh v789:;<=CDEabcd1234567͔je5Uj5>*Ujk5Uj5Uj0J 5>*U 0J 5>*jq5U0J 5j5>*B*U 0J 5;j0J 5;U5j0J 5U j5U67rst [\]wxy{|}~,-.JK̸̤jS5Uj5UjY5Uj5Uj0J 5>*U 0J 5>*5;j_5U j5Uj5U50J 5j0J 5U8KLM{|}    3456klmϲ䲞ݨj 5UjA 5Uj 5Uj0J 5>*U 0J 5>*jG 5Uj5>*B*U5;jM5U j5U50J 5j0J 5Uj5>*B*U6,!" #_&v*,//////<1b3)69999::<<9=e>*?Җumes    %  .      a(N |}~;R %!" #_&v*,//////<1 $dh$dh   $dhv `'v !=>?@tuv   89:;ijkݴݟj)5Uj 5B*Uj/ 5Uj 5B*Uj5 5Uj 5Uj0J 5>*U 0J 5>*j0J 5U j5Uj; 5U5:    !" ""##('.'**///227799999999<9=DASBCŽCJ>*CJ 6>*CJ6CJ 0J(6>*0J(6B*6o(>*B*CJ OJQJj>*B*CJ OJQJUj#5U j5Uj5U5j0J 5>*U 0J 5>*<<1b3)69999::<<9=e>*??@DAASBB & F dh % & F dh $ & F dhx$dh d $dh $dh $dh*??@DAASBBBBBCCCCCCCC C C C_C`CaCbCcCdCvCwC+E,EiEjEEEXF¿|wqiap      34''  %T  %  =      #BBBBCCCCCCCC C C C_C`CaCbCcCdCvCwC+E,E dh d'$ dh dh CC C C`CdChCvCE F)F-F/F0F4F>F@FAFFFUFWFXFIIIWJXJ[J\J+K,KSKKKKKKKLLMMMMlOmOOOOOO_P`PaPvPDSESFSsSaTbTeTfToTpTTTTTVV656 jU jU jtU j AU j&U jU5>*CJ OJQJ 5OJQJ5o(B*>*CJCJ5CJ jUmHF,EiEjEEEXFFFGbIcIIIIIIK+K $d $dhd $dh  $dh  $ & Fdh  $ & Fdh  $ & Fdh dhXFFFGbIcIIIIIIK+KTKKKLMMlOO_PaPvPBSCSDSFStSS V V VVVVVV+V W W+WfX~{xuro4ST4LNOPQRSTb~]u 4[eyz{| Q       *+KTKKKLMMlOO_PaPvPBSCSDSFStSS V V V$d pdd$d $dh $d$ddh$dh VVVVVV+V W W+WfXXXYY8YYYYYYdd $dh$dh $dh  $dhd$ddVVV+V W W*W+WWBXXXXXXYYY8Y Z2ZL_P_p_a)a+aibrbd d9eBevffggghh-j.jAjjjklnnnQnSnnnoo5pCpDpqqqqqqssssthtqtuͻͷͷ5>*>*CJOJQJ6566B*5>*CJOJQJ 6>*CJ6CJ>* jUB* jHWB*UB* j5U5 j{UHfXXXYY8YYYYYYZZZZZZZ2Z3Z[^J_L_p_q_aagahahbibbddEd8e9eweufvffgg5hh~{xuRSyEF,- 7 Z[\]^_`abc'LN-YZZZZZZZ2Z3Z[^J_L_p_q_aagahahbibbdhdh$dh $dh $dhdbddEd8e9eweufvffgg5hhh'i-j.j/j@jAj5kkllmn & Fdh $dh$dhhh'i-j.j/j@jAj5kkllmnnnRnSnooo1p2p3p4p5pypzpqqqqqIrKrssssļ~{xurolf ( 89ij    ABC    ,  l       QR&nnnRnSnooo1p2p3p4p5pypzpqqqqqIrKrs $dh & F dh  & F dh $dh $dhdhsssstttuuuuuuuuuvv'v$$ dh !H $dh ! dh  $ & F dh$dhstttuuuuuuuuuvv'v(v)v*v.v2v7v;v=vCvMvWv]vdvlvsvxvyv{vv{vqlgc^Y  h  jk  p  w                                    '()*+,: "uu'v(v)v*vxvyvvvvvvvww'w(w^wwwwww*x+xWxXxxxxxxxx%y&y'y^y_ywyxyyyyyyyyyzzzzzzzzz{{b{w{y{{{{{{| |<|=|Y|Z|v|w||||||}ׁBC5CJOJQJ5 CJOJQJ CJOJQJCJ5CJOJQJ5>*V'v(v)v*v.v2v7v;v=vCvMvWv]vdvlvsvxvD$$$D$$l4r>zF*`$"   `{  $   $   $   xvyv{vvvvvvLCC>>>>$$$$ $$l4N>z U+?"H% (F* $"   {  $   $    $     $@    $    $@   $    $    $1   $4    $c    $C    $    vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvþ~ytokfa\W      "  $%  '  )  +  -  /  1  3  5  7  9  ;  =  ?  E  GH  J  L  N  P  R  T  V  X  Z  \  ^  `  b"vvvvvvvvvv$$ vvvvvvvvNEE@@@@$$$$ $$lN>z U+?"H% (F*$"   { $$$ $@$ $@$$$1$4   $c   $C   $   vvvvvvvvvv$$ vvvvvvvvNEE@@@@$$$$ $$lN>z U+?"H% (F*$"  { $ $ $  $@ $  $@ $ $ $1 $4   $c   $C   $   vvvvvvvvvvvvvvvvvvvvvvvvvwwwww wwwwwĿ~yupkfa\W                                                                "vvvvvvvvvv$$ vvvvvvvvNEE@@@@$$$$ $$lN>z U+?"H% (F*$"  { $$$ $@$ $@$$$1$4  $c  $C  $  vvvvvvvwww$$ www wwwwwNEE@@@@$$$$ $$lN>z U+?"H% (F*$"  { $$$ $@$ $@$$$1$4  $c  $C  $  wwwwww!w#w%w'w(w]w^whwwwwwwwwwwwwwwwwwwwwwxĿzupkfa]X                  !  )  +  /  4  8  <  =>  P  b  {                    "wwwwww!w#w%w'w$$ 'w(w]w^whwwwN>>999$$$dh !2 H$$lN>z U+?"H% (F*$"   {  $$$ $@$ $@$$$1$4  $c  $C  $  wwwwwwwwwwwwwwwwww`9$$l 4\F*`{   $T   $   $   $$wwx x xxxxxLGGGGGGG$$$$l 4N50 {oE?"H% (F* {   $   $    $l    $$    $    $    $1 $ $ $4 $&  $c $C $  x x xxxxxxxx x#x&x(x*x+x1x7x:xx@xCxExHxKxMxOxSxUxWxXxxxxþ~ytojfa\W  D  O                                                          "xxxx x#x&x(x*x$$*x+x1x7x:xx@xCxNIIIIIII$$$$l N50 {oE?"H% (F*{    $ $l $$ $  $    $1 $  $ $4 $& $c   $C  $  CxExHxKxMxOxSxUxWx$$WxXxxxxxxN@;;;;$$$dh !H$$l N50 {oE?"H% (F*{     $$l$$$ $   $1$ $$4$&$c   $C  $  xxxxxxxxxy%y&y'y(y,y/y3y6y@yIyOy^y_yaygyiykymyoyqysyuywyxyzyĿzupkfa]X  kl  n  p  r  t  v  x  z  |                                  "  3  5  ;  @  B"xxxxxxxy%y&y'y(y,y/y3y6y@yIyOy^yD$$l4r1 s!*`'@   `f  '   '\   '   $$$^y_yaygyiykymyoyqysyuywyd~~~~~~~~~w$$$${$$l 4 1 s #!* '@    f  'O   '1   '  '   'l  '  'r  '    wyxyzyyyyyyyyyyyyydyd$$$$z$$l  1 s #!*'@   f 'O  '1  ' '  'l ' 'r '  zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyĿzupkfb]X     !  #  %  '  )  +  -  /  1  7  9:  <  >  @  B  D  F  H  J  P  RS  U  W  Y  [  ]  _  a  c  i"yyyyyyyyyyyyyyyydz$$l  1 s #!*'@   f 'O  '1  ' '  'l ' 'r '  $$$$yyyyyyyyyyyyyyyydz$$l  1 s #!*'@   f 'O  '1  ' '  'l ' 'r '  $$$$yyyyyyyyyyzzzzz,z;zPzczuzzzzzzzzzzzzzzzzĿzupkfa]X       %  +  4  >  A  E  M  P  T  UV  n                              "yyyyzzzzz,z;zPzczymmm $dh !Hz$$l  1 s #!*'@   f 'O  '1  ' '  'l ' 'r '  $$$$ czuzzzzzzzzzzzzzz 9$$lF4\q$F*`:   $   $    $L   $$zzzzzzzzzzzzzxsssssssssss$$$$l 4 q -  $U!&F* :   $   $k  $   $   $   $  $  $  $3   $    zzzzzzzzzzzzz{{{ { {{{{{{{a{b{m{q{w{x{y{{{{{Ŀzupkfa\W  ;  J  ]  j  k  l  r  v                                            "zzz{{{ { {{{{{{zuuuuuuuuuuu$$$$l  q -  $U!&F*:  $ $k$ $ $$$$$3$    {{a{b{m{q{w{x{y{{zncUUUUUU $&`$#$/ dh !H $dh !H$$l  q -  $U!&F*:    $   $k  $   $   $  $  $  $  $3  $    {{{{{{{{{{{{{{| |||9$$l4\>z&`"    `   "   "   $&`#$#$/ $&`$#$/{{{{{{{{{{{| ||| |"|(|*|,|.|0|2|4|6|8|:|<|=|?|E|G|I|K|M|Ŀzvqlgb]X                                                          "  #  $%"| |"|(|*|,|.|0|2|4|6|mt_________ $&`$#$/$$l4  >zb - Q<%& "         "   "  "  "   "  " " " " "   6|8|:|<|=|?|E|G|I|K|M|O|at$$l   >zb - Q<%&"      " " " "  " " " " " "   $&`$#$/ M|O|Q|S|U|W|Y|Z|\|b|d|f|h|j|l|n|p|r|t|v|w|y||||||||||||||Ŀzupkfa]X  OP  R  T  V  X  Z  \  ^  `  b  d  j  lm  o  q  s  u  w  y  {  }                    "O|Q|S|U|W|Y|Z|\|b|d|f|h|at$$l  >zb - Q<%&"     """" """"""  $&`$#$/ h|j|l|n|p|r|t|v|w|y|||at$$l  >zb - Q<%&"     """" """"""  $&`$#$/ ||||||||||||at$$l  >zb - Q<%&"     """" """"""  $&`$#$/ |||||||||||||||}N}}}$~~~~iSĿ|rh^TJ  z    e    a      5      23  5  7  9  ;  =  ?  A  C  E  G  M|||||||||||| $&`$#$/ ||||}N}}}oaaSCCC$ & Fdh !H$d !H$dh !H$$l  >zb - Q<%&"      " " " "  " " " " " "  }$~~~~iSׁ 0CD@D$$lw4rL,`$   `$   $    $x   $4   $$ dh !H$ & Fdh !HSׁ 0CDEFJNSWY_isy{vqlgb]X  =  ?  A  C  E  G  M  OP  U  [  c  j  p  z                                 !CDEFՂقڂ @BCcef XYijԅՅ 89QRZ[;<YZvwՇgjqr5>*CJ OJQJ5CJ OJQJ5>*CJ5CJ5 CJOJQJ5CJOJQJ CJOJQJCJLDEFJNSWY_isy$$LGGGGGGG$$$$l 4Nf d~e!%o(L, $    $   $    $   $   $   $   $;   $m   $   $#   $q   $   $+   $   $$Âłǂɂ˂͂ςтӂՂׂقڂ܂Ŀzupkfa\W                                             "  $  *  ,-  /  1  3  5  7  9  ;"ÂłǂɂNIIIIIII$$$$lwNf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $  ɂ˂͂ςтӂՂׂق$$قڂ܂NIIIIIII$$$$l Nf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $  $$  "(*,.02468:<Ŀzupkfa\W                                                                " NIIIIIII$$$$l Nf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $  $$ "(*,.02NIIIIIII$$$$l Nf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $  2468:<>@B$$<>@BCEKMOQSUWY[]_acefhnprtvxz|~Ŀzupkfa\W  _  a  c  e  g  i  k  m  o  q  s  u  {  }~                                    "BCEKMOQSUNIIIIIII$$$$l Nf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $  UWY[]_ace$$efhnprtvxNIIIIIII$$$$l Nf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $  xz|~$$ăʃ $.8>EMSXY_begiknqs{vqlgb]X  r  u  x  z  |  ~                                            #$Z[  ]"ăʃNBB===$$ $dh !H$$l Nf d~e!%o(L,$      $   $  $  $  $  $;  $m  $  $#  $q  $  $+  $   $.8>EMSX<9$$l4\<TF*`q  $     $    $   $$XY_begiknqWRRRRRRRR$$$$l48.  <<TT!$'F* q  $p   $  $  $  $   $d  $  $  $d   $   $o   $0   $I    qsvy|~T$$l 8.  <<TT!$'F*q  $p  $ $ $ $  $d $ $ $d  $   $o    $0    $I    $$ svy|~ /@SijklĿzupkfb]X  x  yz                  ;<  >  @  D  F  H  J  L  P  R  T  V  Y  \  bc  e  g  j  m  p"$$ /YKFFFFFF$$$dh !H$$l 8.  <<TT!$'F*q  $p  $ $ $ $  $d $ $ $d  $   $o    $0    $I    /@SijklpswzD$$l4r>zF*`$    `Y  $s    $   $    $$lpswząƅȅʅ̅΅Ѕ҅ԅՅׅ݅߅Ŀzupkgb]X                        %  '(  *  ,  .  0  2  4  6  8  >  @A  P  V  _  i  l  p  s  w"d~~~~~~~~~~$${$$l&4 >z "$F* $     Y  $n   $   $%  $   $ $ $! $   ąƅȅʅ̅΅Ѕ҅ԅd$$z$$l  >z "$F*$     Y$n $ $% $ $ $ $! $   ԅՅׅ݅߅dd$$z$$l >z "$F*$     Y$n$$%$$$$!$ ߅  "(*,Ŀzuplgb]X                                                              " dz$$l >z "$F*$     Y$n$$%$$$$!$ $$ "(*,.024dz$$l >z "$F*$     Y $n $ $% $ $ $ $! $  $$,.024689;ACEGIKMOQRņ؆ Ŀzuplgb]X                  3  B  T  Z  ^_                                "4689;ACEGIKMOQdz$$l  >z "$F*$     Y$n$$%$$$$!$ $$ QRņ؆yyttttttmmm$#$$$ $dh !Hz$$l >z "$F*$     Y$n$$%$$$$!$   &,;$$9$$l4\ F*`{    $    $   $    &,;<BEHLNQTWYZ`cfiloqtvwׇeĿ{vqle[     ,-.lm  o  r  t  w  z  }                                   ;<BEHLNQTWYx$$p$$l4  JZ #F* {    $  $Q  $5  $   $(  $Q  $q  $    YZ`cfiloqtvt$$o$$l   JZ #F*{   $  $Q  $5  $  $(  $Q  $q  $    vwׇeW‰uuueeeeee$ & Fdh !H$d !H $dh !o$$l   JZ #F*{ $$Q$5$$($Q$q$  eW‰]݋RҌK̍[܎\r͕"}~ĺ~tj`[VQLIFC@f7bYq                  `    !      -  ~  ‰]݋RҌK̍[܎\r͕ $dh $dh !8 H$dh !FpH dh !H $dh !H$ & Fdh !Hrw`ainrstϩĪŪ !$%,-12IKPcdĬŬƬ#$MNRV]^`a0J nHjDUnH jUnHo(B*nHnHo(OJQJB*5>*OJQJ 5OJQJO"}~КJfϡb$dh !H$dh !FpH$dh !H$dh !H dh !H $dh $dh p$dh p ~КJfϡbPQRSTUViϩpګKcz~vsphe7  f  w ; `  Q8N}&VE]de'bPQRSTUViϩ $ & Fd $d $d  dh !H$dh !H$dh !FHϩpګKczeȮ`$ & Fd 8F $dH$7$8$$ & FdH$7$8$ 8$d$d$ & Fd 8$d $d dabcy{wJKWlmuz~ٰe"#bcdҹ#=f<y2222263738393|7o(5CJPJnHo(6CJmH 6OJQJmH 50J jU jU6B*B*CJOJQJnHnHo(KeȮ`mٰDtstuvwxyz{|}~^ Pztln      l    8MN xN  J  \  '`mٰDtst$dH$7$8$ p$dH$7$8$ p$dH$7$8$ p~ $dH$7$8$ p~ $d *Fp dH$7$8$$8d$d Ftuvwxyz{|}~^ P A$ & Fdh $ & Fdh  $dh P A˷'9GWhzʾ}qeYMA5   L   ^$   o4   B   T   d       ~                 :  n    +  ˷'9GWhzҹy$ & Fdh  $dh $ & Fdh $ & Fdh ҹyaɻʻ "@kټ'R}н 4:JQ|yvspmj1Re *_wBC       |    )aɻʻ "@kټ'R}н 4:JQW^_`KRV\¿3UE[QW^_`KRV\¿3UE[^bh _Ar|~{xu  $fp] Kz 3[%LR.[^bh _Ar|+./EN+./ENz !`?IXHnv P~{xu 8SV`lt%&2:(16;ET]^h.Nz !`?IXHnvv PQ=>A^tPQ=>A^t +L^pruvIpB~{xu#6:Ar,-.5;BRXlmpr %Pn./4_. +L^pruvIpBBe:|9@HINUjAy !*l~{xu3vQZ_i$-CDGaxNQf$*.1G7Y}.Be:|9@HINUjAy !*l ,-9Q]gj ,-9Q]gj K*/< +U?~{xuK2GN\&_'=#,/;]x{). K*/< +U?v{ %&CDMo*[W?v{ %&CDMo*[W\adteq|} #,6~{xu0G\efq}`n~ #@s Zgl.W\adteq|} #,6>GQRZbl6>GQRZblsz.5XFYJN ,35F~{xuT[ M!6J1] 4AJ DLhov.lsz.5XFYJN ,35FG&FG&Qi NOf`at~{xuMRn  | +`y 23\]ALYb.&Qi NOf`at&0178j-DYnhz "=>_#5So~{xu/6:Vs.Jhz<]^t+Bx1F.&0178j-DYnhz "=>_#5So#9Rm&Jc#9Rm&Jc (9LXn !7Mdr!~{xu$IJKZp~ 0F\t &C\5Pu.c (9LXn !7Mdr!I\&Ha|=a!I\&Ha|=a1Jelo.P\_`~{xub"Osv}%IJb+If9\.1Jelo.P\_`!!%BXv4TZ /=ef3]~{xu%(+VZ[\|} Al   ,-U.!%BXv4TZ /=ef3]&.3;J[twx GN&.3;J[twx GNOSYz9f @jr{~{xu!58BNX`gpxػ(|;h¾%Ucjkn $.NOSYz9f @jr{ # #$%&FS,-GHbcrst "6~{xuٷڷ`nopøڸ۸ +FGҹӹ(;<LMNºκ .#$%&FS,-GHbcrst "6S-78cd9:H6S-78cd9:Hj!/;BCe=c~{xuϲ߲+ijܳ34<S}ܴQxƵ V~ʶD.Hj!/;BCe=c';<a{| c d         W ~   ';<a{| c d         W ~      > ? ^      ? O ` d y   ~{xuci~34GگdհHRS~ȱBCfgβ.    > ? ^      ? O ` d y         # 8 ~          # 8 ~    #28<aj*RJ~{xu"9IĪ$%&*0?ѫ,Cx6Od !%<b.  #28<aj*RJ D^_FGrs} D^_FGrs}:a!"A~"2CG\bc~{xu7PQd034eop +,_`éĩة.:a!"A~"2CG\bccavDM 5-|~{xu$%1348?VfABCGM\բI`ãǣͣܣ+SlǤܤ=>BY.avDM 5--|*+Kbgh B`vy*+Kbgh B`vy~Aa(Pt~{xu+IJKNn9\ƞ17cdilŸ?Ez{.y~Aa(Pt @7Qi# P |   !/![!~!!!!!!! "J"i""""####9#c#~{xuȗޗߗBy˜   8dKfAZ[\_yқA[\]`Ӝ.@7Qi# P |   !/![!~! ~!!!!!!! "J"i""""####9#c#### $8$]$$$$% c#### $8$]$$$$%K%q%%%%&9&b&&&&&#'D'G'H'I'h''''(,(_((((((()?)j)m)n)o)~{xutuxӑ#Sޒ+Rz!I̔LqЕ-Z֖0W.%K%q%%%%&9&b&&&&&#'D'G'H'I'h''''(,(_((((( ((()?)j)m)n)o)))))#*V*w**** +S+s+++++++, o)))))#*V*w**** +S+s+++++++,<,?,@,A,g,,,,,,,--"-<-K-O-P-r--------~{xu '69pύҍ#$%(R{Ў=>?Bo"Gk :[s.,<,?,@,A,g,,,,,,,--"-<-K-O-P-r-------- .A. - .A.D.R.k.y.|.}.......///J/M/]/{///////// 0000>0s0v00000000171E1~{xuЉ47E^loŊƊɊՊ.OPQTgɋ Mefiw׌.A.D.R.k.y.|.}.......///J/M/]/{///////// 0  0000>0s0v00000000171E1H1p1111111 2?2B2P2 E1H1p1111111 2?2B2P2i2y2222456[7 9::::::::::::::::zupkf !"#$%X2   ؁ yՈ+;>r&P2i2y2222456[7 9::::::::::::::: $dh&d$dh$ |7778/80888::::::::&;5;R;S;c;;;;;{<|<K=Q=]=j===========L>M>X>>>>%?-?/?0?=?>???Q?s?t????????@@@@ǿǵǿǫ>*CJOJQJo(5CJOJQJo(5CJOJQJCJOJQJo( CJOJQJCJ5PJnHo( PJnHo(PJnH55o(6CJCJo(CJo(C::::::R;c;d; ==J=K====M>R>>/?>?dhx & Fdh dh !dh$dh$ $dh&d:::::R;c;d; ==J=K====M>R>>/?>???t????@@@@@AAAA%Bļzupkfa\W>5abab Lu X        ?@ )y">???t????@@@@@AAAA%BgChCCCCCCCCCC&d dh@@@AAAAAACCCCCDD,E-E@E>HRHSHVH[HHIIIIIIIIIJDJEJJJJJJJJ KKKK}KKKKKKKKKKKKKKKKKKKLLLL#L.LLLLLLLLLLLnHo(nHo(5>*CJOJQJ56CJCJmH CJ CJOJQJCJOJQJo(R%BgChCCCCCCCCCCCDD,E-E@EEE4GvGwGGG H H9H:HSHcHvHHHHH ITIſ}zwqia     B Xm   tu p pJKLMlmn%CCDD,E-E@EEE4GvGwGGG H H9H:HSHcHvHHHHH ITI & F & FdhTIUIIIIIIIJJEJXJgJvJJJJJJJ KKK K}KKKKKKKLL L/L0L1LLLLLŽ}zroli2@R  B  CP]iz  3l  mn  @  (TIUIIIIIIIJJEJXJgJvJJJJJJJ KKK K}KKKKK & FKKKLL L/L0L1LLLLLLMM-MMMiMjMMMMNKNNNNN & FLLMM-MMMiMjMMMMNKNNNNNNOOOOOOOOOPPPPsQQQQQQ RR%R2R@RwtqnkH  I\ew  %  $C  HIJKZF  )LM MMM,M1MLMQMMMMMMMNNJNNNNNOOOOPPPPsQvQQQQQQQ RRRR R!R$R(R-R.R1R5R:R;R?RBRRRRRRRRRRRRRRRRRRRRRRRRRRS0JmH0J j0JU jUo(nHo(NNNOOOOOOOOOPPPPsQQQQQQ RR%R2R@RARRR & F@RARRRRRRRRRSSSSS S S S SSSSS#S$S'S(S:S;SLSMSnSoSSSSSSSSSSSSSSSSSSS&$ r  s  2RRRRRRRRRRRRRRRRRRRRRRRRRRRh&`#$ & FRRRRRRRRRRRSSSSSS S S S SSSSS#S$S'S(S:S$:S;SLSMSnSoSSSSSSSSSSSSSSSSSSSSS$&$$x$# 01h/ =!"8#$%}DyK _Toc103596902}DyK _Toc103596902}DyK _Toc103596903}DyK _Toc103596903}DyK _Toc103596904}DyK _Toc103596904}DyK _Toc103596905}DyK _Toc103596905}DyK _Toc103596906}DyK _Toc103596906}DyK _Toc103596907}DyK _Toc103596907}DyK _Toc103596908}DyK _Toc103596908}DyK _Toc103596909}DyK _Toc103596909}DyK _Toc103596910}DyK _Toc103596910}DyK _Toc103596911}DyK _Toc103596911}DyK _Toc103596912}DyK _Toc103596912}DyK _Toc103596913}DyK _Toc103596913}DyK _Toc103596914}DyK _Toc103596914}DyK _Toc103596915}DyK _Toc103596915}DyK _Toc103596916}DyK _Toc103596916}DyK _Toc103596917}DyK _Toc103596917ZDd)/! ww>  C Abk৔drS1onk৔drS1oPNG  IHDR%dsRGB pHYsj0IDATx^ݍqܸcS[Ta@}T)?Ii~|}} @ L ?~"!@8P\:P @yaA8W@: @y1@8W`yx @@ iI ӓ "J @VNO @@D@ފ(iC [y;=  @y+  @ / o$@D䭈6 @ӓ "J @VNO @@D@ފ(iC [y;=  @|15/̾RG^m楲_g ;-̸T,\9veVwV p[|v)֏mni9~74Z\Sn7,K36n+ @)5]UdVASڦbu= Wt/666h3YЭYxpL @[se/ţ Kghge[8yD cOn6 @ i, {'1Xo.T[R5%5s?}i}"ŦJ65c7.Xf @䭻sBQt*~WqgU{d> J @m["-Wp{EZP[^ٔ"϶9vג'͢#8C఼uoue`uלKUjmm45WVײn\YfߚVkրG఼5]IzBw5kbIum逘ӋP SȼuI:Ws(giSLw/VK G{TӖu.:\I= @`,pVsN\zP5[־BXo/Iv9\D @ ϯmݿ,c~kPޝ}ʧ;x_Haϵ;8.3[ĝheٸ5 @ ׹ֹ v8XtF.(o6Pu}svdKwo*~-2ZdYؿL# @5/oO%2i$%HٳRnH%gS^5/J}3wנvbV|0T7trR׫xw;.FLͮw: i] l,qm.׌n"]1s) O+@\o[f[W}KLf+U%:ݸ춰HNJb2Mϭ%/Tm @%i|ًIlP[$H6-{ӨMɴO[%'&&Ӆ ^L3ssQ65+X*#o_&Wcyk @IV -hqeD'̨6\6QV̕6䭷J !@w +O RT>x9j6uWO]kJ_ mma)f}8~bM @]\+YP  @g\\(N@-` @by?e,Acp%. @$+ojZj / @ V [eJi+ @Fawq|qn}!{c @{H{kz ln8}U8ά|yk8WaOk'@LU.q q\oC@>oIE*1v% #@UW:OW"9kY3֪[] j]*$@.0{ߛ6^{h"o}|ykm,oi( @X#ֱGeyeg$@.0{?/zqe27 @7x@޺2 @9y+ @ * oE#@䭜^ @Ҏ rnz @VTJ; @@N@ʹE [Q) @9y+ @ * oE#@䭜^ @Ҏ rnz @VTJ; @@N@ʹE [Q) @9dZ_^_$%H @([-E`ask}MMH歝p5lq"l猺 @KUml^j/w*{?~Qb^ @`5.ս^V F_ @!!璱7  p1yX.h¶ @={VSb؞K@2oƣP|b|ioZ+L___e]]\:#ت  @fOɼuK$!yKN82o5@^S|UVi@x{Y  @ ( o4#@$$n @Ҍ p @VJ3 @@R@JF [A(͞$ҧt/}rҎVv6mt݃fgG_~MiQKXX:vvuˡ?K( vIxC}|=},k3Jޝ=G96mƳttuKw8U0vSvSpKt >9}}1>#4HY [矺z8υKgkPƦ XH;^,Qu1)`#8!l,9b!yۤtU.,^N'25;N\?MK:qy{Π9<"CMl:SIGx~r>zuQϳ` |Φ'٭9lHIc,Qy]* ~^F&G@ڣ3?jJҭםG#޲-dI)8fױnG#yv7jPyu=vOtZH)5Rp=YՖJ"kIqS:$mRm\ [כ 'pSKzٓ5=Ĥo& oنZοWdYjtv.dugEmazupp[m8I y Uc~$7=;v܌gU{7  ^n&Fn;Nbd|m8[ |k<&$ @]m[,dRlX|Q"S,u8$ptA:̓hXyeTwqغx{cCۈ1gOݯ޸iO_(+!^sͦf]Y+*͖4]Ȭ򻖫ny:iayuQg-Ѫ|| $ޱ-mMdrU{|T FCe0y*MG`lЙ cʙ`1{~j,-aЦ;'U4~mqdEm"BiiAzlƦBU}w:ڒ,[ܔ?J{~%psVno{Y8ضo/;u)){uݛ @ؕ "wK*_Ֆ @[଼jVG [q+-  @y+ @ . oŭ$@d䭌> @Ғ 2j @VJK @@F@ʨC [q+-  @y+ @ . oŭ$@d䭌> @Ғ 2j @VJK @@F@ʨC [q+-  @y+ @ . oŭ$@d䭌> @Ғ 2j @VJK @@F@ʨC [q+-  @y+ @ . oŭ$@d䭌> @Ғ 2j @VJK @@F@ʨC [q+-  @y+ @ . oŭ$@d䭌> @Ғ 2j @?J~wӒ @`U6oBi@% oә * oi@% oә *t^XIENDB`Dd/kxx>  C Ab~J[J 1_Z>'nRJ[J 1_PNG  IHDR$vsRGB pHYsodIDATx^ݍ(w_¤2KԱ)t ^mòH5u9h_z^A FTV @ ||A pڬlH* @@. l' @ &@[ @@C< @@@C$@T Fs @D@*QR P) lU¹ P" l()C*\F(J!@T [p.#@[%J @*J8 @J%e @V% @%V2 @Jae @ʰ5{7,>kXu{z~W-"˻ҦWf\8  @n*pTiH/* ǼiYU =Y0JsBwe,5מ+ͥ=Lg00ÅXJ<@eؚ|y,{>j76kS`eM]%Տ@ b%/S1 ЕްUiz%޶kk$KX%.)Y}&nӽ0ްu;?,"l]kԍ%̸! @3[+;A[4=M=TxO%xvL1 пaA..Ud9MU囉;{/>|?'yX%  @vc(ީyɫȳ^pZ׼gۚH @`]I]rUZ cy̫FO#3:Һ*z p#-|K;篒1CջO|œ=[{uS ,m+8뗬u-ԿؽC&c @ҷ8`c[iځ8Q1yWs(ܢ{Q+7XLpIUk%9+?L5 @~~mVB%$&,&t{ZÒ(SBF:mg__ Of/Wʚb%@|>⮷ $dz]~++1+n*`:eBa#@NOȎgp6b' @1YjIv;V׆lQ3ČkTbUdvecniJ6ߍ4 v]&ځuKfT @-ex)>ĝ쥒`؍÷J9/k"I{>/@6bEK.!@ >WaYsY¾m*Fu|PV1  @mC[\ JK끯.T Mz%l%@uBI]09,0ͬc3B(K*V"TZp!j1e|?ꊧB,ѲLiӎ46^;oc7*n2F@s T0 C hsӦ w0OaFjcIap#@$pfr @* sy4>@j  @oVN @c [cͷ @' ['kK@k8Y@:\s @XXm @#@ƚo%@NN 05|- pu2 @h  @v-SX8K#@H>ltǤt퍰t U2lŤړ+O "P:1oe;>Lg1L @xW毦W=&3  0akW  @ W3PO 0 @a+A >~h1,{4 TRdaISz@>JbK"սY .+l=#[ @K [[wu  @c [vkŝ3;Т-+[-TI.X|< `gi! @V'LA\E("@ [un"@ [EL  @:7W @"& @uV @EVB @:aU @"aI! @@U* @@UĤ @N@تss @H@*bR P' lչ P$ l1)D [?M'u+ p@MWbH*\8mMZ[_i @@MکV$l @)".֤mǫn @{ʊTRU⵸)pk  @ԇCO+Y?%`B @V:K+Z M @ [uM1~ǃ_{FZ @@5ak1S񇏇P2 aIuSzM#KݒU&hO-B{ר  @@Wo5aCU#l]%] Tర7|,?Zak7^D`-G%)@x@x5$@ Ԝ*ZwۈO @z8o @*ۈWkB@b J@غJ^ @lNߏiM7Igt` 4i?֪&@V֭Kg G` ]=g).)F1UE`\4SnIZN Ё/5`|l,6\rXOqmޕ%MdMk$,6vU=5_jKM;]"0@LciBi&-( Y6!/2'-l#U7 \rdj1i}U(@( l8I VV$㼕$If! l1FI(\ߊ3J\v25!o5STO`DakY7f#S%-.&'o:zJJ > 4G 4jF`ص..)3_gW: O#vx7,ׄX8W K KvK=׎)uטF}_aù;bBj c.O׶S;vQ3a#Vbְ3[w5}&0@z!o w0 l#N6 Æ`x2-we^;YtblFl-~ `Y>l12̢Ub Li+ïYɴbɒnt8mDZ~e+[JM#)jSaJe ZYZ,TUlus @V^ي--Ʃ}I|c#@úᕧ]En3_XIU T M`^WPm5ʖҗB=+a OWǒx&  @E\E6;exOYńů؝t1ƦvdŲLƻR̡CWměM[L󕭘_XS1Ww  @Ѣ+l4b:?(FNNonS ʹN_ XimćA}{[*} vtv}:MUNNX|NoC-D M @^&EelAX|wfk;  @V{c- @ [O @Z @|C'@ [퍵@ , l   C Ab73餢j!>үf3NAn 3餢j!>үfPNG  IHDR O:/=sRGB pHYsod2IDATx^ϯ]Uqnq 6abH= (AL$B <00 L`f{ $'M`D%J$vݾ+J,޵:wګV}js֭+qC@OB @@  0̠C@(8@@NEnޚ! Gq"+XGpƇ  P`-NN  pt 0C@('C@8g! X! ]3@@`q @.@uf|  t G: 3>@X\kqr:D@ P`} ,.@89"  '2}0HtDl?8M|/φ SEYR}C]gf\~Y  A٭p$; G3uJ EXE{g ARL)&}ڡRMw33hf37k1qtG@`V8:^^>]Hna1yJU*l.~vp"Mb 0&@؈Cjz($Q"SZ4FI%mʝqWul@ /v4TˑhڥFiht! B`R-2Vxq+1SzL[IUٚ%8-0(@@urKALݴZ*?Q81+|}R_LYŹ8 hR`,{h }RK{zUUi%qU2f^j'NͧV 4Z`rYPY`njvM}UV ډӘ>XZ" V.TrosV;֑mmMD|@R3XS>G,UEE5'^5a8q{Ȝ]@؅+tn*;,Rߺ|?E}lJq> | %Ww.yIGӛe p0W/ˈg`/]&DžĈq"-bWZ?K s0|ʟ˛1PJKĕSL&@ G`~leJiI-"U) KҎv/̳%d2o%. y ?Mc)#SZRSzz'N g0!lD m+2]J˜@˒|he6)qS%P4OTetaAէ@9"&ڦ Q7U8v׌܊ F`tjX>_/mҢKD@*Dƭ*I%3 =a X@*!SjƌY/\@C&EZroiRo 2]I t0ËoVq@N ˵Nu>n ##lH`3]o$q'I #V @N¿)Dvئ,@ g#z#m/ 4jNL  ЛVo3x@@Vsb:@@(zqƋ ( &@ی3^@h.@՜@@7 f" @s t  P`6@ P`5'@Mg  \91  @oX8E@X͉@zm/ 4jNL  ЛVo3x@@Vsb:@@(zqƋ ( &@ی3^@h.@՜@@7W.6fƋ 4`)/@@G g1# @S G@(zuƌ MEnj_o\x` 0`ff lEk+3A  p L%A@P`me&@#@ud    y  a(3 @"@ @8a  V(2 :T2@؊Vf<@@0# ,?0a!P @@])|Eu-wR ܾ"I@@VDT+N{@8@uHessᳲE~2  C`C蕭p+|VϲNvËQ  ЧlV F XKVǬc  Q ,]x?0eC1?*=B@ \rI݄f?蠟 80O)43˓! MGi*6kX@m L*jHp  B! I֒È\2}Q`P%&  \~@Vn:  (ƹ  @@fp    0̠C@(8@@(f%  @1 ,@53(@@ ,@@`f A  P`q  3 P` J8@@c@YkfP! X  u֍]g!T:H.3p  @K[>ha$f;^[]նoFl@@ )PW`M))&   ,_-udN 9%1}Qv=" 1Vf78T>rG-=!= !.7]J_+j>q]+ \ K(ݗT5D.]*A$)@>}#CFt^Gb$g_kPr@A A" f٬ESEhֽR ll1qD`GX;,REj锩*mO>@ /@k<~KuRװQ;:3@"W3_Jf)L/Y^_wk?J%0%0L9}Wq"! W/f{ƫ! kE2TAJʾ 6 ˤg',&PW`]yg| WW w lV0H @؎+t6PzA5v?]yY󍥋~}@lY, j0  @) S%I2"u)-K(   P"0*i(jDq61vG@ZL*>!O3JL@X]`d[V!@@`@]kT%d.N7}J F EXSaɎo÷? @O_W`w)94vA@` ᙿ0ؾX8ED`ov0@@P"w@@(h  P`y@$  P'@UEk@@`Pk  @V@@A A"  uXu^F@(h  P`y@8~n3}h0Z`);"Dkp!t2{9cp,)@صw=}$ [⬐ ZkG  E - 9! Ƿ/ᅩ K^|H~$t10$BɒPm [3|3E9=R}~4V 0́~d]tӠ;R"@`|rcfT`Tur:eiI) P`՛ &8:S=O7q95y&es-%5X`-=Gg}>H|U,6MNRB(jp`'E7Kv\5$\=W_!|Pj{Ha~rKHQp} |/:\wHS,^aj 좥,Ԧ iCVfؼuHԮ`ςevi L%Af%"n)^1ٌju է@ 6hzԅY&Yyռ;FӉ#.C#giF@*l8 }F-a dLE(7LOB npbڬ{™NNO~0Ujs6 w,tĢʢW pɗ*"}4|S`.>֢tLb . bSYV ^|Zk0 Z@jկk|4mX{1E?0 ,<^$  P'@UEk@@`Po`LX  0"[x  "@@fp  `-z p ֢tx_L.Dܧv'InP*gIZS@ӧ+_" N.)y.r:憡GG x0 q\2,`GVԫ~p{뺪*t\] |k[[4)qDžuQ/+" _A%ՕߤP3[DU` B B]6oW5lbuURHK6"͞O#i 0EkV5|ZG;n-̹ pzhj>賡RjV<yXG88̩>gozG|qk0Hg@p+|jfn#@.||U!&A(@ˬWH)TgZPj\&>`VW+nyutC P`rZs|!21o#:kVWVdqk.wײ^6[tU 7x<Xn4ﰩ o[2r ڈbq @N{)7[GUc(v6r>:=WxF,M4ټwK9ˡ഻?UNI$hL1L`g*O۹GK5k[*7F6u*7(w_=}9uT8o%UToN+DԩlfepD!Ԉ>+D!Bƽ (͐9k!%|1 jq@%W52FXل. l_ksD  3 M" (?GdP8 I P`pm~ GRwq?v6g6?j)f%G:J6%atԳ D.Lvh^;ؙdFݱ|N`1hˌk^ z%TL]1; @7S'@u)s._EO% ]fA &U}(u6SofN8d*~VseNJ(݅9Y=w612viBvL7:#Up-j4gey`E>ZA4ZIK]pDOLO$i6{Y(f4t2b58/!dI#5M!EtZͤGiI05)yOHWv웟.$ x EuW ٟ|OY?ZO| e2RөLRRwђNwQ20+!E'z2%:єČ1S|>SӔ`:/ѣ=JE ^(֜mX%g[a9b h9%mRUG.:Lwj.?a21F Ko)1O-хa\3٦Z ˩LAg}>~7[>zv7^xŗ?tk;I(@QV.!2% &x$hMM]OʜkZ`e9SHգA{a93=~~i ?}W˯tIعVclTNYvcj"đaaҋcR**\7:dBTz {jhh[sa0x]ft~Eu5 2f5_}oޗ_Oԏ\PkMw?xӬ`|-µ&b|#DnoZMsWW?: e-Ôl{a橜5B*H8hT%]F7X# vBj3[r L>OEh =' '>Fߣx#&KZZ@>} ~?NǾ{|P`qzٟ2,M/m9grC`vwyzU gG{٧ P`-L#2Fv~=^z(YI9f1u/OOG(߫b=+3 ;`jA7|j`?xpO)ca+^]>uVX;9OkF >q/\]ovwG [AL^鬪{<(7g$wa#*lVBT*,WbF#gkt&wCegUI[.۵aB[;͢8)7hؼ&t(vH_|z_^-fzAD@nO2LF︋In_>~}RK%.R])؏%È P,Mg*V4-O6z{Ie꧰XW_|SYgcH:EXELi$w&y\xМ$J32JNoEwqt =Z2:9]gʴdte)Cvtc-ӑxt~}9W5i \xɵq<* \b*9v(3Ù,S}rJo1c^OFuYtZ2L(nfR <-R"c"Oi T*I.900I3SG I`ݻmK׏Kh%Ϣ|%<#\h??aZAWR~J~яy)G{RV4ˬߌnY8fplzD@VU~xݻ2]~oϺ--+=Wv̖.H}0`F3 @Y!z:mE"gt2 L3.eRRyq{U`4Onac!0[®~η^{{=Ʃa0ׇ J ~M_6USAX͉4ʇ]m-z%PUp[ht)іOĪ^h<@);w;zLƩ&Z4f{ɳ䠜o";kҹ,J2U -%f3 $LjE H1u0|*Nl"43idO(9F%? /6˼%'T<`:rkptt~**lpfwIz3K8Z2MLxߋuOmꖻ֓ P`oة}s{FI=zݝNO_y\ysÿq\vSvgz!2Gx+[>yGc9[:u[u׿3{W|S`;kQn:Co_7'>b߾qO_#o~v[M @AA>}#ztӇgOo}z/]ş~g_zR/] 5kM}F@"fF@^(zyƍ (@zu7 4jFK`@Uיg  L?4ڌ6?Ӱ(7!fW6K.7?]I`9)Xk7 &7+_"akZ$Z ~n]\s}Dz~pˈS/͋WjAk4`~̏d=npF4ivUdʽW|&?JYf::G`} ` oA>L%OLFݭA>zTK}Pڗ;2ti|`S z!sdX.1A(a3kə;Qػ=X@.@ ЧR>Xk!R+*GXRNG%Q`*** rA{/bhI&{1#@5FmXHZ >{KY (4w)sOEԹBY=k5ة R.9#Wv" g*J.\~wΰq&(Zɶ+^9c䠯2o~aTNM-舉bZF/ 7\: 8ar4#Qاt缑(8+e; (0so̩I,@^(zyƍ (@ -^ʷ vya-LG=5KA$P3~鯶G{%#*hJ2{IGUbtM@(\'muW@ P`0 弒,3Pz/М^]6:`KY>[?g+ʜWY:1H@ \rI'ݎe߸zyL5]`ljw.k6NɘB'oF$CNe[GkdvJ Wv17?]I0XH22|1UJ.UEɰkƩ4U˔/Sgul05T>TGt ֚6 TE˩k,SFiW`ESEg^k/,ị5?$/퓓^xŗ?tkpG(@" 4.D̩mXջ9ǰPr)%’tcx^—K_[_ O.'>_/W *XӉ>#FO6I mpEB-6 JN` O;"f)L@'f(DuI&fT,5oF -pۿk??#W*ڿ]^_4+Xhk53|pӯ457EoAKb19Xms !]6PImL_ '>Le81 X]}3?ɏ4|+cKJ|?j|xk~S""O3gS%?_PX{rgSe@O pwW1JN=|ѣqt7 j{1JlRmΟ9{~Lm=}|1(8kR1݀J=+\{ wtͪ? YQ`h崑4 O1 .>xpݑD?Pm>>WAb:? #}gUNDp57Ϧ_ }}ؒ]yoOD]v;]'N3x@`I2n7{,"RK%.R])؏lXQ@ /PSU|iR{[mOa9)\_=r (8k"p%7TKRrfdbt 0 s3DGSMLL7YWOd 9r'@9#c@`/^|^nn.r[U.eRz,w&IJ& ݴ)tw6VGp׈Wʑos[K0T_Æ{ڄ]3ߦ G; M #;ExGOv]38DƗ}Stl3yN3t6 @1} D6.?Y8Qk" # Omꖻ֓ P`oة}s{FI=zݝNO_y\ysÿq\vSm#v޹w/_֧O>99wnIo^`G<֢֢txoO|G~39n+Iƽ?ᏼGmG6֚֚ ӁONݟ?%_t} ;Kt)֜s 5@f#ܛI@zu7 4jFK`@Uיg  L-@@W ^gq# @3 fF@^(zyƍ (@zu7 4jFK`@Uיg  L-@@W ^gq# @3 fF@^(zyƍ (@zu7 4jFK`@Uיg  L-@@W ^gq# @3 fF@^(zyƍ (@zu7 4jFK`@Uיg  L-@@W ^gq# @3 fF@^N_7  D&E@(z}Ǝ M(@zy; 4(=vxIENDB`/Dd/z{D  S AWb}j&]4 + GUsunk}j&]4 + GUPNG  IHDR"AwhsRGB pHYs.>8PLTE5cGU>E$g"8WD]4/W$;QwC)uEF\EbUT$-E EBn'RdZ/ƣVA8"#K* ;{Z<]WנĨSAҠwn;MZDemH<2887ZG )=ݸ+ ;qKPiyh2Yh n"It;-1s#{,W&P$]lؑA0:8"м"!&H"f4Uw(M*I銄lDUסT4`AXҊ"B4lGX!}.V5̻otn{WSwٽ:P(Eh#yZBXVEPEPEPEPEPEPEPEPEPEEPEPEPEVz2E@"W`-@@@A@A@@"])<ܭv9fPPdTKVw+w6ScxsS< وB@S Eb`-|q!.A*rH[ OVW'ItJ4)'=I8ӢyG"w_@ős%ݞz,*EL.rGVYDy=NQD(r܁P:9k(2ehJ-°D:0{GsTs'sz $FEbs+rGs*bD$䬹?H`s"n~9s.rߖkϢ"8ݿ"a':EPY#^RUZB "z\d߇_!x "r聊hgVDl RB䊉%xDБ޷J {>|}]~$E(r\,֡I^"(2q:B9~ZNAe*"("("("gQPEPEPdM0JNF ,q8e?$,0ry;kޓ㽲dVs*[{J_TS~DtdU}T OƒBeNZ+,%*2Xh\4/R ?J~QZd؍?D9"+NX"~Ue*/$MV$=: RD/r"9Ri$j6fEXX"2H!!S"CO|jBYXRAKS$'GFxyBnʜ'cA[. }XUukl..ngJPbFEJ"2(fwϖVf::5(EP 4O4ŸŦ]|X`CT|#lbw~g}ke)iS4ݚD%I km(s/T6R&m/~"KQD(oMDV#$j}7yv7/!Hn6\qOKr~ߠHۊF"s# Z(r+Hx~Bh#n6!HJ^z(`cx>/ǒ@/K/^:ڇ\]Ip;el0%ۄװw*}E|w=AF o"MSIWȫ71K,MK kK2-~(bE*r+Hx.~Ky-Y㟾"4c" oKQ[4 wo޽KEA+rc*oK("WW&%eiGUJB'}ʷhiybi=[of~E6H<m>?"-)nj`K\ca7 |o'哟߃" )"Vo/IvxQ&XMIZCatAԦqRkDp`YMFYKr."ZE(TĶTW׻.$$yN}uG`يx_}@9VE"(""((r1EƪR_!I.*r5,g6šn{2%Aom(RWD\P5m nKqH!&Bo񚵧5w%I(҇3&!U)bRx4О>-hGX"C{SD]hglތΓ6X"(""((""((" U$J%WVmzh.Ѥw)NE"&$Q)b&v&w_jn-ƅEV$kn;wlخE]ĻKPĤr&4W?'[JZQX9ZSPS$i"#,Ty{Yq/h%[X"&ϩfq|n".}Q<,Gc!PN@A@A@A@@A@A@A@@A@A@@@䎖Qd) _$/͢\N3zK1ʴy8,e-RZ"ّEPAE$jBW(za#"( E˜f(Wi5?EP)EB>1="vb E`FE\\Sd&vi6"(r5E䒊HH8hf IƘs̛BQEٖ#s"p]_PE`٠nȶjز16-9'yvEV$y24W<B-B -OUĊ"(Eꡄe$ỌHxh ]1Ȝ,PETD}(D;"E'PEV Ǡ!l\L\ʝ."((CC3 wHFp_EeeYP&%"("(""((""("(M(*RI"3qE2ARo۾~1qxTE &((,iJ"(Җ"q0ںv|#gI!AcA@M 'V3GPEZSDBO'axqEAڏ9le\32:Ir}u㮣Hk/٠#4   C Ab,)TQ/JpAh)Fn)TQ/JpAhPNG  IHDR#cvCsRGB pHYsj(IDATx^_$}jwdz&;ذ`c"#D/zK1S EO y ;[bD,X&08ыXюgW;sm;*Vu׿Su4STz>A 0% @}@K`]=b$@KZ-ߗ)^k<{en"vl" @Q.=[bũwBwyqd؏Y=f 0Û׋3>8fDK5_ƻyJ뽇_HR?ֶQSJMk,hY7H(~ү.6NIe豮j翭ӫQۨ~Z)F5Ke'ܦƤࣴ/\{ݗL_ ~(:JY!M(K)#AsR63l3LZY@ fV.5(`饬JCW{. l(^-Du9%/v<[Qj2VҶ%k_bjZ_3@ih'{NW'R] @"Kꅪz2ߝ*nS5],\yf 4[lLg Կt0 @(;{n27[W7FƵdKmRi ~JCd3l$ڠîhO {?ecN?8ӳUlFF_T'(I @`N[T\m6Tҵ}cWyE䒴0JztJ$Oxǜ9EJB#Q)lӨ&?۷RJ 7rwe-K xYiq8j!J8o2=*=X@ܶXRP )PZ  @`roWXYpԡ[BOdfkZZ3 @Y%,ܧ[#U`:$fx5â2 0Ik&2M @` f @L$4  @ HZ3,) @3fR($@f( iͰhLD@ҚIL5â2 0Ik&2M @` f @L$4  @ HZ3,) @3fR($@f( iͰhLD@ҚIL5â2 0Ik&2M @` f @L$4  @ HZ3,) @3fR($@f( iͰhLD@ҚILj^i޼>ɛ2 @`GiMݬԓ́ O@, @@l @Y @fIH  @@?I @V @~V?7g @$f#- @$~n"@4 HZFZ @ HZܜEh @9 , i5iA' iss @Y@j6҂ OO:y={oV[ @$t7&՚%e'5fumKָ @>IkGF546Ӏ (I+m2#@ZBiF, iu&s @@ZmOqpnb+[($;;Ic @@ZY"@ HZk` @@V. @ f@* iZY"@ HZk` @@V. @ f@* iZY"@ HZk` @@V. @ f@*'i:{Q5p[o] @@} ecT_spiih)'iZ3 @vMZ^QVVb:c}qtQ+yW^l'@,?i\%,zbJ%7ZjYg?Zƞ G-?iƩ)mǙ8 0It0hTIg|i Q`5ch @.}V~|qmO)m5-+neCl>?Ź @@zbJA66^U1NC;=T 8}}c- $n w'IZNIkR0$1uG|ՈU]BI+*KZrrI˛@WG|GͿWR @@$, ^@jo% @Kk @@{I @n|wy=7+"pt=܅ѹ_yX&nUKZf2>3 m[/*iW4 @@{iҒ M@5 @JK @@7Is̻*zXVّ!+ iͷvfN3PLxהz HZ؜D`r?3m)nW?|xC@Տx{Z  @V1w&X S"@`F֌e$P4 -e @pG|"#>CqGB;gV0ӝ@#^ҊPI+C&|p3H{ ް @"iE(=cV{Zc {N0i{ZsNCIAҚDDIk_.IO3(RIk3 z8 nmkӫ 05  @% HZK @ HZ}!w>QzNv<';=#@@bVb_˞aLJ&S !@+MOxa1]`H2_qRK6ۮ$o)C^̈c HZc@&LbG٫+g.e_\,!ס{c @`Q֢m KYojIy+OW=*[H>B5T/l7ȯU% V' @` Hm[PVVT++ksoM HZ-i-PUܻڶ{6^COVG-A`\in58}5`UٸYˈBU(A+wLI`7guptJLm.s_G.>U/00! W??}Z 1P @% i%_ @=@\:ܟ5: ;#T2;?jV*IZ25&g,໇3.G~Ļz%@ i-ȖHD"X"[" I@ҊoX @`l @@$I+a  @HZ (% @$H%@ i-ȖHD"X"[" I@ҊoX @`l @@$I+a  @HZ (%hXO.sϿwFgqKo4Mj^޼^yL=Ϻms_Q7/~׾ѽsOK?_w|koߢA@'G pƒ0%vۿ_;.~^X.ĝpI@GI#8%q\FWh?/{|:,|C@6)Q{L i;}/sblwvS_sgۿF, HZ T?P{ Wg)89Y=N's'g!iJmfI)?gˬU ֓֏/_)kNNNNO3[HZ2.+I+t#ZN$㰯A$i)v[J!蔞Q>v#nEt6SV!M lh=aq3z`9{C֦k:W˃ HZ R&Cjzٷz3_yJ+ I+"Mi HZӪ(8&ujOUMT1iݲaVķ ^@T @L@N @}'dgRgkbRp4쫩RRIpT"RZ G0gy >xFH5;x<$K=?Å # iSK+!߈?JϬA`gCXv 58&|x7u~xau|k߹q$F5IZ(pH i $i1{~^ B,R@Zd-؋f @Yv&@" i  @"$Eݢ  @HZ{a6 HIkeh @`/^ B,R@Zd-؋f @Yv&@" i  @"$Eݢ  @HZ{a6 HIkeh @`/^ B,R@Zd-@E'±O)gqvUZW޼v\N'[ 5 ?n6TO$azaٳ43fZ8&0@UO*m[_-Cն=|6]7JTJѪ4mu#fU.%0@69VжJUu3)\[J9d7nPebVf \ҨU@5lmRK-qaQMVo.@,3cLj&tʅ% HZԊ+POSMR);O7iSZMn\Hɮ5LRX밖Û׋+:8Ss:sw'e{9}k4G~ӚPyLHLVӊ>j}rsǃK_X?ڽϓ弓z}=݃=kucT?%1"9t/G/}ǯ{0N}߸vӷ>N{nml,Ik,NJZX 5t{:7Ͻ0٪}/_|S_{Vc$F" ܧ-AXa77OOLn/ï˗Ƃ/ v @`4\4~|>}8?T{$&! B fZ($cMqw=z7LkQWMYkv&?Ǻ|J7wkY <9>9>jl؇ecXw6\:Їp$ X.I+v8}FOQ,I@IS&͉mpJꑚ;؏  @`O֞ C`[tx>xفW_ ?gbfQ $@`$`xn[oSO==K-^ Ͳg9?~_9Ya4yHZY@zMWhVLZ׬}uoe3{Zx $$jjE.孧O 3_'Z[џmwğmK=y?~-/)U߬8@ $&! ZY#?R!4|gEFW[QC m/tpնox(:%@@U@ @`@un=ͪaUl}cOriV׮ȟo]pN g4cY7&0@vq۶ֶW??>|;80G 0w=OVٗto}'3l|pnq'5ӷ}>{|t}: I~IY׿-k([*@#^ҊP5I+CJZg[Dqk'n0?Inw~W~_{c/R[Jְ_Ik[F&Q&!i=?yW{0=ݸv/os=$JjA HZ@j46V(n nm- iŮ  @t$tkke @@lI+vO+ i[[+#@b HZ+`| @ ]I+Z [@Ҋ] @ HZ @V HW@JVFbW @@V2 @ '@ҭ @$0> nm- iŮ  @t$tkke @@lI+vO+ i[[+#@b HZ+`| @ ]I+Z [@Ҋ] @ HZ @V HW@JVFbW @@V2 @ '@ҭ @$0> nm- iŮ  @tV:the @GiEp7$ Ik!L @ ݐ @B$2  @adC @R;H fIENDB`%Dd/xx>  C Ab)%|!Akk}?%n$|!Akk}?PNG  IHDR$<rsRGB pHYsod$IDATx^݋㸁 aRvL19NS, @zzO@c(/ @}* @~ @?fgkCRM @ras #  @– @`G ~. @wANI @cA8 @=V2 @AakN5 @@գ  @`P@S # l()CT#@[=J @A8 @=V2 @AakN5 @@գ  @`P@S #0~ڝeCᲑ#v/WVek -j,*@.+0>94mFŸ_x|D' C^b Se,UjJ t fYN3T Xt @ rzS7cTlwVFٖhiM5S=᫳4[ dn͞wڰhS٨v=ߟDct32m̱3p  @ [p9ѤtKoa4;@ l5Np\'O,ɢk|: 90 @6[WduhN[_rTz6cǭR; pYVvHR1_-}aDjac;Yee¥axێgEE 6ake(0;c^ècK 4;tRҸ6;f @u [|f_dY9CK<P R`+pfj]ggze6bU(Yo;U<m̵gqjamsڒ#2 @5;TLu)VS,x#dzQu9/"IG^%(0x8Г* @@@8 46 9E,16'H[XZ*<phATC6^jPU1.Kغ0J`sXaz96&B(K*ջ*-߹UFx7uŻB,7eMӁ5uNg1$n4U @K:Ku} q! [}>8\N`mjλv >w^ggN @~i c @ V  @uLA@z*# p@p?; doGf  @՗x;[ @w [Zo%@ .a]m @#@% lk͖8X@:\w @w @ [x6[ @`a`p @޵fK,*l}m1|}b4:(Fx ߟ٤5U[FXJX*0b LKݕ'@^"0J윱}nX^v^0IwY|۲ N=~׬  @/#a KG:K^ @`W(n-V|  @%՗{f‡8S x]L ) luB)FF!@t iŦ /I   @LjxunOK2az62[f[Ly5 om'5x{jOOfH [W_p|ux#Yʩpv*/HƲŘ0gZ •&iճPlx.K{bם#Tn- lc3ĕSZVIu p_aknVآxPoӐ:CS=S lf{rdhn6o$LG^]UY^?e- @֑g=ѭz@Y^]=Iג֙Ok} @#a'`|0{_c]l䉩Ȳ$Y}uJ3b3~gek,12M6垟~{cf;ji? d{?  @կ՗kNϨ..&W @`[a+$l(=g,iN']GvZn=`Ǯs @VT.s~Qv(Y3+_,~J φWQڏZ p5{%R6tCT1^D=[a @{ݳU\zCzxzTZ7M6mM݉)d> P ޳CY=^2z S?Et7$ [/Ь  @YƧ3}Ca l BލXRwPٔ  @   @:N( @#ֈ: @NaJ1 @5 @S@R 0" lC:#@[#j @:N( @#ֈu~Yqp,Ss^6llX`ޕ$@[/Y'O>͍9!ׯ-V:ֵ .a9mQQ/ĝNgofI+ |p|=Ic& !=Gi: &#N{_Yh!KxuLw}(MIZSeӽd`;X=E؊K;$3Ne @=V6=>4|xHz`Na??mbV*pVΈ8:S#JJ#i:E8 Wxa뛟?| N e(ڙJrSfk|tXȚ"@ b v=y)/i٭W`uU$@ jbdᑴJvXVy,Z9QcQE#%tVMg,T$pN؊'vWzUwȞ%iީFjnO=hFSo|V80?>OXJE6}* I2`Œ/qHS즫V퍟zx@%Npg&ɯG @ ;ˍΙوbG(FַSyoַb5Y? @-vg?eWg @gT_ [{F.aE [–xލe0) @U *J%@–g @`G~Mwh?w  @ [7f#o @+FVc @@a+)?Rgz(웎R @k [Y,+z[z&֭?Z n4 @V81l'E$@..*l3Me? h, @a#a+T7]-T a[JPg @ |>YĹNyޘ/~iLoď{V?iKZdP\S`u8#8L?r#DƠ  @z @ V @ []Z#@ l]axإ51 @ V @ []Z#@ l]axإ51 @ V @ []Z#@ l]axإ51 @ Vaf ?~ ?Y;WlZlvG()֌V] +EnKҺ2$DaNO4g_'(osf̚%@.(#Cj3fͅDŚg!c(qfzYLǐ3Mu @v{#|G}T9ܠrg},iU#Z|0v˭v HW+l;L9oxbɩ٫z>9Rz1[~}ͭYν){l&@1l,Sq\Tղ#˴u7I6@ cwuRֵ{6y i8(lg`e^nZKʻb*.s&M{Ma+?;Ua+|ԎMS[bi 5 h6*U4X1PF8k /  pakzxV K]z| =#Q|qvUG.Ҩ{, %2Ӓm 9j,#n;Ư @՗֛ŧSJf  a|! ТCxE dxxam(l-jYa @DKuo?QJ @$C[ @qGܩ޳/?t4t>/w.~+%  @z{+ @>V=6!GɯMYScCR=*n3z͖p  @AփsTzͪ>%ˎB[3,ޞ3s7nKn,e*GXBe,={ɲzȸt!\P`Uz{u+A>NnC*ϩgw&XnnUM^YqT{΅Sn'ׇvB;^oZY$l Zcb/3F員]jFɔjvrr:cQ/p'Fs_jᄂ jl[弦2T"L3s [Y4{9 @}ʃMVO,Yd6tHIEy?%%  @tCKOm=ovFWIwUJzfL޵N]q^7_|^kldGlǨ)UAgh [^lj8<;  @֝V-465^}UTSU.Jfٱ1ʬ9;Yf˅ZxuլW枴^NfbE;ہNg\V~ˮ[z8 Eojz!@\P hgk r#ك $p:hWfQغh 8F @-݈Gx6Y @hah>s*n@S& lm7 @֣ @W`/KNů<;UrWSo49 @ [7^8Dgy׮s @ [oyLK';O+6F?xLO95Wd @$a$x @ޱfI$ luMZikv|֋=xhK_p$jOx'VY ^ίZnj$@ٺڬDupSP-*>  C Ab[_:$[LV[n[_:$[LVPNG  IHDRDsRGB pHYs.>[)IDATx^eɞJᢱAm27#ϟ>0v7sIço]}%@l(kTE0t)a @`KahKMu @n7e:Ll) C[֪. @%C/9K:E(`@lM @7'zD( ) @zD @5E\O@ޜ p0t  @ Cכ="@ p=azsG @Ёؚ"@'E_u~ah8p*V{lsH梆܍&_-:RoO;r672Mxg&`' OT`!@[ ,xUPvӏW=9F ]s:'s[M4:k> R8#\۱oyR=3ʙť08X`6YolLCן{5&U`rim1.~uCak*779Y  @mfYgǽerCWّڶvo'/#[Rfqfjr* @ Cxq5Y*~sH+$ ,̺؏Y +a]wHc|,/돣 @aKalڃ契,uXM  @6 Cnn,~dTmkYCU O=-Usg*ZFZ6w"@ q}e\bS_-}+.vfnܒwsU0ucny  @JahuIc4b+2Mm:Ǵ"o ahuq~=bSyL->p}@f+ _wg`4˖.o-o6ޡ~w{6\a lc37@c?#@a,~ܯtx,崽XXcG|a+REq+^a~~||=_MMԱcWGݛr7iac%#)$To;62F @ Ndӷ4&F @@!Pdc^GIbY{{&_“νp*ћ3{ђQzqrBg]lg@][КVK/PRթXq7BM RWX қs~_T, M)@ҞNcn9}Y"upG/ [)IX값7f嘸 f/5sX 0+뤾70gϫQ:^ p }st#@\D ]d.t8G@:] @ELn @Ck7Pww]Cw~c!5@}2t y @`0V @[O @k'@n- ztX+ t< pkaӧ @Zah  @[ C>'@ CkOZ@< V`^#5[|dGⱓ @#0# }hx}73Z!@f R,e  @ z9即L_*jw3#G]Q @ ,CiyG^:*^@p),+O7=tN`mI-M*\$i0 p;0J\zͺYv:L\Mçot1|ʣo4yYQ, z&5?Elۊ @,=/ jlVzAu(LXfmxm5ah+I @Y`a:Fwh$@+ t +n9<@}5*C\DBa""AJ@zt, P C  @Ы  @a9@Z@z< 9 @W C~'@! jao @0 @^- z  @WO @sx07x @) }_Oצ¦ p@Sԧ(_w:+77 -$ @g4Cii<6l @PZ~&oջiE"S,7l-H @fuby,bbҲt 0W`FUB9f<0ĩT +0/ -)>f> @Wh C &GbUO6c~2.n5xC} @/[S< qp4B/Ma噛aN,0 M:=Yc CJ!@' {& nx39. @ ld @Sάq @MPB @Sάq @MPB @Sάq8_~t?'= @@% 9)^ ~~ܾ5 @` ah Eu 0*ЅB4 @@ZR)<$ 98L@:ZC.P8շIEo?oZ @yXCJUt?* ʫrz"N @ag /sB pa:s'"x{}⏽wX =C9-  O@wC盁ҀbZ*#e3t۳@ F) }_V~xw-enc ]M|iۘ"@`@SNoɯ$tpskg @Maj 0]PDMK%McPC+X;*04&TTlXȹ|LZœ'@wj&"6Mp  @`H`I*2O|z)=vk0M^ x0o9ʌwNգ /#EϜ @|͗z/mśVRĵFMǫǏMnyټd'y*\&P_i [Zyi)M=kj-, m빦ahIB504y(TY3{Sv{l[XsMm鞡&O_ @^m\ @MNn @4@MS/=CN?G]]W`A+e/hm,4;ɑJ'9+8Ne &ndXЍghV5uVS!LA}l; %@x%Y3#wZxw3޸m2gyo,͓:t^vn2GS&/*N{ C/=YjsԻ]ftH}DրGey0}x6GwV C{ Ce^7qi?Brjd O鑳=iiD m;w9,C& =lB .Sg6_yvJǝsZG@U@ p{wzΊrKWN5o6>*HajP /ˍwn9sv =7S|uV|^s-"Hf=2Cו<_TWOiޫxb#gQ.tq?[5 @`K=Q?{ܑ=8@=C kKr:5K Ckɧ97O8 up2v{ @&[tG?wu"H* @tZPRLwoW  @ &gL!& d];bq,n%bnNZ @ HHr @ FFn}vl @faxٲGހf _amڌ\?,3 oG rqy7Yc?ǽmCC&ʅ֝bjyoXV 0~2wg~F{\#;>!.Dov\Ю[70x-VcjYۙ1*F`R`(e. C%R;زYΝŭwRMrK_q'K֮brTbѨc'֙S?9TO~6"0yeɇ-g CO5;C q^cP'l8"T%E +RW}xoGZ/ȂCÓ+vwG >* =F*"M79˳NAOdX&0.UdnO-.mҊJ,Oπ〉ϱK>C[3}dS* OuVcSWD];S:OKu@3kᅳgV}\oDS*Rq7X[?,FUp\ȭ_ qQ[^TOLl=:]=Z24_F*T7}ץm$zQQ9zqkn#2L,?rR?|SMuY,Uu 'Wqzub:|X?هjO=OX 'a]x~ܶ!m[ٰ- [lYĆCSNkPw}z>T|54l r&rGr~oJɺ 慡`rO~)}d > @i7B`^:.J3 < @HѬ$f)L, ]Zu5 @ 4|sj8%s(`M(ezcgvOͥoߣd o:|Qw!Eމ< & VoM?K[|͗~E}2<랷o}hʅgR8R`ى'MDڄqe%퉡X&Ff5q8NXvk]:PH.Rz[(ċ_oTCl13nlntkGW>}Htl/cq{O3X=C(ʌq*S{G֧o5?OܦWMW(SĚ #yXPզ狞#(]ԋe;8+ǕA~)'"Dzjr=x֓=3~HoJ7\LB4;?hHn~ȃ[\6i)5͛[ pH{yt9,R6+n} n1M/tr]V.VQCa<9YkWɣ^IY1I@ vmy!o6P1? ֖oՎ"1\(ʝ]_)Ě g89R3Hp1MΏ>E\1\W89J>ŁkOq @2Wyke@67+H6._;\% @RWR@:CM6fr]ŲPGy~^nuW4B. NA @JЕfK~׆l|x[؊~ FqҨ:Yd;cHB C=nI٤TIDILLy|KxjdCIk+h:e^4J]]yUNh)hq pas8񔟏2@K|qH\H(b[9gHg$G܁R,x=zczWP[S@Swi)my+Y!?8~q*?Rp&cCD=|abqd*^Jg<2Znnh@ȧLb5Q۽ ]z:;W.=CW:$W"41#%%ݫ|ld10_gR}\-Ue[d;~]rh1@߱0t߹[󴎒Ɠ~|l1Q,אzɸFژڻmZZ M& u_L%#GQuړz'.Ɣr]oQ*sW&b٬W[w!d-uZq..M4 >r΋ ѽRUOԁ|l|)7@:1^ -Z,Kn=O1#*p'+jg'WXzIn쭧&*7r̚=vu @tmx^R@)\y+X2qfq$n=Ts]&?[HrLk+F44F#w 2" lBN=3Re:0/;nq-Uе_I @"ٴorLq'fb?.xDFv6R!@bTwO| )I:&u'xa(/Şq5Y5C) ]q^Sow~+U @30W|_tEΞ @ Ck8[@:{O* ʯq @la> p0t*  @g@ @Щ'@Ξ @ Ck8[@:{O*MSq @)n @W1 帓{7KEufI @ C=)ʌdFZ @.a.L  @"ۄ#׻ZC]4O% e9{t<@ço՚ O4. @}& Tsl! mx⪊l%Wj_liqPCń'@{mjkID1 @tC @@! 9% @W C~'@! jaox_qNN%@W%\\I.Keʯ#S0ܩWag R~+ >>kr QG&#Z|tL\EۓP\C3>W4Rx0 x@oI6gx4/L=j1OzIc7{~fdy߉vcW~&wsq{fx 8_ ]RD|_mqܒKVFڍM]:dދlDYj:uBO Eޔ!Kp{z$+s3Y670tU"вV,Xy b8cɋgiy,.<^S * ʭ1L X$)0W/"yt$*ftI@ VY ߤWD8[ycC)|y~X~73# _9FMW 0Sx07z za nao @O @л  @ן @wϿ @s?T0 6<!?+>X6בv =09S|uk_)l0  @x̭z ay(; }}ܔWK#N CQk6B>ҡ"6 C̑HdLudKahKMu @`bG&ػf姃Ǿ m9'H 0(.)-ss h Ls+B6 >Cל"@@һ ʿO7-A( 9 pcGrn|* ahC  px{R^rS5. ]nJtC^,{~%?Z4R Fq 'sV|t~~&Bcs= x@u_8zɺ@ahi8q5Z ?|HNa @O~I=,MΣCsX.S0t } @`0 @O @u~&@n. |uX' s4 psa P ',ahX }F=ڈUŃYM<# `z3#9vm-9/ZE>1~Fz>tB8$T|F$[JF opƨbahW @`JӝwoM cs'c$@j]g m vkkco^VQ3n$ Z, 9uǩLp<^ZPaK{[w*7ٻΒ.~A%߹2wc%F62޵+' C٪cO^kNw F79]9>SXF o2Fl. mNB ěrʗz'+{o6r;p~7~o/ryA7d̓|rzȣ'tyҌ]YaӠV o[%/>Z(f /;eyaa1¶!kˆ^ZX  4]wFCϚO!@ɴP"3FB,9x04 @`0! @s̥ @ h!@# =g.X -@s a9si$ @ahC @CϙK#!@C B9WHOS>]$ 5  p0tf-w]8>w0tT|>fs}H!yg pa*3eT}-E!/; !g{ *OXb0tӉm @`ahG @7n:qMl# m @M'N  @mmB`@7ϭ|1ׇ@Lufv ؟+Oжj#0->Wԟ-ӧ 1Əx~r 4c3g874}>)Ajah5 b`bX_>fzhi*>_|kF1gVa0| p@}Ռ.\qe%>ݞx&7FM [ xS)jg"i[ʽ)y۝Q.NvvU9~՝ ǹpo1vƟ)$9UWsVt&PW^ UWrR)Ǵ9B\Uψ?*( W / v1 "b:Ր#BCQ,7n,0%91ưWgկ0 Cz)3+h||p?~M>b}!6Ctms'B@[$ 0z fuz'( i㬵DnfL  @MM9UFM@ی/ 0) @ Cw1%@66Tf#qrbt#R7kuNH\jJ]e*֛XfZMT@zA/:WWn yon' nt)_G9cJ%oP|GXEc>m\c[MVV!V /+ŗֶy&"TRw0Dy,^JI(H wP=;7zFx؆Z\1h٤|Sqws/맣0tyѫw b_,F`۷ƆNb.py] !pS|tvk>uS)ߌPZZfuCa& ]mFyn `tқ5Vwwre'@&,`g٭w'_mQ@3 0 @; Cw5}&@66T pGa莳ϷH;(iQ m`{M"@jfD/?/v!eBW\0k]МCx0I7 賤1-C0t (ⷒP~.>zōɭX`nBPɣ{WvOŝ*~U; iږVX@#8ƛ~D8T d֎Bq,~О#""@`04Ka̺<|̯w]l|,ׁK@z|E1%yq_pIpT;\}tlrqlJm%Zt@70tЍ 䍞 _e:0ql52CNrZiS4J]̔~ VkOC'ְ#Da@ h$@( =qVh$@( =qVh$@( =qVh$@&+AK:5ADU!s; 0!(P~ͬ*XÙ 0- M)A])F/Z?ǷE CE`;w&Yֺ;0 p@AvB'פ$t9#^1yGMX ?~x37 Co}c?G oOJLs0<zꒀ$4 :\t[t++WX8=GZ > @ f  @AaAr~Cx04G-z4n3U:J! N @6mJG  @==TIF@T( 0: L O[~:ǨӽOkngzn @e&p!"Zy_yNӥgL?FoOy)cC0rM@ CVJFM3/&p l) m.҅<[Ń񝵸tU~CN[`k<;M,PG p/a^~{KBNAC 6-ȡPXY^੢K@ =Vqߍtm$ԘZIh<9Hi@_1V̈&1S & lakt1 ?#2iةkmSw#bDl!10W7QKG*P C7,]}@Nb'Ed7.ŦQĽz)8R\EGaC@0L Xی/CkѮͩn=}:O_`|Da@Z@z< 9 @W C~'@! jao @0 @^- z _;4u"~5=}~M?Kè5DGsQ|MVvu h!hLثg%@sέMޮ*F {m]%q}(o5T869͌ palxWA$mKMnN'SIm!u^y 04 p=CQP,3" W?? @`ahF@J3zUs!ŷvdz 0$ 97 @W C~'@! jao @0 @^- z H_> 9'c]i~<= 0j *"z<4ެ *9.2"C/zEP돍"@I@jbR)fycJ%w~X7{ҍڂk[g7e0t _^.uW_%/ޤTWH߹*^J(H富o* ʫr[ uPGvft(-a0W6# DQP\l%:?ݝ)(- T(6WRSdѻ$O0a0j @ڝ)N3{7kn9xF6YP3 |S畡|>h5k΋^ 'U3n٘wU%W>CG* ʫr @gH @]]yUN\]@  0+ ;(I\ m`{M"@jfD/?/v!egW\0k]МCx0I7 <.tr G CGIkOks)4o*,Qior:/ +6꒑z p0t,R{6Mt//W[*&ށጌ'=_y+R0fX'%:ai@"N9)vnr䜑ouh )ЌW1.2L @Ѝ'O)Pp1cšb vr+g5gw/L%@`ahUuu+Zy)sӻSlo. ~Xü#)sQo<~@7|9;B]0pp]*Nc㐋cVOo+֢kg Cgky'bC'nb1L]of 6w8ŐSU r F 0tO uz H'M?o۞#x0y7j @Gaȩ@|+gBx0I6D @`X@rv @^=OC @Ы  @a9@-ӕZ/~ tG2a$@нOo*>9Zy_yN?FOq18rM@ CVJF ) +MUB;ݨ%WGo+"w[w͸i-U T,҄kG CGIk@wֻ͔v~Js%Ց]Nmzb y9'&bHzF^hX\^@ _ XsAQ. 2T ԋO9]KU@ڕW؝YkvS)_ֺ_M8D, 8L@:ZC~(bJfө&dIx#YRSάq]Z $4d74|oKSwFI?c#H&,M$Ct@mn$ htQ;AO;;Hz2?Y8~#w86]"?qT>66ɮܣN!2aeno6V CI6}.;5:F N.X+Pl3x058 @`J@: hakp @04%u @У @)ahJ @GO @SД  @G C^#@)! @=GL CSB^'@- =zz N?0|, F9=^s(L^,9jNզvgItɿ6|$ҍ$ BUxxz'_e{[?_{s@X(|mP=L@wiהa%ӯ~0t|K|}(Rmx0Bŕbmd Zd}Տݨ~vs77DƖ<И9R+ϥj[cqPH]=6^?cJ -YZ)ss>C _uhݢTׁcdl+?|̘۫; ! mkOB+NކV?\_͟|Ч?_&\< N. ]Jkk+v4^'2[Ï?Ff*v& OpbhV9`M֓Y/k@ÙlnAcW6#3(0w(UTgJXN|e=y;mMju[tw{b*ڣu8X@:\s?Sɗ|IKėuU7vw78grӹpE\Ulh12tx]OM*qvzN<*u)^,+()]Rs Z\yӓ-rr\:/+ ]vjt9VR3:#ȱX[gQ#}c)-/:z,u=e"Q>DBc?C353OKCWnx@&$pv^( p [AY /Ԙ?b9Z6{CdzI`$E p@c:/c ;} t`[ah[O @`@84Ѣ[- yV3 C #@{mR?3,7_3mCj#~o?}_d~]@t\`taB@ C{4^%KR饦Cgja踳B:ZK @Y@gOA @g՘ @faJA @g՘ @faJA @gc_!- -Gn={@x0|XbxtX) tq]J(?Hm?!- @#GLA @Kr#@! =b X* -s ah @Rah_7V~kw~HexP= <ayp.(P_ ]ptUVZA|QNBu~V4G2qXL~|?~ ; o?Z 4~nAqȯ~(O 0פCʦ$Oom_g |ͿW?~\pC p@}vй3Vn=Hjڹܯn.̬znw̚m?ے5M:MnUghC?u~G{emwMl[>oށbM{Oן:  wEІ) /GGk(~\Ss @`ahF}& dVVpMGdC 9L[3JZ~(Jk CמH~XfM qjd]P+E7o=Dy\V@)[_9X =|<(?\WݢLob&z-Ro {͸]Pv]ܰ?M֖6v&~|ښ @`s9 K5FK1FI &԰Ml&f:UX[_mņ$@D_z0u C_ժj@/?0!. 7qZ"@nnRx1FI CN  @Ы  @a9@Z@z< 9 @W C~'@! jao @0 @^- z  @WO @sx07x @@r @^=OC @Ы  @a9@Z@z< 9 @W C~'@! jao @0 @^- z  @WO @sx07x @@r @^=OC @Ы  @a9@Z@z< 9 @W C~'@! jao @0 @^- z  @ |νa @I@r& @^=OC @?wIENDB`z!Dd /gyy>  C Ab Z<9KZ7 6n Z<9KZ7PNG  IHDR#:sRGB pHYsj PIDATx^ݍ:{8%\[p BaH(QX\|灤|> @`Ӑ @' @]څ  @ IaA% i5. @@r  @F ,Q3 P+i=t-uMP PIkY @$ l @ HZX"@. i]`@M!UēMQ&YwAF2Y.*ntifY.3t FlZ:  @&rmsgngHY"Vő4͚K}.nb451[8f @tݒV sFCc˴zh)M/mܪcCc p ݒ-V]ړyQcN#5BiFLZOi㻞^EmjcUgV5XXK}wZ҆\V`ϤuEN{iVj=VcҞ {mq @RG$!)JkdjiYkYZl,k7.% [O7 @`/.dX\1ءbminc*-e15ݸ3̾6-֬8W`U.fyٸ!< ;vT ?igs~eZmv{Ւ,K-3z-.nGc֖-gũ+}]Gyz23#Q. @ϴ,LTs_ew'>׻߾Rk.pTp]* qk@ ǡs`m DǺ'94Q^,c9m-QX.XpPZFk1}kؾL# @?|88Wv%LJb|2bKٓsRnK-fk [M&TV~fg ' /fo+CeS#yq e̽d\N7flx@DYLӨ&QVzFxYh%泬8VV<2Ihu]S3 p;wuܳhsUMr 0J@%k\ @ @F i9 @$Q%@HZ @(Ikq  @c 0J@%k\ @ @F O3 ɍ]4#@\\`_1kťGX+5iŘ&n @&&`vy~|7yX VpIuwS]gΞqYxUm񦮷m @im[w30Nvfa;a9 @&4g=,bbYzX T'][M+#>9}DyY˘hU]. @ ď}h3–51>8E`"Kv4 >IkߚM^<s95B՘ @tV٬LD(pu  @}V^ @eIkH  @@ @`Y@Z6҂ ' iEX @ HZ}nz @$e#- @}V^ @eIkH  @@ @`Y@Z6҂ ' iEX @ HZ}nz @$e#- @}֟_?W:w|1{}t.}KՋ pPdBV:~[~Ƭ5 @`ScV%mQw @%MSvep,Tz,.^t\ @V\TVY\y8N[%@t 쐴XmK܀ @ =Vv0T[%m?Hǰ @-$L1ě,I_ @E6%`o{,or--bee @|*٥dUFRܱ%]y[5@ߔpJDҺ  @IZdhXlvz  @%#~}ZXy 4 @Ib)YkGО}N?Ge92▉ʾagߑF6%"Qv'dFg7)}Wq_YpR U~+I%mSfIqĚjo ionʳDT9*9JKiU/0{>O2SBA pmSm/r< MwĿ2  @}V^ @eIkH OȞ;cm7u٫ovw<6F󔇧U.IA٭ǽ׎w=*u|{ Xw [禎/VRPfY$oHHUy>hzWfo7ٲz)Y1}וY䴌{k2- " imӗbh1Vz͝$2.+& |Qb  HZr 0R $UnU;*y$xI[lN0u]_9WW ^3>.5 #p@ʝIicZq$YY2'[%*X/~Cz,2te&.<*%ئ4=ֳ%+>xq-ط0HeSBvI9sq_XFDWz0=6ynl1 ,^~\Je!Ի,fĬ{ Z/+}qҎiPϞ -6c,g,q7]un&.nqyq#V ]=k.wtH}J'▋M}+-wqpU}eo<ɔM:Wd曜=f%-} 7L;Wk7^.*[*G3}B`jFe0J;?˩WӑQVB[76Zp% [ೋXlGKRlT}N[ܝJ[}oY?,/ ^f^ @=K3;FJGÖ/W_Zܱ@W3N{U,~6/xeqz9E9ҫos]K:^YXع:sS͸Y=e(<)է:WÅz 9im{[K>IO]!҂W; @HZg@ @FMI+I|+;)XyV:{g6n @)[𘢟zVs,?7%S>[ǽ @1$jpGN!im. pW#Mmd @FMwo[w @$g @g HZgꛛx: @LIL}s @VG) ion @ֳ @3$3M<[@zZ pu  @g HZ_#@77 lIku @֙&@- i={8S@:S @'?~Ư/e}X*ϵ|ٛdu @M'Md̊-aol @ Ó 0)pD .Vލf+8]yҡ@8FLKuV,JeM @RV?wV>m8f @V<󔞣 ׷zf;б~] @JZ[klm֗$pZҊ7g6Osg2or-<mX @?>O,Oz^Kq @GuzI֥V(%p\ګG#i=r[-ďӲ @ HZb $@NN71 xI[l @ii&&@/ i=~-8M@: @$o @ HZћx-@ @4I4z @H& iFob @  @$ML<^@z[  pu  @ HZb $@NN[  @g OZ ]7  @vI-  @8-i٩qc+7$!@n*pN (\O9)~'/D|l @Hs֑+4 @,M닧2/ @[5׿a+|u/FG @'O{diKa!@o|g13Le<:l,lj ?   C A b?U[^<5~?Wn?U[^<5~PNG  IHDR%%msRGB pHYs+?&IDATx^݁*(V_)tJNCCCx);NS8?ヤBHjquT,&*ϟ @a|?aU( R_l6 @no݈* @'[?M( ߺ[U @O ]?i @  !`=% @XN%@tȷ:\B8 :T @@|% @XN%@tȷ:\B8 :T @@|% @XN%@tȷ:\B8 :T @@|% @_՟:u!GlVZ߭H5nʲUWZ^N> @֟ay‘_Xwsը")ZwAJ+2֮v,znf069KWur @`fVˤHNST.aU-gQl֡L+黪!9rrյp>-pMuɖ[>v1E~Ǽh)[{$@3\o-x>6?ɶ߼* /6ZN \I_(Zu#$6ʷi @@$"oٿ  @%Oq6^/zl x|!%L @v  @ȷQ$@+ zl x|!%L @v  @ȷQ$@+ zl x|!%L @v  @ȷQ$@+ zl x|!%L @v  @ȷQ$@+ zl x|!%L @v  @ȷQ$@+ zl x|!%L @v  @ȷQ$@+ן?{lNQW ֌#& @M7 @3 ȷf1 @oo7Q`}|l1T|:T  @/u7e| @ ȷ* 2 @c[c}No @򭱾J'@ȷ @XX_ @[ @`|k  @-c 0V@5W @SPX 24ŵk7Sr4x@ggBɨ[!>~NY= @[OdK&ϟ9VmQ]U䝍K @nѦ|;R董| +˂6Xu! @k̷l%;Q$@_غw=_3[G`|k) @[}n"@ ȷZGo * jr @O@* @@|Uy @>V @V) @[}n"@ ȷZGo * jr @O@* @@|Uy @>V @V) @zyq8V^H%}-t @=?j4,]w4:zw}NɷNEiNr @[)yZ~iSVqF*0W*5J_%&@[;R[3XXX @Ϸ %Ǻ\ @=[bb;Go4 pFT7Xδĵ @9z(6Njb |:Ê9 sZM`& A[Cjo_&@S l{.Coɫ 2hm[K?"uٿ,}Ӝ@!/i# @Q@4 @@|e @FV# @N8 @[PN#@t ȷ:\Fr?Eg.ӻtq zO~ J&@`_@e@.׊?Mz$י?TU oڔDXm)zT2oHGk&yUٚAl_޸;J+ڎdZ" zJOwZ 8# :Z ԫ`ZL,|D/jҖbb/=wGois\@u9 ȗ;94Mu,<#XQ`erVyAV{y}wJ 0@l06J3kuzv?x CU[@`@7{z&KVoQT1zK꺊"늺CQxK$;E{?gݖ%~]EKԽXiLh>U@'|?_^x,~VxZY}Sn$3:"OHP#/[Ҡ mt_1ޏ%h[RWxwd3DJ{TO-=-gj* ͷҼ3|کXlkTiF i*Пoo0X\kqf1q~zQ[Y @/ ['PՑ @[bb 7fYt~/f6R @/ ʷF_3EU @ [G>>ߟOq!a[| -U1?燋 @ҷ%W!nߧE'10N!wkK/ *Y'n=s'.#Oęm'{f䟹񪩆\c;ito~k..K:#-ObRE]qpݖjηN;"I+zۇPA_{UoPU@ՙ)u$FD!: ȷރ7ş-[ϷZ5#nȄnb " t9KV u y<[<"vɢGTX*yb#;G&oM#򕗘+&ƊYyulUHq|ݮ SN~O^k읺z_uͫoD-9Z" p|>)k5U$/ȸ1ړ<1y~[Ih rqD2J&@`G@ex|M^FZ( ?+چ}ȸ8:Z # RW'5?:J8zI5~\)lQ\;Wr}h]sU;gVXe/緖Urꙃ#yUטEկ#qaݺ?^LBxז>N~m_$R іVFx0kj}⋵~/Wuo}o}Ku/& 7 fvmuk=/,|.T o~X;Gh~FtQ֏vfDIo- ~荧]~ @F ͷҮ_ˋbYѶt? @ |b$[AV)4?'ZA*0EY:ˋ%o*"@^&0v=q +u|=1*&,;ljxwu'%z@ &[;iMN[ @ ̷$vT& @gK1SUǑ$>g_?)ǵȻ!O^%|]Z}k#d~CY^/7zF*&& ].غϷ#~΍;Y}.Ӆ C)xm?m@#sU;ZH [OMh+Z|k"_ >>[]SJẌ́M;o\V*GO(HwF[K>o2˹Quw[ai.: hT>Q <1x1 hk(':qIʧ3wIHo*:*/VRXv#kY:4u ȪXq[ŵ* )*rb?GGB[եڃi\#~96"(NMb\?/ڃ"j8s|k"_:I2|+ԗy>9bYpRKi3YT نV4ȷCjLNF=VEG+EOl `|MKyOJ똯ʓ<rWoc~1/|uE'Jg㾱;a.[plPxu&YW[VL5n߭yC3Ƕ%8Z޷W~9C=ZcҫZ /ӬMɷ/A @`-gVv5lI>n(_Tɏv~D5 @v[3[ >|+"R6~nq3E  @|=Ro!_ pOk4%ߺy#peuC_zC0W!ߺT @`!1afb\J&@\+0k:OiE<#0>ڼ/mէ"NJ[n=ǺOMNgt`sfKeKTgJn ԯ`ckrkwT򭩺C0=12{s*cݙHk 4smmhiǧ5N/>t+|V#[z*m[c}_zʫY"I(ٚ|t-ۧ.lVu)`3 Wԅ 1Eb0MbG"PJbX1Ցj5Uj,-k9s ȷQ _=CZ 3uԅO#yk=ƴd.- -+ߺRealS~|1w֧ٲ<ֳOZ7T孈~HcnNu:>K^!N0_k,TIl[?)$}\#оlwM}K+xS5ȷN]{|ZO @InoMA @^+ zmj 0|k ZkV @I[t0 @ ʷWrc[gmh "QV|AHzLz[߉(;򢱧) @WF[⧝ @OxtTC8ꓧGM j' ?C =.3e@u6PZ>Ahp6vĝwtg#g ;H 00ʛWLY7Y<3<0.!V_^H}]\'I?Rө.ٚjwtU|,CqCwUx+rm7[u{N>)يJW.AQW cS,*IoPQ9mM%m x@$@raNQWM-ښ*>Y_5RntY2{cVg(/V6Ac3Af#bze(THcA3#dHUnC-HV7f6b:GZtwI}EBb+e[35έ-JyU1 U$I#%[t7U] =۠/7TI(1y?Y^N|׻7|P N@qNPXuy27܊xg$PLm&4uԝoU,vyEOw[OqJn|SNw!.|jr|ni_]η'E󹸤4:%z(/廾UO=P|>,isM2eo)ߚ[uP @u,O$:M4 ̹)rѻZ ȭUȷZG%u &X @ Ao @򭱾J'@ȷ @XX_ @[ @`|k  @WMvGv Iy\K^O-¹ZKXm=4'$>'9OZc{hcS-HfW|Ε# В$SNG"7}6Ubrj*搆jf&&+cS-HQQ1"6KOG$@D<^#[}QKfjkn9O8#8آںڝ6|k @L/dرȘoJw&ZU'bNHRTuasK!] ȷ*y@l42O/+ia|/f)ZkLz9|kO@|v,kSNB Vb饖c@uʸF}d}*a^T@{Hi]>Z@5ZX;)Q)<٦c>)O%|1ˇ9rWo*R|/סMZK9Eˑ(NHd]޲u*< |s?m [Z 8"uoQ\E!@eP}oMA:C( @:[[+ & 2. @c[c}No @򭱾J'@ȷ @XX_ @[ @`Z;@Gy^u#.}g i]*gcS![k9-Ϸ~)'3s Mӧ8v2*֋Mr05ϡFf·j<ɋ;nEsa jy?zGCg G G6@99wszգƔka{[z:ޖ\W,/4Ǩ0s rMZ`VDZKx}@iU*6ǔlM5NE]λu_{Ro}K^boͩR\:W)x$X|lM>uS6gR{0;߅*j|kq#nu\-+) \?{xƙW=WN5P\{ΜM@5[I ߗkSNH Vb饖c5EWH'+W CjLNFʿF %^) a> b|~Қ| *xLVczT{mZ)_DiuG"SQSY/ ך_T @[|Eʷ.T >/=ү|koMB!@ lߺXI @5qA+ t @| @oU: @@e  @ ȷ* 2 @c|X}izoUBjf';S' 8-+m櫓f/鎽3ٯE{|)ZkLz9|kLkVs8r>Y}d`*a^T@{Hi]>Z@5ZXؠC)O<K<)x6UqfRg$dO`~[i2UD^Cr#QZ0őȺeTx/tukM/J @-^uDs[A*ڗBW{J5Qɷ&  @no]g$ @|˸ @oU: @@e  @ ȷ* 2 @c[c}No @_~j=b]>QK&(T'6>I3g=n@42#MuӃ_^9WN|J[|SzJ ~j5W ~FZ:Z%UV"iٙg"0͊x"Z^䏻 Cg3V'`=q %P! OZMVk45+wtӘrm5(ZY[88#/2$"'N^~=)B'_ӑul &/!.((vM% ߚ;C@)K-G霸$%a`VDZKx}@iU*6ǔlM5NE]λu_{Ro}K^>zN U,T$X|lM>uS6gR{0;߅*j|k iϱ+}@P^)˗/o@u[g>_ŋvWN5P\{ΜM@5[UhyO>tz0\H'W CjLNFʿF kstCzb1۔C(POGO>:ϵwzT{mZ)_DiuG"SQ^ N~*_RO|Y`/BȷJ~R})<~E[u|k N`ouJ"@ ȷ  @XX_ @[ @`|k  @-c 0V@5W @1@+N;u0HG.\ 1Txf}x7~bεUc{$)nzbx?S`<'ԉOi;}JO@ht#% .~O,Ono{?ֲ_V"iٙg"0͊x"Z^䏻 Cg3V'`=q/;e%*%\Vk4u BF1)V#iȷ®cCBqBsL2-/ kw#L_u}­x>ԯ`cskrkwT򭩺C0^uFL/ThI+,C~-Uꪓ1UV|F*VS58IVu;V~I K@-yp?;L{*)9XZO]؜RHFqqJRJ7iMLy^|y j\8Y*^SjuJ1ulzD< O j`>4o)<>̘hƶO#lHJURcZv2roV&tW\P"%Ky>'M1xR=Hgb(z`~zT{mZʉa7DH"S!Ɛ5;B_'>P% uo T|듐  p@5/ůO :wk=F&غۿ5I x|]a @$I:B @k[Z #@&oM @^+ zmj 0|k ZkV @I|:vs-xb.Żjf=fVk˷zu5|9{zva~L?ī;4 >7WM'?0X5]\Pu)^?wZ ߪP$Wk)o] Ӭ):uhyЙ8Sz"I K#Abi0XVk45P4\[P#|=v44>ј$W D}ҭx>ԯ`cckrkwT򭩺C0+v 3bze(Btxdg"%J]uR f*Hc~Ңb:ʯ=o ȷ%g~W)x$X|48'k:] U] =h5N@5VW ]Ʋb[Ram:Y*^[juJ1ulzD< O j`>4o)<>̘hƶO#lHJURcZv2roV|ֈ V`X:|=m_BU>)O%,25{/.>[(uhRNQr$J8YWx /Q].鬞ך_T @[|Eʷ.T >/=ү|koMB!@ lߺXI @5qA+ t @| @oU: @@e  @ ȷ* 2 @c[c}No @򭱾J'@ȷ @XX_ @[ @`|k  @-c 0V@5W @1@+ t @| @oU: @@e  @ ȷ* 2 @c[c}No @򭱾J'@ȷ @XX_ @[ @`|k  @-c 0V@5W @1@+ן?[  @?&+֏ @ ȷn'W! cp%@noNB @_Z @?ʡ`IENDB`-Dd /yy>   C A  b-*Ϲ5t `ڡ88cO,ܗn,*Ϲ5t `ڡ88cOPNG  IHDR#^WsRGB pHYs+,IDATx^݋7wS`vvT M)0%(Pǝ#t?53_~ @u @oI: @%[ @W |3۞+ߠ  @C$C5BR@z4 puF @W w^a @%{z;  0$pKa @5( @`H@R 0 i `)J&@ HZX @$!.  @ @!IkKa @5( @`H@R 0 i `)J&@  'ZV<.+>k-?;nojفTǪ,Sm-CKnZ)7;  @+ '_|t)Y%QV(jbɚ(PXgNڲL*K[\t,. Q:  @V9l*R}+lk 4v=ůNl4u:{Yb @j˓VЀQvm{?ƒi7ڙ=eژrϲZ  @; ,OZwm0S7ʾFz5xM^5fִ8uPO ۬Ξyv& @aal9F T!U ;*[5֌U<:q)fhV2 @ kV9ٷ௳/r!%h.!@WX>P:/޲DUFKҺ_#@ɲTCXdz珹PzTX F,T4j䧴|T5e0 %|6=L;h+^[6:ۍe.ssx@gn{J2,`*ivI8\H` 0Mw_O%ιVo!CI!oJZz#X.OXͯn>O\X@Һ psI @$ O @7n>O\X@Һ psI @$ O @7n>O\X@Һ psI @$ O @7n>O\X@Һ psI @$ O @7n>O\X@Һ psI @$ O @7n>O\X@Һ psI @$ O @7o7 @%!{Zך!@$ i=i6u @I֓fX @k wͧ?OB)k vx{Zo_O' igf @W @ HZ٪x` @~~j&@. i}?  @ HZo_O' igf @W @ HZ٪x¤5/i (Fշ??fcTϵ[ @pҊ1+$0+OG`8i41leb|5>yϬ) VH}Ք|3Q @ lڷmu0| @a%ոmjvFo8 @VNz :IJs` @S[:d&X W$Wן,q>f\חC [¤k_>قwV/it96IkpCglHZ. U @lOі:  @Sow6xG3vs p&  @`U @yIkH  @2Ik @ּ @e27W @$y#% @$en"@ HZFJ @ HZ\E捔 @, 0/ i)AX& i-ss @`^@Қ7R L@Z* @5o @`XßdTJ:/Y66W @KZ~ ݭ&jcHOϟј5Z\Y @ƒJB==le.'@(4MX{QKV^Wu+Y @Xj;ӾmK\ @1VvtzQƐF @Ik>S af5cp- @cIm\&P2K`٭)-T+ @_-ͪQbʒ&\FM.%0?tt"i]o @IZ~Fl6K/zOk+b  @ qz1 @:$N( @0  @V'b @aIk @NIJ1 @5LWJ>/$+=M?%w867՞oôWm$m=F`w+dEeBLBD+k^áн%-bdea V $LS,sk;߯߯T' HZ'k@uof( 7wAgzbV_Vxu:?W@zOz8uOysT *v,-JwSEmކgq HZk^qG$BdyPtGZhw5Ǟfg daev)iWK HZ!@˲Ef쮩6{փ5Ǟz#ٙU( iY .0{YatKc{_3> =+CȚ @{<5y_ndY;bO}]5Kea'#i_5{%.8bֽ=k,iOJ̞o4GTzOYY}_2Bz^Yᩅ1:XO]95gnYxXgs5*W.Ǭ{0 @`+U!@A`y {E[YbyΘOCOc f9} si @$)aRybFٹdӬdJˇYɞn\mbxrS7N-Hi+{r @Vvt:wʝP>;OO @&=q  @ƒV >m8=:^^M}wmԭ~ @`?~K/dzsϻ$|yFtAŶl^ J _]ǒ}73)0ۨ7Y"6!.Ik1בnf{A ׾=7o5%i-:©f{p @ le @~IJI @cu+]O(G[bkX}ZsL6}<}1 X{FGOn\~a9bt}aOh7^CVΦ/ }iq+/=O\]}v/Y9Ϟ[᭧OoR{6$&pJCY/MAoYoT@ҲNsx|jl6<.~?R}ZNz7,SW-G={7Y!}dR$S$'"P]*.5F]Jpfͳ[NAZwgٚ߄kˮQ| OkT:ZC{S2{,o*޳w2dm3RNb1;iih O55t82f/1|V E;UW:636aܳz)#BOxcFA*p=LC3{vX^I2. @a{N1ŃT1==L7.[|C/ptJAi.a+  @LZ p+\f, @$ Ζ! hOm5>1le1+~U' m37?~|OWYB٪J5L=Zɲ -}~h{7 uFl ZvzJI=FXlJ[l #jw]TT Cyv&z y]JkFWf*|ĭXP |D= P/inv kkLnjꍭJhnmUzNH[ܶf\i/|`uD+D+7=_AU+}>Moy9/4z57؇WZٛo.Y*^C ,KYi^-=CKZo->m$eQ]]z2>ב8-9sIU&zy_o۲Fe+Y dM檯N1Nl*[UP:)b/l*~_<"+.+d?O3?+nYe?=}ӳFɬ߱V6?ahv&@]#{7),/: 5?)fk- TfRU OAa;_b*W[)I\_`aj,ewG H  @.IknI"@Y1: @'o?~ oxbɩg Ԍ-a$4uDx5;\o$'0M  @`|cXԅDU&L̢cF O%i)R{SҠTN44 #ԓ>n$XU;xeYab=FCs)'rTSiu坭(F N탛.gëizzX6VyJVn;3Mm5, p_)|No|=ƸsSuu[8զvC7ҏЇǟݸ:{%5#6C;[k]KMB&d0PP鴕P.jGV;ÚqI+I^@ipI Kg\is #@ @ GĚ}ZS)cVGiitj1+s}Fo{ubק{s⏻ON<>Y}&${_>ĸh\tZln&\^6!g1GL>3uN_*/?fZ\@ڜT p{j*G5{x{X- i&TU3Ǹ @^^%@HZ @`/Ik/Y @$-k z  @5@K@KV /Aza6$-˃ODz1"T)F|A$1*E_(l\uu F  p@6oIrXZ8m 0 %˗F66T.(ClTe&{p؊%ߊ8ƞZXzfé`Lq qهOʝ"iZ\Z S8=Z60^fbPZqy4  P=jPUXWQ+{<1zh HZ^*оý}3]()UtI?Z:#P=+l\n:܍9ox]>nUN@dwefƭH'YIbz[<Է[ Dj'ѽg,')"7-t*۵ c,ӝSc*C)Y}& 3wYo #1ۚ ǟ1L*-P黧ǟ*>5DL2%ybIA,D|L9K/,R,K4  7nY' @vOZSyŸ#? @*}Ҋ*ޱi5'?z  @k |}㷴g0谦Oloښ&@ LoNaKd["@G G.QtՒJ@ @k LoV/Y2J @~Oj̤$Gc!@7}] @كёV+sJ]4{A1{P@SU8H ſ!'ԏqO /Π1+~S(|"FF!@Q1f1՚k(vWq}o7tWK HZ"@@Ux>}rЇ'=U]̲xkg.8X][@[X8H nw`HC;UimefþU[.K i]a }x{в홅llBF5$͵H}xsfUtV};T0L4{̮k{Tu8I =ltݬЙj6VL3:{VcTϑ֑"@6-q$FRC֞]|,Vب|MkHbe|&<;R0{&J/O_jt*;T@:[cJ މ6KeeC|,h<2Jczgv0cƝIJxyR:ێNm HZkn  ݑv<3}@g t|IkDU @AK@KV @I @% i%^ @e  @U/ @@Ҳ @{ HZ{ɪ iY @$dK @^^%@HZ @`/Ik/Y @$-k z  @5@K@KV @I @% i%^ @e  @U/ @@Ҳ @{ HZ{ɪ iY @$dK.$_>i)԰ɰw&v2h $-J+55[COJI ;SUO+IȚ @Zr|9.3:bx$eGE%baʆ٫e8}K(+r!sgJSS95qU)'0 HZZ@| b\WK9V^UqFgu@o$CBZ0,?U{ie((n7Ns^v$=QCWG@Ҳ\W|zް{bD>=zkD) pz2䪞eG=(C֑"0 0\UoU[Y1`[#7L`AxC̝m.yzK @@Z{ 7|oi8ݎJ{-Oj[XeT\*B*ph.O. greenbannertext>V@!> FollowedHyperlink >*B* ph,2, Header # !6Q@B6  Body Text 3$xCJaJ>/@R> List%$hx^h`a$CJaJ<Ob< Table Text &$((CJaJ8Or8 cell'$$$xa$ 5CJaJROR Char Char.5CJ KH OJQJ\^J_HaJ mH sH tH 020 List 2)^`030 List 3*8^8`666  List Bullet 2 + & F676  List Bullet 3 , & F 686  List Bullet 4 - & F 66  Normal Indent .^<< Short Return Address/VMV Body Text First Indent0$x`a$aJ\N!\ Body Text First Indent 21hx^h`aJ@"@  Balloon Text2CJOJQJ^JaJ222 Style13$^a$CJ   #&7;N`O      VWXYZ[\]^_`abcdnqruw  #&7;N`      !"#$%&'O %%%(7KCVuCra|7@LS).w{<1B,E+K VYbns'vxvvvvvvvvww'wwwx*xCxWxx^ywyyyyczzz{{|6|O|h||||}Dɂق2BUexXq/ԅ4Q;Yv‰bϩ`t[NvBWl&c!N#H  -y~!%(,A. 0P2:>?CTIKNRR:SS     !"$%&(*,-013568:;=?@BCEGHJLMOPRTUWYZ\]_abdfgiklnoqstvxz},*?XFfXhsvvwxxzyyz{M||S<sl߅,e~PQPB?6F!6 cc#o)-E1:%BTIL@RS #'+/2479<>ADFIKNQSVX[^`cehjmpruy|~ . J L M O o 8:;Cc245r\x{|,L|   5l?u :j  cŨ"cO X%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕX%ĕ̕XX !(!!8@& ((   b 8D% U #" Z V 3 VH Z W 3 W< Z X 3 X@ x  Z Y 3 YH Z Z 3 Zx \  Z [ 3 [dx T \ # \8  T ] # ] _  T ^ # ^\ pH  T _ # _\ H T ` # `d T a # a  ~  T b # !bX D%  !T c # "cX D% "T d # #dX D%d #ZB e S Dt"xt"ZB f S D Q \ R ZB g S Dx xZB h S DHxxZB i S D  X \ ZB j S D X ZB kB S D \ X ZB l S D X xZB mB S DHT n # $nd $ZB o S DdZB p S D \ ,Z q 3 %q@ p  %Z r 3 &r @  &`B s c $Dt"dt"4`B tB c $D4t"4Z u 3 'u! 'ZB vB S D  X T w # (w1  (ZB x S D ,X HN2 y 3 @ HB S  ??OUL`X"tI _Toc69124900 _Toc69124902 _Toc102568440 _Toc102867218 _Toc103575545 _Toc103596901 _Toc90141144 _Toc103575546 _Toc103596902 _Toc90141145 _Toc103575547 _Toc103596903 _Toc90141146 _Toc103575548 _Toc103596904 _Toc102568446 _Toc102867225 _Toc103575549 _Toc103596905 _Toc102568447 _Toc102867226 _Toc103575550 _Toc103596906 _Toc102568448 _Toc102867228 _Toc103575551 _Toc103596907 _Toc102568449 _Toc102867229 _Toc103575552 _Toc103596908 _Toc102568450 _Toc102867230 _Toc103575553 _Toc103596909 _Toc102568453 _Toc102867232 _Toc103575554 _Toc103596910 _Ref48896641 _Ref49517761 _Ref48896750 _Ref48208010 _Ref49447245 _Ref49517850 _Ref49535360 _Toc102568454 _Toc102867233 _Toc103575555 _Toc103596911 _Toc90141159 _Toc102568455 _Toc102867234 _Toc103575556 _Toc103596912 _Toc102568456 _Toc102867235 _Toc103575557 _Toc103596913 _Toc103575558 _Toc103596914 _Toc102568457 _Toc102867236 _Toc103575559 _Toc103596915 _Toc102568458 _Toc102867237 _Toc103575560 _Toc103596916 _Toc102568459 _Toc102867238 _Toc103575561 _Toc103596917!1122+++5555555 ? ?d?d?VVVVL[L[L[L[ooooQQ^^i٥Pssty.y.y.y...T7T7T7T70;0;0;1;????O   !"#$%&'(),*+-./01234569:78;<=>?@ABCDEFGHD::::!+++5555555u?u?u?u?1V1V1V1Vo[o[o[o[pppphhhhΥP......b7b7b7b7=;=;=;=;@@@@O IN crv~ #'#&&"'/'@@BBGGIIkMpMRR``pptt"v+vwwwwxx~~ 14uyim7;JQ*3›ǛЛ>GĜ͜<E`dinntv}%+19çΧc4;(2"(2:z<C~߱ "²'3AD\`y}ʳ˳γ&'89FGVWghyzٴy|)y~+46@BHR\befmrw˷ηϷַݷ  #)0<LPSgԸڸ  #5I`tŹƹ͹ٹhsvúʺ '^ghruѻ ,-0=Q^`ctּ"%(4?KRýϽ'3HTtԾھ# dkos7>x|%&1 0FMQS_ "%.AJXlnv)08BNOU_hiku{ &,GTW OVv}';EHQat,@JWXfkx{~ )5DJM]cs )*0]er|Y]aj@G )+39EWablqz~/;gsey{'469JSaisu}%{#/Wkxz})08D! (*bj=DFLMTeps~z~+<mq}!BHX\h6LPT`o#KO[k%8AHSv "269M',/CEJSX "%6?PgnxJ^`fsx~ !)6=MRbgw} %&05>BVX^mt}G[gil}(/8?BNV[^jrx{ -6CO\jw#0GT`m $DKdiz-2CHY_op~ 6Ekp$4FV_oz-9MYp| ",9Fals{&239CLMOY_fr"/BIjpx"*/;NWY_gry/EY^`ct} >FMW&-bv)3@AOTbcpu%1lr '29AFQ ):>Q]hp}-INm~*-!)FRTWX`uxz*5oyz|}AKLNU_m{} $.8I^nr :?^or\fgipz .03CUbns.:CKSW  ) 4 > J R g                 & . J \ m u           0 : ; = D N U c e q u          ( 2 3 5 < F N \ ^ j n }               , A Q U h }           "ARU?IJLS]ftv&8EQVb&.6:w !-5Jgr -?PXem '18FHTXju )1?AMQ`kw  &5>?GV`w(=DRS] ,BNbn)7Q[u'A]8BR\jw $7Qc}0F\i !-KVj$:Fdr  9 H ^ o       !.!L!X!r!!!!!!!!"$":"I"c"|""""""""#$#8#V#e#i#{#######$$-$;$`$k$$$$$$ %% %@%R%%%%%%%&&$&2&W&j&x&&&&&&&'!'6'T'd't''''''''('(N(d(h(s(((((())!)>)J)\)l)~)))))))**3*F*Q*m*x*******%+<+O+\+k+x+}++++++++,,),8,J,e,x,,,,,,-- -4-9-D-T-j-|-------..1.D.O.k.v.z//99;;;;<<<<MINIgJmJNNNNNNNNNNNNNNNNNOOOOOOOOOO O O O O O O O OOOOOOOOO#O#O$O$O'O'O(O(O:O:O;O;OLOLOMOMOnOnOoOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx++GGQY"AD˳γ)8Bȷ#)ShԸڸ 5J`u~ŹѹչWZuʻϻ6:^`HJ'4t˾о 24su|~IM46 TV!u{ &,GTW %EHhk)6>CPS]er|]_kq"$Z\48ac 46npQS )/PTxz%'(*~6:6:HK 9N/DPR "dfx25J_~ jl}$*@Dgi%'8?V[rx+3?BX[sv ,/PSil066FKPdi2:RUkn(+GJkn ",:EMS9GadY_;@=agj0EZ^`69>FMW^dTW[_CH *2JP}-J*-!*FSsu*6TYkq&,U`m| '-<B~;swp{ CVboCLSW  ) 5 > K         & / > D e i           D O U d           < G N ]            % a g         VZwzS^fu&9ER&/6:ek !.gsz !'HLen'28G*1@.4OUkq!'DSag,BNox8A\e(1^g8BR\jw 8Adm} GPjs !-KVj$:Fs| ) I R p y      !!.!Y!b!!!!!!!!"%"."J"S"c"|""""""""#$#8#i#{#######$$-$;$`$k$$$$$% %S%\%%%%%%%&&$&2&W&j&x&&&&&&&'!'6'T'd't'''''(((1(h(s(((66CDcDdDvDwDDDVEEEEEEEEXFYFgFhFFFFFFF GGSG[GGGGGGGJKLL NNNN%N&N2N3NNNNNNNNNNNNNNNNNNOO333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 James GellerC:\Works05\SuseelaReport.doctӨ'-Ɵ,++gEL5}Z b ~/ ] $UE 0v4 HP%TjhxU "HPR&%l0|I]&[dm+^0kH,ZfPyi,r p5b=Κ*F<%Fj Xl%YkZ5[;X_cX"hFbM'p0tH ^`OJQJo( 88^8`OJQJo( ^`OJQJo(^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hH ^`o() pp^p`hH. @ L@ ^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. PP^P`hH.  L ^ `LhH.^`o()   ^ `hH.  L ^ `LhH. xx^x`hH. HH^H`hH. L^`LhH. ^`hH. ^`hH. L^`LhH.88^8`o() ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.h ^`hH.h^`OJQJo(hHh pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. 88^8`o() ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.h^`OJQJo(hH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHh^`OJQJo(hHh  ^ `OJQJ^Jo(hHoh  ^ `OJQJo(hHhxx^x`OJQJo(hHhHH^H`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hH^`o()   ^ `hH.  L ^ `LhH. xx^x`hH. HH^H`hH. L^`LhH. ^`hH. ^`hH. L^`LhH.^`o() ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.88^8`o() ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.h^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJ^Jo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh ^`hH)h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.hpp^p`OJQJo(hHh@ @ ^@ `OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHhPP^P`OJQJo(hHh  ^ `OJQJ^Jo(hHoh^`OJQJo(hHh ^`hH)h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJ^Jo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh  ^ `OJQJ^Jo(hHoh  ^ `OJQJo(hHhxx^x`OJQJo(hHhHH^H`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh88^8`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJ^Jo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJ^Jo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hH^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h88^8`OJQJo(hHh^`OJQJ^Jo(hHoh  L ^ `LhH.h   ^ `hH.h xx^x`hH.h HLH^H`LhH.h ^`hH.h ^`hH.h L^`LhH. 88^8`o() ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH._cUE M'p%Yp5gE"hTj5}j X 5[  H,U "b=*FI]&R&%/ ] dm+t4 b <%Fyi,@dOP@G:Times New Roman5Symbol3& :Arial;SimSun[SO?5 :Courier NewI& ??Arial Unicode MS5& :Tahoma;Wingdings"1 hzz[fm0 L1_!0dSN8Evaluation of NJ Welfare Eligibility Verification SystemAutorized User James Geller Oh+'0 4 LX t   9Evaluation of NJ Welfare Eligibility Verification SystemivalAutorized UserJutouto Normal.dots James GellerrJ3meMicrosoft Word 8.0l@@>C_V@VXY@VXYm0  ՜.+,D՜.+,d  hp|  0LS 9Evaluation of NJ Welfare Eligibility Verification System Titled (RZ _PID_GUID _PID_HLINKSAN{1D0F98C1-C52A-11D9-8D0F-00D0B76F2521}AEf2http://www.networkcomputing.com/1009/1009ws3.htmlrcShttp://cnscenter.future.co.kr/resource/security/ecommerce/Epayments_Whitepaper.pdf2\_Toc1035969172V_Toc1035969162P_Toc1035969152J_Toc1035969142D_Toc1035969132>_Toc10359691228_Toc10359691122_Toc1035969102,_Toc1035969092&_Toc1035969082 _Toc1035969072_Toc1035969062_Toc1035969052_Toc1035969042_Toc1035969032_Toc103596902+KKMlO_PDSV WX Y   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxyz{|}~Root Entry FSfXYtXYData B1TablenDWordDocument%SummaryInformation(DocumentSummaryInformation8CompObjjObjectPooltXYtXY  FMicrosoft Word Document MSWordDocWord.Document.89q