May 03                           
            2020                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $9,956               
              $68.19 p/Share               
          
        
            
        
          
              146 
              Reduced 0.77% 
          
   
         
        
          
            18,717 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Feb 24                           
            2020                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $194,241               
              $84.97 p/Share               
          
        
            
        
          
              2,286 
              Reduced 10.81% 
          
   
         
        
          
            18,863 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Feb 24                           
            2020                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $131,299               
              $38.8 p/Share               
          
        
            
        
          
              3,384 
              Added 14.09% 
          
   
         
        
          
            20,632 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Feb 06                           
            2020                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $1,690               
              $88.94 p/Share               
          
        
            
        
          
              19 
              Reduced 0.11% 
          
   
         
        
          
            17,765 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 21                           
            2019                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $11,769               
              $86.54 p/Share               
          
        
            
        
          
              136 
              Reduced 0.75% 
          
   
         
        
          
            17,984 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 12                           
            2019                           
          
        
          
            
              BUY 
            
            
                Grant, award, or other acquisition 
            
                            
         
        
          
              -                  
          
        
            
        
          
              3,490 
              Added 16.15% 
          
   
         
        
          
            18,120 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 09                           
            2019                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $19,187               
              $88.83 p/Share               
          
        
            
        
          
              216 
              Reduced 1.45% 
          
   
         
        
          
            14,630 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 04                           
            2019                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $7,383               
              $88.95 p/Share               
          
        
            
        
          
              83 
              Reduced 0.56% 
          
   
         
        
          
            14,846 Common Stock 
          
          
        
          
             
                
        
      
      
        
            May 03                           
            2019                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $12,978               
              $83.73 p/Share               
          
        
            
        
          
              155 
              Reduced 1.03% 
          
   
         
        
          
            14,929 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 21                           
            2018                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $10,048               
              $79.12 p/Share               
          
        
            
        
          
              127 
              Reduced 0.82% 
          
   
         
        
          
            15,304 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 09                           
            2018                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $7,241               
              $75.43 p/Share               
          
        
            
        
          
              96 
              Reduced 0.62% 
          
   
         
        
          
            15,431 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 09                           
            2018                           
          
        
          
            
              BUY 
            
            
                Grant, award, or other acquisition 
            
                            
         
        
          
              $108,242               
              $75.43 p/Share               
          
        
            
        
          
              1,435 
              Added 8.46% 
          
   
         
        
          
            15,527 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 04                           
            2018                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $5,850               
              $75.97 p/Share               
          
        
            
        
          
              77 
              Reduced 0.54% 
          
   
         
        
          
            14,092 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Aug 19                           
            2018                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $6,841               
              $86.59 p/Share               
          
        
            
        
          
              79 
              Reduced 0.55% 
          
   
         
        
          
            14,169 Common Stock 
          
          
        
          
             
                
        
      
      
        
            May 03                           
            2018                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $12,085               
              $77.97 p/Share               
          
        
            
        
          
              155 
              Reduced 1.08% 
          
   
         
        
          
            14,248 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Feb 06                           
            2018                           
          
        
          
            
              BUY 
            
            
                Grant, award, or other acquisition 
            
                            
         
        
          
              $15,004               
              $78.97 p/Share               
          
        
            
        
          
              190 
              Added 1.3% 
          
   
         
        
          
            14,403 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Dec 15                           
            2017                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $102,865               
              $83.09 p/Share               
          
        
            
        
          
              1,238 
              Reduced 8.01% 
          
   
         
        
          
            14,213 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Dec 15                           
            2017                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $66,045               
              $37.0 p/Share               
          
        
            
        
          
              1,785 
              Added 10.36% 
          
   
         
        
          
            15,451 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 27                           
            2017                           
          
        
                           
         
        
          
              $10,114               
              $84.28 p/Share               
          
        
            
        
          
              120 
              Reduced 0.87% 
          
   
         
        
          
            13,666 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 27                           
            2017                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $20,945               
              $83.78 p/Share               
          
        
            
        
          
              250 
              Reduced 1.78% 
          
   
         
        
          
            13,786 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 21                           
            2017                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $11,861               
              $85.33 p/Share               
          
        
            
        
          
              139 
              Reduced 0.98% 
          
   
         
        
          
            14,036 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 09                           
            2017                           
          
        
          
            
              BUY 
            
            
                Grant, award, or other acquisition 
            
                            
         
        
          
              $104,940               
              $79.5 p/Share               
          
        
            
        
          
              1,320 
              Added 8.52% 
          
   
         
        
          
            14,175 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Nov 04                           
            2017                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $7,157               
              $85.2 p/Share               
          
        
            
        
          
              84 
              Reduced 0.65% 
          
   
         
        
          
            12,855 Common Stock 
          
          
        
          
             
                
        
      
      
        
            Aug 19                           
            2017                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $7,270               
              $74.18 p/Share               
          
        
            
        
          
              98 
              Reduced 0.75% 
          
   
         
        
          
            12,939 Common Stock